Suchen

Definition Was ist ein Binary Large Object (BLOB)?

| Autor / Redakteur: Dipl.-Ing. (FH) Stefan Luber / Jürgen Ehneß

Bei einem Binary Large Object handelt es sich um ein großes binäres Datenobjekt. Datenbanken speichern und verarbeiten BLOBs auf besondere Art. Es kommen spezielle BLOB-Datentypen zum Einsatz. Typische Binary Large Objects sind Multimediadateien wie Video-, Bild- oder Audiodateien.

Firmen zum Thema

Die wichtigsten IT-Fachbegriffe verständlich erklärt.
Die wichtigsten IT-Fachbegriffe verständlich erklärt.
(Bild: © aga7ta - Fotolia)

Die übliche Abkürzung für „Binary Large Object“ lautet BLOB. Es handelt sich um große binäre Datenobjekte, die in relationalen oder nicht-relationalen Datenbanken gespeichert oder verarbeitet werden. Typische BLOBs sind Multimediadateien wie Video-, Bild- oder Audiodateien. Die innere Struktur dieser Daten ist für die Datenbanken nicht erfassbar oder lesbar, weshalb ein besonderer Umgang mit den Objekten notwendig ist.

Zudem macht die Größe der Datenobjekte, die im Extremfall viele Gigabyte betragen kann, spezielle Speicher- und Verarbeitungsmethoden notwendig. Nicht alle Datenbanksysteme unterstützen die Speicherung von BLOBs. Werden Binary Large Objects unterstützt, erfolgt die Ablage auf unterschiedliche Art. Einige Datenbanken speichern die Daten in den normalen Datenfeldern, andere sehen spezielle ausgelagerte BLOB-Bereiche vor.

Probleme bei der Speicherung und Verarbeitung von Binary Large Objects in Datenbanken

Das Hauptproblem der Speicherung und Verarbeitung von Binary Large Objects in einer Datenbank ist, dass die innere Struktur und der eigentliche Inhalt eines BLOBs für die Prozesse des Datenbankmanagementsystems nicht lesbar sind. BLOBs besitzen zwar eine Datenstruktur, diese kann aber von den Verarbeitungsprozessen nicht ausgewertet werden. Ein Binary Large Object lässt sich daher nur als Ganzes lesen, speichern oder verarbeiten. Datenbankfunktionen wie das Sortieren, Filtern oder Suchen, basierend auf Inhalten des Datenobjekts, sind nicht möglich. Einzige auswertbare Parameter sind der Dateityp, der Dateiname und die Dateigröße. Zeilen- und spaltenorientiert arbeitende Datenbanken können BLOBs oft nicht in den üblichen Datenfeldern der Tabellen ablegen. Viele Datenbankmanagementsysteme speichern im Datenfeld nur einen Verweis auf den eigentlichen Ablageort des BLOBs. Die Auslagerung der Binary Large Objects in gesonderte Daten- und Speicherbereiche verhindert, dass die Größe der Objekte die Performance des Datenbanksystems negativ beeinflusst.

Vor- und Nachteile der Speicherung von Binary Large Objects in Datenbanken

Werden Binary Large Objects in Datenbanken gespeichert, bringt dies einige Vor- und Nachteile mit sich. Als Nachteil lässt sich aufführen, dass die Speicherung und die Verarbeitung der großen binären Datenobjekte in einer Datenbank gegenüber der Ablage in einem normalen Storage hinsichtlich des Ressourcenbedarfs eher ineffizient ist. Wichtigster Vorteil ist, dass die Datenobjekte sauber referenziert und nahezu vollständig in das vorliegende Datenbankschema eingebunden sind. Den Zugriff auf die Objekte durch bestimmte Anwender oder Prozesse steuert das Rechtemanagement des Datenbanksystems. Sicherungen und Dumps einer Datenbank enthalten sämtliche relevanten Daten inklusive der binären Objekte.

Abgrenzung zwischen dem Binary Large Object und dem Character Large Object (CLOB)

Neben den Binary Large Objects existieren sogenannte Character Large Objects, abgekürzt CLOBs. Der wesentliche Unterschied zwischen einem BLOB und einem CLOB ist, dass die Daten bei einem CLOB nicht in binärer Form, sondern in Form von Zeichenketten vorliegen. In einigen Datenbanken existieren Funktionen, um BLOBs in CLOBs und umgekehrt zu verwandeln.

(ID:45908810)

Über den Autor