Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Welches Datenbankmodell am performantesten? (https://www.delphipraxis.net/102167-welches-datenbankmodell-am-performantesten.html)

arnsen 24. Okt 2007 14:46

Datenbank: paradox • Zugriff über: datasource+table

Welches Datenbankmodell am performantesten?
 
Hallo,
Habe ein Programm schon fertig geschrieben, was mit relativ große Wortlisten verwaltet. Anfangs hatte ich die Listen in textdateien gespeichert, sobald die einträge aber in die Millionen gehen, wird das ganze ziemlich wacklig, also wollte ich auf eine Datenbank umsteigen.
Da ich keine großen Funktionen brauche, sondern eigentlich nur meine Stringlisten verwalten muss, habe ich mal das einfachste Beispiel genommen und meine strings in paradox-dbs speichern lassen. Hier bricht er mir aber bei ca 2,5mio entries ab, wenn die DB genau 128 MB hat, hier scheint die grenze bei paradox-tabellen zu liegen. Jetzt meine Frage, zu welcher DB-Alternative würdet Ihr mir raten? Es soll halt mit mehreren millionen einträgen zurechtkommen (bis 30 mio) und dies auch so performant wie möglich. Großartig Abfragen werden nicht gestellt, es werden nur in unregelmäßigen abständen einzelne Datensätze ausgelesen, gelöscht oder hinzugefügt, mehr muss die db nicht können. Irgendwelche Tipps?
mfg
Arnsen

mkinzler 24. Okt 2007 14:49

Re: Welches Datenbankmodell am performantesten?
 
Ein filebasiertes Datenbanksystem wie Paradox hat natürlich das selbe Problem wie Textdateien. Nimm ein richtiges DBMS wie zB. Interbase/firebird, Mssql express, Oracle express, DB2 express, ...
Cross posting: http://www.delphi-forum.de/viewtopic.php?t=77624

mschaefer 24. Okt 2007 15:05

Re: Welches Datenbankmodell am performantesten?
 
Moin, moin,

wenn es nur um Listen geht, hat 'Alzeimer' mal einen Vergleich aufgestellt.

Grüße // Martin

arnsen 24. Okt 2007 15:22

Re: Welches Datenbankmodell am performantesten?
 
das problem ist dass wenn die Listen zu voll werden (mehrere millionen einträge) er mit dem Arbeitsspeicher nicht mehr klarkommt, darum wollte ich einzelne datensätze (ich brauch immer nur nur kleine anzahl am stück, der großteil bleibt ohnehin unberührt) eben direkt aus ner datenbank laden und zurückschreiben.

@mkinzler: danke, welches db-model von deinen vorschlägen würdest du mir in meinem Fall empfehlen? Bin zwar kein Neuling was Delphi angeht, aber mit Datenbanken hat ich bisher noch nichts am Hut, wäre also ideal wenn die installation und einbindung in mein jetziges projekt relativ einfach wäre.

gruß
arnsen

mkinzler 24. Okt 2007 15:25

Re: Welches Datenbankmodell am performantesten?
 
ich selber arbeite mit FireBird. ist aber eine subjektive Vorliebe.

Alien426 24. Okt 2007 15:34

Re: Welches Datenbankmodell am performantesten?
 
Ich mag das einfache SQLite. Hier ein Geschwindigkeitsvergleich.

mschaefer 24. Okt 2007 15:39

Re: Welches Datenbankmodell am performantesten?
 
Das mit FireBird ist übrigens auch meine Vorliebe (auch subjektiv), kann mir aber auch vorstellen das SQLLite hier gut passt. In dem Listenvergleich gibt es Directory-Listen und mit denen habe ich inzwischen bis gut 5-Mio Einträge ohne wirkliche Probleme auf einem 512 MB-Rechner gearbeitet.

Grüße // Martin

shmia 24. Okt 2007 15:46

Re: Welches Datenbankmodell am performantesten?
 
Für deine Anwendung (sehr grosse Tabellen, wenig oder keine relationale Abhängigkeiten) käme
auch noch die Berkeley DB in Frage.
Man braucht dazu natürlich auch eine passende Delphi Unit.

mkinzler 24. Okt 2007 15:51

Re: Welches Datenbankmodell am performantesten?
 
Firebird hat halt den Vorteil der Skalierbarkeit (lokal: embedded -> Server)

Bernhard Geyer 24. Okt 2007 15:54

Re: Welches Datenbankmodell am performantesten?
 
Zitat:

Zitat von shmia
Für deine Anwendung (sehr grosse Tabellen, wenig oder keine relationale Abhängigkeiten) käme
auch noch die Berkeley DB in Frage.

Aufgrund der Tatsache das die Rechte an diesem DB-Format mittlerweile bei Oracle liegt würde ich dieses Format nicht anfassen. MySQL hat ja mit Berkley und InnoDB so die Probleme das beide jetzt Oracle gehöhren und sie ein neues Format implementieren müssen um nicht irgendwann keine DB-Lizenzen mehr verkaufen zu dürfen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:30 Uhr.
Seite 1 von 2  1 2      

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