СУБД является ответвлением от MySQL и развивается компанией Monty Program Ab, созданной Майклом Видениусом после его ухода из Sun Microsystems. Она включает все основные открытые механизмы хранения, включая дополнительно механизм хранения Maria. Во многих отношениях MariaDB будет работать точно так же, как MySQL: все команды, интерфейсов, библиотек и API-интерфейсы, которые существуют в MySQL, существуют также в MariaDB.
Как сообщают разработчики этой СУБД, они собираются синхронизировать выпуски релизов MariaDB с релизами MySQL.
Название MariaDB происходит от имени младшей дочери Майкла Видениуса Марии.
Windows amd64 (64-bit), Windows x86 (32-bit), Solaris 10 x86, Solaris 11 x86, Linux amd64 (64-bit), Linux x86, CentOS 5 / RedHat 5 amd64 (64-bit), CentOS 5 / RedHat 5 x86 (32-bit).
Aria – новый механизм хранения MySQL и MariaDB (ранее назывался Maria). Система хранения является альтернативой MyISAM, но более устойчива к краху. Благодаря ведению лога операций, в случае краха, производится восстановление всех таблиц до состояния перед выполнением оператора или до состояния перед выполнением последней команды LOCK TABLES. Также поддерживается возможность восстановления состояния из любой точки в логе операций (включая поддержку CREATE/DROP/RENAME/TRUNCATE). В работе осуществляется лучшее кэширование, чем в MyISAM, а также более развит параллелизм при множественных вставках. Все внутренние таблицы MariaDB используют данный механизм хранения. Разрабатывался с 2007 года.
MyISAM - одна из основных систем хранения данных в СУБД. Она основывается на коде ISAM и обладает в сравнении с ним рядом полезных дополнений. Таблицы MyISAM прекрасно подходят для использования в WWW и других средах, где преобладают запросы на чтение. Используется как механизм хранения по умолчанию.
XtraDB - представляет собой расширенную версию механизма хранения InnoDB, направленную на более эффективную масштабируемость современного оборудования и включающую, в том числе множество функций, полезных в условиях высокой производительности. В XtraDB улучшен механизм работы с памятью, улучшена работа подсистемы ввода/вывода InnoDB, добавлена поддержка нескольких потоков чтения и записи, поддержка управления пропускной способностью, реализация упреждающей выборкой данных (read-ahead), адаптивная установка контрольных точек (adaptive checkpointing). Расширены возможности по масштабированию для больших проектов, система организации блокировок адаптирована для работы на системах с большим числом CPU, добавлены дополнительные возможности для накопления и анализа статистики. Механизм является полностью обратно совместимым, и поэтому может использоваться в качестве заменителей стандартного InnoDB. Система хранения XtraDB базируется на основе Oracle / Innobase InnoDB плагине версии 1.0.3, с дополнительными расширениями.
PBXT (PrimeBase XT) – система хранения разработанная с нуля и поддерживающая мультиверсионный метод организации хранения данных MVCC (multi-version concurrency control), позволяющий избавиться от блокировок при выполнении операций чтения. PBXT поддерживает ACID-совместимые транзакции, быстрый откат транзакций и восстановление после некорректного завершения работы сервера. Имеются средства для обеспечения ссылочной целостности данных, поддержка определения внешних ключей (foreign key), каскадных обновлений и удалений данных. Поддерживается возможность прямого потокового ввода и вывода бинарных данных (BLOB) в БД.
FederatedX – система хранения, позволяющая организовать обращение к удаленным таблицам как к локальным. Имеется поддержка транзакций, одновременной установки нескольких соединений к удаленной СУБД, использования операций "LIMIT".
MariaDB доступно в соответствии с условиями лицензии GPL v2 , как и MySQL. Лицензия GPL распространяется только на код, предоставляемый для других сторон. Для внутреннего использования в рамках организации такой код является абсолютно бесплатным и не подпадают под действие каких-либо условий. Подключение к удаленной службе, которая работает в MariaDB (или каких-либо других GPL программных обеспечениях) в фоновом режиме, также является бесплатным.
Оригинальная версия MySQL была разработана фино-шведской компанией MySQL AB, которую основали Джвид Ахмарк, Аллан Ларссон и Майкл Монти. Первая версия MySQL появилась в 1995 году. Изначально она предназначалась для личного пользования, но спустя несколько лет превратилась в базу данных корпоративного уровня.
В январе 2008 Sun Microsystems приобрела MySQL AB за 1 миллиард долларов. Вскоре после этого, Oracle купила Sun Microsystems с разрешения Европейской комиссии, которая изначально опасалась, что такое решение повредить свободному проекту MySQL, поскольку он был прямым конкурентом СУБД Oracle. Из-за недоверия к стратегии развития MySQL был создан форк под названием MariaDB.
Шли годы и за это время MariaDB начала использоваться во многих дистрибутивах Linux по умолчанию. Она используется для обеспечения работы большинства сайтов интернета. В этой статье мы попытаемся выполнить сравнение MySQL vs MariaDB и разобраться почему вторая лучше первой и когда нужна именно оригинальная MySQL.
В отличие от многих других проектов с открытым исходным кодом полученных от Sun Microsystems, Oracle до сих пор развивает MySQL. После того как много разработчиков подали в отставку, были наняты новые люди. Но разработка новых версий MySQL ведется закрыто. Исходный код доступен только команде разработчиков и выгружается в публичный репозиторий только после завершения работы. Все решения обсуждаются внутри компании
MariaDB разрабатывается полностью открыто, все решения и новые идеи касаемо развития могут свободно обсуждаться в email рассылке, а также системе сообщений об ошибках. Помочь в разработке MariaDB очень легко, патчи от пользователей принимаются также, как и от разработчиков. В целом MariaDB развивается более активно.
Из-за раскрученности бренда у MySQL все еще есть большое сообщество, но все больше и больше проектов переходят на MariaDB. Такие известные корпоративные дистрибутивы, как REHL 7 и SLES 12 уже используют MariaDB, а это значит, что в сражении MySQL или MariaDB победит последняя.
Политика Oracle - выпускать обновления безопасности для всех своих продуктов каждые три месяца. Но выход новой версии MySQL запланирован каждые два месяца. Это часто приводит к тому, что обновления продукта и обновления безопасности не синхронизируются.
Разработчики не успевают закрыть все сообщения об ошибках и уязвимости, в результате чего база данных может оставаться уязвимой несколько месяцев. Еще одна проблема MySQL в том, что обновления безопасности очень расплывчаты. Если администратор не может просто обновить программу до новой версии, то создать бэкпорт сложно.
MariaDB выпускает обновления программы и обновления безопасности синхронизировано, поэтому все ошибки успевают исправить. Все исправленные CVE задокументированы и любой пользователь может узнать что изменилось в новой версии.
В целом MariaDB развивается быстрее и имеет больше возможностей. Эти возможности касаются оптимизации, улучшения работы с памятью, и много другого. Обычно, со временем, эти возможности переносятся в MySQL. Например, та же поддержка GIS появилась в MariaDB раньше, чем в MySQL. Среди прочего MariaDB имеет множество улучшений производительности Inodb, MyISAM и движка обработки запросов, поддерживает GIS, ликвидацию таблиц, виртуальные и динамические колонки, репликацию с несколькими источниками, роли и многое другое.
Но у MariaDB есть и свои минусы, она не поддерживает некоторые возможности, которые есть в MySQL. А именно, MariaDB несовместима с синтаксисом JSON MySQL, не поддерживаются плагины ngram, MeCab, MySQL X, а также пространства таблиц, которые позволяют присваивать данные нескольким таблицам одновременно. Но разработчики активно работают над исправлением недостатков.
Для тех, кого интересуют кластеры MySQL будет интересно то, что в MariaDB используется новая система репликации Galera, прием ее работа отличается от стандартного master-salve. Galera разрабатывается с 2007 года, но она никогда не включалась в официальную версию MySQL.
Система управления базами данных MariaDB поддерживает намного больше движков для хранения данных. Большинство этих движков доступны в качестве плагинов для MySQL, но в MariaDB они включены в официальный релиз. Это означает, что движки правильно интегрированы и будут хорошо работать. Вот список поддерживаемых движков:
Напомню, что оригинальная MySQL поддерживает по умолчанию только три типа таблиц - Aria, MySIAM и InnoDB. Это важный аспект в выборе MySQL или MariaDB.
Эти отличия MariaDB от MySQL не столь важны, но, возможно, они будут кому-то интересными. Имя MySQL было дано в честь первой дочери одного из разработчиков - Майкл Монти, ее зовут My. Разработку MariaDB продолжил тот же человек и на этот раз программа была названа в честь его младшей дочери - Марии.
Что касается версий, то изначально, до версии 5.6 версии MariaDB нумеровались синхронно до версий MySQL, на которых они были основаны. Но когда накопилось достаточно изменений и за основу стал браться код MariaDB номера версий было принято поменять на 10. С того момента нумерация MariaDB выполняется только так.
В этой статье мы сделали сравнение MySQL vs MariaDB. По большинству параметров MariaDB намного лучше, чем MySQL, поэтому не зря большинство дистрибутивов Linux теперь используют ее по умолчанию в своих репозиториях. Оригинальная версия может понадобиться только в очень редких случаях.
И сейчас встал выбор СУБД для хранения основных данных. Начинал разработку на MySQL, но сейчас не уверен в выборе. Переезд на другую СУБД на данном этапе для меня не составит проблем (использую PDO). далек от ясного понимания что такое «высокие нагрузки» для СУБД. Просто по моим расчетам примерно через год база будет весьма увесистой (см. ниже)
Основной выбор стоит между MySQL, PostgreSQL, MariaDB. Также, возможен, но не приветствуется вариант Microsoft SQL Server на Windows Azure
Ситуация такова:
P.S. Желающих отправить меня гуглить прошу даже не отвечать. Найти информацию по сравнению актуальных версий разных СУБД мне не удалось, а изучать возможности, плюсы и минусы PostgreSQL, Microsoft SQL Server и MariaDB для человека, который с ними не работал весьма долгая задача. Да и в MySQL я далеко не эксперт, и подобный крупный проект для меня дело новое, да и возможности MySQL от версии к версии отличаются. Единственное, что я точно знаю, так это то, что таблицы типа MyISAM в MySQL мне точно не подойдут
Послужила необходимость обеспечения свободного статуса СУБД (под лицензией GPL), в противовес неопределенной политике лицензирования MySQL компанией Oracle . Продукт распространяется и используется согласно лицензии GNU GPL v.2, GNU LGPL.
Система написана с использованием: C, C++, Perl, Bash. Продукт работает под управлением ОС Linux и UNIX -подобных, Windows .
Развитие MariaDB курирует независимая организация MariaDB Foundation в соответствии с полностью открытым и прозрачным процессом разработки, не зависящим от отдельных вендоров. MariaDB поставляется вместо MySQL во многих дистрибутивах Linux (RHEL 7 , SUSE 12 , Fedora , openSUSE , Slackware, OpenMandriva, ROSA , Arch Linux, Debian 9). Система внедрена в проектах: Wikipedia , Google Cloud SQL и Nimbuzz.
Основные улучшения MariaDB 10.1
MariaDB - Desarrollador Monty Program Ab http://mariadb.org Información general Lanzamiento 22 de enero de 2009 … Wikipedia Español
MariaDB - Entwickler Monty Program AB (bis Februar 2008: MySQL AB, bis Januar 2010: Sun Microsystems) Aktuelle Version MariaDB 5.2.6 (12. Mai 2011) Betriebssystem Unix, Linux, Windows … Deutsch Wikipedia
MariaDB - Environnements Unix, Windows, Solaris Type système de gestion de base de données … Wikipédia en Français
MariaDB - Developer(s) Monty Program Ab Initial release 22 January 2009 (2009 01 22) Stable release 5.2.9 (September 22, 2011; 5 … Wikipedia
MySQL - Developer(s) MySQL AB (A subsidiary of Oracle) Initial release May 23, 1995 (1995 05 23 … Wikipedia
Comparison of relational database management systems - Programming language comparisons General comparison Basic syntax Basic instructions Arrays Associative arrays String operations … Wikipedia
Michael Widenius - Ulf Michael Widenius Michael Monty Widenius Born March 3, 1962 (1962 03 03) (age 49) Helsinki, Finland … Wikipedia
Percona XtraDB Тип СУБД (Storage Engine для MySQL) Первый выпуск 16.12.2008 Последняя версия 10.1 (16.05.2010) Лицензия GPLv2 Сайт … Википедия
HeidiSQL - The main view of an active session in HeidiSQL, with MySQL Databases (left) and contained Tables (right) … Wikipedia
Fork (software development) - In software engineering, a project fork happens when developers take a legal copy of source code from one software package and start independent development on it, creating a distinct piece of software. The term implies a split in the developer… … Wikipedia