Инициативная группа MySQL AB Maria, состоящая из шести человек и возглавляемая Майклом «Монти» Видениусом (создателем MySQL и MyISAM), выпустила тестовую версию нового механизма хранения данных Maria. Движок Maria представляет собой расширенную версию MyISAM, которая поддерживает все основные функции MyISAM и, кроме того, предлагает: поддержку автоматического восстановления данных, защиту от сбоев, полную регистрацию (включая операции CREATE, DROP, RENAME и TRUNCATE) и новый формат строки PAGE. .
Планируется, что движок Maria будет включен в стандартный пакет версий MySQL 6.X. Ключевые замечания по сравнению Марии и MyISAM Преимущества перед MyISAM
- Восстановление данных и индексов после сбоев
- Откат после сбоя к предыдущему состоянию или к состоянию после последней команды LOCK TABLES
- Полное протоколирование операций, включая: CREATE/DROP/RENAME/TRUNCATE TABLES, LOAD DATA INFILE, SELECT… INSERT и INSERT (несколько строк), ALTER TABLE.
- LOAD INDEX может пропускать неиспользуемые индексные блоки.
- Новый формат строк блоков, в котором данные хранятся в виде страниц.
- При использовании формата блочной строки (теперь это формат по умолчанию) строковые данные могут кэшироваться.
- Юнит-тесты для большинства элементов
- Поддержка как отказоустойчивых (отказоустойчивых, транзакционных), так и нетранзакционных таблиц.
(Нетранзакционные таблицы не протоколируются и занимают меньше места для строк): CREATE TABLE foo (.
) TRANSACTIONAL=0|1
- PAGE используется только для отказоустойчивого/транзакционного формата строки.
- Формат PAGE должен дать заметный прирост скорости на системах с плохим кэшированием данных.
(Например, Windows)
- Использование больших (по умолчанию 1 ГБ) файлов журналов.
- Использование управления журналами (maria_log_control) и файлов журналов (maria_log.???????).
Файлы журналов можно очищать автоматически, когда они больше не нужны, или по требованию (после резервного копирования).
- По умолчанию используются страницы размером 8 КБ (MyISAM использует 1 КБ).
Maria будет работать быстрее с индексами фиксированного размера, но медленнее с ключами переменной длины.
- В Maria 1.0 может быть один писатель и множество читателей (MyISAM может иметь одно добавление и множество читателей, когда используются конкурирующие добавления записей).
- INSERT DELAYED не поддерживается.
- Кэширование составных ключей не поддерживается.
- Хранение очень маленьких строк
- Таблицы MERGE не поддерживаются.
- Страницы данных в блочном формате увеличиваются в размере: 10 байт на страницу и 5 байт на строку.
Транзакции и ведение параллельных записей приведут к увеличению: 7 байт для новых строк, 14 байт для удаленных строк.
- Нет внешней блокировки (MyISAM имеет внешнюю блокировку, но используется редко)
- Используйте одинаковый размер страницы для индекса и данных.
MyISAM поддерживает разные размеры страниц для индексов.
- Для индексного номера требуется один дополнительный байт на индексную страницу.
- Внутренний MySQL RAID не поддерживается (также отключен в MyISAM)
- Минимальный размер файла данных для формата PAGE 16 КБ (со страницей 8 КБ)
-
Вельтман, Мартин
19 Oct, 24 -
Лаконичная Dom-Библиотека.
19 Oct, 24