MySQL – одна из наиболее популярных реляционных баз данных. MariaDB – эволюционная ветвь исходной кодовой базы MySQL. Разработчики, близко знакомые с MySQL, могут сказать, что MariaDB – это следующее поколение движка этой базы данных. MySQL давно используется в качестве общепринятой «стандартной» базы данных в средах Linux, Apache, MySQL и PHP (LAMP). Однако MariaDB также достаточно популярна как альтернативное решение. MariaDB была разработана на основе исходной кодовой базы MySQL в целях сохранения преемственности и избежания возможных подводных камней после того, как MySQL вошла в состав Oracle. Разработчики скажут, что базы данных имеют похожий синтаксис, но в MariaDB появилось несколько заметных отличий.
Хотя MySQL по-прежнему встроена в бизнес-процессы ряда крупных технологических предприятий, MariaDB часто рассматривается как популярная корпоративная база данных следующего поколения. MariaDB поддерживает передачу бОльших объемов данных и поддерживается большинством облачных провайдеров. А ее сходство с MySQL, которая была доминирующей базой данных в начале 2000-х, упрощает ее массовое внедрение.
Фундаментальные различия между MariaDB и MySQL обусловливают некоторое преимущество MariaDB в части производительности. MariaDB предлагает больше движков хранения данных и поддерживает свыше 200000 подключений. Корпоративная версия MySQL Enterprise включает в себя проприетарный код, тогда как MariaDB имеет полностью открытый исходный код. Благодаря этим отличиям MariaDB работает быстрее: по результатам последних тестов, выигрыш в скорости относительно MySQL составляет от 13% до 36%.
Поскольку MariaDB является эволюционной ветвью MySQL, она имеет похожий синтаксис, но с рядом дополнительных функций. Базовый синтаксис SQL остается тем же самым, но MariaDB по-другому управляет данными и функциями. Каждая новая версия MariaDB включает в себя дополнительные функции и расширения.
Пример функции MariaDB, которой нет в MySQL, – функция SEQUENCE. В MySQL для присвоения каждой новой записи в таблице уникального целочисленного ключа с автоматическим приращением используется функция AUTO_INCREMENT. Функция SEQUENCE позволяет создать пользовательскую последовательность ключей, которая начинается с заданного значения и имеет заданный шаг приращения.
Пример использования функции SEQUENCE:
CREATE SEQUENCE s START WITH 10 INCREMENT BY 10;
Движок MySQL был разработан в 1995 году и в начале 2000-х стал доминирующим движком баз данных. Он использовался одними из крупнейших мировых компаний, как то: Facebook, GitHub, Airbnb и YouTube. Он управляет миллиардами записей и легко интегрируется в среды Linux, включая массовых провайдеров веб-хостинга.
В силу популярности MySQL появилось множество доступных справочников и обучающих видеороликов, показывающих, как установить базу данных и использовать синтаксис SQL для создания запросов. MySQL также подходит для персональных проектов и предлагает бесплатную версию для личного использования. Она работает как на Windows, так и на Linux, благодаря чему ее может использовать практически любой разработчик. Многие начинают изучение программирования баз данных и виртуальных систем хранения данных именно с MySQL.
С MariaDB дело обстоит несколько сложнее, поскольку она разрабатывалась как решение для предприятий. Эта база данных работает с большим количеством движков и доступна в облаке. Большинство корпоративных приложений включают в себя намного больше функций, чем пользовательские аналоги, что делает их изучение более сложным.
Никто не может предсказать будущее, но, по всей вероятности, MySQL останется. Все больше разработчиков программного обеспечения могут отдавать предпочтение MariaDB перед MySQL в случае корпоративных приложений, но MySQL все-таки удерживает достаточно сильные позиции на рынке. Например, WordPress изначально работает с сервером MySQL и управляет значительным количеством веб-сайтов, однако эта система также совместима и с MariaDB – WordPress может бесшовно подключаться к MariaDB без существенных изменений в части ПО.
В будущем на MariaDB может перейти значительная часть веб-приложений, но в настоящее время она имеет наиболее сильное представительство в корпоративном сегменте, особенно в средах Linux. Возможно, что MariaDB также наберет популярность в качестве базы данных для корпоративных приложений в среде LAMP.
Если вы только изучаете базы данных или делаете небольшой любительский проект, то лучшим решением, скорей всего, будет MySQL. MySQL предлагает удобное десктопное приложение, упрощающее настройку и последующую работу с базой данных. Программа MySQL Workbench предлагает графический пользовательский интерфейс, который проведет вас по всем этапам процесса создания таблицы; также вы сможете получать обратную связь от сервиса базы данных, если допустите ошибки при создании своих пользовательских запросов и функций.
Для больших организаций больше подходит MariaDB. Ее использование также будет выгодно малым предприятиям, которые ожидают резкого увеличения количества одновременно подключающихся пользователей (и здесь тоже доступно несколько GUI-приложений, если они вам нужны). MariaDB легко масштабируется по мере роста популярности проекта и увеличения количества клиентских обращений. Если вы хотите попробовать поработать с облачными базами данных, то MariaDB – хороший выбор для изучения механизмов репликации и управления данными в облаке.
Являясь эволюционной ветвью MySQL, MariaDB многое унаследовала от своего предка, поэтому вопрос "что лучше" во многом субъективен. Некоторые разработчики предпочитают MariaDB по причине открытого исходного кода и бесплатности; с другой стороны, MySQL – проверенное популярное решение, которое хорошо подходит для небольших проектов.
Разработчики, хорошо знакомые с MySQL, могут продолжать работать с этой базой данных, потому что они ее давно знают; однако выбор MariaDB – отличный способ изучить новую технологию. Знание обеих баз данных является профессиональным преимуществом, и MariaDB может быть лучшим решением на уровне предприятия. В конце концов, вы всегда можете провести свое собственное тестирование с помощью нашего бенчмарка, если сомневаетесь, достаточно ли производительности MySQL для ваших приложений.
Примечание
Эта статья взята из блога компании Pure Storage, специализирующейся на дисковых накопителях корпоративного класса. Кроме того, Pure Storage часто публикуют в своем блоге популярные технические статьи, одну из которых мы здесь перепостили (с разрешения авторов).
Источник: TechSpot