расставляй правильно приоритеты и не отвлекайся на мелочи

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

Обзор Maria: http://forge.mysql.com/wiki/Maria_Preview
Документация Maria: http://forge.mysql.com/wiki/Maria_Docs

25790418.b699f3de18f5937f0fd1537d7964060d.1201774062.0e79b64a0eba8da0264c6c0897ac2972