AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Algorithmen, Datenstrukturen und Klassendesign Delphi Lokale Archivierung, chronologisch geordnet. Welches DBMS brauche ich?
Thema durchsuchen
Ansicht
Themen-Optionen

Lokale Archivierung, chronologisch geordnet. Welches DBMS brauche ich?

Ein Thema von Der schöne Günther · begonnen am 3. Sep 2013 · letzter Beitrag vom 4. Sep 2013
Antwort Antwort
Seite 1 von 2  1 2      
hstreicher

Registriert seit: 21. Nov 2009
223 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

AW: Lokale Archivierung, chronologisch geordnet. Welches DBMS brauche ich?

  Alt 3. Sep 2013, 14:56
Zum Punkt Backup:

Bei DB-Applikationen, die von wenig versierten Anwendern oder gar Daus bedient werden sollen, baue ich immer eine automatische DB-Sicherung ein: Wahlweise in den Optionen einstellbar gleich nach dem Programmstart oder bei Programmende auszuführen. Beim Einsatz einer Firebird-DB gestaltet sich das im Falle einer Single-User-App besonders einfach: Vor dem DB-Connect bzw. nach dem Disconnect wird einfach die DB-Datei an einen frei wählbaren Ort kopiert. Bei Multi-User-Apps muß man selbstverständlich ein "richtiges" Backup durchführen, da man eine geöffnete DB nicht kopieren sollte.
Autsch ,
das würde ich mir sofort abgewöhnen, Firebird (wahrscheinliche alle Transactionsorientierten DB's) führt nach dem Disconnect noch einiges an Housekeeping durch (Garbage collection, sweep u.s.w) da kann man sich mit einem Filecopy eine Datenbank kopiern die zwischen 2 Zuständen hängt und unbrauchbar ist , besonders die erste DB Page , also vorne in der Datei dürfte mit Ihren Pointern, Transactioncountern wohl erst am Schluss upgedated werden.
Immer schön gbak oder die Sicherung über die API oder Komponenten ausführen.
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.212 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: Lokale Archivierung, chronologisch geordnet. Welches DBMS brauche ich?

  Alt 3. Sep 2013, 15:19
Ich kenne Firebird jetzt nicht. Müsste man die Befürchtung auch haben, wenn die ganze Datenbank in die Anwendung eingebettet ist (wie bsp. SQLite oder auch mit Advantage möglich)? Eigentlich nicht, oder?
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

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

AW: Lokale Archivierung, chronologisch geordnet. Welches DBMS brauche ich?

  Alt 3. Sep 2013, 15:29
Wie sieht denn die eigentliche Anwendung aus?
Hast du einen PC/Arbeitsplatz, der die Daten an die Datenbank liefert oder läuft das im "Multiuserbetrieb". Ist letzteres der Fall, benötigst Du eigentlich einen eigenständigen Server, sprich mitembedded ist Essig.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.212 Beiträge
 
Delphi 10 Seattle Enterprise
 
#4

AW: Lokale Archivierung, chronologisch geordnet. Welches DBMS brauche ich?

  Alt 3. Sep 2013, 15:36
Nein, kein Multi-User-Betrieb. Nur ein lokales Datengrab. Die Daten liegen dort, die Daten schaut man sich dort an (falls überhaupt).

Auf lange Sicht wird garantiert die Anforderung kommen, die Daten nicht nur auf der lokalen Maschine, sondern auch anderswo anzeigen zu können. Das ginge aber erstens auch mit einem "veralteten" (sprich: duplizierten) Datensatz und zweitens lässt das auch die Lizenz des momentan favorisierten Advantage DBS einen Zugriff von außen nicht zu. Deshalb: Reiner Single-User-Betrieb.
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.758 Beiträge
 
Delphi 12 Athens
 
#5

AW: Lokale Archivierung, chronologisch geordnet. Welches DBMS brauche ich?

  Alt 3. Sep 2013, 15:57
Um mal wieder etwas Seitenwind einzubringen: Man kann das auch mit Delphi-Bordmitteln und TClientDataSet erledigen. Wenn die jährliche Datenmenge einigermaßen im Rahmen bleibt, kann man für jedes Jahr eine eigene Datendatei anlegen. Das macht zwar die Selektion geringfügig aufwändiger, weil man erst den Dateinamen anhand des Jahres bestimmen muss, aber das Sichern und insbesondere auch das Löschen alter Daten (jahresweise) gestaltet sich als wesentlich einfacher. Unschön wird es allerdings, wenn man über mehrere Jahre selektieren will - dafür müsste man die Daten lokal zusammenhängen. Dafür ist es aber auch eine Butterbrot-Lösung, die zu dem noch ohne externe DLLs (MidasLib einbinden) oder Fremdkomponenten auskommt.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.358 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Lokale Archivierung, chronologisch geordnet. Welches DBMS brauche ich?

  Alt 3. Sep 2013, 16:25
Ich kenne Firebird jetzt nicht. Müsste man die Befürchtung auch haben, wenn die ganze Datenbank in die Anwendung eingebettet ist (wie bsp. SQLite oder auch mit Advantage möglich)? Eigentlich nicht, oder?
Kannst Du das nochmal anders fragen?

Die Datenbank liegt irgendwo (MyData.fdb) und entweder ist auf dem System ein Datenbankserver installiert oder Du legts ein paar DLL´s zur Exe. Direkt Eingebettet ist die Datenbank dabei nicht in Dein Projekt. Es geht nur darum, dass auf Deinem System kein ("globaler") FirebirdServer installiert sein muss.

Hast Du eigentlich schon mit SQL-Statements gearbeitet?
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.212 Beiträge
 
Delphi 10 Seattle Enterprise
 
#7

AW: Lokale Archivierung, chronologisch geordnet. Welches DBMS brauche ich?

  Alt 3. Sep 2013, 16:53
Kannst Du das nochmal anders fragen?
Ich meinte nur: Wenn auf meinem System kein autark laufender Server installiert ist. Sondern sowohl Client- als auch Server-Funktionalität direkt als dll im Anwendungsverzeichnis vorliegen. Muss ich mich dann auch vor irgendeinem "Housekeeping" im Hintergrund hüten?

Hast Du eigentlich schon mit SQL-Statements gearbeitet?
Ist "SQL-Statement" jetzt ein ganz spezieller Begriff?
Die Theorie zu relationalen DBMS habe ich wohl verinnerlicht, und von den DML und DDL-Kommandos die ihr Profis jeden Tag absetzt kenne (und nutze) ich wahrscheinlich 15%. Mir fehlt einfach nur die Kenntnis von konkreten Produkten und regelmäßiger Alltagseinsatz abseits von SQLite.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.880 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: Lokale Archivierung, chronologisch geordnet. Welches DBMS brauche ich?

  Alt 3. Sep 2013, 16:59
Zitat:
Ich meinte nur: Wenn auf meinem System kein autark laufender Server installiert ist. Sondern sowohl Client- als auch Server-Funktionalität direkt als dll im Anwendungsverzeichnis vorliegen. Muss ich mich dann auch vor irgendeinem "Housekeeping" im Hintergrund hüten?
Dann kann man davon Ausgehen, dass der Server in der Dll ( im Falle von FB embedded) das "housekeeping" erledigt, wenn er vom Hauptprogramm entladen wird; über SQlite kann ich wenig sagen.
Aber was spricht dagegen, trotzdem anstatt der Kopie der Datei die Bordmittel zum geordneten Backkup zu verwenden ( Housekeeping++)?
Zitat:
Ist "SQL-Statement" jetzt ein ganz spezieller Begriff?
Darunter versteht man eine Abfrage ( DDL DML).
Markus Kinzler
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.212 Beiträge
 
Delphi 10 Seattle Enterprise
 
#9

AW: Lokale Archivierung, chronologisch geordnet. Welches DBMS brauche ich?

  Alt 3. Sep 2013, 17:13
Darunter versteht man eine Abfrage ( DDL DML).
Also dann wohl doch nur die Frage, ob ich überhaupt eine grobe Vorstellung von dem habe, was ich tue. Ich glaube ja


Und schon sind wir auf der vierten Seite. Dann vielen Dank, ich denke, meine Entscheidung dann auch gefällt zu haben.

An DB-Funktionalität brauche ich nur
  1. Benutzer/Rechte-Einstellungen, Parameterbelegungen für externe Dinge ... Einstellungen halt. Wenige Kilobyte.
  2. Ein Langzeit-Datengrab, "Append"-Modus. Nach kurzem Durchrechnen sollte das ein halbes Dutzend GB pro Jahr nicht überschreiten. Single-User-Betrieb.

Für 1) setze ich seit Wochen (Monaten?) SQLite ein und bin höchst zufrieden.

Für Punkt 2) glaube ich nun, mit der Advantage Local DB auf dem richtigen Pfad zu sein. Die wird im aktuellen Projekt auch schon seit vielen Jahren genau dafür benutzt. Ich freue mich über dank des ISAM-Zugriffs über eine sehr hohe Performance, die unkomplizierte Einbindung und Deployment und für XE4 verfügbaren Delphi-Komponenten.

Ich glaube, davon kann mich nun keiner mehr abbringen
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.358 Beiträge
 
Delphi 11 Alexandria
 
#10

AW: Lokale Archivierung, chronologisch geordnet. Welches DBMS brauche ich?

  Alt 3. Sep 2013, 17:42
... will sicher auch keiner
Im Grunde kannst Du für die Anforderung wohl irgendeine Datenbank benutzen (mit der Du halt gut klar kommst).

Ich hatte wegen SQL gefragt, weil Du von Lücken oder falschen Reihenfolgen (oder so) bei gelöschten Datensätzen geschrieben hattest.
Bei SQL-Abfragen ist das ja aber eigentlich unerheblich, da die Reihenfolge und Filterung ja von der Abfrage bestimmt wird (anders als wenn Du eine TTable an eine Datenbanktabelle hängen würdest - wie vielleicht früher mit der BDE).
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  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 15:03 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