web-dev-qa-db-de.com

Was ist es genau ein BLOB in einem DBMS-Kontext

  • Was ist ein BLOB?
  • Wie kann ich es benutzen?
  • Was sind die Unterschiede zwischen den BLOBs von DBMS? Ich möchte Daten mit BLOBs in einem beliebigen DBMS speichern und dann dieses BLOB mit einer Bibliothek lesen.
51
cMinor

BLOB: 

BLOB (Binary Large Object) ist ein großer Objektdatentyp im Datenbanksystem. BLOB könnte eine große Anzahl von Daten, Dokumenttypen und sogar Mediendateien wie Audio- oder Videodateien speichern. BLOB-Felder reservieren nur dann Speicherplatz, wenn der Inhalt des Felds verwendet wird. BLOB weist Leerzeichen in Gigabytes zu. 

VERWENDUNG VON BLOB: 

Je nach Feldtyp Ihrer Datenquelle können Sie ein binäres großes Objekt (BLOB) entweder als Binär- oder Zeichendaten in eine Datenbank schreiben. Um einen BLOB-Wert in Ihre Datenbank zu schreiben, geben Sie die entsprechende INSERT or UPDATE-Anweisung aus und übergeben Sie den BLOB-Wert als Eingabeparameter. Wenn Ihre BLOB als Text gespeichert ist, z. B. als SQL Server-Textfeld, können Sie die BLOB als String-Parameter übergeben. Wenn die Variable BLOB im Binärformat gespeichert ist, beispielsweise in einem SQL Server-Image-Feld, können Sie ein Array vom Typ Byte als binären Parameter übergeben. 

Ein nützlicher Link: Speichern von Dokumenten als BLOB in der Datenbank - Nachteile?

60
sgokhales

Ich werde das Akronym nicht noch einmal erweitern ... aber ich werde der anderen Definition etwas Nuance hinzufügen: Sie können alle Daten in einem Blob speichern, unabhängig von den anderen Byte-Interpretationen, die sie haben. Text kann in einem Blob gespeichert werden, aber mit einem CLOB wäre es besser, wenn Sie diese Option haben.

Es sollte keine Unterschiede zwischen BLOBS über Datenbanken hinweg geben, in dem Sinne, dass, nachdem Sie die Daten gespeichert und abgerufen haben, diese unverändert bleiben. Die Art und Weise der Interaktion mit BLOBS kann jedoch sehr unterschiedlich sein, da es in SQL-Standards (oder Standards in den Spezifikationen?) Keine Spezifikationen dafür gibt. Normalerweise müssen Sie Prozeduren/Funktionen aufrufen, um sie abzuspeichern, und das Einschränken von Abfragen basierend auf dem Inhalt eines BLOBs ist nahezu unmöglich, wenn nicht verboten.

Unter den anderen Daten, die als binäre Daten aufgelistet sind, können Sie auch binäre Repräsentationen von Text -> Zeichencodes mit einer bestimmten Kodierung speichern ..., ohne die verwendete Kodierung zu kennen oder anzugeben.

BLOBS sind die kleinsten gemeinsamen Nenner von Speicherformaten.

10
Rondo

jeder große einzelne Datenblock, der in einer Datenbank gespeichert ist, beispielsweise eine Bild- oder Tondatei, die keine Datensatzfelder enthält und nicht direkt von der Suchmaschine der Datenbank durchsucht werden kann.

6
abhay kumar

Dies mag wie eine dumme Frage erscheinen, aber wofür möchten Sie eigentlich ein RDBMS verwenden?

Wenn Sie nur Dateien speichern möchten, ist das Dateisystem des Betriebssystems im Allgemeinen ausreichend. Ein RDBMS wird im Allgemeinen für strukturierte Daten verwendet und (außer für eingebettete wie SQLite) die gleichzeitige Manipulation dieser Daten (Sperren usw.). Weitere nützliche Funktionen sind die Sicherheit (Handhabung des Zugriffs auf die Daten) und Sicherung/Wiederherstellung. Im letzteren Fall besteht der Hauptvorteil gegenüber einer regulären Sicherung des Dateisystems darin, dass zwischen den Sicherungen ein Zeitpunkt wiederhergestellt werden kann, indem eine bestimmte Form von Protokolldateien angewendet wird.

BLOBs sind aus Sicht der Datenbank unstrukturiert und undurchsichtig. Oracle verfügt über einige spezielle ORDSYS-Typen für Multimedia-Objekte (z. B. Bilder), an die auch eine Reihe von Metadaten angehängt ist und die mit Methoden verbunden sind (z. B. Neuskalieren oder Umfärben eines Bildes). 

6
Gary Myers

Ein BLOB ist ein binäres großes Objekt. Es wird verwendet, um große Mengen binärer Daten in einer Datenbank zu speichern.

Sie können es verwenden, um jede Art von Binärdaten zu speichern, die Sie möchten, einschließlich Bilder, Videos oder andere Arten von Binärdaten, die Sie speichern möchten.

Verschiedene DBMSs behandeln BLOBs auf unterschiedliche Weise. Sie sollten die Dokumentation der Datenbanken lesen, an denen Sie interessiert sind, um zu sehen, wie (und ob) sie mit BLOBs umgehen.

4
Greg

Sie sind binäre große Objekte. Sie können damit unter anderem binäre Daten wie Bilder oder serialisierte Objekte speichern.

4
sep15ms

Ich denke dabei an ein großes Array von binären Daten. Die Verwendbarkeit von BLOB ergibt sich unmittelbar aus der begrenzten Bandbreite der DB-Schnittstelle, sie wird nicht von den DB-Speichermechanismen bestimmt. Unabhängig davon, wie Sie große Datenmengen speichern, können Sie nur die enge Datenbankschnittstelle speichern und abrufen. Die Datenbank ist ein Engpass des Systems. Warum als Dateiserver verwenden, der leicht verteilt werden kann? Normalerweise möchten Sie das BLOB nicht herunterladen. Sie möchten nur, dass die Datenbank Ihre BLOB-URLs speichert. Legen Sie die BLOBs auf einem separaten Dateiserver ab. Dann entlasten Sie die wertvolle DB-Verbindung und bieten unbegrenzte Bandbreite für große Objekte. Dies schafft jedoch ein gewisses Problem der Kohärenz. 

2
Val

In Computern ist ein BLOB (binäres großes Objekt), das BLAHB ausgesprochen und manchmal in Kleinbuchstaben geschrieben wird, eine große Datei, normalerweise eine Bild- oder Tondatei, die behandelt werden muss (z. B. hochgeladen, heruntergeladen oder in einer Datenbank gespeichert) ) auf besondere Weise wegen seiner Größe. Laut Eric Raymond besteht der Hauptgedanke eines BLOB darin, dass der Handler der Datei (zum Beispiel der Datenbankmanager) keine Möglichkeit hat, die Datei zu verstehen, um herauszufinden, wie sie damit umgehen soll - es könnte auch eine sein großes Stück Kohle, aber da ist es und jetzt was? Andere Quellen betonen, dass der Begriff so definiert wurde, dass er sich auf Big Data-Objekte bezieht und auf die Probleme verweist, die sie manchmal im Umgang mit ihnen haben. Eine Anwendung, die sich mit BLOBs befasst, ist die Datenbankspeicherung großer Multimedia-Objekte wie Filme und Fernsehprogramme.

0