datenbanken für den einsatz auf embedded linux enrico billich
TRANSCRIPT
![Page 1: Datenbanken für den Einsatz auf Embedded Linux Enrico Billich](https://reader036.vdocuments.pub/reader036/viewer/2022062417/55204d6549795902118babe9/html5/thumbnails/1.jpg)
Datenbanken für Datenbanken für den Einsatz auf den Einsatz auf
Embedded LinuxEmbedded Linux
Enrico Billich
![Page 2: Datenbanken für den Einsatz auf Embedded Linux Enrico Billich](https://reader036.vdocuments.pub/reader036/viewer/2022062417/55204d6549795902118babe9/html5/thumbnails/2.jpg)
-2-
Gliederung Motivation Aufbau und Aufgaben Veraltete Datenbankmodelle Relationales Modell Objektorientiertes Modell Sonstige Datenbankmodelle Anforderungen Empfehlung Literatur
![Page 3: Datenbanken für den Einsatz auf Embedded Linux Enrico Billich](https://reader036.vdocuments.pub/reader036/viewer/2022062417/55204d6549795902118babe9/html5/thumbnails/3.jpg)
-3-
MotivationDatenbanken sind mit die wichtigsten Systeme der
Informationstechnik
Sehr weit verbreitet und unverzichtbar im Unternehmenseinsatz
Einfacher Zugriff und Speicherung der Daten möglich
Somit interessant für den Einsatz im InnoProfile Projekt
Sind aber auch durch das beinahe grenzenlose Sammeln von persönlichen Daten heutzutage die zweitgrößte Bedrohung, gleich nach einer außerirdischen Invasion
![Page 4: Datenbanken für den Einsatz auf Embedded Linux Enrico Billich](https://reader036.vdocuments.pub/reader036/viewer/2022062417/55204d6549795902118babe9/html5/thumbnails/4.jpg)
-4-
AufbauANSI-SPARC-Architektur
DatenmediumInterne Ebene
Konzeptuelle Ebene
Externe Ebene
Sicht 1 Sicht n
Logische Datenunabhängigkeit
Physische Datenunabhängigkeit
![Page 5: Datenbanken für den Einsatz auf Embedded Linux Enrico Billich](https://reader036.vdocuments.pub/reader036/viewer/2022062417/55204d6549795902118babe9/html5/thumbnails/5.jpg)
-5-
AufbauKomponenten eines Datenbanksystems
Datenbankmanagementsystem
Datenbank
![Page 6: Datenbanken für den Einsatz auf Embedded Linux Enrico Billich](https://reader036.vdocuments.pub/reader036/viewer/2022062417/55204d6549795902118babe9/html5/thumbnails/6.jpg)
-6-
Aufgaben
DBMSDBMS
Mehrbenutzerbetrieb
Datensicherung
Datenintegrität Abfragesprache
Schnittstellen
Datenträgerverwaltung
RedundanzminderungBenutzerverwaltung
Datenstruktur
ACID
![Page 7: Datenbanken für den Einsatz auf Embedded Linux Enrico Billich](https://reader036.vdocuments.pub/reader036/viewer/2022062417/55204d6549795902118babe9/html5/thumbnails/7.jpg)
-7-
Veraltete Modelle
Dateispeicherung Speicherung der Datensätze
hintereinander in einer Datei
Hierarchisches Modell
Baumstruktur Datensätze stehen zueinander
in Eltern-Kind-Beziehungen (1:1, 1:N)
Netzwerkmodell
Keine strikte Baumstruktur mehr Datensätze können nun
mehrere Vorgänger besitzen M:N Beziehungen über
speziellen Knoten
![Page 8: Datenbanken für den Einsatz auf Embedded Linux Enrico Billich](https://reader036.vdocuments.pub/reader036/viewer/2022062417/55204d6549795902118babe9/html5/thumbnails/8.jpg)
-8-
Veraltete Modelle
Vorteile satzorientierter DatenbankenSchneller Zugriff auf die gespeicherten DatensätzeSehr gut geeignet für hierarchische Daten wie XML
(XML-Datenbanken)
Nachteile satzorientierter DatenbankenKenntnis über genaue Struktur der Daten (keine
strukturelle Datenunabhängigkeit), man muss sich zum gewünschten Datensatz erst durchsuchen
Komplizierte Implementierung von komplexen Systemen
![Page 9: Datenbanken für den Einsatz auf Embedded Linux Enrico Billich](https://reader036.vdocuments.pub/reader036/viewer/2022062417/55204d6549795902118babe9/html5/thumbnails/9.jpg)
-9-
Entity-Relationship-Modell
HörenStudenten Vorlesungen
Name
Matrikel Nr.
Name SWS
Vorl. Nr.
MN
![Page 10: Datenbanken für den Einsatz auf Embedded Linux Enrico Billich](https://reader036.vdocuments.pub/reader036/viewer/2022062417/55204d6549795902118babe9/html5/thumbnails/10.jpg)
-10-
Relationales Datenmodell
• Entities und Beziehungen in Tabellenform bringen, heißen beide nun Relationen
• Beziehungen eindeutig identifizierbar durch die Schlüssel, der beteiligten Entities
StudentenMatrikel Nr. Name
100345 Paul Specht
97254 Mia Fuchs
VorlesungenVorl Nr. Name SWS
443 Mathematik 6
321 Physik 4
HörenMatrikel Nr. Vorl. Nr.
100345 443
100345 321
97254 443
![Page 11: Datenbanken für den Einsatz auf Embedded Linux Enrico Billich](https://reader036.vdocuments.pub/reader036/viewer/2022062417/55204d6549795902118babe9/html5/thumbnails/11.jpg)
-11-
Relationales Datenmodell
Vorteile relationaler DatenbankenSehr einfache Modellierung auch komplexer
SachverhalteTrennung von physischer und struktureller Form der
DatenStandardisierte Zugriffssprache SQLWeit verbreitet, dominierendes Datenbankmodell
Nachteile relationaler DatenbankenHohe RessourcenanforderungenInformationen über ein Objekt werden verstreut
gespeichert
![Page 12: Datenbanken für den Einsatz auf Embedded Linux Enrico Billich](https://reader036.vdocuments.pub/reader036/viewer/2022062417/55204d6549795902118babe9/html5/thumbnails/12.jpg)
-12-
Apache Derby
Vollständig SQL92,Teilweise SQL99
Und 2003
ODBCJDBC2MB
Footprint
ACIDIntegrierte
Prozeduren,Trigger
Apache 2.0Lizenz,
kostenlos
Multiuserfähig
BackupManagement
BenutzerVerwaltung
Verschlüsselung
![Page 13: Datenbanken für den Einsatz auf Embedded Linux Enrico Billich](https://reader036.vdocuments.pub/reader036/viewer/2022062417/55204d6549795902118babe9/html5/thumbnails/13.jpg)
-13-
Apache DerbyEntwickelt von IBM (Cloudscape) und Apache Software
Foundation seit 1997, Open SourceAufgenommen in Java 6 als Java DBEmbedded Mode und Client-Server ModeSchnittstellen für C++, Perl, PHP, Python, .NET und JavaAls Java Programm systemunabhängigBenötigt zusätzlich Laufzeitumgebung (ab JRE 1.3)Durchschnittlich gut dokumentiertSehr bekannt (0,5 Millionen Treffer bei Google) und weit
verbreitet
![Page 14: Datenbanken für den Einsatz auf Embedded Linux Enrico Billich](https://reader036.vdocuments.pub/reader036/viewer/2022062417/55204d6549795902118babe9/html5/thumbnails/14.jpg)
-14-
Java Datenbanken
Weitere relationale Java Datenbanken
HSQLDB (genutzt in OO Base, viele Funktionen, keine volle ACID Unterstützung, 600kB Footprint, nur Schnittstelle für Java, Teile von SQL)
McKoi, H2 ebenfalls kostenlos
JDataStore kostenpflichtig von Borland
![Page 15: Datenbanken für den Einsatz auf Embedded Linux Enrico Billich](https://reader036.vdocuments.pub/reader036/viewer/2022062417/55204d6549795902118babe9/html5/thumbnails/15.jpg)
-15-
Firebird
VollständigSQL92 und 99,Teilweise 2003
ODBCJDBC
2,6MBFootprint
16MB empfohlen
ACIDIntegrierte
Prozeduren,Trigger
IDPL,kostenlos
Multiuserfähig
BackupManagement
BenutzerVerwaltung
READOnlyMode
![Page 16: Datenbanken für den Einsatz auf Embedded Linux Enrico Billich](https://reader036.vdocuments.pub/reader036/viewer/2022062417/55204d6549795902118babe9/html5/thumbnails/16.jpg)
-16-
FirebirdEntwickelt von Borland seit 1981, Open SourceEmbedded und Client-Server ModeSchnittstellen für C++, Java, Delphi, Pascal, Perl,
Python, PHP und .NETBenötigt keine ZusatzsoftwareLauffähig unter Windows, Linux, Unix, FreeBSD
und OS X auf x86 und SPARC SystemenGut dokumentiert, weit verbreitetSehr bekannt (2 Millionen Treffer bei Google)
![Page 17: Datenbanken für den Einsatz auf Embedded Linux Enrico Billich](https://reader036.vdocuments.pub/reader036/viewer/2022062417/55204d6549795902118babe9/html5/thumbnails/17.jpg)
-17-
SQLite
TeilweiseSQL92
ODBCJDBC
225kBFootprint
ACIDIntegrierte
Funktionen,Trigger
Gemeinfrei,kostenlos
Kein gleichzeitigerSchreibzugriff
Nur Embedded Mode,Aber Zugriff auf Datenbasis (Datei)
Von verschiedenenProgrammen möglich
![Page 18: Datenbanken für den Einsatz auf Embedded Linux Enrico Billich](https://reader036.vdocuments.pub/reader036/viewer/2022062417/55204d6549795902118babe9/html5/thumbnails/18.jpg)
-18-
SQLiteEntwickelt seit 2000, Open Source
Schnittstellen für C++, Java, Basic, Python, Perl, PHP, .NET und viele weitere Sprachen
Lauffähig unter Windows, Linux, Unix, OS X
Benötigt keine Zusatzsoftware
Gut dokumentiert, weit verbreitet
Über 8 Millionen Treffer bei Google
![Page 19: Datenbanken für den Einsatz auf Embedded Linux Enrico Billich](https://reader036.vdocuments.pub/reader036/viewer/2022062417/55204d6549795902118babe9/html5/thumbnails/19.jpg)
-19-
Objektorientiertes Modell
Relationale Datenbanken
Objektorientierte Datenbanken
Objektrelationale Datenbanken
![Page 20: Datenbanken für den Einsatz auf Embedded Linux Enrico Billich](https://reader036.vdocuments.pub/reader036/viewer/2022062417/55204d6549795902118babe9/html5/thumbnails/20.jpg)
-20-
Speicherplatz fürSchneemannobjekt
Objektorientiertes Modell
OR-Mapping
Schneemann
Kopf Bauch Boden
Direkte Speicherung
+Eigene Typen deklarieren
+Objekt IDs
![Page 21: Datenbanken für den Einsatz auf Embedded Linux Enrico Billich](https://reader036.vdocuments.pub/reader036/viewer/2022062417/55204d6549795902118babe9/html5/thumbnails/21.jpg)
-21-
Objektorientiertes Modell
DatenbankAuf Server
ProgrammBeimClient
Datenübertragungsstrecke
Daten
DatenbankAuf Server
ProgrammBeimClient
Befehl
Ohne integrierte Prozeduren
Mit integrierte Prozeduren
Befehl
![Page 22: Datenbanken für den Einsatz auf Embedded Linux Enrico Billich](https://reader036.vdocuments.pub/reader036/viewer/2022062417/55204d6549795902118babe9/html5/thumbnails/22.jpg)
-22-
Objektorientiertes Modell
Vererbung
Mengenwertige Attribute
Person
Adresse 1 Adresse n
Person
Menge vonAdresse
Geschachtelte Relationen/Attribute
Mensch
KopfLinkesBein
Nase
Mund
Fuß
Knie
![Page 23: Datenbanken für den Einsatz auf Embedded Linux Enrico Billich](https://reader036.vdocuments.pub/reader036/viewer/2022062417/55204d6549795902118babe9/html5/thumbnails/23.jpg)
-23-
Objektorientiertes Modell
Kostenlose OR-Datenbanken
Kommerzielle OO-Datenbanken
Kostenlose OO-Datenbanken
![Page 24: Datenbanken für den Einsatz auf Embedded Linux Enrico Billich](https://reader036.vdocuments.pub/reader036/viewer/2022062417/55204d6549795902118babe9/html5/thumbnails/24.jpg)
-24-
Verteilte DatenbankenLastenverteilung,
Standortnähe, Ausfallsicherheit
Master-Slave zur Spiegelung von Daten, Änderungen nur an Master
Client-Server, Synchronisation der Clients nur über Server
Vollständig verteilt, z.B. Peer-2-Peer, kein zentraler Server nötig
![Page 25: Datenbanken für den Einsatz auf Embedded Linux Enrico Billich](https://reader036.vdocuments.pub/reader036/viewer/2022062417/55204d6549795902118babe9/html5/thumbnails/25.jpg)
-25-
RRDtoolSpeziell entwickelt zum Speichern von zeitbezogenen
Daten wie Messwerte
Angabe des maximalen Speicherplatzes
Speicherung der Daten nach dem Round Robin Verfahren, alte Daten werden von neuen überschrieben beim Überschreiten der angegebenen Grenze
Viele Funktionen zur visuellen Aufbereitung der Daten
Schnittstellen für Python, PHP, Tcl und Perl
Sehr beliebt, von vielen Programmen genutzt
Kostenlos und Open Source
![Page 26: Datenbanken für den Einsatz auf Embedded Linux Enrico Billich](https://reader036.vdocuments.pub/reader036/viewer/2022062417/55204d6549795902118babe9/html5/thumbnails/26.jpg)
-26-
Deduktive Datenbanken
Erweitert die Datenbank um eine deduktive Komponente
Anhand von Regeln kann sie aus bekannten Daten neue gewinnen
Anfang der 1990er populär, mehrere Umsetzungen dieses Prinzips von verschiedenen Universitäten, kamen aber nie über akademischen Anwendung hinaus
Wegen fehlenden Standards benutzt jede ihre eigene Anfragesprache, somit großer Einarbeitungsaufwand
Großer Ressourcenbedarf, um Vorteile des deduktiven Datenbankmodells nutzen zu können
![Page 27: Datenbanken für den Einsatz auf Embedded Linux Enrico Billich](https://reader036.vdocuments.pub/reader036/viewer/2022062417/55204d6549795902118babe9/html5/thumbnails/27.jpg)
-27-
Deduktive Datenbanken
Datenbanksystem
Datenbasis
Deduktionsregeln
Neue Daten
![Page 28: Datenbanken für den Einsatz auf Embedded Linux Enrico Billich](https://reader036.vdocuments.pub/reader036/viewer/2022062417/55204d6549795902118babe9/html5/thumbnails/28.jpg)
-28-
AnforderungenEs sollen Messdaten gespeichert und auf Anfrage
wieder ausgegeben werdenWichtig ist dabei die sichere und effiziente
Datenspeicherungein einfacher Zugriff über Schnittstellen für wichtige
Programmiersprachen und standardisierte Anfragesprachen
Sollte nichts oder nicht zuviel kosten und auch für kommerzielle Einsatzzwecke verwendbar sein
Wenig Ressourcen verbrauchenVerbreitet und gut dokumentiert sein
![Page 29: Datenbanken für den Einsatz auf Embedded Linux Enrico Billich](https://reader036.vdocuments.pub/reader036/viewer/2022062417/55204d6549795902118babe9/html5/thumbnails/29.jpg)
-29-
Anforderungen
Messobjekt SensorMessung
Uhrzeit
MesswertName
O_Nr
Name
Dimension
Typ
S_Nr
1 N
![Page 30: Datenbanken für den Einsatz auf Embedded Linux Enrico Billich](https://reader036.vdocuments.pub/reader036/viewer/2022062417/55204d6549795902118babe9/html5/thumbnails/30.jpg)
-30-
Empfehlung
2 13
![Page 31: Datenbanken für den Einsatz auf Embedded Linux Enrico Billich](https://reader036.vdocuments.pub/reader036/viewer/2022062417/55204d6549795902118babe9/html5/thumbnails/31.jpg)
-31-
Ende
![Page 32: Datenbanken für den Einsatz auf Embedded Linux Enrico Billich](https://reader036.vdocuments.pub/reader036/viewer/2022062417/55204d6549795902118babe9/html5/thumbnails/32.jpg)
-32-
LiteraturDatenbanken – Grundlagen und Design, Frank
Geisler, 2. Auflage 2006, mitp-VerlagDatenbanksysteme – Eine Einführung, Alfons Kemper,
André Eickler, 6. Auflage 2006, Oldenbourg Wissenschaftsverlag GmbH
Datenmodelle, Datenbanksprachen und Datenbankmanagementsysteme, Gottfried Vossen, 4. Auflage 2000, Oldenbourg Wissenschaftsverlag GmbH
Datenbanken: Konzepte und Sprachen, Andreas Heuer, Gunter Saake, 2. Auflage 2000, mitp-Verlag
Wikipedia.org