Zum Inhalt springen

Oracle BLOB - Verhältnis zur "Orginalfile-Grösse"


The_red_one

Empfohlene Beiträge

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 ?

Link zu diesem Kommentar
Auf anderen Seiten teilen

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).

Link zu diesem Kommentar
Auf anderen Seiten teilen

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?

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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...

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...