Разработчики проекта MariaDB, в рамках которого развивается СУБД продолжающая развитие кодовой базы MySQL, опубликовали результаты тестирования (http://blog.mariadb.org/sysbench-oltp-mysql-5-6-vs-mariadb-10-0/) производительности недавно выпущенного стабильного релиза MySQL 5.6 (http://www.opennet.dev/opennews/art.shtml?num=36031) и второй тестовой версии (http://blog.mariadb.org/what-does-mariadb-10-0-1-include-ava.../) MariaDB 10.0, сочетающей возможности бэкпортированные из MySQL 5.6 с собственными оригинальными разработками (http://www.opennet.dev/opennews/art.shtml?num=33589). В тестировании также приняли участие прошлые ветки проектов MySQL 5.5.29 и MariaDB 5.5.28a. Для OLTP-тестирования использовался пакет sysbench 0.5 в конфигурации с 8 таблицами и размером данных в 10 Гб.
В первом тесте MySQL 5.6 продемонстрировал заметное отставание производительности при более чем 16 одновременных запросах, при этом при нагрузке с 8 до 16 одновременных запросов MySQL 5.6 лидировал. Небольшое отставание от MySQL 5.5 и MariaDB 5.5 при большом числе одновременных запросов наблюдается и в MariaDB 10, но оно не столь существенное, как в случае с MySQL:
<center><a href="http://blog.mariadb.org/wp-content/uploads/2013/02/20130213-... src="http://www.opennet.dev/opennews/pics_base/0_1360764532.png" style="border-style: solid; border-color: #e9ead6; border-width: 15px;" title="" border=0></a></center>
<center><a href="http://blog.mariadb.org/wp-content/uploads/2013/02/20130213-... src="http://www.opennet.dev/opennews/pics_base/0_1360764890.png" style="border-style: solid; border-color: #e9ead6; border-width: 15px;" title="" border=0></a></center>
При оценке времени выполнения запроса все СУБД показали достаточно близкие результаты при числе нитей до 64, при большем числе одновременных запросов наблюдается небольшое преимущество MariaDB 10 и MySQL 5.6 при запросах только на чтение и достаточно существенное расхождение при наличии активности на запись:
<center><a href="http://blog.mariadb.org/wp-content/uploads/2013/02/20130213-... src="http://www.opennet.dev/opennews/pics_base/0_1360764783.png" style="border-style: solid; border-color: #e9ead6; border-width: 15px;" title="" border=0></a></center>
<center><a href="http://blog.mariadb.org/wp-content/uploads/2013/02/20130213-... src="http://www.opennet.dev/opennews/pics_base/0_1360764922.png" style="border-style: solid; border-color: #e9ead6; border-width: 15px;" title="" border=0></a></center>
Дополнительно можно отметить готовность для тестирования экспериментального выпуска MariaDB 10.0.1. По сравнению с первой тестовой версией MariaDB 10.0.0 (http://www.opennet.dev/opennews/art.shtml?num=35316) в новом выпуске появилась поддержка следующих оригинальных улучшений, отсутствующих в MySQL:
- Новое хранилище Cassandra Storage Engine (https://kb.askmonty.org/en/cassandra-storage-engine/) (SE), добавляющее в MariaDB и MySQL поддержку средств для доступа к данным, хранимым в распределённой БД Apache Cassandra (http://www.opennet.dev/opennews/art.shtml?num=33676). Используя Cassandra SE разработчики получают возможность обращаться к данным и добавлять данные в БД Cassandra при помощи обычных SQL-запросов. При этом используемая в Cassandra модель хранения данных в виде семейства столбцов (ColumnFamily) отображается в форме свойственных для MariaDB/MySQL таблиц, для которых можно применять стандартные SQL-директивы SELECT, INSERT, DELETE и UPDATE, а также выполнять операции объединения (JOIN) с другими таблицами.
- Универсальная система накопления статистики (https://kb.askmonty.org/en/engine-independent-table-statistics/) об активности и наполнении таблиц для использования оптимизатором запросов, реализованная без привязки к конкретным движкам хранения;
- Улучшенная реализация динамических столбцов (https://kb.askmonty.org/en/dynamic-columns/), позволяющих получить различный набор "виртуальных столбцов" для каждой строки в таблице. Добавлена поддержка запросов в формате JSON и возможность интеграции с БД Cassandra;
- Поддержка (https://mariadb.atlassian.net/browse/MDEV-4011) анализа потребления памяти в привязке к отдельной нити;
- Значительное ускорение работы конструкций ALTER TABLE для хранилищ Aria и MyISAM при наличии проверки уникальных ключей;
- Переработанная поддержка автоматического назначения и обновления времени для timestamp и datetime.
Кроме того, разработчики отметили ряд улучшений, ранее доступных в прошлых ветках MariaDB и реализованных компанией Oracle в MySQL 5.6 (данные возможности созданы с нуля, а не портированы из MariaDB): улучшение оптимизатора запросов, поддержка микросекунд, возможность использования аннотаций и групповых коммитов в бинарном логе, увеличения точности геометрических типов, поддержка пула нитей.
URL: http://blog.mariadb.org/sysbench-oltp-mysql-5-6-vs-mariadb-10-0/
Новость: http://www.opennet.dev/opennews/art.shtml?num=36104