Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Expertenrunde: BLOBS als externe Dateien oder in der DB? (https://www.delphipraxis.net/104150-expertenrunde-blobs-als-externe-dateien-oder-der-db.html)

alzaimar 28. Nov 2007 09:58

Re: Expertenrunde: BLOBS als externe Dateien oder in der DB?
 
Ich hätte nicht gedacht, das wirklich jemand die Fileserver-Möglichkeit implementiert. Aber deshalb hab ich ja gefragt.

Angesichts der hier geposteten Meinungen muss man sagen: :dp:

Wirklich interessant.

Da es sich um Aufträge handelt könnte man bei einer Fileserver-basierten Lösung die Dateien für ältere und abgeschlossene (bezahlte etc.) Aufträge archivieren und in der Datenbank zusätzlich die Backup-Nummer (DVD-Nr etc.) mit ablegen.

Wenn die Backupproblematik nicht wäre, würde ich die BLOB-Version nehmen, eben weil man weniger Sorgen hat. Angesichts der Größe, die bei mehreren GB liegt, müsste man sich aber etwas ausdenken...

hoika 28. Nov 2007 09:59

Re: Expertenrunde: BLOBS als externe Dateien oder in der DB?
 
Hallo,

ja das stimmt.

Bezüglich Performance hatte übrigens xdancer mal nen Test gemacht
mit einer 2GB-Datei (FB1.5).
Die wurde spürbar langsamer bei vielen Blobs.

Unter Oracle war davon nichts zu spüren
(ohne Partitionierung)


Noch zu der Größe.
Natürlich braucht ein grosse DB sehr viel länger für ein Backup,
als eine kleine, wo die meistens Daten extern vorliegen.
Wenn ein Backup eine Stunde dauert und 2 GB als FBK erzeugt,
die dann noch archiviert werden will,
muss man sich halt was überlegen.

Lösung wäre dann vielleicht ein inkrementelles Backup.


Heiko

hanspeter 28. Nov 2007 10:08

Re: Expertenrunde: BLOBS als externe Dateien oder in der DB?
 
Zitat:

Zitat von alzaimar
Da es sich um Aufträge handelt könnte man bei einer Fileserver-basierten Lösung die Dateien für ältere und abgeschlossene (bezahlte etc.) Aufträge archivieren und in der Datenbank zusätzlich die Backup-Nummer (DVD-Nr etc.) mit ablegen.

Übrigens habe ich gerade mit einer Lösung zu tun, die genau dieses Problem hat.
Hier erfolgt die Speicherung auf einem Fileserver.
Allerdings wird jede gespeicherte Einzeldatei um einen Header ergänzt. Aus diesem kann man die in der Datenbank gespeicherte Zuordnung bei Bedarf regenerieren.


Gruß
Peter

mschaefer 28. Nov 2007 11:57

Re: Expertenrunde: BLOBS als externe Dateien oder in der DB?
 
Moin, moin,

Für die reine Speicherung sehe ich keinen wirklichen Nachteil von Blobs, aber auf einem Fileserver können Files auch einen externen Zugriff haben. Zum Beispiel direktes bearbeiten mittels Batchjobs oder direktes öffnen mit zugeordneten Applikationen.

Grüße // Martin

Jelly 28. Nov 2007 12:11

Re: Expertenrunde: BLOBS als externe Dateien oder in der DB?
 
Ich speichere meine Daten auf einem getrennten Fileserver. Die Dateien werden gezippt, und das ZIP Archiv mit einem Passwort versehen. Schreiben darf jeder in das verzeichnis, lesen auch, aber nicht löschen und nicht ändern. Die ZIP haben eine GUID als Name, so dass über den Namen selbst keine Rückschlüsse gezogen werden können.

Das Zip hat den Vorteil, dass es weniger Platz wegnimmt als ein Blob.

Persönlich bin ich mit der Lösung sehr zufrieden.

QuickAndDirty 28. Nov 2007 12:21

Re: Expertenrunde: BLOBS als externe Dateien oder in der DB?
 
Also ich würde das nicht als Blob speichern. Habe oft Schwierigketen mit zerstörten Blobs gehabt
wo ich die Aulagerungsdatei für die Blobs löschen muste, weil einer Kaputt war. Wenn darauf nicht verzichtet
werden kann würde ich alle Daten als Lange Strings speichern. Ich habe auch die Erfahrung gemacht das Datenbanken
mit Blobfeldern schwer in eine neue Datenbank zu überführen sind.

Jelly 28. Nov 2007 12:23

Re: Expertenrunde: BLOBS als externe Dateien oder in der DB?
 
Zitat:

Zitat von QuickAndDirty
Wenn darauf nicht verzichtet
werden kann würde ich alle Daten als Lange Strings speichern.

Das wäre ehrlich gesagt, das letzte was ich machen würde, weil dafür kein eigener Tablespace benutzt wird. D.h. deine Tabelle bläht sich immens auf.

mkinzler 28. Nov 2007 12:27

Re: Expertenrunde: BLOBS als externe Dateien oder in der DB?
 
Außerdem geht das dann auf die Performance bei Dokumenten bis zu 10MB! wenn das DBMS überhaupt VARCHARs in dieser Größe zulässt.

QuickAndDirty 28. Nov 2007 14:20

Re: Expertenrunde: BLOBS als externe Dateien oder in der DB?
 
Zitat:

Zitat von Jelly
Zitat:

Zitat von QuickAndDirty
Wenn darauf nicht verzichtet
werden kann würde ich alle Daten als Lange Strings speichern.

Das wäre ehrlich gesagt, das letzte was ich machen würde, weil dafür kein eigener Tablespace benutzt wird. D.h. deine Tabelle bläht sich immens auf.

Dafür scheint es dafür halbwegs einheitliche Standards zu geben. Ich mein Datenbanken verschwinden auch mal von jetzt auf gleich. z.B. Paradox.

Jelly 28. Nov 2007 15:33

Re: Expertenrunde: BLOBS als externe Dateien oder in der DB?
 
Zitat:

Zitat von QuickAndDirty
Dafür scheint es dafür halbwegs einheitliche Standards zu geben. Ich mein Datenbanken verschwinden auch mal von jetzt auf gleich. z.B. Paradox.

Diese Aussage verstehe ich nicht.
Welche Standards meinst du?

Natürlich muss das DBMS Blobs gescheit unterstützen! Wir reden ja also nicht von Paradox.


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:57 Uhr.
Seite 2 von 3     12 3      

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