Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Projekt speichern Stream, XML, Datenbank, ...? (https://www.delphipraxis.net/143458-projekt-speichern-stream-xml-datenbank.html)

BigAl 16. Nov 2009 21:18


Projekt speichern Stream, XML, Datenbank, ...?
 
Hallo zusammen,

ich stehe hier vor einer etwas grundlegenden Entscheidung zu einem aktuellen Projekt. Es geht um die banale Frage wo und wie ich mein Projekt speichern soll. Von der Struktur her hätte ich mehrere Möglichkeiten:

1. Datenbank
+ Viele Benutzer können die Daten gleichzeitig nutzen
+ Struktur lässt sich beliebig erweitern
+ Daten werden zur Laufzeit dynamisch nachgeladen
+ auf Daten kann indiziert zugegriffen werden
+ Programmierung sehr einfach, da viel Erfahrung im Umgang mit Datenbanken vorhanden ist
- Programm benötigt immer Zugriff auf einen Datenbankserver

2. XML-Datei
+ Struktur lässt sich beliebig erweitern
+ Programm (bzw. die Daten) kann sehr leicht z.B. auf ein Notebook übertragen werden
- Habe bisher keine guten Erfahrungen mit XMLDocument und Co. gemacht
- Daten sind immer komplett im Speicher (die Datenmenge ist allerding überschaubar)

3. Stream
+ Programm (bzw. die Daten) kann sehr leicht z.B. auf ein Notebook übertragen werden
+ Grundsätzliche Programmumsetzung sehr einfach
- Struktur lässt sich nur mit Versionskontrolle und somit Aufwand erweitern
- Daten sind immer komplett im Speicher (die Datenmenge ist allerding überschaubar)

4. ????

Man könnte nun sagen ist doch klar. Nimm Datenbank, da sind die meisten "+". So einfach isses leider net. Ich würde in diesem Fall schon gerne auf die Datenbank verzichten. Einfach damit das Programm leicht "transportiert" werden kann. Das "-" gewichtet also schon stark. Das mit dem Stream wäre die einfachste Lösung. Ist mir aber nicht transparent genug. Ich habe das schon mehrfach gemacht... Vom Ansatz her würde ich XML favoritisieren. Allerdings habe ich - wie oben geschrieben - bisher keine guten Erfahrungen mit den XML-Funktionen in Delphi gemacht. Passen würde das Ganze sehr gut, da ich den Zustand (Properties) eigener Komponenten ablegen möchte. Der Aufbau der zu speichernden Daten ist eine Baumstruktur.

Hat jemand sonst noch Ideen? Wie speichert ihr die Arbeit in euren Programmen ab?

Ich hoffe ich habe nicht zu wirr geschrieben. Stecke mit meinen Gedanken derzeit voll im Compiler :mrgreen: :mrgreen:

Alex

generic 16. Nov 2009 22:08

Re: Projekt speichern Stream, XML, Datenbank, ...?
 
Zitat:

Zitat von BigAl
1. Datenbank
- Programm benötigt immer Zugriff auf einen Datenbankserver

Nicht wenn du embedded Server nimmst.
z.B. MSSQL Compact, Firebird, SQLITE, MSAccess

BigAl 16. Nov 2009 22:41

Re: Projekt speichern Stream, XML, Datenbank, ...?
 
Zitat:

Zitat von generic
Zitat:

Zitat von BigAl
1. Datenbank
- Programm benötigt immer Zugriff auf einen Datenbankserver

Nicht wenn du embedded Server nimmst.
z.B. MSSQL Compact, Firebird, SQLITE, MSAccess

Damit habe ich mich nu noch garnicht beschäftigt :-). MSSQL Compact hört sich schon mal net schlecht an. Werde ich mir mal ansehen...

Alex

mirage228 16. Nov 2009 22:53

Re: Projekt speichern Stream, XML, Datenbank, ...?
 
Also für XML habe ich hier in der DP schon einige Serialisierer gesehen. Damit könntest Du ganze Klassen samt Daten mittels RTTI ganz einfach in XML Dokumente speichern.
Welcher Art waren Deine negativen Erfahrungen mit XMLDocument? Ggf. kannst Du ja auf einen anderen Parser als den eingebauten ausweichen.

Viele Grüße

joachimd 16. Nov 2009 23:12

Re: Projekt speichern Stream, XML, Datenbank, ...?
 
Zitat:

Zitat von BigAl
MSSQL Compact hört sich schon mal net schlecht an. Werde ich mir mal ansehen...

nur ist genau der eben nicht so 'kompakt' wie die anderen in der Liste - auch wenn der Name dies vermuten ließe.

olaf 17. Nov 2009 07:51

Re: Projekt speichern Stream, XML, Datenbank, ...?
 
Hallo,

nimm Absolute Database.

http://www.componentace.com/bde_repl...e_database.htm

Die Datenbank kann in die EXE eingebunden werden. Nur noch eine Datei die portiert wird. Außerdem ist diese Datenbank sau schnell, kostet etwas aber alles im Rahmen.

Olaf

Bernhard Geyer 17. Nov 2009 08:24

Re: Projekt speichern Stream, XML, Datenbank, ...?
 
Zitat:

Zitat von olaf
nimm Absolute Database
... Außerdem ist diese Datenbank sau schnell

Hat sich das seit 5.14 viel getan? Damal war sich nich gerade überragend schnell und hat gewaltige Problem Unicode zu unterstützen. Habs dann anch einiger Zeit aufgegeben.

Wenn beim ADS Local Server nicht das Lizenzproblem bei Betrieb unter Remote Desktop wäre würde ich dies empfehlen. Sehr schnell und auch stabil.

Alternativ TurboDB, jedoch gabs bei meinen Tests immer mal Probleme mit komplexeren Queries die erst mit dem nächsten Update behoben wurde. Der letzte Test mit 5.14 hatte Performanceprobleme komplexe Joins. Jedoch hat Unicode immer funktioniert.

bernau 17. Nov 2009 08:59

Re: Projekt speichern Stream, XML, Datenbank, ...?
 
@Bernhard Geyer:

Schau mal folgenden Artikel bezüglich "Remote Desktop" und ADS

http://newyear2006.wordpress.com/200...emote-desktop/


Gerd

Bernhard Geyer 17. Nov 2009 09:12

Re: Projekt speichern Stream, XML, Datenbank, ...?
 
Zitat:

Zitat von bernau
Schau mal folgenden Artikel bezüglich "Remote Desktop" und ADS

http://newyear2006.wordpress.com/200...emote-desktop/

Den Schalter kenn ich auch. Jedoch ist trotzdem nach den Lizenzbedingungen von ADS eine Serverlizenz in diesem Betriebsmodus nötig.

BigAl 17. Nov 2009 17:21

Re: Projekt speichern Stream, XML, Datenbank, ...?
 
Hallo Jungs,

ihr seid einfach klasse. Nun bin ich total von der Rolle :spin2: bzw. habe anstelle meiner anfängliche "paar" Ansätze einige mehr. Was recht spannend ausschaut ist "Absolute Database". Ist zwar funktionell sehr eingeschränkt und nicht mit einer "richtigen" Datenbank zu vergleichen aber für meinen Zweck wohl angebracht. Dazu will ich nun mehr Infos haben. Die "free" Version habe ich mir gleich mal runtergeladen und installiert. Ehe ich aber in die Tiefen der Implemtierung vorstosse ein paar Fragen dazu:

1. Wie stabil ist das Teil?
2. Wo sind (nach eurer Erfahrung) die Grenzen?
3. Wann würdet ihr das Teil nicht empfehlen?

Sind sehr stubide und "weiläufige" Fragen aber wenn ich's einsetze, dann werde ich es auch registrieren. Und ehe ich mal schnell 199 (oder 349) Euro in den Sand setze wollte ich mal ein paar Meinungen einholen. Der erste Eindruck ist halt hervorragend...

Regards

Alex


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:50 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