Spec-Zone.ru › MySQL 5.7

15.5 СУБД ARCHIVE

СУБД ARCHIVE производит таблицы специального назначения, которые хранят большое количество неиндексированных данных с очень малым объёмом занимаемой памяти.

Таблица 15.5. Функциональные возможности СУБД ARCHIVE

Таблица 15.5 Функциональные возможности СУБД ARCHIVE
Функция Поддержка
Индексы B-дерева Нет
Резервное копирование/восстановление в определённый момент времени (Реализовано в сервере, а не в СУБД.) Да
Поддержка кластерных баз данных Нет
Кластеризованные индексы Нет
Сжатие данных Да
Кэши данных Нет
Шифрование данных Да (Реализовано в сервере с помощью функций шифрования.)
Поддержка внешних ключей Нет
Индексы полнотекстового поиска Нет
Поддержка геопространственных типов данных Да
Поддержка индексирования геопространственных данных Нет
Индексы хеширования Нет
Кэши индексов Нет
Гранность блокировки Строка
MVCC Нет
Поддержка репликации (Реализовано в сервере, а не в СУБД.) Да
Ограничения хранения Нет
Индексы T-дерева Нет
Транзакции Нет
Обновление статистики для словаря данных Да

СУБД ARCHIVE включена в дистрибутивы MySQL. Чтобы включить эту СУБД, если вы собираете MySQL из исходного кода, вызовите CMake с параметром -DWITH_ARCHIVE_STORAGE_ENGINE.

Чтобы изучить исходный код СУБД ARCHIVE, найдите каталог storage/archive в дистрибутиве MySQL исходного кода.

Вы можете проверить доступность СУБД ARCHIVE с помощью команды SHOW ENGINES.

При создании таблицы ARCHIVE, сервер создаёт файл формата таблицы в каталоге базы данных. Файл начинается с имени таблицы и имеет расширение .frm. СУБД создаёт другие файлы, все с именами, начинающимися с имени таблицы. Файл данных имеет расширение .ARZ. Во время операций оптимизации может появиться файл .ARN.

СУБД ARCHIVE поддерживает INSERT, REPLACE и SELECT, но не DELETE или UPDATE. Она поддерживает операции ORDER BY, столбцы BLOB и в основном все типы данных, включая геопространственные (см. Раздел 11.4.1, «Геопространственные типы данных»). Географические системы координат не поддерживаются. СУБД ARCHIVE использует блокировку на уровне строк.

СУБД ARCHIVE поддерживает атрибут столбца AUTO_INCREMENT. Столбец AUTO_INCREMENT может иметь уникальный или неуникальный индекс. Попытка создать индекс на любом другом столбце приведёт к ошибке. СУБД ARCHIVE также поддерживает табличный параметр AUTO_INCREMENT в операциях CREATE TABLE для указания начального значения последовательности для новой таблицы или сброса значения последовательности для существующей таблицы соответственно.

ARCHIVE не поддерживает вставку значения в столбец AUTO_INCREMENT, меньшего текущего максимального значения столбца. Попытки сделать это приведут к ошибке.

СУБД ARCHIVE игнорирует столбцы BLOB, если они не запрашиваются, и пропуская их при чтении.

Хранение: Строки сжимаются по мере их вставки. СУБД ARCHIVE использует бестертовую сжатие данных zlib (см. http://www.zlib.net/). Вы можете использовать OPTIMIZE TABLE для анализа таблицы и упаковки её в более компактный формат (почему использовать OPTIMIZE TABLE, см. далее в этом разделе). СУБД также поддерживает CHECK TABLE. Используются несколько типов вставки:

  • Операция INSERT просто помещает строки в буфер сжатия, и этот буфер очищается по мере необходимости. Вставка в буфер защищена блокировкой. Операция SELECT вынуждает произвести сброс буфера.

  • Массовая вставка видна только после её завершения, если не выполняются другие вставки одновременно, в этом случае она может быть видна частично. Операция SELECT никогда не вызывает сброс буфера массовой вставки, если во время загрузки происходит обычная вставка.

Извлечение: При извлечении строки распаковываются по мере необходимости; кеша строк нет. Операция SELECT выполняет полное сканирование таблицы: Когда выполняется SELECT, она определяет, сколько строк доступно в данный момент, и считывает это количество строк. Операция SELECT выполняется как согласованное чтение. Обратите внимание, что многочисленные операции SELECT во время вставки могут ухудшить сжатие, если не используются только массовые или отложенные вставки. Для достижения лучшего сжатия можно использовать OPTIMIZE TABLE или REPAIR TABLE. Количество строк в таблицах ARCHIVE, возвращаемых операцией SHOW TABLE STATUS, всегда точно.

См. Раздел 13.7.2.4, «Операция OPTIMIZE TABLE», Раздел 13.7.2.5, «Операция REPAIR TABLE» и Раздел 13.7.5.36, «Операция SHOW TABLE STATUS».

Дополнительные ресурсы

  • Форум, посвящённый СУБД ARCHIVE, доступен по адресу https://forums.mysql.com/list.php?112.

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-5.7-en/archive-storage-engine.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API