![]() |
Re: Datenbank in Delphi Programm integrieren
Zitat:
|
Re: Datenbank in Delphi Programm integrieren
Hallo,
noch ein Wort zu den Geschwindigkeiten der Datenbanken. Ich habe Advantage, TurboDB, Accuracer, Absolut Database, Embedde-Versionen SQLite und Firebird, auf z.B. 20000 Datensätze einfügen, Filtern und Suchen getestet. Extrem langsam waren SQLite und Firebird, die brauchten circa 50 Sekunden zum Einfügen von 20000 Datensätzen. Die anderen Datenbanken waren circa 100 mal schneller. Beim Filtern war der Unterschied ungefähr Faktor 10-20. Accuracer war die negative Ausnahme, fast so lahm wie Firebird. Mit Advantage habe ich ein Projekt laufen mit 30 Clients. Super stabil und schnell. Läßt sich unter Delphi sehr einfach durch Komponenten einbinden. Am schnellsten waren Absolut Database und Turbodb, wobei Turbodb nochmal in allen Tests schneller war. Bisher das Beste (mit speziellen Funktionen) was ich an Datenbank hatte, nicht billig aber habe ich sofort gekauft. Absolut Database hatte ich vorher, war damit zufrieden, sie erzeugte jedoch bei mir einen Indexfehler, den sich auch der Support nicht erklären konnte, deshalb habe ich das Vertrauen in diese Datenbank verloren, denn auf solche Fehler, kann ich zusätzlich zu meinen, gut verzichten. Olaf |
Re: Datenbank in Delphi Programm integrieren
Ok, hier auch noch meine Testergebnisse:
Testablauf: Diverse Inserts/Selects/Updates/Deletes/Blob-Aktionen/... Code verwendet wo parametrisierte Abfragen bzw. bei Selects die bei Desktop-DB's schnelleren SetRange/ApplyRange-Methoden Vergleich: - ADS Local Server 6.11 (Neue Version sind Lizenzrechtlich Problematisch das Remote Desktop Serverlizenz nötig macht). - Absolute Database 5.18 - TurboDB 5.15 - SQLite 3,61 mit ZEOS 6.6.3 - Accuracter 4.3 bzw. 4.7Pre4 - H2 per JNI angebunden Außen vor: - MySQL Embedded (Lizenzrechtlich Problematisch bzw. sehr Teuer) - MS SQL Everywhere (.NET Framework nötig) - PostgreSQL: Keine Embedded Betrieb möglich - Blackfish SQL: Lizenzkosten bzw. DB-Größe beschränkt. .NET nötig - Firebird: Portierung Quellcode nicht mehr fertig bekommen im Test - NexusDB: Lizenzkosten für unseren Anwendungsfall (Pro Kunde 150$ nötig da weiterverteilung von Exe mit DB) - ElevateDB: Höherer Portierungsaufwand da etwas andere Logik bei Verwendung parametrisierter Abfragen. Portierung abgebrochen. Ergebnis: ADS: Im allgemeinen sehr schnell und stabil, jedoch aufgrund fehlender Unicode-Unterstützung Problematisch (UTF8-Codierung + Nachfilterung nötig -> Performance) sowie teilweise bei Like-Abfragen langsam AbsoluteDB: Bugs in Like-Abfragen mit Unicode (Fehlerhafte Ergebnismenge), Updates sehr langsam TurboDB: Performanceprobleme bei komplexen Abfragen über mehrer Tabellen mit JOINS. Einige ältere Versionen hatten fehlerhafte Behandlung von JOINS (Falsche Ergebnismenge). SQLite: Performanceproblem bei Update's und Delets Accuracer: Fehlerhaftes Handling von Parametrisierten Abfragen. Auch mit nachgelieferten Betaversionen nicht gelöst. H2: In weiten teilen (trotz JNI + Java) sehr schnell. In eigenen Testszenarien konnte von der Performance nur ADS Local Server mithalten. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:19 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz