MySQL: MyISAM хотят заменить на новый движок Maria
Инициативная группа 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
http://monty-says.blogspot.com/2008/01/maria-engine-is-released.html
Обзор Maria
http://forge.mysql.com/wiki/Maria_Preview
Документация Maria
http://forge.mysql.com/wiki/Maria_Docs
Инициативная группа 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
http://monty-says.blogspot.com/2008/01/maria-engine-is-released.html
Обзор Maria
http://forge.mysql.com/wiki/Maria_Preview
Документация Maria
http://forge.mysql.com/wiki/Maria_Docs