Архив
Двигатель хранения ARCHIVE — это движок хранения, который использует gzip для сжатия строк. Он преимущественно используется для хранения больших объёмов данных без индексов и с очень маленьким размером на диске.
Таблица, использующая движок хранения ARCHIVE, хранится в двух файлах на диске. Существует файл определения таблицы с расширением .frm и файл данных с расширением .ARZ. Иногда во время оптимизации появляется файл .ARN.
Новые строки вставляются в буфер сжатия и записываются на диск по мере необходимости. Выполняемые запросы SELECT вызывают запись в файл. Иногда строки, созданные с помощью многострочных вставок, не отображаются до завершения оператора.
ARCHIVE позволяет использовать не более одного ключа. Ключ должен быть в AUTO_INCREMENT столбце и может быть уникальным или не уникальным ключом. Однако есть ограничение: невозможно вставить значение, которое меньше следующего значения AUTO_INCREMENT.
Установка плагина
Хотя общая библиотека плагина распространяется с MariaDB по умолчанию, сам плагин не устанавливается MariaDB по умолчанию. Существует два способа установки плагина с MariaDB.
Первый метод позволяет установить плагин без перезапуска сервера. Плагин можно установить динамически, выполнив INSTALL SONAME или INSTALL PLUGIN. Например:
INSTALL SONAME 'ha_archive';
Второй метод позволяет указать серверу загружать плагин при запуске. Плагин можно установить таким образом, указав опции --plugin-load или --plugin-load-add. Это можно указать как аргумент командной строки для mysqld или указать в соответствующей группе опций сервера в файле опций группа опций в файле опций. Например:
[mariadb] ... plugin_load_add = ha_archive
Удаление плагина
Вы можете удалить плагин динамически, выполнив UNINSTALL SONAME или UNINSTALL PLUGIN. Например:
UNINSTALL SONAME 'ha_archive';
Если плагин был установлен с использованием опций --plugin-load или --plugin-load-add в соответствующей группе опций сервера в файле опций группа опций в файле опций, то эти опции следует удалить, чтобы предотвратить загрузку плагина при следующем перезапуске сервера.
Характеристики
- Поддерживает INSERT и SELECT, но не DELETE, UPDATE или REPLACE.
- Данные сжимаются с помощью zlib при вставке, что делает их очень компактными.
- Данные медленные при выборке, так как требуется их разархивирование, и, помимо кэша запросов кэш запросов, нет кэша.
- Поддерживает AUTO_INCREMENT (с MariaDB/MySQL 5.1.6), который может быть уникальным или не уникальным индексом.
- Начиная с MariaDB/MySQL 5.1.6, запросы SELECT пропускают столбцы BLOB, если они не запрошены явно, что делает эти запросы намного эффективнее.
- Не поддерживает типы данных пространственных данных.
- Не поддерживает транзакции.
- Не поддерживает внешние ключи.
- Не поддерживает виртуальные столбцы.
- Нет ограничения на объём хранения.
- Поддерживает блокировку строк.
- Поддерживает обнаружение таблиц, и сервер может получать доступ к таблицам ARCHIVE, даже если соответствующий файл
.frmотсутствует. - OPTIMIZE TABLE и REPAIR TABLE могут использоваться для сжатия всей таблицы, что приводит к немного лучшему сжатию.
- В MariaDB возможна модернизация из формата MySQL 5.0 без необходимости делать дамп таблиц.
- INSERT DELAYED поддерживается.
- Выполнение многих запросов SELECT во время вставки может ухудшить сжатие, если не используются только многострочные вставки и INSERT DELAYED.
| Title | Description |
|---|
© 2023 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/archive/