PowerPoint-Präsentation
Short Description
Download PowerPoint-Präsentation...
Description
Datenbanken für den Einsatz auf Embedded Linux
Enrico Billich
Gliederung Motivation
Aufbau und Aufgaben Veraltete Datenbankmodelle Relationales Modell Objektorientiertes Modell Sonstige Datenbankmodelle Anforderungen Empfehlung Literatur -2-
Motivation Datenbanken 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
-3-
Aufbau ANSI-SPARC-Architektur Externe Ebene
Sicht 1
Sicht n Logische Datenunabhängigkeit
Konzeptuelle Ebene Interne Ebene
Physische Datenunabhängigkeit
Datenmedium -4-
Aufbau Komponenten eines Datenbanksystems Datenbankmanagementsystem
Datenbank -5-
Aufgaben Mehrbenutzerbetrieb
Datenstruktur
Datensicherung
Datenintegrität
Datenträgerverwaltung
Schnittstellen
DBMS
Abfragesprache
Redundanzminderung
Benutzerverwaltung
ACID -6-
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
-7-
Veraltete Modelle Vorteile satzorientierter Datenbanken Schneller Zugriff auf die gespeicherten Datensätze Sehr gut geeignet für hierarchische Daten wie XML (XML-Datenbanken)
Nachteile satzorientierter Datenbanken Kenntnis über genaue Struktur der Daten (keine strukturelle Datenunabhängigkeit), man muss sich zum gewünschten Datensatz erst durchsuchen Komplizierte Implementierung von komplexen Systemen -8-
Entity-Relationship-Modell Name
Studenten
Name N
Hören
Matrikel Nr.
M
SWS
Vorlesungen
Vorl. Nr. -9-
Relationales Datenmodell Studenten Matrikel Nr. 100345
Name Paul Specht
97254
Mia Fuchs
Hören Matrikel Nr. 100345 100345 97254
Vorlesungen Vorl Nr. 443
Name Mathematik
321
Physik
SWS 6
Vorl. Nr. 443 321 443
4
• Entities und Beziehungen in Tabellenform bringen, heißen beide nun Relationen • Beziehungen eindeutig identifizierbar durch die Schlüssel, der beteiligten Entities -10-
Relationales Datenmodell Vorteile relationaler Datenbanken Sehr einfache Modellierung auch komplexer Sachverhalte Trennung von physischer und struktureller Form der Daten Standardisierte Zugriffssprache SQL Weit verbreitet, dominierendes Datenbankmodell
Nachteile relationaler Datenbanken Hohe Ressourcenanforderungen Informationen über ein Objekt werden verstreut gespeichert -11-
Apache Derby Vollständig SQL92, Teilweise SQL99 Und 2003
Integrierte Prozeduren, Trigger
ACID
Apache 2.0 Lizenz, kostenlos
Verschlüsselung
2MB Footprint
Benutzer Verwaltung
Backup Management -12-
Multiuser fähig
ODBC JDBC
Apache Derby Entwickelt von IBM (Cloudscape) und Apache Software Foundation seit 1997, Open Source Aufgenommen in Java 6 als Java DB Embedded Mode und Client-Server Mode Schnittstellen für C++, Perl, PHP, Python, .NET und Java Als Java Programm systemunabhängig Benötigt zusätzlich Laufzeitumgebung (ab JRE 1.3) Durchschnittlich gut dokumentiert Sehr bekannt (0,5 Millionen Treffer bei Google) und weit verbreitet -13-
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
-14-
Firebird Vollständig SQL92 und 99, Teilweise 2003
Integrierte Prozeduren, Trigger
ACID
READ Only Mode
2,6MB Footprint 16MB empfohlen
Benutzer Verwaltung
IDPL, kostenlos
Backup Management -15-
Multiuser fähig
ODBC JDBC
Firebird Entwickelt von Borland seit 1981, Open Source Embedded und Client-Server Mode Schnittstellen für C++, Java, Delphi, Pascal, Perl, Python, PHP und .NET Benötigt keine Zusatzsoftware Lauffähig unter Windows, Linux, Unix, FreeBSD und OS X auf x86 und SPARC Systemen Gut dokumentiert, weit verbreitet Sehr bekannt (2 Millionen Treffer bei Google) -16-
SQLite Teilweise SQL92
Integrierte Funktionen, Trigger
ACID
Kein gleichzeitiger Schreibzugriff
ODBC JDBC
Gemeinfrei, kostenlos
Nur Embedded Mode, Aber Zugriff auf Datenbasis (Datei) Von verschiedenen Programmen möglich -17-
225kB Footprint
SQLite Entwickelt 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
-18-
Objektorientiertes Modell
Relationale Datenbanken Objektorientierte Datenbanken Objektrelationale Datenbanken -19-
Objektorientiertes Modell Schneemann OR-Mapping
Kopf
Bauch
Speicherplatz für Schneemannobjekt
Boden
+ Eigene Typen deklarieren + Objekt IDs
Direkte Speicherung
-20-
Objektorientiertes Modell Datenübertragungsstrecke Programm Beim Client
Programm Beim Client
DatenDatenbank
Befehl
Auf Server
Ohne integrierte Prozeduren
Befehl Datenbank Auf Server Mit integrierte Prozeduren
-21-
Objektorientiertes Modell Vererbung
Geschachtelte Relationen/Attribute Fuß Knie
Mengenwertige Attribute Person
Nase
Mund Linkes Bein
Kopf
Person Mensch
Adresse 1
Adresse n
Menge von Adresse -22-
Objektorientiertes Modell Kostenlose OO-Datenbanken
Kommerzielle OO-Datenbanken
Kostenlose OR-Datenbanken
-23-
Verteilte Datenbanken Lastenverteilung, 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 -24-
RRDtool Speziell 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 -25-
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 -26-
Deduktive Datenbanken Datenbanksystem Datenbasis
Deduktionsregeln
Neue Daten
-27-
Anforderungen Es sollen Messdaten gespeichert und auf Anfrage wieder ausgegeben werden Wichtig ist dabei die sichere und effiziente Datenspeicherung ein 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 verbrauchen Verbreitet und gut dokumentiert sein -28-
Anforderungen Name
Messobjekt
O_Nr
Messwert
1
Name
Typ
Messung
Uhrzeit
S_Nr
-29-
N
Sensor
Dimension
Empfehlung
2
1 -30-
3
Ende -31-
Literatur Datenbanken – Grundlagen und Design, Frank Geisler, 2. Auflage 2006, mitp-Verlag Datenbanksysteme – 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 -32-
View more...
Comments