Как стать автором
Обновить

MyISAM хотят заменить на новый движок Maria

Время на прочтение2 мин
Количество просмотров1.3K
Инициативная группа 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)

Via: handynotes.ru
Теги:
Хабы:
Всего голосов 33: ↑26 и ↓7+19
Комментарии63

Публикации