AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Alternative zu "ausgewachsener" Datenbank - Noch sinnvoll?
Thema durchsuchen
Ansicht
Themen-Optionen

Alternative zu "ausgewachsener" Datenbank - Noch sinnvoll?

Ein Thema von Mithrandir · begonnen am 17. Jun 2009 · letzter Beitrag vom 17. Jun 2009
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Mithrandir
Mithrandir
(CodeLib-Manager)

Registriert seit: 27. Nov 2008
Ort: Delmenhorst
2.379 Beiträge
 
#1

Alternative zu "ausgewachsener" Datenbank - Noch s

  Alt 17. Jun 2009, 12:43
Datenbank: Firebird • Version: 2.1 • Zugriff über: ZEOS
Jut,

der Threadtitel ist etwas kryptisch. Es geht sich um folgendes:

Ich habe hier einen kleine Wetterapplikation, die sich in die TNA einnistet. Um dem User das Leben einfacher zu machen, habe ich eine Liste mit ~7000 Flughäfen, die METAR-Wetterdaten senden. Zu dieser Liste gehören Infos über den Standort, den Namen, das Land und die Koordinaten. Außerdem habe ich noch eine Liste aller Postleitzahlen Deutschlands (mit Koordinaten und Städten), um dem User das finden der nächst näheren METAR-Station zu vereinfachen.

Eventuell sollen die Wetterdaten zwecks Archivierung auch gespeichert werden.

Nun habe ich mich für eine Datenbank entschieden, Firebird embedded. Zum Zugriff nutze ich ZEOS. Allerdings wird dadurch der eigentliche Download und das Programm riesig. Mal eine Auflistung
  • Exe: 1,8 MB
  • Alle FB-Dlls: 5 MB
  • SQL-Dump zum erstellen der Datenbank am jew. Speicherort: 2,2 MB

Das macht knapp 10 MB für ein Programm, dass nur das aktuelle Wetter anzeigen soll. Ein bisschen viel, wie ich finde. Zumal die Anwendung im RAM knapp 7 MB belegt. Klar, heutzutage ist Speicherplatz billig, aber dennoch: Für mein Verständnis ist das etwas viel.

Mir fallen zur Lösung des "Problems" mehrere Dinge ein:
  • Verzicht auf Firebird & SQL und Daten innerhalb der EXE speichern (Wie?)
  • Umstieg auf kleinere SQL-Datenbank (kostenfrei, welche?)
  • Umstieg auf XML-Datenbank (uff, Performance?)

Gibts einen vernünftigen Kompromiss, den man eingehen könnte, oder soll ich lieber den Status Quo beibehalten?

Gruß,
Daniel
米斯蘭迪爾
"In einer Zeit universellen Betruges wird das Aussprechen der Wahrheit zu einem revolutionären Akt." -- 1984, George Orwell
  Mit Zitat antworten Zitat
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.920 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Alternative zu "ausgewachsener" Datenbank - No

  Alt 17. Jun 2009, 12:47
Die 7.000 Stationen werden sich ja nicht so häufig ändern. Im Wesentlichen wird's doch eine Liste sein, die Du erstellst und dann auslieferst. Da würde ich, wenn es klein und schnell sein soll, auf typisierte Dateien zurückgreifen. Das ist ratz-fatz gelesen und bei Bedarf sogar wieder geschrieben.

Bleibt die Frage, wie viele Wetterdaten Deine Anwender archivieren sollen und wie oft und wie schnell sie auf das Archiv zugreifen sollen. Ich würde es mal mit XML versuchen, wenn davon auszugehen ist, dass im normalen Anwendungsfall die Datenmenge überschaubar bleibt.
Daniel R. Wolf
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat
mquadrat

Registriert seit: 13. Feb 2004
1.113 Beiträge
 
Delphi XE2 Professional
 
#3

Re: Alternative zu "ausgewachsener" Datenbank - No

  Alt 17. Jun 2009, 12:53
Die 2,2 MB für den Dump wirst du nicht loswerden. FB Dumps sind ja schon komprimiert und wenn du die gleiche Menge an Daten zur Verfügung stellen willst, dann kannst du an der Stelle nichts loswerden.

Alternative wäre die Daten per WebService jeweils aus dem Web zu holen. Dann würden nur noch die 1,8 MB für deine Anwendung bleiben. Der Datenbestand sowie das DBMS würden dann ja auf dem Webserver liegen.

Wenn du kein DBMS nutzen möchtest, kannst du auch die Save/Load Funktionen des Datasets nutzen. Die produzieren bzw. konsumieren XML Files, wenn ich nicht irre.
  Mit Zitat antworten Zitat
Benutzerbild von Mithrandir
Mithrandir
(CodeLib-Manager)

Registriert seit: 27. Nov 2008
Ort: Delmenhorst
2.379 Beiträge
 
#4

Re: Alternative zu "ausgewachsener" Datenbank - No

  Alt 17. Jun 2009, 12:56
@Daniel:

ja, die Stationen ändern sich gar nicht. Typisierte Dateien klingt nach einer alternative.

Was das Archivieren angeht... Nun ja, wenns wirklich implmentiert wird, dann gibt es 4 Speicherpunkte am Tag.

@mquadrat:

Zitat:
FB Dumps sind ja schon komprimiert
Nö, das ist eine Plaintext-Datei, extrahiert von IBExpert...

Zitat:
Alternative wäre die Daten per WebService jeweils aus dem Web zu holen.
Die Idee hatte ich auch. Aber irgendwie sträube ich mich noch, dafür eine Schnittstelle bereitzustellen.

Zitat:
Wenn du kein DBMS nutzen möchtest, kannst du auch die Save/Load Funktionen des Datasets nutzen. Die produzieren bzw. konsumieren XML Files, wenn ich nicht irre.
Hm, ja, irgendwas war da mal...
米斯蘭迪爾
"In einer Zeit universellen Betruges wird das Aussprechen der Wahrheit zu einem revolutionären Akt." -- 1984, George Orwell
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.648 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: Alternative zu "ausgewachsener" Datenbank - No

  Alt 17. Jun 2009, 12:58
Du könntest auch SQLite oder ähnliches benutzen, die DLL ist relativ klein (300 KiB oder so).
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Benutzerbild von Mithrandir
Mithrandir
(CodeLib-Manager)

Registriert seit: 27. Nov 2008
Ort: Delmenhorst
2.379 Beiträge
 
#6

Re: Alternative zu "ausgewachsener" Datenbank - No

  Alt 17. Jun 2009, 13:00
Aber dennoch brauch ich ja noch ZEOS zum Zugriff, oder? Pumpt immerhin 1 MB in meine Exe...
米斯蘭迪爾
"In einer Zeit universellen Betruges wird das Aussprechen der Wahrheit zu einem revolutionären Akt." -- 1984, George Orwell
  Mit Zitat antworten Zitat
mquadrat

Registriert seit: 13. Feb 2004
1.113 Beiträge
 
Delphi XE2 Professional
 
#7

Re: Alternative zu "ausgewachsener" Datenbank - No

  Alt 17. Jun 2009, 13:01
Zitat von Daniel G:
[...]
Nö, das ist eine Plaintext-Datei, extrahiert von IBExpert...
[...]
Die Idee hatte ich auch. Aber irgendwie sträube ich mich noch, dafür eine Schnittstelle bereitzustellen.
Sorry, meinte Backup statt Dump

Also die konsumierende Schnittstelle ist einfach, da gibt es ja nen Wizard zu.
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.648 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: Alternative zu "ausgewachsener" Datenbank - No

  Alt 17. Jun 2009, 13:01
Bei SQLite brauchst du gar nix weiter. Nur die Datendatei und natürlich die Schnittstellenunit.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Benutzerbild von Mithrandir
Mithrandir
(CodeLib-Manager)

Registriert seit: 27. Nov 2008
Ort: Delmenhorst
2.379 Beiträge
 
#9

Re: Alternative zu "ausgewachsener" Datenbank - No

  Alt 17. Jun 2009, 13:08
Dit wiederum klingt nach einer vernünftigen Alternative, um die vorzüge einer SQL-Datenbank nicht aufgeben zu müssen (gerade in Bezug auf Umkreissuche, etc.)... Ich guck mir SQLite mal genauer an, danke.
米斯蘭迪爾
"In einer Zeit universellen Betruges wird das Aussprechen der Wahrheit zu einem revolutionären Akt." -- 1984, George Orwell
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#10

Re: Alternative zu "ausgewachsener" Datenbank - No

  Alt 17. Jun 2009, 13:46
und was die 7000 Flughäfen + Zusatzdaten angeht ... selbst als XML sollte das, mit 'ner halbwegs schnellen Lib, innerhalb von vielleicht nur maximal 'ner halben Sekunde geladen sein.
$2B or not $2B
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 20:24 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