The_red_one Geschrieben 19. Juli 2004 Teilen Geschrieben 19. Juli 2004 Ich verwende eine Oracle 9i DB. Ich weiss, dass man in ein BLOB max. 4 GB reinkriegt. Was ich nicht weiss, ist, wie gross ein File auf der DB im BLOB im Verhältnis zur Orginalgrösse des Files wird. Wer kann helfen? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
johnhaltonx Geschrieben 19. Juli 2004 Teilen Geschrieben 19. Juli 2004 BLOB = Binary Large Object Er speichert im BLOB-Feld nur soviel wie die Datei hat, allerdings gibt es einen Overhead durch den LOB-Index der automatisch angelegt wird. Wieviel Platz der braucht kann man nicht sagen, das kommt sowohl auf die größe, als auch auf den Typ des BLOB an... Letztendlich hilft nur testen und dann von 100/1000.. hochrechnen auf die zu erwartenden Datenmengen. Btw: die Blobs landen in einer Tabelle, meinst du mit files das Oracle-Datenfile das zu dem Tablespace gehört wo die BLOBs rein sollen ? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
geloescht_JesterDay Geschrieben 19. Juli 2004 Teilen Geschrieben 19. Juli 2004 Was ich nicht weiss, ist, wie gross ein File auf der DB im BLOB im Verhältnis zur Orginalgrösse des Files wird. Ich verstehe das jetzt so, das du meinst die Datei wird in ein BLOB-Format umgewandelt. BLOB ist einfach nur die bezeichnung für einen Feldtyp, der eben eine große Menge an binären Daten aufnehmen kann (Binary Large OBject (s.o.)). Also im Normalfall ist das Verhältniss 1:1 EDIT: Der Typ (binary) hat eher für das Programm welches die Daten schreibt bzw. liest eine entscheidende funktion, da binäre Daten eben andere Zeichen enthalten als Zeichenfelder oder Zahlen. Also die Art wie damit umgegangen werden muss ist eine andere. (Ob es für die DB so einen großen unterschied macht welche Daten sie speichert weiss ich jetzt nich). Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
The_red_one Geschrieben 20. Juli 2004 Autor Teilen Geschrieben 20. Juli 2004 Quote: Btw: die Blobs landen in einer Tabelle, meinst du mit files das Oracle-Datenfile das zu dem Tablespace gehört wo die BLOBs rein sollen ? -> Nö Mir geht es darum, dass ich weiss wie ich tablespace, extents usw. dimensionieren muss um eine sinnvolle Grössenabschätzung durchführen zu können. Meine Frage war in etwa: Wieviel Platz braucht z.B. ein pdf-file mit 2MB auf der DB. Auch ca. 2MB, oder das zehnfache, oder die Hälfte? Hängt vermutlich auch vom Dateityp ab oder? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
johnhaltonx Geschrieben 20. Juli 2004 Teilen Geschrieben 20. Juli 2004 Wie oben schon steht, prinzipell ungefähr 1:1, allerdings legt oracle automatisch einen LOB-Index an, und bei den weiß ich nicht weiviel Platz der braucht, da bleibt eben nix anderes überig als mal 1000 objekte einzufügen und dann nachzuschauen wieviel platz der index braucht, die Dateien ca 1:1. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
mme Geschrieben 20. Juli 2004 Teilen Geschrieben 20. Juli 2004 Ich würde sagen das es bei einem BLOB tatsächlich 1:1 umgewandelt wird. D.h. wenn du ein PDF hast was 2MB groß ist so wird das Ding genauso in die Datenbank geschrieben. Wenn du dieses 2MB große File nun komprimierst auf 0,5MB und dann in die Datenbank schiebst werden dort 0,5MB gespeichert.... Warum sollte das vom Dateityp abhängen? Das würde ja bedeuten, das Oracle die Dateitypen kennen müsste und dann dementsprechend verfahren würde. Und was passiert wenn eine unbekannte Dateiendung kommt? Oracle ist das doch total egal was für eine Datei das ist... Da kommen ein paar nullen und einsen und die werden gespeichert und jenachdem wieviel nullen und einsen kommen dementsprechend Speicher wird belegt.... Natürlich brauchst du dann noch ein kleines bischen mehr abhängig von deinen DB-Parametern, also z.B. wieviel Prozent eines Blockes lässt du für Update frei (pctfree) um das migrieren von Datensätzen zu vermeiden, oder deine Extentgröße usw... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
mme Geschrieben 20. Juli 2004 Teilen Geschrieben 20. Juli 2004 Dieser LOB-Index ist ziemlich klein und unbedeutend... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
The_red_one Geschrieben 20. Juli 2004 Autor Teilen Geschrieben 20. Juli 2004 Ich würde sagen das es bei einem BLOB tatsächlich 1:1 umgewandelt wird. D.h. wenn du ein PDF hast was 2MB groß ist so wird das Ding genauso in die Datenbank geschrieben. Wenn du dieses 2MB große File nun komprimierst auf 0,5MB und dann in die Datenbank schiebst werden dort 0,5MB gespeichert.... OK. Dann rechne ich mal so. Warum sollte das vom Dateityp abhängen? Das würde ja bedeuten, das Oracle die Dateitypen kennen müsste und dann dementsprechend verfahren würde. Und was passiert wenn eine unbekannte Dateiendung kommt? Oracle ist das doch total egal was für eine Datei das ist... Da kommen ein paar nullen und einsen und die werden gespeichert und jenachdem wieviel nullen und einsen kommen dementsprechend Speicher wird belegt.... Ja schon, aber die Datei wird doch erst im Programm irgendwie binär "gemacht". Oder macht das Oracle selbst? .... *denk* Du hast Recht: Dateiformat müsst egal sein. Natürlich brauchst du dann noch ein kleines bischen mehr abhängig von deinen DB-Parametern, also z.B. wieviel Prozent eines Blockes lässt du für Update frei (pctfree) um das migrieren von Datensätzen zu vermeiden, oder deine Extentgröße usw... Das krieg ich gebacken... Danke. Aber grundlegend war mal die Info, wie gross das File als BLOB wird, um weitere Berechnungen zu machen, bzgl. pctfree usw. Na dann Merci an alle, dat hat mir geholfen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.