Hi Mitstreiter,
ich brauche für ein Tool eine embedded
DB. Frage: Welche gibt es da (noch)?
Eckpunkte:
- wahrscheinlich sind ca. 30-1000 neue Datensätze pro Tag
- Trotz embedded / Filebased benötige ich "Multi-User"-Zugriff - hier von zwei Anwendungen gleichzeitig
Bevor die Grundsatzdiskussion wg. embedded DB kommt:
Dies läßt sich bei diesem Projekt leider nicht anders realisieren, soll auch portable von USB Stick laufen und unter Berücksichtigung entsprechend eingeschränkter Rechte. Registry Änderungen, Dienstinstallation etc.pp. sind nicht möglich.
Ich würde gerne auf SQLite3 setzen, habe hier konkret aber Probleme mit den Timeouts beim Filelock, was klar ist. Das ist ein No-Go und ich hätte es am liebsten auf Ebene der
DB selbst gelöst. Verlorene Datensätze wg. Timeouts dürfen nicht passieren bzw. müssen sehr unwahrscheinlich sein, so schwer dies bei Filebased-Embedded
DBMS auch ist.
Was ich nach mittelfristiger Evaluierung schon weiß:
- SQLite wrapper von AduCom ist z.B. beim Objektlinking mit SQLite3 3.5.9 recht buggy (AVs), mit
DLL stolpert es über den Multi-User Zugriff durch die zweite App. Die anderen SQLite wrapper die so rumfliegen ebenso. Getestet: Aducom, Wrapper von der Codegear Seite, DISQlite3
- Firebird embedded: Fällt raus, da nicht "Multi-User"-fähig mit nur einer App pro
DB zur Zeit
- AbsoluteDatabase: Geht, hat sogar "Automatic detection of changes made by other users"
AbsoluteDatabase habe ich vor einiger Zeit gekauft, aber dieses
DBMS möchte ich ersetzen. Dort sind zu viele Altkomponenten integriert (
zLib 1.1.3,
DEC 3) und es treten noch andere Probleme auf, die mein Vertrauen darin gestört haben.
Viel bleibt nicht mehr, ich weiß. Hab ich noch etwas übersehen?
Ich freue mich auf Eure Denkanstöße!
Gruß Assertor