AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Schnelle Datenbank ohne Server und ohne BDE

Schnelle Datenbank ohne Server und ohne BDE

Ein Thema von Jackie1983 · begonnen am 5. Jan 2012 · letzter Beitrag vom 9. Jan 2012
Antwort Antwort
Seite 1 von 4  1 23     Letzte » 
Jackie1983

Registriert seit: 12. Mär 2007
486 Beiträge
 
#1

Schnelle Datenbank ohne Server und ohne BDE

  Alt 5. Jan 2012, 08:23
Datenbank: ? • Version: ? • Zugriff über: ?
Hallo,

unser Programm hat als log eine formatierte Textdatei verwendet. Jetzt möchten wir das ganze auf eine DB umstellen da das suchen demnächst über eine GUI erfolgen soll. Die Daten müssen also nicht mehr lesbar sein.

Pro Sekunde müssen ca. 2-4 Datensätze gespeichert werden. Es darf kein Server verwendet werden und keine zusätzliche Software.

Mein Test mit xml ergab das das ganze viel zulangsam ist. Fürs laden und speichern über 5 Minuten bei 3MB.

Kennt jemand eventuell noch ein anderes Format?

gruß
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.304 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Schnelle Datenbank ohne Server und ohne BDE

  Alt 5. Jan 2012, 08:28
Auf Anhieb fallen mir da SQLite, FB Embedded und Absolute Database ein.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#3

AW: Schnelle Datenbank ohne Server und ohne BDE

  Alt 5. Jan 2012, 08:36
XML ist ja eher ein Austauschformat (zwischen zwei Datenbanken) Wie wäre es ein "File of myRecord" zu verwenden, wenn Du schon keine "zusätzliche" Software benutzen darfst. Fällt embedded Firebird bzw. Interbase auch unter zusätzlich?

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
16.933 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: Schnelle Datenbank ohne Server und ohne BDE

  Alt 5. Jan 2012, 09:36
Auf Anhieb fallen mir da SQLite ...
Wenn schnell wichtig wäre dann würde ich SQLite nicht empfehlen. Jedenfalls ist diese DB bei meinen Tests mit Zeos vor 2-3 Jahren geschwindigkeitstechnisch stark abgefallen.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.304 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Schnelle Datenbank ohne Server und ohne BDE

  Alt 5. Jan 2012, 09:41
Ich persönlich würde ja auch Firebird bevorzugen, aber bevor man mir Voreingenommenheit vorwerfen kann, nenne ich halt auch Alternativen Mit SQLite habe ich persönlich überhaupt keine Erfahrungen, ABS habe ich nur vor Jahren einmal ausprobiert und bin da schnell auf Probleme gestoßen. Allerdings weiß ich nicht, wie das mittlerweile aussieht.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
CCRDude

Registriert seit: 9. Jun 2011
664 Beiträge
 
FreePascal / Lazarus
 
#6

AW: Schnelle Datenbank ohne Server und ohne BDE

  Alt 5. Jan 2012, 09:49
"XML" ist ein Dateiformat, keine Implementierung, und kann daher an sich gar nicht zu langsam sein. Allerdings kann ich mir schon vorstellen, daß die meisten Implementierungen langsam sind. Aber natürlich ist XML tatsächlich nicht gerade für realtime geeignet, selbst mit schnelleren Implementierungen geht es sicher immer besser, und wenn dann noch die Suchfunktion dazukommt...

Die typisierte Datei ist für ein einfaches Format sicherlich super. Sobald aber Felder in unterschiedlicher Größe vorkommen oder die Datenmengen so groß werden, daß ein Index bei der Suche von Vorteil ist, würde ich auch zu einer Datenbank raten.

SQLite würde mir da auch als erstes einfallen. Und das Argument Geschwindigkeit ist da extrem relativ. Zum einen lernt man mit Datenbanken nie aus, und mindestens 90% der Geschwindigkeitsprobleme, mit denen ich bisher zu kämpfen hatte, lagen an ungünstigen Tabellen, Indizes und Queries und der Platte. Geschwindigkeit bei Dir ist in erster Linie bei INSERTs relevant, bei anderen kann das etwas ganz anderes sein. Das einzige unpraktische an SQLite: wenn Du während des Loggens suchen willst, und die Suche komplex wird (etwa nach Teilstrings, das lässt sich nur schlecht per Index optimieren), läuft das nicht parallel ab, da wäre ein Cache für's Logging notwendig (paralleler Thread mit Pool an zu schreibenden Log-Einträgen, mMn sowieso zu empfehlen, damit das Logging nicht aufhält).
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.804 Beiträge
 
Delphi 10.4 Sydney
 
#7

AW: Schnelle Datenbank ohne Server und ohne BDE

  Alt 5. Jan 2012, 10:14
Voteil von FireBird embedded wäre zudem die zusätzlichen Features des DBMS und die Skalierbarkeit ( ohne Programmänderungen läuft das Programm auch mit der Serverversion)
Markus Kinzler
  Mit Zitat antworten Zitat
generic

Registriert seit: 24. Mär 2004
Ort: bei Hannover
2.386 Beiträge
 
Delphi XE5 Professional
 
#8

AW: Schnelle Datenbank ohne Server und ohne BDE

  Alt 5. Jan 2012, 10:18
Um die Liste der Kollegen hier zu erweitern:
Es gibt auch noch MSSQL Compact Edition.

>Es darf kein Server verwendet werden und keine zusätzliche Software.
Das ist wohl eine Anforderung die *alle* übersehen haben.
Für die die meisten genannten Produkte wird du zumindest die Engine (Treiber-Dlls etc.) nutzen müssen.

Mit Delphi Bordmitteln würde mir nur die Client-Datasets einfallen bzw. via ADO Client-Datasets erstellen.
Coding BOTT - Video Tutorials rund um das Programmieren - https://www.youtube.com/channel/UCUG...aXLclwO9qA-lzA
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.304 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: Schnelle Datenbank ohne Server und ohne BDE

  Alt 5. Jan 2012, 10:20
Ich denke nicht, dass wir das übersehen haben. Allerdings ist der Begriff "zusätzliche Software" nur unzureichend definiert. Sind schon DLLs gemeint, oder geht es um Installation zusätzlicher Programme/Dienste, wie sie für einen DB-Server notwendig wären?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.804 Beiträge
 
Delphi 10.4 Sydney
 
#10

AW: Schnelle Datenbank ohne Server und ohne BDE

  Alt 5. Jan 2012, 10:21
Bei SQLite und Firebird embedded muss keine weitere Software installiert sein, es handelt sich ja nur um Dlls, die man auch ins Programmverzeichnis ablegen kann.
Zudem gibt es Lösungen, welche die Dll in die Exe einlagern.
Markus Kinzler
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 13:34 Uhr.
Powered by vBulletin® Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf