Hi,
http://www.oracle.com/database/berkeley-db/index.htmldas ist eine sehr alte, embedable openSource Datenbank. Sie wird u.a. eingesetzt in dem (sehr gebräuchlichen Code Versioning Tool) Subversion und sendmail. Oracle hat die Herstellerfirma vor 2 Jahren gekauft. Sie kommt in verschiedenen Arten: classic, Java und xml. Berkeley DB XML unterstützt XQuery als Abfragesprache und ich hab diese Art erstmal zu meinem primären Testkandidaten erkoren.
Ansonsten:
- für Datenbanken kein festgelegtes Schema nötig (wie Lotus Notes)
- algorythmisch eine Implementierung von B-Tree (wie Lotus Notes)
- man kann frei Indexe hinzufügen (die sortierten Spalten in Lotus Notes sind Indexe)
- vom Modell eine Hierarchische Datenbank (wie Lotus Notes)
- Berkeley DB hat seit Vs. 4.5 ein replication framework (weiss nicht was das heisst)
features, die es bei Notes nicht gibt:
- unterstützt Transaktionen
- zumindest die Java Version unterstützt offenbar die für EE5/J2EE wichtigen verrteilten (XA) JCA Transactionen
Für mich hört sich das alles stark nach einer Datenbank an, die der von Lotus Notes sehr ähnlich ist. Bei der Portierung von Notes Anwendungen auf Umgebungen ohne Notes ist die Übersetzung in ein Relationales Datenmodell des Datenbestandes ziemlich mühseelig (ausser man gibt sich mit Queries zufrieden, die 10 Minuten dauern
)
Berkeley DB kann hier eine brauchbare Alternative darstellen.
Weil als Notes-Veteran weiss man halt, dass nicht jede Datenbank relational sein muss (wobei es für manche Anwendungen besser ist).
Die Beschäftigung mit xml Datenbank Standards wie XQuery hat auch noch den Nutzen, dass große DBs wie DB2 und Oracle sehr stark Richtung xml Unterstützung gehen. Und das eröffnet imho Semistrukturiertheit auch für diese Datenbanken.
Gruß Axel