PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : suche Datenbank (mit Anforderungen)...



SeeksTheMoon
27-08-2003, 12:23
Ich werde eine multiuserfähige, plattformunabhängige Anwendung in C++ schreiben, die ihre Daten in einer Datenbank verwalten soll.

Als Daten fallen alle möglichen Daten an, d.h. die DAB sollte alles vom int bis zum jpeg speichern können (und natürlich C++-Objekte).
Multiuser bedeutet: Transaktionen soll sie können
Trigger wären nett, sind aber optional.
Plattformunabhängig bedeutet: Mindestens unter Linux und Windows kompilierbar, Mac würde das vervollständigen.
Perl und Python-Schnittstelle wären auch nicht verkehrt, ich kann aber auf SWIG ausweichen (das benutzen wir sowieso).
Objekt-Relational braucht sie nicht zu sein.

So, jetzt kommt aber der Knackpunkt, denn das bisherige bietet ja fast jede DAB:
Die Datenbank muss sich voll in die Anwendung integrieren lassen.
Das heißt: Ich will die Engine der Datenbank als Bibliothek zu der Anwendung hinzufügen und mit Embedded SQL auf eine von mir festlegbare Datei schreiben.
Oder noch genauer: Der User soll keine Datenbank bei sich installieren müssen, das muss alles voll integriert sein: Programm starten und nichts merken.

Der Quellcode meines Programmes wird höchstwahrscheinlich nicht offen sein, d.h. ich brauche eine DAB unter einer Lizenz, die mich nicht dazu zwingt meinen Code offen zu legen (an der Datenbank selber werde ich jedoch nichts verändern, die bleibt so wie sie ist), oder die mich dazu zwingt die Lizenz der DAB zu verwenden, o.ä. Die LGPL, Apache, BSD usw. wären ideale Kandidaten. (Wenn ich die DAB vom Quellcode her unberührt lasse und einfach nur mit ihr arbeite, dann kann sie doch sogar GPL haben, oder?)

Kennt jemand eine Datenbank, die diesen Anforderungen gerecht wird? (bitte Hyperlinks angeben)
Oracle9i fällt schonmal aus dem Rennen *g*

Was gäbe es noch für Alternativen? Einen XML-Parser? Kann man damit genau so gut wie mit einer DAB arbeiten? (Ist das überhaupt vergleichbar?)


thx schonmal, ich freu mich auf die Antworten.

Gaert
27-08-2003, 13:58
Hi!

Tja, wie sagt man so schön in der Werbung: "...so viele Dinge auf einmal? Das geht nun wirklich nicht..."

Auf ein paar Features musst du unter umständen wohl verzichten...

Wenn du einen heißen Tip haben möchtest -> http://www.sqlite.org

Gruß,

Gaert

comrad
28-08-2003, 12:15
probiers mal mit postgresql. ich denke das erfüllt einige deiner anforderungen. psql unterliegt der BSD-Lizenz, d.h. du kannst damit machen was du willst.

comrad

Gaert
28-08-2003, 14:04
Posrgres als embedded library? - wohl eher nicht - Postgres musst du separat installieren und starten, das will er ja nicht!

Das heißt: Ich will die Engine der Datenbank als Bibliothek zu der Anwendung hinzufügen und mit Embedded SQL auf eine von mir festlegbare Datei schreiben.
Oder noch genauer: Der User soll keine Datenbank bei sich installieren müssen, das muss alles voll integriert sein: Programm starten und nichts merken.

SeeksTheMoon
28-08-2003, 18:26
jo genau. sqlite sieht schonmal sehr gut aus. Mit der fehlenden MAC-Unterstützung kann ich leben (falls jemand noch eine Alternative kennt, dann würde mich das aber trotzdem noch interessieren).

Danke schonmal.