suche "Datei"-Datenbank

snowtom

Mitglied
Hallo,

ich suche ein Datenbanksystem was keinen Server benötigt sondern nur eine Schnittstelle zu einer Datei hat (sowas wie MS Access). Das ganze sollte für Windows, Linux, Unix (inkl Mac OS X) zu bekommen sein.

Die Datenbankschnittstelle sollte via C/C++ realisierbar sein oder Java. Ich wollte erst XML nutzen nur ist es mir etwas zu Speicherhungrig.

Gruß Tommy
 
@GABehnke: Danke kennst Du noch etwas für Java?

was haltet Ihr für besser, ca 5-10 MB mit Zeichenketten in den Ram zu schleudern oder dies per Datenbank immer abfragen. Die Abfragen wären jedoch sehr häufig und könnten vielleicht das ganze in Java verlangsamen.
 
Ups,

was sind 10MB ?
Wenn Du nur einfach nach Strings suchen willst und lediglich 10MB benötigt werden, nehme die STL Standard List (sowas ähnliches gibt es sicherlich auch für JAVA) und gut is

Gruß
Gerhard
 
GABehnke hat gesagt.:

für eine GUI regionbezogene Zeichenketten. Es wird zwar nicht alles sofort benötigt aber es sollte schon relativ OK in der Geschwindigkeit laufen. Das umswitchen während der Laufzeit wollte ich dadurch ermöglichen. Mit Librarys ist das zuviel Aufwand meines erachtens. Zum zweiten nicht jeder hat einen Compiler / Linker der ein Lang Paket erstellen will. (besonders Mac User -> ich will keinen angreifen :-D bin ja selber einer)

edit: Es ist für eine Tabellenkalkulations Software für Mac OS X Tiger. Schreiben tu ich das ganze jetzt in Java. Das portieren erhoff ich mir dadurch auch leichter als mit C++ (Grauen, so fährt mir gerade die Erinnerung den Rücken runter).

Diese Std List müsste java.util.List entsprechen.

Gruß, Tommy
 
Zuletzt bearbeitet:
HyperSONIC SQL ( Java Datenbank kann sowohl als Filedb als auch als ServerDB betrieben werden)

dito Apache Derby (ehemals IBM Cloudscape).
 
sind diese Datenbanklösungen eigentlich Thread-fähig? Also das 2 Zugriffe geschehen können gleichzeitig? Ich vermute das es nicht so ist wenn geschrieben wird. Dann wird ja bestimmt die Datei blockiert. Korrigiert mich wenn ich falsch liege ;)

Das wenn diese Theorie stimmt könnte das zu Problemen führen. Das wenn ein zweiter Thread etwas abruft oder ein dritter, das es unheimlich lagt.
 
Ich denke Du bringst hier etwasdurcheinander.
Thread save d.h, gesicherter Zugriff auf gemeinsame Daten von verschiedenenThreads aus hat erst einmal nichts damit zu tun, wie Datenbanken einen solchen Zugriff regeln. Hier wird entweder mit einer optimistischen oder pessimistischen Sperre gearbeitet. Mit "Thread save Mitteln" ist dieses alleine schon nicht machbar , weil ein Datenbankzugriff (Datenbanksession) nicht nur innerhalb eines Threads generiert werden kann, sondern eben auch über seperate Prozesse.
Wenn Du, wie ich es es vermute, eine Liste von Strings verwalten willst dann verwende einen entsprechenden Container (z.B.
std::list <std:string>stringlist;) und Regel den Zugriff z.B. über Critical Sections
Wenn die Anforderung für einen MAC stehen, warum muss es dann unbedingt OS unabhängig sein ?
Soweit ich weiß, hat MAC einen eigenen C-Compiler der sicherlich über entsprechende Klassen verfügt.

Gruß
Gerhard
 
ich wollte das C Problem eigentlich umgehen und komplett das ganze portierbar machen. Siehe PPC, x86 (amd64), Sparc Binarys. Java eignet sich da eigentlich ganz gut da es dieses Problem nicht kennt. Selbst ein G4 1,33 GHZ kann es derzeit noch gut verarbeiten. Daher werde ich java.util.List nutzen. Das sollte jede Plattform haben.
 
Zurück