AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Suche Embedded DB mit Multi-User-Fähigkeit
Thema durchsuchen
Ansicht
Themen-Optionen

Suche Embedded DB mit Multi-User-Fähigkeit

Ein Thema von Assertor · begonnen am 6. Jul 2008 · letzter Beitrag vom 6. Jul 2008
Antwort Antwort
Assertor

Registriert seit: 4. Feb 2006
Ort: Hamburg
1.296 Beiträge
 
Turbo C++
 
#1

Suche Embedded DB mit Multi-User-Fähigkeit

  Alt 6. Jul 2008, 20:53
Datenbank: n/a • Zugriff über: n/a
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
Frederik
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Suche Embedded DB mit Multi-User-Fähigkeit

  Alt 6. Jul 2008, 21:00
Wenn du nicht FireBird nimmst sondern den richtigen Server, kannst du den vom 1. Programm starten lassen. Das funktioniert auch vom USB-Stick oder sogar einer CD-Rom (dann natürlich nur readonly).
Markus Kinzler
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#3

Re: Suche Embedded DB mit Multi-User-Fähigkeit

  Alt 6. Jul 2008, 21:03
Das Problem einer Embedded-DB im Zusammenhang mit Multiuserbetrieb liegt in der -nach meinem Dafürhalten- Unvereinbarkeit beider Vorgaben. Die für den sicheren Multiuserbetrieb notwendigen Sperren auf Tabellen- und Datensatzebene sind ohne Serverinstanz einfach nicht 100% sicher möglich.

Eventuell könnte ein wechselseitig exklusiver Zugriff auf die Datenbank die nötige Sicherheit bringen, aber ganz sicher bin ich mir dabei nicht.

Ich ziehe meine Schlussfolgerungen übrigens aus dem Access-Disaster, wenn damit versucht wird, einen Mehrbenutzerbetrieb zu realisieren. Nach Allem, was ich über dieses Thema gelesen habe, scheint eine Embedded Multiuser-DB schlicht und ergreifend nicht möglich zu sein.

@mkinzler, so ähnlich wäre mein Alternativvorschlag gewesen. Das es konkret mit Firebird geht, macht dieses RDBMS noch charmanter.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
Assertor

Registriert seit: 4. Feb 2006
Ort: Hamburg
1.296 Beiträge
 
Turbo C++
 
#4

Re: Suche Embedded DB mit Multi-User-Fähigkeit

  Alt 6. Jul 2008, 21:14
Hi mkinzler, Hi Alzaimar,

Guter Punkt mit dem Access-Disaster. Ich bin mir (leider) der Problematik wg. des Lockings - hier ja auf File-Ebene - bewußt. Ich hatte schon befürchtet, daß es ein Logik-Problem in den Anforderungen und Umsetzungsmöglichkeiten gibt.

Mozilla Firefox 3 arbeitet z.B. auch mit SQLite3 für Bookmarks und Cache, aber läßt nur eine Programminstanz zur Zeit zu. Problem dort gelöst

Ich werde Firebird mal in diesem Szenario ausprobieren.

Rein interessehalber zurück zur ursprünglichen Frage: Sind sonst noch irgendwelche embedded Systeme bekannt und üblich? Berkeley DB für Delphi steckt im Google Code Center als OSS Projekt, aber sicherlich nicht für den Produktiveinsatz geeignet.

Gruß Assertor
Frederik
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: Suche Embedded DB mit Multi-User-Fähigkeit

  Alt 6. Jul 2008, 21:25
Moin Assertor,

vorweg: Mit Embedded-Systemen kenne ich mich nicht aus.

Eine Idee hätte ich aber noch:
Könnte nicht die zuerst gestartete Anwendung den Server für die andere darstellen?
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: Suche Embedded DB mit Multi-User-Fähigkeit

  Alt 6. Jul 2008, 21:26
Zitat:
Könnte nicht die zuerst gestartete Anwendung den Server für die andere darstellen?
Dann müsste er aber diese selber implementieren.
Markus Kinzler
  Mit Zitat antworten Zitat
Stephan

Registriert seit: 28. Jun 2002
Ort: Tuttlingen
245 Beiträge
 
Delphi 2007 Professional
 
#7

Re: Suche Embedded DB mit Multi-User-Fähigkeit

  Alt 6. Jul 2008, 21:34
Hallo Assertor,

schau dir mal unter http://www.aidaim.com/ die Accuracer Datenbank an. Damit sind MultiUser Zugriffe entweder direkt auf die Datenbankdatei möglich oder du kannst dir mit wenigen Klicks einen eigenen Datenbankserver zusammen klicken. Ich hab bisher jedenfalls ausschließlich gute Erfahrungen mit dieser Firma gemacht
viele Grüße

Stephan
  Mit Zitat antworten Zitat
Assertor

Registriert seit: 4. Feb 2006
Ort: Hamburg
1.296 Beiträge
 
Turbo C++
 
#8

Re: Suche Embedded DB mit Multi-User-Fähigkeit

  Alt 6. Jul 2008, 21:36
Moin Christian,
Zitat von Christian Seehase:
Könnte nicht die zuerst gestartete Anwendung den Server für die andere darstellen?
Die Idee ist prinzipiell gut, auch mkinzler hat ja etwas vergleichbares vorgeschlagen.

Da frage ich mich aber (rhetorisch): Was ist, wenn die Anwendung aus irgendeinem Grunde undefiniert endet? Der Serverprozess läuft dann weiter, verhindert unter Umständen das Abmelden des USB-Laufwerks. Normalen Benutzern ist hier eine Prozessbeendigung über den Taskmanager schwer zumutbar.

Gruß Assertor
Frederik
  Mit Zitat antworten Zitat
Assertor

Registriert seit: 4. Feb 2006
Ort: Hamburg
1.296 Beiträge
 
Turbo C++
 
#9

Re: Suche Embedded DB mit Multi-User-Fähigkeit

  Alt 6. Jul 2008, 21:46
Hi Stephan,
Zitat von Stephan:
schau dir mal unter http://www.aidaim.com/ die Accuracer Datenbank an.
Das zielt in die Richtung, die ich meine! Technisch von der Featurelist vgl. AbsoluteDatabase.
Ich sehe mir das mal an, Danke!

Gibt es denn eigentlich einen anderen SQLite3 Wrapper als den von Aducom (entspricht ja auch dem Zeos SQLite3 Wrapper) und den bereits erwähnten? Gibt es da noch etwas anderes?

Was ist mit der Schnittstelle von RemObjects? Kennt jemand DataAbstract Vinci und hat das im Einsatz?

Gruß Assertor
Frederik
  Mit Zitat antworten Zitat
Assertor

Registriert seit: 4. Feb 2006
Ort: Hamburg
1.296 Beiträge
 
Turbo C++
 
#10

Re: Suche Embedded DB mit Multi-User-Fähigkeit

  Alt 6. Jul 2008, 21:54
Nachtrag: Ich schließe mal vorerst das Thema als erledigt ab und mache mir nochmal Gedanken. Falls jemand zu SQLite3 noch etwas hat, bitte gerne hier posten.

Auf jeden Fall vielen Dank für die Anregungen und das Brainstorming!

Gruß Assertor
Frederik
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:34 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz