Архив MySQL
Оригинальный автор(ы) | Брайан Акер |
---|---|
Первоначальный выпуск | 2004 |
Написано в | С , С++ |
Операционная система | Кросс-платформенный |
Платформа | x86 , x86-64 , SPARC , MIPS , PowerPC |
Тип | Механизм базы данных |
Лицензия | Стандартная общественная лицензия GNU |
Веб-сайт | MySQL ![]() |
Archive — это механизм хранения данных для MySQL системы управления реляционными базами данных . Пользователи могут использовать этот аналитический механизм хранения для создания только «архивной» таблицы. Данные из этой таблицы нельзя удалить, только добавить. Механизм архивирования использует стратегию сжатия, основанную на библиотеке zlib , и упаковывает строки, используя битовый заголовок для представления нулей, и удаляет все пробелы для полей символьного типа. По завершении строка вставляется в буфер сжатия и сбрасывается на диск посредством явной очистки таблицы, чтения или закрытия таблицы.
Одним из текущих ограничений архивных таблиц является то, что они не поддерживают какие-либо индексы, что требует сканирования таблицы для любых задач SELECT. Однако архивные таблицы поддерживаются кэшем запросов MySQL, что может значительно сократить время ответа на повторяющиеся запросы к архивным таблицам. [ 1 ] MySQL изучает поддержку индексов для архивных таблиц в будущих выпусках.
Двигатель не соответствует требованиям ACID . В отличие от механизмов OLTP , он использует «потоковой» формат диска без границ блоков. Заголовок создаваемого файла архива представляет собой массив байтов, представляющий формат данных и содержимое этого файла. В MySQL 5.1 копия файла MySQL FRM хранится в заголовке каждого архивного файла. Файл FRM, который представляет определение таблицы, позволяет восстановить файл архива на сервере MySQL, если файл архива копируется на сервер.
Несмотря на использование zlib , архивные файлы несовместимы с gzio , основой инструментов gzip . Он использует собственную систему azio, которая является ответвлением gzio.
Archive отличается от другого аналитического механизма MySQL, MyISAM , тем, что он является механизмом блокировки на уровне строк и сохраняет постоянный снимок версии на протяжении всего одного запроса (что делает его MVCC ). Это означает, что Archive не блокирует одновременные массовые вставки. Для объемных вставок он выполняет чересстрочную INSERT, поэтому в отличие от MyISAM порядок не гарантируется.
Пользователи могут использовать инструмент archive_reader, чтобы сделать онлайн-снимок таблицы и изменить характеристики архивного файла.
Чтобы создать таблицу архива, укажите следующую строку механизма:
create table t1 (
a int,
b varchar(32))
ENGINE=ARCHIVE
MySQL [ 2 ] Механизм хранения архивов был создан и поддерживается Брайаном Акером . Он был представлен в 2004 году в MySQL 4.1.
Ссылки
[ редактировать ]- ^ https://web.archive.org/web/20100212100829/http://dev.mysql.com/tech-resources/articles/storage-engine.html Механизм хранения архивов MySQL 5.0 (дата архива 20100212)
- ^ Учебник по MySQL
Внешние ссылки
[ редактировать ]