BLOBs (двоичные большие объекты): введение

Термин BLOB можно встретить в основном в связи с базами данных и проектами с открытым исходным кодом. Он используется для хранения двоичных данных (т.е. данных, которые могут содержать непечатные символы, а также произвольные битовые шаблоны). Типичными примерами таких типов данных являются изображения, аудиофайлы, сжатые файлы и данные электронных таблиц. Если вы планируете использовать двоичные большие объекты в проекте, необходимо соблюдать определенные процедуры. Итак, что же такое BLOB? Что его характеризует? Каковы преимущества и недостатки его использования?

Что такое BLOB (Binary Large Object)?

BLOB расшифровывается как Binary Large Object. BLOBы отличаются от CLOBов (Character Large Objects) и TEXTов тем, что хотя CLOBы и TEXTы также имеют дело с большими типами данных, они состоят из символьных строк.

Как упоминалось ранее, к большим двоичным типам данных относятся изображения, аудиофайлы, архивные файлы и данные электронных таблиц. Кроме того, видео также классифицируются как BLOB, поэтому двоичные файлы могут легко достигать нескольких сотен гигабайт. По словам Джима Старки, изобретателя BLOB, название BLOB появилось до того, как аббревиатура была определена как Binary Large Object. В 1997 году Старки пояснил, что BLOB было определено как акроним, поскольку в иных маркетинговых целях оно было слишком непрофессиональным.

BLOB в базах данных

BLOBы в базах данных должны обрабатываться особым образом. Специальные типы данных неизбежны. Базы данных не могут читать или понимать неструктурированные данные в BLOBах. Они могут только хранить их. Базы данных могут только читать имя файла, тип и размер BLOB. Поэтому невозможно использовать такие функции базы данных, как сортировка, фильтрация и поиск определенного содержимого в BLOB.

Примечание

Разница между структурированными и неструктурированными данными заключается в том, что первые имеют четкую структуру. Вся информация в структурированных данных может быть отображена в соответствующих полях базы данных. Неструктурированные данные, с другой стороны, не позволяют увидеть содержимое. Известен только тип данных.

Двоичные большие объекты хранятся разными системами баз данных по-разному. Поскольку структура баз данных часто не подходит для хранения BLOB напрямую, они хранятся вне базы данных. Таким образом, сама база данных содержит только ссылку на то, где на самом деле хранится внешний файл. Существуют также альтернативные термины для описания больших двоичных файлов в зависимости от используемой системы баз данных. Некоторые решения, такие как MySQL, даже используют различные термины для файлов определенных размеров. Вы можете просмотреть некоторые из наиболее популярных систем вместе с их соответствующими терминами для больших двоичных объектов в следующей таблице.

База данных Тип данных
MySQL До 0,255 КБ: TINYBLOBДо 64 КБ: BLOBДо 16 МБ: MEDIUMBLOBДо 4 ГБ LONGBLOB
PostgreSQL BYTEA и идентификатор объекта
Oracle BLOB
DB2 BLOB
Microsoft SQL Server двоичный, двоичный, текст, нетекст

Где используются BLOB?

BLOBы в основном используются в индустрии больших данных. Необработанные данные массово собираются от посетителей веб-сайтов, объединяются в коллекции данных и хранятся по всему миру в базах данных. В сыром виде эти данные неструктурированы, поэтому системам баз данных проще всего их собирать. BLOBs также могут использоваться для хранения фильмов или телевизионных передач в базах данных в квазишифрованном виде.

Двоичные большие объекты также используются в сфере открытого кода. Несмотря на то, что по определению все части проекта с открытым исходным кодом должны быть созданы на основе общедоступного исходного кода, это не всегда так. В некоторых случаях в проект также включаются проприетарные элементы (в основном драйверы устройств), которые доступны только в двоичной форме. Для таких данных также используется термин «BLOBs», но включение этих объектов в проекты с открытым исходным кодом является довольно спорным.

Преимущества и недостатки двоичных больших объектов

Вопрос об использовании BLOBs в проекте необходимо рассматривать в каждом конкретном случае, поскольку они имеют как важные преимущества, так и недостатки.

Преимущества Недостатки
BLOBы — хороший вариант для добавления больших двоичных файлов данных в базу данных, на них можно легко ссылаться. Не все базы данных позволяют использовать BLOBs
Легко установить права доступа с помощью управления правами BLOBs неэффективны из-за объема требуемого дискового пространства и времени доступа.
Резервные копии или дампы базы данных содержат все данные Создание резервных копий занимает много времени из-за размера файла BLOBs

Оцените статью
cdelat.ru
Добавить комментарий