Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi 2 DBs mit Firebird (auch embedded) (https://www.delphipraxis.net/48075-2-dbs-mit-firebird-auch-embedded.html)

Hansa 20. Jun 2005 13:14

Datenbank: FB 1.5 • Zugriff über: blubb

2 DBs mit Firebird (auch embedded)
 
Hi,

ich habe hier eine Tabelle, die ist viel größer geworden, als erwartet. Aber sie ist nicht sehr wichtig. Um die Datensicherung nicht unnötig zu erschweren, habe ich überlegt statt einer Tabelle eine zweite DB zu nehmen, die eben nicht so oft gesichert werden muß. Was spricht gegen dieses Vorhaben, bzw. dafür ? Die größten Bedenken habe ich allerdings mit dem embedded Server. Kann der 2 DBs auf einmal überhaupt verwalten ? Leider kann ich es jetzt hier nicht selber testen.

MagicAndre1981 20. Jun 2005 13:34

Re: 2 DBs mit Firebird (auch embedded)
 
Zitat:

Zitat von Hansa
Hi,

ich habe hier eine Tabelle, die ist viel größer geworden, als erwartet. Aber sie ist nicht sehr wichtig. Um die Datensicherung nicht unnötig zu erschweren, habe ich überlegt statt einer Tabelle eine zweite DB zu nehmen, die eben nicht so oft gesichert werden muß. Was spricht gegen dieses Vorhaben, bzw. dafür ? Die größten Bedenken habe ich allerdings mit dem embedded Server. Kann der 2 DBs auf einmal überhaupt verwalten ? Leider kann ich es jetzt hier nicht selber testen.

Ich hab das auch schon so gemacht, um nicht jedesmal die gesamte DB von fast 1 GB sichern zu müssen. Deshalb hab ich die Blobs in extra DBs geschreiben und in der StammDB nur den DateiNamen angegeben und die eindeutige ID, die zu jedem Bild gehört.

Wenn das Bild angezeigt werden soll, hab ich den Namen der DB aus ausgelesen, eine Verbindung zu der Datei geöffnet und das Bild gelesen. Das funzzt super.

Das BackUp-Programm schaut dann nach, ob in der HauptDB neue Verweise auf die Bilder drin sind, wenn ja, werden die DBs gesichert. So hällt sich der Sicherungsaufwand in Grenzen.

Es gibt noch die Möglichkeit beim CREATE DATABASE anzugeben, dass eine neue DB ab einer bestimmten Größe angelegt wird. Du nutzt weiter die HauptDB und die restlichen sind für dein Programm unsichtbar. Aber da musst du alle Teil-DBs sichern.

Hansa 20. Jun 2005 13:52

Re: 2 DBs mit Firebird (auch embedded)
 
Na dann bin ich wenigstens nicht der einzige, der es so macht. Bilder speichere ich auch nicht direkt in der DB. Es ist ja wohl Unfug, dauernd etwas mühselig zu sichern, obwohl es sich nur selten ändert.8)

Aber die Frage mit dem embedded Server bleibt ! Der DB muß es egal sein, ob der embedded Server aktiv ist, oder der richtige ! Das Programm muß auf beiden Versionen ohne User-Eingriffe laufen ! Sollte das Probleme machen, dann muß ich auf Textdateien und eigenem Ordner ausweichen. DB wäre aber wohl besser.

P.S.: mit den 2 DBs, das läuft bereits. Das war nicht viel.

MagicAndre1981 20. Jun 2005 13:56

Re: 2 DBs mit Firebird (auch embedded)
 
Zitat:

Zitat von Hansa
Na dann bin ich wenigstens nicht der einzige, der es so macht. Bilder speichere ich auch nicht direkt in der DB. Es ist ja wohl Unfug, dauernd etwas mühselig zu sichern, obwohl es sich nur selten ändert.8)

Ich musste das mit den BLOBS so machen, war Befehl von Cheffe.

Zitat:

Zitat von Hansa
Aber die Frage mit dem embedded Server bleibt ! Der DB muß es egal sein, ob der embedded Server aktiv ist, oder der richtige ! Das Programm muß auf beiden Versionen ohne User-Eingriffe laufen ! Sollte das Probleme machen, dann muß ich auf Textdateien und eigenem Ordner ausweichen. DB wäre aber wohl besser.

Was meinst du mit "User-Eingriffen"?

Marcel Gascoyne 20. Jun 2005 13:58

Re: 2 DBs mit Firebird (auch embedded)
 
Zitat:

Zitat von Hansa
Hi,

ich habe hier eine Tabelle, die ist viel größer geworden, als erwartet.

Wenn es sich nicht um BLOB- oder Arrayfelder in der Tabelle handelt schau Dir mal die Syntax zu CREATE TABLE an, dort gibt es eine Option EXTERNAL FILE um die Daten in einer externen Datei abzulegen.

Gruß,
Marcel

Hansa 20. Jun 2005 14:09

Re: 2 DBs mit Firebird (auch embedded)
 
Wenn ich eine CD schicke, dann muß die laufen, auch sofern nur der embedded auf der Kiste ist. Wenn der es mit 2 DBs in einem Programm nicht packt, dann gehts so nicht.

Ah, der "rote Kasten" hat zugeschlagen. :mrgreen: External File bringt mir nichts. Es geht um Texte. Sagen wir um eine Art Logbuch und das wird von meinem Programm geführt. Das Ding muß nun aber nicht jeden Tag gesichert werden, sondern 1mal die Woche/Monat. Wie gesagt : Alternative wäre pro Tag eine Textdatei, die mitgesichert wird. Da kommt aber jeder dran, der das Wort Editor kann. 8) Außerdem wäre dann nicht alles beisammen im Fall der Fälle.

Und solange das mit dem embedded nicht klar ist, bringt die Frage, ob eventuell Blobs dafür benutzt werden sollen auch nichts. Momentan habe ich jede Zeile in eigenem Record (ID,User,Zeileninhalt sonst nichts). Die DB hat auch nur diese eine Table. Deshalb noch die Nebenfrage : soll ich das so lassen, oder sind Blobs besser ?

WoGe 20. Jun 2005 14:24

Re: 2 DBs mit Firebird (auch embedded)
 
Zitat:

Hansa hat folgendes geschrieben:

Bilder speichere ich auch nicht direkt in der DB. Es ist ja wohl Unfug, dauernd etwas mühselig zu sichern, obwohl es sich nur selten ändert.
Warum denn nicht. Ich habe eine DB am laufen die in ca. 26GB an die 30.000 Records hat. Der Trick ist du musst inkrementell sichern. Also am besten sogar bevor du die Blobs befüllst.

mfg
wo

Hansa 20. Jun 2005 19:35

Re: 2 DBs mit Firebird (auch embedded)
 
Zitat:

Zitat von WoGe
...Warum denn nicht. Ich habe eine DB am laufen die in ca. 26GB an die 30.000 Records hat. Der Trick ist du musst inkrementell sichern. Also am besten sogar bevor du die Blobs befüllt.

:shock: Also diesen Trick müßtest Du mir mal näher erläutern. Und dann auch noch wie gesichert wird (hardwaremäßig). Mit der Frage an sich hat das allerdings jetzt wenig zu tun.

WoGe 20. Jun 2005 20:12

Re: 2 DBs mit Firebird (auch embedded)
 
Zitat:

Hansa hat folgendes geschrieben:
Also diesen Trick müßtest Du mir mal näher erläutern. Und dann auch noch wie gesichert wird (hardwaremäßig).
Die Datenbank läuft auf einem Hardware Raid5 Array in 500.000 Pages Häppchen (ca 4GB)
Damit ist die Datenbank selbst relativ sicher und die Einzelnen DB-Files kann man auf DVD brennen.
Ist aber garnicht nötig, weil ich die einzulagendern Files ja kenne und über Sha-Hash auch eindeutig identifizieren
kann. Wenn die Files gegen die Datenbank verifiziert sind packe ich sie mit rar in 100MB Files für die ich dann noch
10 % par Files erstelle. Dies brenne ich dann auf DVD.

Das halte ich für betriebssicher und der Aufwand hält sich auch in Grenzen. Für die Vervollstädigung der Sicherung müssen aus der Tabelle nur noch die Felder ohne Blob gesichert werden. (ca 20MB ungepackt)

Zitat:

Hansa hat folgendes geschrieben:
Mit der Frage an sich hat das allerdings jetzt wenig zu tun.
Das ist natürlich richtig, ich weiss aber nicht wie ich dir sonst antworten sollte

mfg
wo

Hansa 23. Jun 2005 12:25

Re: 2 DBs mit Firebird (auch embedded)
 
So, habe jetzt ein Statement aus USA. Da heißt es, der Haken wäre eine "query" über 2 DBs. Das würde nicht gehen, aber wie es aussieht komme ich an einem Test nicht vorbei. Ist keiner da, der definitiv nur FB embedded auf dem Rechner hat um das zu testen ? :mrgreen: Ansonsten komme ich nicht drumrum einen Rechner komplett platt zu machen. 8)


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:52 Uhr.
Seite 1 von 2  1 2      

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