PlanetScale: база данных, которая растёт вместе с вами

Обзор PlanetScale — serverless MySQL-платформы на основе Vitess. Ветвление баз данных, бесшовное масштабирование, невероятный Developer Experience.

Откуда взялся PlanetScale

Представьте: ваша MySQL-база разрослась до десятков терабайт, реплики не справляются с нагрузкой, а шардинг вручную вызывает холодный пот у всей команды. Именно с этой болью столкнулись в YouTube ещё в конце 2000-х. Решением стал Vitess — опенсорсный слой масштабирования для MySQL, который до сих пор обслуживает миллиарды запросов в Google.

PlanetScale взял Vitess, завернул его в элегантный serverless-интерфейс и сделал доступным каждому разработчику. Результат? MySQL, который не падает под нагрузкой, умеет ветвиться как Git и масштабируется горизонтально без единого изменения в коде.

Ветвление баз данных: главная фишка

Самая яркая особенность PlanetScale — branching. Работает точно как Git-ветки, только для схемы данных:

  1. Создаёте ветку от продакшен-базы
  2. Вносите изменения схемы (добавляете колонки, таблицы, индексы)
  3. Открываете deploy request — аналог pull request, но для базы данных
  4. Команда ревьюит изменения
  5. Мёржите — и схема обновляется без даунтайма

Никаких страшных миграций в 3 часа ночи. Никаких ALTER TABLE, блокирующих продакшен на часы. PlanetScale применяет изменения онлайн, не блокируя чтение и запись.

Более того, каждую ветку можно подключить к staging-окружению и тестировать на реальных данных. Схема базы становится такой же управляемой, как и код приложения.

Технология под капотом

Основа PlanetScale — это Vitess. За этим словом стоит мощная архитектура:

  • Автоматический шардинг. Данные равномерно распределяются по множеству физических нод
  • Connection pooling. Тысячи подключений от приложения схлопываются в десятки на уровне базы
  • Отказоустойчивость. Выход из строя одной ноды не влияет на доступность
  • Online DDL. Изменения схемы применяются без блокировок

Для разработчика всё это выглядит как обычный MySQL — те же драйверы, те же SQL-запросы. Разница лишь в том, что база не ложится под нагрузкой.

Developer Experience

PlanetScale питает почти маниакальную страсть к качеству DX. CLI-инструмент pscale позвояет управлять базами из терминала: создавать ветки, открывать деплой-реквесты, подключаться к базе одной командой.

Встроенная консоль в веб-интерфейсе позволяет выполнять запросы прямо в браузере, с автодополнением и подсветкой синтаксиса. Аналитика запросов показывает, какие SELECT/INSERT/UPDATE потребляют больше всего ресурсов — бесценно для оптимизации.

Отдельного упоминания заслуживает интеграция с ORM. Prisma, Drizzle, Knex — все работают из коробки, без танцев с бубном.

Ценообразование

PlanetScale предлагает несколько тарифов, начиная с бесплатного Hobby-плана, который включает 1 млрд строк читаемых в месяц и 10 млн записанных — достаточно для большинства пет-проджектов и небольших приложений.

Платные планы стартуют от $39/месяц и растут по мере увеличения нагрузки. Модель основана на объёме прочитанных/записанных строк и хранилище — предсказуемо и прозрачно.

Важный нюанс: PlanetScale — это serverless. Нет никаких «инстансов», которые нужно выбирать и оплачивать. Платформа сама выделяет ресурсы по мере необходимости.

Когда PlanetScale — правильный выбор

  • Вы работаете с MySQL и планируете расти
  • Вам нужен процесс ревью изменений схемы (database CI/CD)
  • Вы устали от даунтаймов при миграциях
  • Вы цените DX и хотите, чтобы база данных была удовольствием, а не болью

Когда стоит посмотреть в сторону

  • Вам критично важен полный контроль над инфраструктурой (self-hosted — не про PlanetScale)
  • Вы используете хранимые процедуры, триггеры, внешние ключи — PlanetScale не поддерживает foreign keys (это осознанное решение, связанное с шардингом)
  • Ваш бюджет строго ограничен, а нагрузка высока — serverless может оказаться дороже зарезервированных инстансов

Вердикт

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

planetscale.com