- Embedded-Database
-
Ein eingebettetes Datenbanksystem ist ein in einer Anwendung eingebettetes Datenbanksystem, das nach außen nicht sichtbar in Erscheinung tritt.
Inhaltsverzeichnis
Eigenschaften
Einige Datenbanksystem-Hersteller vertreiben ihre Datenbank-Produkte nicht nur als eigenständige Produkte, sondern auch als eingebettete Datenbanksysteme, die in andere Anwendungen integriert sind.
Prominentes Beispiel ist die von Microsoft lange Zeit angekündigte Version des Betriebssystems Windows Vista, das die SQL-Server-Datenbank integriert haben sollte als WinFS.
Ein eingebettetes Datenbanksystem ist von außen als solches nicht zu erkennen und kann auch nicht von Fremd-Systemen zur Datenspeicherung genutzt werden. Die Vorteile von eingebetteten Datenbanksystemen ergeben sich daraus, dass der Hersteller eine für die spezielle Anwendung ausgerichtete Anpassung vornehmen kann, die über die Möglichkeiten der normalen Administration und Beschleunigung hinausgeht.
Ein weiterer Vorteil ist eine einfachere Installation und Lizenzierung eines Produktes, das ein eingebettetes Datenbanksystem verwendet. Der Produkt-Hersteller kann sein Produkt als Ganzes an seine Kunden ausliefern. Lizenzen für sein Produkt können ohne Beteiligung des Datenbank-Herstellers zwischen dem Produkt-Hersteller und seinem Kunden verhandelt werden. Der Produkt-Hersteller kann ohne Beteiligung seiner Kunden mit dem Datenbank-Hersteller eine Lizenzvereinbarung erzielen. Ein Nachteil ist zum Beispiel, dass man die so gespeicherten Daten schwieriger auf ein System eines anderen Herstellers übertragen kann.
Das Marktvolumen für eingebettete Datenbanken wurde im Jahr 2005 auf zwei Milliarden USD geschätzt mit einem Anstieg auf 3,2 Milliarden USD für das Jahr 2009.[1]
Einsatz in Klein- und Kleinstgeräten
Viele Datenbanksysteme (DBS) unterliegen der Forderung, immer größere Datenmengen verwalten zu können und immer umfangreichere Funktionen bereitzustellen. Es gibt aber auch einen wachsenden Bedarf an kleinen DBS für eingebettete Systeme und für mobile Geräte mit einer schwachen Rechnerleistung.
Designziel solcher DBS ist die Bereitstellung einer bestimmten Leistung in einer ressourcenbeschränkten Umgebung.
Die geforderte Leistung besteht oft nicht in der vollen SQL3-Funktionalität, sondern beinhaltet
- nur die SQL1-Funktionen
- nur den Zugriff auf persistente Tabellen über ein API
- nur den Zugriff auf Indexstrukturen wie z.B. B-Baum oder Hashtabellen.
Wenn ein DBS für den Einsatz in einer ressourcenbeschränkten Umgebung konfiguriert wird, dann kann es sein, dass Komponenten weggelassen werden, die zu den wesentlichen Anforderungen eines DBS gezählt werden.
Beispiele:
- die Mehrbenutzerfähigkeit ist nicht erforderlich
- das System hat nur die Aufgabe, auf Indexstrukturen zuzugreifen
- Datenspeicherung in einem RFID-Chip (Speichervolumen < 1 MB)
In diesen Fällen handelt es sich nicht mehr um ein "eingebettetes Datenbanksystem", sondern um ein "eingebettetes Dateisystem".
Ein Beispiel für ein eingebettetes Dateisystem ist Prevayler.
Liste der eingebetteten Datenbanksysteme
Liste von Client-Server-Datenbanken, die sich für den Einsatz als eingebettetes Datenbanksystem eignen:
Liste von Datenbanken, die direkt in andere Applikationen eingebettet werden können:
- Axion – in Java implementierte Open Source-DB[3]
- Berkeley DB
- db4o
- Derby
- Firebird
- H2 – Java Datenbank, neues Projekt vom HSQLDB Initiator
- HSQLDB
- MetaKit mit Schnittstellen zu C, C++, Python und Tcl
- McKoi
- MySQL
- One$DB – in Java implementierte Open Source-Variante der DaffodilDB[4]
- Quadcap Embeddable Database (QED) von der Firma Quadcap Software, in Java implementierte Open Source-Datenbank[5]
- SmallSQL – eine 100%-pure-Java-Database[6]
- SQLite
- TurboDB – eine SQL-Implementierung in ausschließlich verwaltetem .NET Code[7]
Siehe auch
Literatur
Datenbank Spektrum Heft 20/2007: Datenhaltung in eingebetteten Systemen. www.datenbank-spektrum.de
Weblinks
- Methoden und Werkzeuge zum Bau feingranular konfigurierbarer Datenbankfamilien für Anwendungen im Bereich eingebetteter Systeme, von Prof. Dr. Gunter Saake: www.forschung-sachsen-anhalt.de
- Projekt FAME-DB von Prof. Dr. Gunter Saake: wwwiti.cs.uni-magdeburg.de wwwiti.cs.uni-magdeburg.de/iti_db/forschung/FAME-DBMS/index.htm wwwiti.cs.uni-magdeburg.de
- Mikro-DBMS: www.vs.inf.ethz.ch/edu (pdf-Dokument)
- Embedded DBMS von der University of Waterloo: db.uwaterloo.ca/projects/embedded.shtml
- Ein merkmalsorientierter Speichermanager für eingebettete Systeme: dbs.informatik.uni-halle.de/GvD2005/beitraege/gvd05_LeiApe.pdf bzw. www.google.com/search?q=cache:fPknSszvEJIJ:dbs.informatik.uni-halle.de/GvD2005/beitraege/gvd05_LeiApe.pdf+eingebettete+dbms&hl=de&ct=clnk&cd=5&gl=de.html
- IDC-Studien zum Thema "Embedded Database": www.db4o.com/about/company/backgrounder/IDC_419_web.pdf und www.intersystems.com/cache/analysts/idc_embed.pdf
- Reducing Energy Consumption of Queries in Memory-resident Database-Systems: www.casesconference.org/cases2004/presentation/04.ppt
- Empress Offers an Effective Embedded Database Solution, von Craig Mullins: www.dbazine.com
Referenzen
- ↑ www.oracle.com/corporate/press/2006_feb/sleepycat.html
- ↑ IBM DB2 LUW V9 Administration Guide Implementation Kapitel 1. Hier findet man Hinweise für die Handhabung mehrerer DB2-Installationen mit derselben oder mit unterschiedlicher Version. Es wird erläutert, was zu beachten ist beim Einsatz in eingebetteten Systemen.
- ↑ www.axion.tigris.org
- ↑ Daffodil-DB-Open-Source
- ↑ www.quadcap.com
- ↑ www.smallsql.de
- ↑ dataweb TurboDB
Wikimedia Foundation.