Ein eingebettetes Datenbanksystem ist ein in einer Anwendung eingebettetes Datenbanksystem, das nach außen nicht sichtbar in Erscheinung tritt.
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 2 Mrd USD geschätzt mit einem Anstieg auf 3,2 Mrd 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 < 1MB)
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
- 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
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
- Mikro-DBMS www.vs.inf.ethz.ch/edu (pdf-Dokument)
- Embedded DBMS von der University of Waterloo http://db.uwaterloo.ca/projects/embedded.shtml
- Ein merkmalsorientierter Speichermanager für eingebettete Systeme http://dbs.informatik.uni-halle.de/GvD2005/beitraege/gvd05_LeiApe.pdf bzw. html
- Reducing Energy Consumption of Queries in Memory-resident Database-Systems http://www.casesconference.org/cases2004/presentation/04.ppt
- Empress Offers an Effective Embedded Database Solution. von Craig Mullins www.dbazine.com
Referenzen
- ↑ http://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 der selben 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