IaaS

от 75 коп./час

Облако для инфраструктуры

на базе Openstack

IaaS

от 316 руб.

Облако с гарантированным

SLA 99,982%

  • IaaS

    от 316 руб.

    Облако с гарантированным

    SLA 99,982%

  • IaaS

    от 958 руб.

    Облачная инфраструктура

    IaaS на базе VMware

  • IaaS

    от 249,95 руб.

    Для любых задач

    Оплата pay-as-you-go

  • Подобрать тариф
  • ITSM ITSM

IaaS

от 958 руб.

Облачная инфраструктура

IaaS на базе VMware

IaaS

от 249,95 руб.

Для любых задач

Оплата pay-as-you-go

Азбука MySQL: практика, особенности, принципы функционирования

Безопасность Бизнес Телеком Интернет Цифровизация ИТ в банках ИТ в госсекторе Ритейл Маркет

MySQL — одна из самых распространенных систем управления базами данных. Своей необычайной популярностью она обязана множеству факторов, решающими из которых можно назвать бесплатность и дату выхода — это одно из самых ранних массовых решений для управления базами данных, первый выпуск которого датируется серединой 90-х годов прошлого века.

MySQL появилась в результате необходимости адаптации mSQL для работы с таблицами, разработанными под более ранние способы хранения и управления, потерявшие актуальность в связи с ростом объемов данных и повышением скорости работы компьютеров.

Что касается названия, то точной информации о его возникновении нет: английская Википедия утверждает, что My (Мю) — это имя дочери Микаэля Видениуса, в русскоязычной Википедии дополнительно упоминается, что это простая приставка «мой». Как, например, «МойОфис». Однако, чуть ниже будут факты, которые говорят в пользу теории с именем дочери.

Возникновение MySQL

С 1995 г., в котором был первый выпуск, и до наших дней — последняя версия вышла 26 апреля этого года — СУБД прошла долгий и извилистый путь развития. Сама разработка стартовала в 1994 г. и велась компаниями Axmark и Widenius: в то время еще не было планов на широкое использование, и продукт разрабатывался сугубо для личного применения.

В качестве базы разработчики взяли mSQL и создали свой интерфейс, при этом сохранив совместимость API с mSQL — это позволило сторонним программистам быстро осваивать СУБД и переводить на нее свои проекты. Причиной для перевода служила GNU General Public License, по которой распространялось это новое программное обеспечение, в отличие от самой mSQL, которая была платной.

Вначале СУБД принадлежала компании MySQL AB, но в 2008 г. была приобретена Sun Microsystem, которую в свою очередь затем поглотил Oracle — ему все это обошлось в почти $7,5 млрд. На фоне этой покупки от MySQL отделился известный продукт, поддерживаемый первоначальными разработчиками MySQL.

MariaDB — это форк MySQL от одного из ее главных создателей. Она изначально начала разрабатываться Микаэлем Видениусом из-за опасений, вызванных покупкой Sun Microsystem компанией Oracle. Практически точная копия MySQL в самом начале, теперь это по-настоящему отдельный проект со своими особенностями и функционалом, но высокой совместимостью с MySQL. Maria — имя второй дочери Микаэля Видениуса, так что, скорее всего, MySQL тоже названа в честь дочери.

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

MySQL распространяется под лицензией GNU GPL, которая подразумевает передачу всего программного кода в общественную собственность. Таким образом, получается, что компании, выполнившие внедрение MySQL и сделавшие улучшения или добавившие нужные им возможности, обязаны предоставить все свои доработки в качестве открытого исходного кода общественности.

Такая лицензия хороша для небольших предприятий, но не подходит крупным поставщикам ПО, которые не хотят раскрывать исходные коды своего программного обеспечения — для них существует специальная проприетарная лицензия. Как правило, она включает техническую поддержку, но самое главное — коммерческая лицензия не предусматривает соблюдения GPL, и все наработки могут оставаться в самой компании.

Поддерживаемые операционные системы

С этой точки зрения MySQL есть чем похвастаться. Будет сложнее найти операционную систему, на которой она не поддерживается, чем перечислять все поддерживаемые. Отчасти это связано с популярностью, а отчасти — с почтенным возрастом. Поддерживаются даже неактуальные ОС, которые можно встретить только в музее или коллекциях, среди них есть и мобильные (Symbian), и совершенно раритетные (OS/2 или NetWare)

Поддержка Windows впервые появилась в 1998 г.: тогда это были современные Windows NT и 95. Сегодня СУБД можно установить на все актуальные версии Windows, а также огромное количество других операционных систем: eComStation, Linux, macOS, AIX, OpenVMS, UnixWare и другие. Процесс портирования продолжается и в настоящее время, поэтому шансы найти платформу, на которой бы еще не было порта этой СУБД, с каждым днем снижаются.

Немного технических деталей

Популярность и распространение под лицензией GNU GPL способствовали непрерывному и активному развитию и совершенствованию системы управления базами данных: обрастая значительным функционалом, она осталась одной из самых простых и понятных СУБД такого масштаба.

В MySQL нет ограничений на размер таблиц — он ограничен только ее типом. В целом, несмотря на то, что в настоящее время она позиционируется как решение для web-ресурсов или online-транзакций, при беглом сравнении с PostgreSQL — СУБД для серьезных аналитических решений — она практически ничем не уступает, если только вам не нужна узкоспециализированная аналитика. К примеру, есть и там, и там:

  • полнотекстовый поиск;
  • поддержка JSON;
  • обобщенные табличные выражения (Common Table Expression);
  • логическая репликация;
  • декларативное секционирование;
  • оконные функции;
  • полусинхронная репликация.

Список можно продолжать бесконечно, потому что постепенно происходит унификация.

В прошлом, когда вычислительные мощности были небольшими, всегда приходилось выбирать что-то одно, жертвуя противоположным: надежность — скорость, функционал — доступность и так далее. Сегодня, когда технические ограничения постепенно уходят, функционал самых разных СУБД начинает сближаться друг с другом. Хотя, несомненно, на данном этапе различия все еще есть и могут оказаться критичными для некоторых решений.

MySQL может работать с разными типами таблиц:

  • InnoDB;
  • CSV;
  • MyISAM;
  • Archive;
  • Memory;
  • Blackhole;
  • Federated;
  • NDB/NDBCLUSTER;
  • Example;
  • Merge.

У каждого из этих движков есть свои плюсы и минусы, но для СУБД очевидное преимущество заключается в самой возможности их использовать. Рассказывать отдельно о каждой подсистеме в рамках этого материала нет смысла — при желании вы сможете найти информацию самостоятельно.

Распространение MySQL

Как мы уже отмечали ранее, функционал MySQL достаточно обширен и подойдет для решения множества задач, но все же есть отрасли, где эта СУБД используется наиболее часто — это web-решения и проекты, где приоритет отдается скорости и простоте, а большинство операций предполагают чтение, а не запись.

MySQL проста в установке и настройке, имеет большое количество инструментов, обеспечивающих работу с СУБД посредством графического интерфейса, что позволяет полноценно ее использовать, не изучая консольные команды. Среди популярных: MySQL Workbench, Database Workbench, Adminer, phpMyAdmin, DBeaver, SQLBuddy и другие.

Кроме этого, она включена в популярные сборки серверного программного обеспечения LAMP/WAMP/XAMPP и прочих. Ее используют системы управления контентом (CMS) phpBB, Joomla, Drupal, WordPress. Крупные корпорации, такие как Twitter, Flickr, YouTube, MediaWiki, задействуют ее в своих проектах.

В общем, СУБД востребована, а что самое главное — с каждым новым выпуском она обрастает недостающими ранее возможностями.

Преимущества MySQL

Традиционно к достоинствам MySQL относят скорость, которая достигается не в ущерб надежности. Максимального эффекта от использования можно добиться на высокопараллельных операциях, направленных на чтение.

Популярность — в любой момент вы можете зайти на один из множества форумов и задать вопрос. В 99% случаев не придется делать даже этого: все вопросы уже разобраны, решения найдены, ответы получены. Большое русскоязычное сообщество не оставит в беде начинающего пользователя.

Из популярности вытекает и еще один плюс, если вы не разработчик, а владелец сайта — вам будет легко найти квалифицированного специалиста именно для вашей категории. Не придется нанимать единственного и очень высокооплачиваемого, который откликнулся. Высокая конкуренция требует непрерывно совершенствоваться и повышать опыт.

Графический интерфейс и простота настройки и обслуживания — для тех, кто хочет всем управлять самостоятельно. Все максимально легко: за несколько дней можно в достаточной степени изучить базовые возможности. Это лишь некоторые преимущества этой СУБД, на самом деле их значительно больше.

Итоги

MySQL — шустрая и легкая СУБД, которая пользуется большой популярностью. Она проста в установке и настройке, позволяет использовать графический интерфейс вместо командной строки и подойдет для большинства проектов, за исключением очень сложных, где требуется выполнять большое количество операций чтения/записи.

К преимуществам можно отнести поддержку множества ОС и непрерывное развитие, в ходе которого постоянно добавляются новые возможности.

Валерия Макарова

Короткая ссылка