Инициативная группа MySQL AB Maria, состоящая из шести
человек и возглавляемая Michael "Monty" Widenius (создатель MySQL и MyISAM),
выпустила тестовую версию нового движка хранения данных Maria.
Движок Maria - это расширенная версия MyISAM, которая
поддерживает весь основной функционал MyISAM и в дополнение к этому предлагает:
поддержку восстановления данных после сбоев (data auto-recovery, crash safe),
полное логирование (включая операции CREATE, DROP, RENAME и TRUNCATE) и новый
формат строк PAGE.
Планируется, что движок Maria будет входить в стандартный
пакет в версиях MySQL 6.X
Основные замечания касательно сравнения Maria и MyISAM
Преимущества перед MyISAM
- Восстановление данных и индексов после сбоев
- Откат, после сбоя, в предыдущее состояние или к состоянию после
последней команды LOCK TABLES
- Полное логирование операций, включая: CREATE/DROP/RENAME/TRUNCATE
TABLES, LOAD DATA INFILE, SELECT ... INSERT и INSERT (множество строк),
ALTER TABLE
- LOAD INDEX может пропускать неиспользуемые индексные блоки
- Новый блочный формат строк, в котором данные хранятся ввиде страниц
- При использовании блочного формата строк (выбираемого теперь по
умолчанию) строковые данные могут кешироваться
- Блочные тесты большинства элементов
- Поддержка как отказоустойчивых (crash safe, транзакциональных) так и
нетранзакциональных таблиц. (Нетранзакцональные таблицы не логируются и для
строк используется меньше места): CREATE TABLE foo (...) TRANSACTIONAL=0|1
- PAGE используется только для отказоустойчивого/транзакционального
строкового формата
- PAGE формат должен дать заметное увеличение скорости на системах с
плохим кешированием данных. (К примеру Windows)
Отличия от MyISAM
- Использование больших (1GB по умолчанию) лог файлов
- Использование контроля за логами (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К (со страницей на 8K)
По материалам:
Блог
Monty says
Обзор Maria:
http://forge.mysql.com/wiki/Maria_Preview
Документация Maria:
http://forge.mysql.com/wiki/Maria_Docs
Источник:
http://handynotes.ru/
Последние комментарии