Michael "Monty" Widenius представил проект Maria, - новый MySQL движок для хранения данных. Maria представляет собой расширенную версию хранилища MyISAM, с добавлением средств сохранения целостности данных после краха.
Основные достоинства Maria:
- В случае краха производится откат результатов выполнения текущей операции или возврат в состояние до команды LOCK TABLES. Реализация через ведение лога операций;
- Возможность восстановления состояния из любой точки в логе операций, включая поддержку CREATE/DROP/RENAME/TRUNCATE. Может быть использовано для создания инкрементальных бэкапов, через периодическое копирование лог файла.
- Поддержка всех форматов столбцов MyISAM, расширена новым форматом "rows-in-block", использующим страничный механизм хранения данных, при котором данные в столбцах могут кэшироваться;
- В будущем будет реализовано два режима: транзакционный и без отражения в логе транзакций, для не критичных данных.
- В Maria размер страницы данных равен 8Кб (в MyISAM 1Кб), что позволяет достичь более высокой производительности для индексов по полям фиксированного размера, но медленнее в случае индексирования ключей переменной длинны.
- Недостатки которые планируется устранить: неэффективная работа со столбцами, данные в которых занимают менее 25 байт; Maria 1.0 поддерживает один поток записи или много на чтение (в MyISAM - один на запись _и_ много на чтение (concurrent insert)); нет поддержки INSERT DELAYED.
|