Erfahrungen mit lokalen NOSQL Datenbanken



  • Hallo,

    ich habe früher ganz gerne SQLite als lokale DB für einige meiner Projekte verwendet.

    Ich möchte jetzt allerdings ganz gerne eine lokale NOSQL DB verwenden (vom Implementationsaufwand gerne wie SQLite).

    Ich habe mich umgeguckt und einige Datenbanken gefunden, wobei ich leider zu den einzelnen Datenbanken so gut wie keine Erfahrungsberichte finden konnte.
    Die Projekte sehen auch alle eher wie Single-Developer Projekte aus.
    (Muss ja nicht unbedingt schlecht sein.)

    Vielleicht hat sich einer von euch sich damit schon näher beschäftigt oder Erfahrungen mit lokalen NOSQL Datenbanken.

    Gefunden habe ich:
    UNQLite http://unqlite.org/
    MooDB http://www.dev-smart.com/archives/326
    RaptorDBhttp://www.codeproject.com/Articles/375413/RaptorDB-the-Document-Store

    Falls ihr noch andere kennt bitte nennen.
    Es geht mir um Key/Value document storage der auf das Filesystem schreibt.

    Die DB soll nur von einer lokalen Anwendung verwendet werden.
    Ich brauch den ganzen FULL Server support also nicht.

    Gruß



  • Dieser Thread wurde von Moderator/in Arcoth aus dem Forum C++ (alle ISO-Standards) in das Forum Datenbanken verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • Was heißt für dich "lokal"? Eine der bekanntesten NoSql Datenbanken wäre MongoDb und die hast du nicht genannt. Heißt es, du kennst sie nicht, oder entspricht sie aus irgendeinem Grund nicht deinen Kriterien?
    Ich hab auch noch keine NoSql Datenbank "lokal" eingesetzt. Irgendwie gefällt mir in dem ganzen Datenbankbereich nichts so wirklich, weder relationale noch NoSql Datenbanken. Und bei NoSql Datenbanken muss man die Objekte in C++ immer noch irgendwie mehr oder weniger selber serialisieren, es geht nicht komplett automatisch und transparent. Ich hab da auch immer das Gefühl, dass NoSql Datenbanken langsamer wären als relationale Datenbanken und eher interessant, wenn man tausend Server laufen hat, die nicht unbedingt 100% synchron sein müssen. Aber ich spiel auch mit dem Gedanken, demnächst mal etwas intensiver mit MongoDb rumzuspielen.
    Was ich schon mal eingesetzt habe war eine objektorientierte .NET Datenbank (der Name fällt mir grad nicht ein). Ich wollte viele polymorphe Objekte speichern und die konnte das auch viel schneller, als die beste Lösung mit einer relationalen Datenbank, die ich hinbekommen hatte. Und da man sich beim Speichern auch um nichts kümmern musste (dynamische Codegenerierung geht ja ganz leicht in .NET) war das schon recht praktisch.



  • Ich habe mir MongoDB kurz angeguckt und das ist ja eine vollwertige heavy size Datenbank.
    Der Installer für Windows ist 132MB schwer.

    Ich möchte eine Datenbank in meiner lokalen Anwendung verwenden, die auf dem Rechner läuft.

    Das bedeutet ich brauch 95% von dem was MongoDB bietet überhaupt nicht.

    Ich möchte auch direkt und nicht über HTTP mit der Datenbank reden (weil ich lokal bin).

    Ich weiß nicht ob du SQLite kennst aber ich brauch, dass nur als key/value document storage.

    Für meinen Verwendungszweck brauch ich eine NOSQL DB.



  • Suchst du eine embedded DBMS für deine Anwendung? Vielleicht ist Berkely db was für dich?



  • local db- NOSQL schrieb:

    Für meinen Verwendungszweck brauch ich eine NOSQL DB.

    Warum?



  • nman schrieb:

    local db- NOSQL schrieb:

    Für meinen Verwendungszweck brauch ich eine NOSQL DB.

    Warum?

    Ich möchte unmengen an Daten in meiner lokalen Anwendung verwalten bis zu 5 Millionen "documents".

    Ich habe also 5.000.000 Documents deren Scheme sich jederzeit dynamisch (durch den Nutzer) ändern kann.

    Das geht am einfachsten mit einem key/value document store, alles andere wäre nicht praktikabel.

    Ich könnte die documents auch als einzelne XML-Dokumente speichern um das selbe zu erreichen aber der Overhead ist bei den Datenmengen nicht mehr akzeptabel.



  • local db- NOSQL schrieb:

    Ich könnte die documents auch als einzelne XML-Dokumente speichern um das selbe zu erreichen aber der Overhead ist bei den Datenmengen nicht mehr akzeptabel.

    Was für ein Overhead?



  • XML hat keinerlei Overhead gegenüber üblichen binären Representationen von einfachen Key/Value Listen?
    Interessant...


Log in to reply