Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

Архив - это механизм хранения для системы управления реляционными базами данных MySQL . Пользователи могут использовать этот аналитический механизм хранения для создания только «архивной» таблицы. Данные из этой таблицы не могут быть удалены, а только добавлены. Механизм архивирования использует стратегию сжатия, основанную на библиотеке zlib, и упаковывает строки с использованием битового заголовка для представления нулей и удаляет все пробелы для полей символьного типа. По завершении строка вставляется в буфер сжатия и сбрасывается на диск явным сбросом таблицы, чтением или закрытием таблицы.

Одним из текущих ограничений архивных таблиц является то, что они не поддерживают какие-либо индексы, что требует сканирования таблицы для любых задач SELECT. Таблицы архива, однако, поддерживаются кэшем запросов MySQL, который может значительно сократить время ответа на запросы к таблицам архива, которые отправляются повторно. [1] MySQL изучает поддержку индексов для архивных таблиц в следующих выпусках.

Двигатель не соответствует требованиям ACID . В отличие от механизмов OLTP , он использует «потоковый» формат на диск без границ блоков. Заголовок сгенерированного файла архива представляет собой массив байтов, представляющий формат данных и содержимое этого файла. В MySQL 5.1 копия файла MySQL FRM хранится в заголовке каждого файла архива. Файл FRM, который представляет собой определение таблицы, позволяет восстановить файл архива на сервере MySQL, если файл архива копируется на сервер.

Несмотря на использование zlib , архивные файлы несовместимы с gzio , основой инструментов gzip . Он использует собственную систему azio, являющуюся форком gzio.

Архив отличается от другого аналитического механизма MySQL, MyISAM , тем, что является механизмом блокировки на уровне строк и хранит моментальный снимок постоянной версии на протяжении всего одного запроса (что делает его MVCC ). Это означает, что архив не блокируется для одновременных массовых вставок. Для групповых вставок выполняется чересстрочная вставка INSERT, поэтому, в отличие от MyISAM, порядок не гарантируется.

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

Чтобы создать архивную таблицу, укажите следующую строку движка:

создать  таблицу  t1  (  a  int ,  b  varchar ( 32 )) ENGINE = ARCHIVE

Механизм хранения архивов MySQL был разработан и поддерживается Брайаном Акером . Он был представлен в 2004 году с MySQL 4.1.

Ссылки [ править ]

  1. ^ https://web.archive.org/web/20100212100829/http://dev.mysql.com/tech-resources/articles/storage-engine.html Механизм хранения архивов MySQL 5.0 (дата архивации 20100212)

Внешние ссылки [ править ]