Что такое CLOBs (Character Large Objects)?

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

Но особенно большие объекты данных обрабатываются базами данных по-другому. Эти большие объекты (LOB) намного больше обычных записей базы данных, а также неструктурированы, поэтому обычно хранятся в отдельном месте хранения. Затем база данных просто создает ссылку на место хранения объекта в соответствующей позиции.

Существует два типа LOB: BLOBы и CLOBы. BLOB — это тип данных, который сохраняет большие двоичные объекты, в то время как формат файла CLOB хранит длинные символьные строки. Аббревиатура расшифровывается как Character Large Objects, а сам термин был придуман разработчиками базы данных Oracle. В других системах баз данных существуют и другие обозначения для больших объектов, например, TEXT в MySQL и PostgreSQL.

Как работают CLOBs и каково их применение?

Символьные большие объекты охватывают все объекты базы данных со строками — то есть все объекты, которые содержат файлы, состоящие из символов. Символьные строки — это последовательности букв, цифр, специальных символов и управляющих символов; поэтому записи CLOB обычно ссылаются на текстовые документы (в частности, XML). Особенностью хранения этих больших типов данных является то, что они содержатся не непосредственно в базе данных — за редким исключением — а в отдельном месте. Сама база данных содержит только механизм ссылок, который указывает на соответствующий CLOB. Например, весь символьный код веб-сайта хранится не в ячейке базы данных, а в ссылочном номере, который указывает на фактическое место хранения базового HTML-документа.

Плюсы и минусы хранения CLOB

Одним из самых больших преимуществ типа данных CLOB является возможность чтения и редактирования отдельных файлов. Например, администраторы баз данных могут использовать прикладные программы для сравнения, редактирования или слияния содержимого входных объектов типа Character Large Objects. Ниже приведен краткий обзор возможностей редактирования:

  • SUBSTR позволяет пользователям извлекать строки из CLOB.
  • INSTR вставляет вырезанные строки в другую позицию или в другие CLOBы
  • COMPARE сравнивает значения двух CLOBов
  • APPEND соединяет две CLOB друг с другом.

Поскольку CLOB хранят документы с текстом или символами полностью, можно детально изучить их содержимое. Администраторы могут точно определить, дублируется ли содержимое или части текста перекрываются. Если это так, наборы данных можно объединить, чтобы освободить ненужное пространство для хранения.

Кроме того, хранение букв, цифр, специальных символов и управляющих символов в виде CLOBs абсолютно без потерь: При сохранении файлов часто зависит от того, вся ли информация в документе должна быть сохранена — с этим форматом данных это не проблема. Например, вы можете сохранить метаинформацию документа вместе с его фактическим содержанием в виде CLOB. Поэтому большинство баз данных даже поддерживают представление больших объектов в виде древовидной структуры, а также навигацию и поиск определенного содержимого.

К недостаткам этого типа данных для хранения огромного количества символов относится то, что некоторые базы данных не позволяют редактировать их с помощью привычных функций SQL. CLOB хранят чрезвычайно большие объемы текста, что означает, что выполнение стандартных функций займет очень много времени. Однако, по крайней мере, упомянутые выше прикладные команды — SUBSTR, INSTR, COMPARE и APPEND — являются возможными альтернативами для воспроизведения недоступных операций SQL. Еще одним недостатком CLOBs является то, что относительно небольшие элементы данных тратят ценное пространство хранения, поскольку определенное, сегментированное пространство хранения резервируется за пределами базы данных.

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