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

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


4lms089f8bszu8dcdfkt6q34b8wssqcx.jpg


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

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

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

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

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

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

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

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

С первых дней команда MySQL активно привлекала пользователей и сторонних разработчиков. Питер Зайцев, уроженец России и будущий сооснователь консалтинговой компании 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 по базам данных, в то время работал в MySQL.

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

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

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

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

В итоге он создал форк кода MySQL под названием MariaDB и основал одноименную компанию. MariaDB пережила неудачное IPO в конце 2022 года под руководством тогдашнего генерального директора Майкла Говарда. После нескольких взлетов и серьезных падений компанию в сентябре прошлого года купила частная инвестиционная фирма K1 Investment Management. MariaDB поддерживает тесные связи со своим фондом открытого кода и продолжает обслуживать крупных клиентов, включая 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 предлагают её как услугу.

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

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

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

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

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