1 / 32

Datenbanken für den Einsatz auf Embedded Linux

Datenbanken für den Einsatz auf Embedded Linux. Enrico Billich. Motivation Aufbau und Aufgaben Veraltete Datenbankmodelle Relationales Modell Objektorientiertes Modell Sonstige Datenbankmodelle Anforderungen Empfehlung Literatur. Gliederung. Motivation.

elvis
Download Presentation

Datenbanken für den Einsatz auf Embedded Linux

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Datenbanken für den Einsatz auf Embedded Linux Enrico Billich

  2. Motivation Aufbau und Aufgaben Veraltete Datenbankmodelle Relationales Modell Objektorientiertes Modell Sonstige Datenbankmodelle Anforderungen Empfehlung Literatur Gliederung

  3. 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

  4. Sicht 1 Sicht n Aufbau Externe Ebene ANSI-SPARC-Architektur Logische Datenunabhängigkeit Konzeptuelle Ebene Physische Datenunabhängigkeit Interne Ebene Datenmedium

  5. Aufbau Datenbankmanagementsystem Komponenten eines Datenbanksystems Datenbank

  6. Aufgaben Mehrbenutzerbetrieb Datenstruktur Datenträgerverwaltung DBMS Datensicherung Schnittstellen Abfragesprache Datenintegrität Redundanzminderung Benutzerverwaltung ACID

  7. Veraltete Modelle Hierarchisches Modell • Baumstruktur • Datensätze stehen zueinander in Eltern-Kind-Beziehungen (1:1, 1:N) Dateispeicherung • Speicherung der Datensätze hintereinander in einer Datei Netzwerkmodell • Keine strikte Baumstruktur mehr • Datensätze können nun mehrere Vorgänger besitzen • M:N Beziehungen über speziellen Knoten

  8. 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

  9. Entity-Relationship-Modell Name SWS Name Studenten Hören Vorlesungen N M Matrikel Nr. Vorl. Nr.

  10. Relationales Datenmodell • Entities und Beziehungen in Tabellenform bringen, heißen beide nun Relationen • Beziehungen eindeutig identifizierbar durch die Schlüssel, der beteiligten Entities

  11. 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

  12. Apache Derby Integrierte Prozeduren, Trigger ACID Vollständig SQL92, Teilweise SQL99 Und 2003 Benutzer Verwaltung Apache 2.0 Lizenz, kostenlos Verschlüsselung 2MB Footprint ODBC JDBC Backup Management Multiuser fähig

  13. 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

  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

  15. Firebird Integrierte Prozeduren, Trigger ACID Vollständig SQL92 und 99, Teilweise 2003 Benutzer Verwaltung READ Only Mode IDPL, kostenlos 2,6MB Footprint 16MB empfohlen ODBC JDBC Backup Management Multiuser fähig

  16. 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)

  17. SQLite Teilweise SQL92 Integrierte Funktionen, Trigger ODBC JDBC ACID Kein gleichzeitiger Schreibzugriff Gemeinfrei, kostenlos Nur Embedded Mode, Aber Zugriff auf Datenbasis (Datei) Von verschiedenen Programmen möglich 225kB Footprint

  18. 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

  19. Objektorientiertes Modell Relationale Datenbanken Objektorientierte Datenbanken Objektrelationale Datenbanken

  20. Objektorientiertes Modell OR-Mapping Speicherplatz für Schneemannobjekt • Eigene Typen deklarieren • Objekt IDs Direkte Speicherung

  21. Befehl Befehl Objektorientiertes Modell Datenübertragungsstrecke Programm Beim Client Datenbank Auf Server Daten Ohne integrierte Prozeduren Programm Beim Client Datenbank Auf Server Mit integrierte Prozeduren

  22. Vererbung Geschachtelte Relationen/Attribute Fuß Nase Knie Mund Mengenwertige Attribute Linkes Bein Kopf Person Person Mensch Menge von Adresse Adresse 1 Adresse n Objektorientiertes Modell

  23. Objektorientiertes Modell Kostenlose OO-Datenbanken Kommerzielle OO-Datenbanken Kostenlose OR-Datenbanken

  24. 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

  25. 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

  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

  27. Deduktive Datenbanken Datenbanksystem Datenbasis Deduktionsregeln Neue Daten

  28. 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

  29. Anforderungen Name Name Typ Messwert Messung Messobjekt Sensor 1 N Uhrzeit O_Nr S_Nr Dimension

  30. Empfehlung 1 2 3

  31. Ende

  32. 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

More Related