On rencontre prin­ci­pa­le­ment le terme BLOB dans le contexte des bases de données et des projets open source. Il est utilisé pour l’en­re­gis­tre­ment de fichiers binaires, c’est-à-dire les fichiers pouvant contenir à la fois des ca­rac­tères im­pri­mables et tout type de modèles binaires. Parmi les exemples typiques d’objets de ce type, on peut notamment citer les fichiers image et audio, les fichiers com­pres­sés ou les données des tableurs. Si des Binary Large Objects doivent être utilisés dans un projet, il convient de respecter certaines pro­cé­dures. Qu’est-ce qu’un BLOB exac­te­ment ? Quelles sont ses ca­rac­té­ris­tiques ? Quels avantages et in­con­vé­nients découlent de leur uti­li­sa­tion ?

Qu’est-ce qu’un BLOB (Binary Large Object) ?

L’acronyme anglais BLOB signifie Binary Large Object (fr. : « gros objet de donnée binaire »). Il convient d’opérer une dis­tinc­tion entre les BLOB et les CLOB (Character Large Objects), également appelés TEXT, qui sont aussi de gros objets, mais qui sont composés de chaînes de ca­rac­tères.

Comme indiqué plus haut, les fichiers audio et image ainsi que les archives de fichiers ou les données des tableurs font partie des gros objets binaires. Par ailleurs, les vidéos sont également classées dans les BLOB, raison pour laquelle les fichiers binaires peuvent avoir une taille de plusieurs centaines de gi­gaoc­tets. D’après leur inventeur Jim Starkey, l’acronyme BLOB s’est uni­que­ment vu attribuer sa sig­ni­fi­ca­tion, à savoir Binary Large Object, de façon ré­troac­tive. En 1997, Starkey ex­pli­quait que cette dé­no­mi­na­tion avait été créée en raison du caractère peu pro­fes­sion­nel du nom BLOB d’un point de vue marketing.

Les BLOB dans les bases de données

Les bases de données doivent traiter les BLOB d’une manière par­ti­cu­lière. Les types de données spé­ci­fiques sont in­con­tour­nables. Les bases de données ne sont pas en mesure de lire ou de com­prendre le contenu non structuré des BLOB et ne peuvent que les en­re­gis­trer de façon globale. La base de données peut uni­que­ment lire le nom de fichier, le type de fichier et la taille de fichier des BLOB. Les fonc­tion­na­li­tés des bases de données telles que le tri, le filtrage et la recherche de contenus spé­ci­fiques sont par con­sé­quent im­pos­sibles dans un BLOB.

Note

La dif­fé­rence entre les données struc­tu­rées et non struc­tu­rées réside dans le fait que les premières disposent d’une structure claire. Toutes les in­for­ma­tions des données struc­tu­rées peuvent être affichées dans les champs cor­res­pon­dants de la base de données. En revanche, les données non struc­tu­rées ne per­met­tent pas de tirer des con­clu­sions sur le contenu. Seul le type de données est connu.

Les Binary Large Objects sont sau­ve­gar­dés de dif­fé­rente manière par les dif­fé­rents systèmes de bases de données. Comme, la plupart du temps, la structure des bases de données ne permet pas d’en­re­gis­trer di­rec­te­ment les BLOB, ils sont déplacés. À cette fin, la base de données ne contient aucune référence sur l’endroit où le fichier déplacé est ef­fec­ti­ve­ment en­re­gis­tré. Selon le système de base de données, on trouve également des termes al­ter­na­tifs pour désigner les grands fichiers binaires et certaines solutions telles que MySQL ont même dif­fé­rentes dé­sig­na­tions pour les fichiers de certaines tailles. Le tableau suivant montre certains des systèmes les plus connus avec les termes cor­res­pon­dants pour les Binary Large Objects :

Base de données Type de données
MySQL Jusqu’à 0,255 Ko : TI­NY­BLOB­Jusqu’à 64 Ko : BLOBJusqu’à 16 Mo: ME­DIUM­BLOB­Jusqu’à 4 Go : LONGBLOB
Post­greSQL BYTEA et Object Iden­ti­fier
Oracle BLOB
DB2 BLOB
Serveur Microsoft SQL binary, varbinary, text, ntext

Où les BLOB sont-ils utilisés ?

Les BLOB sont prin­ci­pa­le­ment utilisés dans l’industrie du big data. Les données brutes col­lec­tées en masse auprès des visiteurs du site Internet sont re­grou­pées sous forme de col­lec­tions de données et sont en­re­gis­trées dans des bases de données dans le monde entier. Col­lec­tées sous forme brute, ces données ne possèdent aucune structure. C’est pourquoi il s’agit de la façon la plus simple pour les systèmes de bases de données de les en­re­gis­trer. Les BLOB peuvent également être utilisés pour en­re­gis­trer les films ou les émissions de té­lé­vi­sion de façon presque chiffrée.

Les Binary Large Objects sont également utilisés dans le domaine open source : même si, par défaut, l’ensemble des com­po­sants d’un projet open source peuvent être générés à partir d’un code source ac­ces­sible pu­bli­que­ment, ce n’est pas toujours le cas. Dans certains cas, des éléments pro­prié­taires (en par­ti­cu­lier les pilotes de pé­ri­phé­rique) qui sont uni­que­ment dis­po­nibles sous forme binaire sont intégrés. Le terme « BLOB » s’est également établi pour ces données, mais l’uti­li­sa­tion de ces objets dans les projets open source est plutôt con­tro­ver­sée.

Avantages et in­con­vé­nients des Binary Large Objects

L’uti­li­sa­tion des BLOB dans un projet dépend de chaque cas spé­ci­fique, car ils pré­sen­tent des avantages dé­ter­mi­nants, mais aussi des in­con­vé­nients.

Avantages In­con­vé­nients
Les BLOB offrent une réelle pos­si­bi­lité d’intégrer de grosses données binaires dans une base de données et peuvent être ré­fé­ren­cés sans dif­fi­culté Toutes les bases de données ne per­met­tent pas l’uti­li­sa­tion de BLOB
Il est possible de définir sim­ple­ment des droits d’accès grâce à la gestion des droits Les BLOB sont peu efficaces en raison de l’espace disque né­ces­saire et du délai d’accès
Toutes les données sont contenues dans les sau­ve­gardes ou les dumps de bases de données La création de sau­ve­gardes est très chro­no­phage du fait de la taille de fichier des BLOB
Aller au menu principal