MySQL 30 лет. Всё это время она была как скелет в теле интернета — незаметна, но незаменима

MySQL 30 лет. Всё это время она была как скелет в теле интернета — незаметна, но незаменима

История сервиса, без которого Facebook был бы просто блогом Цукерберга.

image

В декабре 2005 года молодой и заметно нервничающий Марк Цукерберг вышел на сцену лекционного зала Гарвардского университета. Основатель Facebook* рассказал, как его социальная сеть справляется с 400 миллионами просмотров страниц в день силами всего 50 сотрудников, арендованных серверов и нескольких программ с открытым кодом. Среди них особое место занимала база данных MySQL.

"MySQL сейчас — действительно хорошая база данных с открытым кодом. Не знаю, экспериментировал ли кто-то из вас с ней, но она довольно проста в использовании и при этом достаточно быстрая. Конечно, возможностей у неё меньше, чем у Oracle, но она отлично справляется со своими задачами", — объяснял тогда немногочисленным слушателям будущий миллиардер.

С тех пор мир разительно изменился. Состояние Цукерберга оценивают в 173 миллиарда долларов, Facebook насчитывает около 3 миллиардов активных пользователей, а рыночная стоимость Meta* приближается к 1,4 триллиона долларов. Социальные сети превратились в арену политических баталий, во многом определив такие события, как победа Дональда Трампа на выборах президента США и выход Великобритании из Евросоюза. Но MySQL по-прежнему остаётся в строю и в этом месяце отмечает своё 30-летие.

Meta до сих пор активно использует MySQL в своих технологических решениях, хотя и не очень охотно об этом рассказывает. История успеха этого сервиса, созданного в середине 1990-х годов в Швеции, наглядно показывает, почему он завоевала такую популярность и всё ещё остается.

Его появление совпало с бумом доткомов и зарождением Web 2.0 — более интерактивной и программируемой версии интернета 90-х. После краха пузыря доткомов компании, пытавшиеся привлечь миллионы новых пользователей, начали активно внедрять открытое программное обеспечение из-за нехватки инвестиций. MySQL стала буквой M в аббревиатуре LAMP — стандартном наборе инструментов для создания веб-систем, куда также входили операционная система Linux, веб-сервер Apache и языки программирования Perl, PHP или Python.

"Примерно в 2004 году я начал работать с MySQL, потому что она стала стандартом де-факто для любых онлайн-проектов. LAMP-стек предоставлял готовый набор потрясающих инструментов", — вспоминает Сэм Ламберт , генеральный директор компании PlanetScale, специализирующейся на базах данных. Свой первый продукт — платформу для сокращения URL-адресов через SMS — он создал именно на MySQL. Этот опыт определил его дальнейшую карьеру: от администратора баз данных до технического руководителя и вице-президента GitHub по разработке.

Система привлекала инженеров того времени чёткой концепцией: создатели с самого начала стремились сделать простой и удобный инструмент для управления кластером баз данных. "PostgreSQL существовала примерно столько же, но преследовала другие цели. У неё не было решений для работы с несколькими базами данных или схемы master-replica. MySQL же изначально задумывалась с этими возможностями и уже в 2001 году предлагала хороший алгоритм репликации", — поясняет Ламберт.

За созданием MySQL стояла компания MySQL AB, основанная двумя шведами — Давидом Аксмарком и Алланом Ларссоном — и финном Михаэлем "Монти" Видениусом. Названная в честь дочери Монти по имени My, система изначально использовала mSQL от Hughes Technologies для подключения к таблицам через быстрые низкоуровневые процедуры ISAM. Обнаружив недостаточную производительность такого подхода, команда разработала новый SQL-интерфейс, сохранив совместимость с API от mSQL. С июня 2000 года продукт распространяется по лицензии GNU General Public License (GPL).

С первых дней команда активно привлекала пользователей и сторонних разработчиков. Пётер Зайцев, уроженец России и будущий сооснователь консалтинговой компании Percona, начал работать с MySQL в 1999 году как молодой предприниматель и инженер, а в 2002 году присоединился к компании официально и окончательно.

"Я был в России и планировал создать приложение для веб-статистики, что-то вроде Google Analytics. Очевидно, мне требовалась база данных, и преподаватель в университете предложил посмотреть MySQL. Он показал мне запрос, который работал в три раза быстрее, чем в PostgreSQL. Это меня впечатлило", — рассказывает Зайцев.

Несмотря на высокую производительность, ранние версии сервиса не обходились без проблем. Однако подход компании к их решению привлекал всё больше разработчиков. Зайцев также вспоминает: "Я одним из первых начал использовать MySQL 3.23, где было много ошибок. Я постоянно писал о них в рассылке и, можно сказать, донимал Монти. Благодаря этому у нас сложились хорошие отношения. Будучи скандинавом, Монти отличался от американцев: не нужно было полчаса рассыпаться в комплиментах, прежде чем попросить исправить очевидный баг".

После краха доткомов Пётр искал работу и решил схитрить: скромно попросил у Монти рекомендацию, надеясь получить предложение о работе. План сработал. В то время MySQL насчитывала около 40 сотрудников, преимущественно инженеров. Компания придерживалась идеологических принципов: руководство обещало никогда не отдавать управление в руки продавцов. Зайцев возглавил команду высокопроизводительных решений MySQL, а в 2006 году основал Percona для поддержки внедрения программного обеспечения в проектах Web 2.0 в США.

В 2008 году MySQL приобрела компания Sun Microsystems, известная высокопроизводительным оборудованием, Unix-системой Solaris и языком программирования Java, который сыграл важную роль в развитии веб-сервисов. Робин Шумахер, ныне старший директор по исследованиям и аналитик Gartner по базам данных, в то время трудился в том же коллективе.

"Когда на общем собрании после покупки выступал генеральный директор Sun Джонатан Шварц, он говорил о том, как хочет выстроить работу после того, как они заплатили миллиард долларов за MySQL. Он тогда подчеркнул: 'Последнее, чего я хочу — это помешать вашему развитию. Продолжайте делать то, что делаете'. Мы смогли сохранить гибкость небольшого стартапа внутри крупной организации. У нас была возможность быстро принимать решения и при этом пользоваться ресурсами большого патрона", — рассказывает Шумахер.

"Sun тогда не работала на рынке баз данных, поэтому пользователи MySQL не опасались, что компания попытается задушить проект. Когда я встречался с руководством крупных государственных учреждений, они говорили мне: 'Мы доверяем Sun, а значит, доверяем и вам'. Это помогло увеличить выручку и расширить клиентскую базу".

Однако идиллия продлилась недолго. В 2009 году Oracle купила Sun Microsystems за 5,6 миллиарда долларов. Oracle была ключевым игроком на рынке баз данных, во многом определившим его развитие благодаря популяризации реляционных систем с конца 1970-х годов.

Каждое внедрение открытой базы данных означало потерю потенциальной прибыли для основателя Oracle Ларри Эллисона и его планов по покупке гавайских островов. Обеспокоенность позицией Oracle побудила Видениуса покинуть компанию и начать кампанию по спасению MySQL, чтобы "сохранить свободу интернета".

В итоге он создал форк кода MySQL под названием MariaDB и основал одноименную фирму. Она пережила неудачное IPO в конце 2022-го под руководством тогдашнего генерального директора Майкла Говарда. После нескольких взлетов и серьезных падений компанию в сентябре прошлого года купила частная инвестиционная фирма K1 Investment Management. MariaDB поддерживает тесные связи со своим open source фондом и продолжает обслуживать крупных клиентов, включая Samsung.

По итогу и опасения по поводу покупки MySQL компанией Oracle оказались преувеличенными. "Надо отдать должное Oracle. Компания продолжила развивать MySQL, предлагать новые инновационные решения на её основе. Многие руководители разработки, с которыми я трудился рука об руку 20 лет назад в MySQL, до сих пор там. Они бы не остались, если бы Oracle наносила ущерб проекту, ведь эти люди — убежденные сторонники открытого кода", — отмечает Шумахер.

Впрочем, у Oracle есть и критики. В последние пару лет фокус компании на аналитической системе Heatwave, построенной на MySQL, вызвал новую волну скептицизма о долгосрочных перспективах открытой системы. Выпуск версии 9.0 разочаровал некоторых наблюдателей.

Сегодня MySQL занимает первое место среди открытых баз данных в рейтинге DB-Engines, который учитывает упоминания на сайтах, тренды Google, обсуждения в технических форумах, вакансии, профессиональные профили и публикации в социальных сетях. В общем зачете она уступает только Oracle. В опросе профессиональных разработчиков Stack Overflow MySQL находится на втором месте после PostgreSQL. PostgreSQL также стала популярным интерфейсом для распределенных систем вроде YugabyteDB и CockroachDB, а облачные провайдеры AWS, Google Cloud и Microsoft Azure предлагают её как услугу.

Тем не менее система вряд ли сдаст позиции. По наблюдениям Шумахера из Gartner, люди отдают предпочтение open source продуктам всё чаще. "Учитывая общий настрой и импульс в пользу открытого кода, а также то, что MySQL остается первой ассоциацией с открытыми базами данных, она точно не исчезнет в ближайшее время", — уверен аналитик.

YouTube создал на основе MySQL распределенную систему Vitess, которую теперь используют Slack, Airbnb и GitHub. Компания PlanetScale, предоставляющая сервис баз данных на базе Vitess, стремится обеспечить инфраструктурой новое поколение веб-стартапов.

Независимо от конкуренции с PostgreSQL, место MySQL в истории технологий уже обеспечено благодаря её роли в стеке LAMP, который способствовал взрывному росту социальных сетей и потребительских сайтов с начала 2000-х годов. Шумахер вспоминает слова одного из руководителей стартапов того времени: без MySQL у него просто не было бы бизнеса.

"Помимо стоимости, привлекала простота использования. Отсутствие сложного лицензирования позволяло разработчикам скачать программу и начать работать с ней в тот же час, не проходя закупочные процедуры и не связываясь с Oracle или Microsoft. Сейчас мы привыкли к такому подходу, но тогда это было в новинку", — подчеркивает Робин.

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

* Компания Meta и её продукты признаны экстремистскими, их деятельность запрещена на территории РФ.

Твой код — безопасный?

Расскажи, что знаешь о DevSecOps.
Пройди опрос и получи свежий отчет State of DevOps Russia 2025.