Perfomance embedded Server und lokale Systeme

Für Themen zu Datenbanken und Zugriff auf diese. Auch für Datenbankkomponenten.
Antworten
Christian
Lazarusforum e. V.
Beiträge: 6092
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Perfomance embedded Server und lokale Systeme

Beitrag von Christian »

Hat schon mal jemand versucht Performance von diversen embedded DBS gegenüberzustellen ?

Ich hab gerad mal angefangen mit SQLite zu spielen und muss sagen, ich bin einigermaßen entäuscht. Zumindest subjektiv scheints langsamer zu sein als TDbf.

Wobei man dazu sagen muss das TDbf langsamer wird je mehr Daten in der Tabelle sind. sqlite ist anscheinend immer (gleich) langsam. Ich brauch ca 500ms für ein Insert. Ohne das die Tabelle indizies hat. ein select auf eine Tabelle mit knapp 700.000 Datensätzen dauert ohne Index auch fast 2 sek. mit auch noch 700 ms.

Da kann ich ja fast in der selben zeit ne Textdatei auf der Platte durchsuchen.
Und bei den 9mb kann ich die auch gleich in Speicher laden, sortieren und dann ne binäre Suche drauf ausführen da bin ich in < 5ms am Ziel. Was machen diese Desktopdatenbanken für einen Sinn ?
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

knight
Beiträge: 806
Registriert: Mi 13. Sep 2006, 22:30

Beitrag von knight »

Kennst du die Artikel von Michael VC in der Toolbox? Dort ist Michael auch auf die Performance eingegangen.

knight

monta
Lazarusforum e. V.
Beiträge: 2843
Registriert: Sa 9. Sep 2006, 18:05
OS, Lazarus, FPC: Winux (L trunk FPC trunk)
CPU-Target: 64Bit
Wohnort: Dresden
Kontaktdaten:

Beitrag von monta »

Also meiner Meinung nach, ist das bei der bekannten ausgangslage nicht zu beurteilen. Und nen DBMS gewinnt letztlich auch erst mit komplexen date wirklich an Vorteilen, so das man da wohl deutlich nach Einzelfall entscheiden muss und nicht sponten nach der Performance fragen darf. Abgesehen davon, das schon bei unterschiedlichen Datentypen innerhalb des selben Systems die Performance extrem schwanken kann.

Was machen diese Desktopdatenbanken für einen Sinn ?


Wie gesagt...der Zweck entscheided und auch in nem embedded DBMS können dutzende Tabellen sein. Bei ner einzelnen Tabelle würd es aber in der Tat nicht wirklich ausgenutzt es sei den, es kommen annehmlichkeiten und Möglichkeiten bei Suchen u.ä. hinzu.
Johannes

Christian
Lazarusforum e. V.
Beiträge: 6092
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

knight, in welcher tb ?
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 4257
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Niederösterreich
Kontaktdaten:

Beitrag von af0815 »

knight hat geschrieben:Kennst du die Artikel von Michael VC in der Toolbox? Dort ist Michael auch auf die Performance eingegangen.


Kannst du mir den Artikel vielleicht zukommen lassen. THX
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

knight
Beiträge: 806
Registriert: Mi 13. Sep 2006, 22:30

Beitrag von knight »

knight, in welcher tb ?

Ich habe grad noch mal nachgeschaut. Die Reihe ging von Ausgabe 06/2005 bis 05/2006.
Kannst du mir den Artikel vielleicht zukommen lassen. THX


Da der Artikel dem Urheberrecht unterliegt leider nein. Ich würde an deiner Stelle mal Michael van Canneyt (er ist der Autor) ansprechen, ob er eine Ausnahme machen kann.

knight

Bora4d
Beiträge: 290
Registriert: Mo 24. Dez 2007, 13:14
OS, Lazarus, FPC: WinXP-Pro-Sp3, Xubuntu 12.04, (Laz 1.1-SVN Mai2012, FPC 2.6.1 / 2.6.0-Linux)
CPU-Target: AMD64X2

Firebird_1.5 vs. Sqlite_3

Beitrag von Bora4d »

Ich habe einmal SQLite3 mit Firebird1.5-embedded verglichen.
Ich habe in mein Programm Firebird1.5 benutzt. Die DB war 5MB groß, ca. 10 Tabellen und ca. 40.000 Datensätze in allen Tabellen zusammen.
SqLite war bei einfachen Abfragen aus einer Tabelle geringfügüg schnell in ms -Bereich, wobei Ergebnistabelle groß war ca. 2600 Datensätze:
Bei verketteten Abfragen (Abfragen aus 2 oder mehr Tabellen) oder Joins war SqLite extrem Langsam 14 Minuten dauerten einige Abfragen oder ich mußte unterbrechen(Affengriff) weil es nach 1.5 Stunden nicht fertig war, bei Firebird1.5 gleichen Abfragen 200ms-1600ms je nach komplexität der Abfrage.
Sqlite ist gut für einfache Datenbanken wie Wörterbuch, Adressen usw.
Firebird ist für alles gut, ich kann jeden diese Datenbank empfehlen, es ist kostenlos mann kann embedded oder db-server benutzen. Ich kann damit alle möglichen abfragen verwenden mit sehr guten Leistung, unterstützt Trigger und selbst definierte Funktionen und dazu wartungsfrei.

Delpi/(Lazarus) + ZeosDBO + Firebird = Perfekt!

Antworten