Открыть сервисСервис

MySQL — система управления базами данных

MySQL — это свободная реляционная система управления базами данных (СУБД), работающая по клиент-серверной модели и использующая язык запросов SQL. Одна из наиболее распространённых СУБД в мире, особенно в связке с веб-сервером Apache и PHP в составе технологического стека LAMP. Разработана шведской компанией MySQL AB, с 2008 года принадлежит Oracle Corporation. Применяется на сайтах и серверах разного масштаба — от небольших блогов до крупных веб-сервисов.

История

MySQL создавался в 1994—1995 годах шведскими разработчиками Михаэлем «Монти» Видениусом и Дэвидом Аксмарком. Первая версия вышла в 1995 году. Название происходит от сокращения «My» — от фамилии дочери Видениуса, и одновременно от «My» в названии системы MyISAM, одного из первых движков хранения MySQL.

В 2000 году MySQL перешёл на лицензию GPL, что сделало его свободным программным обеспечением для открытых проектов. В 2008 году компания Sun Microsystems приобрела MySQL AB за 1 млрд долларов, а в 2010 году Sun сама была поглощена Oracle Corporation, которая владеет MySQL по сей день. После перехода под контроль Oracle часть разработчиков создала форк MariaDB.

Устройство и архитектура

MySQL построен по клиент-серверной архитектуре: сервер mysqld обрабатывает запросы, а клиенты подключаются по TCP/IP или через сокеты. Основные особенности:

Лицензирование

MySQL распространяется под двумя лицензиями. Сообщественная версия (MySQL Community Server) доступна по GPL и бесплатна для использования в открытых проектах. Коммерческая версия с расширенной функциональностью и поддержкой продаётся Oracle по подписке. Для встраивания MySQL в проприетарное ПО Oracle предлагает отдельные коммерческие лицензии.

Применение

MySQL является основой LAMP — классического набора программ для веб-серверов (Linux, Apache, MySQL, PHP/Perl/Python). Система широко используется в:

  • WordPress, Joomla, Drupal — движках сайтов;
  • phpMyAdmin — веб-интерфейсе для управления базами;
  • многочисленных веб-приложениях на PHP, Python, Ruby, Java;
  • облачных сервисах, включая Amazon RDS и Google Cloud SQL.

Среди известных пользователей — Facebook (продукт Meta, признанной экстремистской и запрещённой в РФ), Twitter, YouTube, Wikipedia.

Сравнение с PostgreSQL

MySQL и PostgreSQL — две основные свободные СУБД с открытым исходным кодом. Ключевые отличия:

КритерийMySQLPostgreSQL
Строгость SQLМенее строгий, допускает упрощенияСтрогое соответствие стандарту
ТранзакцииInnoDB — полная поддержкаПолная поддержка
Производительность чтенияВыше на простых запросахНиже на тривиальных, выше на сложных
РасширяемостьОграничена движкамиПользовательские типы, операторы

Версии и развитие

Oracle выпускает MySQL по нумерации вида 8.0, 8.1, 9.0. В версии 8.0 появились оконные функции, JSON-поддержка, улучшенная оптимизация запросов. Версия 9.0 добавила функциональность для работы с документами и улучшенный планировщик. Развивается и форк MariaDB, который остаётся полностью совместимым с MySQL.

Критика

После перехода MySQL под контроль Oracle часть сообщества выразила обеспокоенность закрытием разработки. Это стало одной из причин создания MariaDB в 2009 году. Кроме того, MySQL исторически менее строго следовал стандартам SQL по сравнению с PostgreSQL, что вызывало сложности при переносе приложений между СУБД.

См. также

  • LAMP
  • MariaDB
  • PostgreSQL
  • Реляционная база данных

Источники

  • Документация MySQL Reference Manual, Oracle Corporation
  • «MySQL Cookbook» — Paul DuBois
  • «High Performance MySQL» — Baron Schwartz и др.
  • Сайт проекта MariaDB
Заметили ошибку или не согласны с информацией в статье? Напишите нам support@bfometr.ru