web-dev-qa-db-fra.com

En quoi consiste exactement un BLOB dans un contexte de SGBD?

  • Qu'est-ce que c'est un BLOB?
  • Comment puis-je l'utiliser?
  • Quelles sont les différences entre les BLOBs du SGBD? Je voudrais sauvegarder des données en utilisant des BLOBs dans n'importe quel SGBD, puis lire ce BLOB avec une bibliothèque.
51
cMinor

BLOB: 

BLOB (Binary Large Object) est un type de données d'objet volumineux dans le système de base de données. BLOB peut stocker une grande quantité de données, de types de documents et même de fichiers multimédias tels que des fichiers audio ou vidéo. Les champs BLOB n'attribuent de l'espace que lorsque le contenu du champ est utilisé. BLOB alloue des espaces en giga-octets. 

UTILISATION DU BLOB: 

Vous pouvez écrire un grand objet binaire (BLOB) dans une base de données sous forme de données binaires ou caractères, en fonction du type de champ de votre source de données. Pour écrire une valeur BLOB dans votre base de données, émettez l'instruction INSERT or UPDATE appropriée et transmettez la valeur BLOB en tant que paramètre d'entrée. Si votre BLOB est stocké sous forme de texte, tel qu'un champ de texte SQL Server, vous pouvez passer le BLOB en tant que paramètre de chaîne. Si BLOB est stocké au format binaire, tel qu'un champ d'image SQL Server, vous pouvez passer un tableau de type octet en tant que paramètre binaire. 

Un lien utile: Stockage de documents en tant que BLOB dans la base de données - Des inconvénients?

60
sgokhales

Je ne développerai pas encore l'acronyme ... mais j'ajouterai une nuance à l'autre définition: vous pouvez stocker toutes les données dans un blob, quelles que soient les interprétations d'octets qu'elles peuvent avoir. Le texte peut être stocké dans un blob, mais vous seriez mieux avec un CLOB si vous avez cette option.

Il ne devrait y avoir aucune différence entre les BLOBS d'une base de données à l'autre, car après avoir sauvegardé et récupéré les données, celles-ci sont inchangées ... la façon dont chaque base de données réussit devient une boîte noire et heureusement presque sans exception. La manière d'interagir avec BLOBS peut toutefois être très différente car il n'y a pas de spécifications dans les standards SQL (ou standards dans les spécifications?). Habituellement, vous devrez invoquer des procédures/fonctions pour sauvegarder, les récupérer, et limiter toute requête basée sur le contenu d'un BLOB est presque impossible, voire même interdit.

Parmi les autres éléments énumérés sous forme de données binaires, vous pouvez également stocker des représentations binaires de codes texte -> caractères avec un codage donné ... sans connaître ni spécifier le codage utilisé.

Les BLOB sont les plus petits dénominateurs communs des formats de stockage.

10
Rondo

tout grand bloc de données stocké dans une base de données, tel qu'un fichier image ou audio, qui n'inclut pas de champs d'enregistrement et ne peut pas être directement recherché par le moteur de recherche de la base de données.

6
abhay kumar

Cela peut sembler une question idiote, mais pourquoi voulez-vous utiliser un SGBDR?

Si vous souhaitez simplement stocker des fichiers, le système de fichiers du système d'exploitation est généralement adéquat. Un SGBDR est généralement utilisé pour les données structurées et (sauf pour celles incorporées comme SQLite), gérer la manipulation simultanée de ces données (verrouillage, etc.). Les autres fonctionnalités utiles sont la sécurité (gestion de l'accès aux données) et la sauvegarde/récupération. Dans ce dernier cas, le principal avantage par rapport à une sauvegarde de système de fichiers classique est de pouvoir récupérer à un moment donné entre les sauvegardes en appliquant une forme de fichier journal.

Les BLOB sont, en ce qui concerne la base de données, non structurés et opaques. Oracle a certains types ORDSYS spécifiques pour les objets multimédias (par exemple, les images) auxquels sont également associées de nombreuses métadonnées et auxquels sont associées des méthodes (par exemple, redimensionner ou recolorer une image). 

6
Gary Myers

Un BLOB est un grand OBject binaire. Il est utilisé pour stocker de grandes quantités de données binaires dans une base de données.

Vous pouvez l'utiliser pour stocker tout type de données binaires de votre choix, y compris des images, des vidéos ou tout autre type de données binaires que vous souhaitez stocker.

Différents SGBD traitent les BLOB de différentes manières. Vous devriez lire la documentation des bases de données qui vous intéressent pour voir comment (et si) elles gèrent les BLOB.

4
Greg

Ce sont de gros objets binaires, vous pouvez les utiliser pour stocker des données binaires telles que des images ou des objets sérialisés, entre autres.

4
sep15ms

Je pense à cela comme un grand tableau de données binaires. La facilité d'utilisation de BLOB découle immédiatement de la bande passante limitée de l'interface de base de données. Elle n'est pas déterminée par les mécanismes de stockage de base de données. Quelle que soit la manière dont vous stockez les grandes données, le seul moyen de stocker et de récupérer des données est l’interface de base de données étroite. La base de données est un goulot d'étranglement du système. Pourquoi l'utiliser comme un serveur de fichiers, qui peut facilement être distribué? Normalement, vous ne voulez pas télécharger le BLOB. Vous voulez juste que la base de données stocke vos URL BLOB. Déposez les objets BLOB sur un serveur de fichiers séparé. Ensuite, vous libérez la précieuse connexion à la base de données et fournissez une bande passante illimitée pour les objets volumineux. Cela crée cependant un problème de cohérence. 

2
Val

Dans les ordinateurs, un BLOB (objet binaire volumineux), prononcé BLAHB et parfois épelé en minuscule, est un fichier volumineux, généralement une image ou un fichier son, qui doit être manipulé (par exemple, téléchargé, stocké ou stocké dans une base ) de manière particulière en raison de sa taille. Selon Eric Raymond, l’idée principale d’un BLOB est que le gestionnaire du fichier (par exemple, le gestionnaire de base de données) n’a aucun moyen de comprendre le fichier afin de déterminer comment le traiter. gros morceau de charbon, mais voilà et maintenant quoi? D'autres sources soulignent que le terme a été créé pour faire référence aux objets de données volumineux et pour désigner les problèmes qu'ils rencontrent parfois lors de leur traitement. Une application qui traite des objets BLOB est le stockage dans la base de données d'objets multimédias volumineux, tels que des films et des programmes de télévision.

0
Ramprasath Selvam