Доступен стабильный релиз СУБД MariaDB 5.2

Материал из Викиновостей, свободного источника новостей

12 ноября 2010 года

Майкл Видениус (Michael Widenius), основатель MySQL, анонсировал первый стабильный релиз MariaDB 5.2, базирующийся на MySQL 5.1.51. Код MariaDB синхронизирован с кодовой базой MySQL, полностью совместим с данной СУБД и может выступать в качестве прозрачной замены MySQL 5.1, дополненной рядом расширенных функций, оптимизациями производительности и новыми движками хранилищ. Готовые бинарные сборки MariaDB доступны для платформ Windows, Debian, Ubuntu, RHEL 5, CentOS 5 и Solaris x86.

Из присутствующих в MariaDB 5.2 новшеств можно отметить:

  • В комплект включено два новых экспериментальных хранилища:
  • OQGRAPH - хранилище для организации иерархических (древовидных) структур и сложных графов (узлов, имеющих множество связей);
  • Sphinx - хранилище для построения поисковых движков. Встроенный Sphinx-клиент позволяет MariaDB обмениваться данными с searchd, выполнять поисковые запросы и получать результаты поиска;
  • Виртуальные столбцы, содержимое которых формируется на основе заданного выражения, рассчитываемого во время выполнения;
  • Расширенная статистика об активности клиентов, пользователей, индексов и таблиц;
  • Сегментированный кэш MyISAM-ключей - глобальный мьютекс разбит на несколько мьютексов, что дает существенный прирост производительности (до 70%) в системах с большой нагрузкой из параллельных запросов;
  • Подключаемые модули аутентификации - возможность реализации плагинов, которые могут добавлять новые методы аутентификации в MariaDB;
  • Привязанные к типу хранилищ выражения "CREATE TABLE", дающие возможность определить передаваемые хранилищу дополнительные атрибуты для каждого поля, индекса или таблицы;
  • Добавление дополнительной информации о плагинах в таблицу INFORMATION_SCHEMA.PLUGINS;
  • Поддержка групповых коммитов в движок Aria, увеличивающих скорость обработки множественных INSERT-запросов.

Ранее реализованные улучшения, отличающие MariaDB от MySQL:

  • Aria (ранее Maria) - основанное на MyISAM высоконадежное хранилище, отличающиеся повышенной устойчивостью и сохранению целостности данных после краха, при полной совместимости с MyISAM. Благодаря ведению лога операций, в случае краха производится откат результатов выполнения текущей операции. Также поддерживается возможность восстановления состояния из любой точки в логе операций (включая поддержку CREATE/DROP/RENAME/TRUNCATE).
  • В качестве замены InnoDB используется движок XtraDB, основанный на коде InnoDB-plugin и полностью совместимый с ним, но отличающийся заметно более высокой производительностью, благодаря интеграции патчей от компаний Google и Percona. В частности, в XtraDB улучшен механизм работы с памятью, улучшена работа подсистемы ввода/вывода InnoDB, добавлена поддержка нескольких потоков чтения и записи, поддержка управления пропускной способностью, реализация упреждающей выборкой данных (read-ahead), адаптивная установка контрольных точек (adaptive checkpointing), расширены возможности по масштабированию для больших проектов, система организации блокировок адаптирована для работы на системах с большим числом CPU, добавлены дополнительные возможности для накопления и анализа статистики.
  • В состав включено хранилище PBXT (PrimeBase XT), разработанное с нуля и поддерживающее мультиверсионный метод организации хранения данных MVCC (multi-version concurrency control), позволяющий избавиться от блокировок при выполнении операций чтения. PBXT поддерживает ACID-совместимые транзакции, быстрый откат транзакций и восстановление после некорректного завершения работы сервера. Имеются средства для обеспечения ссылочной целостности данных, поддержка определения внешних ключей (foreign key), каскадных обновлений и удалений данных. Поддерживается возможность прямого потокового ввода и вывода бинарных данных (BLOB) в БД.
  • В качестве замены разработанного в Sun Microsystems и уже не поддерживаемого хранилища Federated задействован проект FederatedX. FederatedX позволяет организовать обращение к удаленным таблицам как к локальным. Имеется поддержка транзакций, одновременной установки нескольких соединений к удаленной СУБД, использования операций "LIMIT".
  • Реализована возможность создания пула потоков, позволяющего использовать заданное число mysql-нитей для обработки всех запросов, вместо механизма "одна нить на одно соединение". В итоге можно значительно увеличить производительность БД, обрабатывающих большое число соединений или имеющих большое число длительно выполняющихся запросов;
  • Ликвидация таблиц - новый вид оптимизации операций по объединению таблиц (JOIN), позволяющий исключить обращения к некоторым таблицам, на которые ссылается запрос пользователя;
  • Добавлено множество патчей, созданных компанией Percona и сообществом независимых разработчиков. Например, добавлен патч для выявления узких мест при работе с базой. Кроме отслеживания запросов выполняющихся более заданного времени, поддерживается занесение в лог информации о запросах приводящих к перебору большого числа строк, сложным сортировкам, задействованию временного файла на диске или удовлетворяющих параметрам заданного фильтра (qc_miss, full_scan, full_join, tmp_table, tmp_table_on_disk, filesort, filesort_on_disk). В отличии от стандартного механизма ведения лога медленных запросов, msl оперирует не секундами, с округлением в большую сторону, а отрезками 0.005 сек.

Источники[править]

Creative Commons
Creative Commons
Эта статья содержит материалы из статьи «Доступен стабильный релиз СУБД MariaDB 5.2», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии[править]

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.