Что именно это BLOB в контексте СУБД - PullRequest
55 голосов
/ 24 марта 2011
  • Что такое BLOB?
  • Как его использовать?
  • В чем различия между BLOB-объектами СУБД.Я хотел бы сохранить данные с использованием больших двоичных объектов в любую СУБД, а затем прочитать этот большой двоичный объект с помощью библиотеки.

Ответы [ 8 ]

66 голосов
/ 24 марта 2011

BLOB:

BLOB ( Binary Large Object * ) - это тип данных большого объекта в системе базы данных.BLOB может хранить большой кусок данных, типов документов и даже мультимедийных файлов, таких как аудио или видео файлы.BLOB поля выделяют пространство только тогда, когда используется содержимое в поле.BLOB выделяет пробелы в гигабайтах.

ИСПОЛЬЗОВАНИЕ BLOB:

Вы можете записать большой двоичный объект (BLOB) в базу данных как двоичные или символьные данные, в зависимости от типа поляв вашем источнике данных.Чтобы записать значение BLOB в базу данных, введите соответствующий оператор INSERT or UPDATE и передайте значение BLOB в качестве входного параметра.Если ваш BLOB хранится в виде текста, такого как текстовое поле SQL Server, вы можете передать BLOB в качестве строкового параметра.Если BLOB хранится в двоичном формате, например в поле изображения SQL Server, вы можете передать массив байтов типа в качестве двоичного параметра.

Полезная ссылка: Хранение документов в формате BLOB в базе данных - Есть ли недостатки?

10 голосов
/ 24 марта 2011

Я больше не буду расширять аббревиатуру ... но добавлю некоторый нюанс к другому определению: вы можете хранить любые данные в BLOB-объекте независимо от других интерпретаций байтов, которые они могут иметь.Текст может храниться в BLOB-объекте, но вам лучше использовать CLOB, если у вас есть такая опция.

Не должно быть никаких различий между BLOB-объектами в разных базах данных в том смысле, что после того, как вы сохранили и получили данныеэто не изменилось .... как каждая база данных достигает «черного ящика» и, к счастью, почти без исключения не имеет значения.Однако способ взаимодействия с BLOBS может сильно отличаться, так как для него не существует спецификаций в стандартах SQL (или стандартов в спецификациях?).Обычно вам придется вызывать процедуры / функции для сохранения, извлекать их, и ограничение любого запроса на основе содержимого BLOB-объекта практически невозможно, если не запрещено.

Среди других вещей, перечисленных в виде двоичных данных, вы также можетехранить двоичные представления текста -> кодов символов с заданной кодировкой ... без фактического знания или указания используемой кодировки.

BLOBS являются наименьшими общими знаменателями форматов хранения.

6 голосов
/ 23 сентября 2011

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

6 голосов
/ 24 марта 2011

Это может показаться глупым вопросом, но для чего вы на самом деле хотите использовать СУБД?

Если вы просто хотите хранить файлы, то файловая система операционной системы в целом адекватна.СУБД обычно используется для структурированных данных и (за исключением встроенных, таких как SQLite) для обработки одновременных манипуляций с этими данными (блокировка и т. Д.).Другими полезными функциями являются безопасность (обработка доступа к данным) и резервное копирование / восстановление.В последнем случае основным преимуществом по сравнению с обычным резервным копированием файловой системы является возможность восстановления в определенный момент времени между резервными копиями путем применения файлов журналов в той или иной форме.непрозрачный.У Oracle действительно есть некоторые специфические типы ORDSYS для мультимедийных объектов (например, изображений), к которым также прикреплена группа метаданных и которые имеют связанные методы (например, изменение масштаба или изменение цвета изображения).

4 голосов
/ 24 марта 2011

Это большие двоичные объекты, вы можете использовать их для хранения двоичных данных, таких как изображения или сериализованные объекты, среди прочего.

4 голосов
/ 24 марта 2011

BLOB - это большой двоичный объект.Он используется для хранения большого количества двоичных данных в базе данных.

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

Различные СУБД обрабатывают BLOB по-разному;Вы должны прочитать документацию по интересующим вас базам данных, чтобы увидеть, как (и если) они обрабатывают BLOB.

2 голосов
/ 17 декабря 2012

Я думаю о нем как о большом массиве двоичных данных. Удобство использования BLOB следует непосредственно из ограниченной пропускной способности интерфейса БД, оно не определяется механизмами хранения БД. Независимо от того, как вы храните большой кусок данных, единственный способ сохранить и извлечь это узкий интерфейс базы данных. База данных является узким местом системы. Зачем использовать его как файловый сервер, который можно легко распространять? Обычно вы не хотите загружать BLOB. Вы просто хотите, чтобы БД хранила ваши BLOB-URL. Поместите большие двоичные объекты на отдельный файловый сервер. Затем вы освобождаете драгоценное соединение с БД и предоставляете неограниченную пропускную способность для крупных объектов. Это создает некоторую проблему согласованности, хотя.

0 голосов
/ 03 июля 2017

В компьютерах BLOB (большой двоичный объект), произносится как BLAHB и иногда пишется в нижнем регистре, представляет собой большой файл, обычно изображение или звуковой файл, который должен обрабатываться (например, загружаться, загружаться или сохраняться в базе данных) особым образом из-за его размера. Согласно Эрику Рэймонду, основная идея BLOB заключается в том, что обработчик файла (например, менеджер базы данных) не может понять файл, чтобы выяснить, как с ним работать - он также может быть большой кусок угля, но там он есть и что теперь? Другие источники подчеркивают, что этот термин был придуман для обозначения больших объектов данных и для обозначения проблем, с которыми они иногда сталкиваются при обработке. Одно приложение, которое имеет дело с BLOB-объектами, - это хранилище базы данных крупных мультимедийных объектов, таких как фильмы и телевизионные программы.

...