«Яндекс» полностью перевел сервис «Яндекс.Почта» с СУБД Oracle на PostgreSQL. Проект занял четыре года.

Как было сообщено в рамках конференции Pgcon, решение об уходе с Oracle было принято еще в 2012 году. Среди причин, побудивших к такому шагу, отмечаются неотзывчивая поддержка, неудобное развертывание, закрытый код, большой объем ручных операций и большие затраты на сопровождение.

В течение двух лет проводились эксперименты, и летом 2014 года был подготовлен прототип рабочей системы для «Яндекс.Почты» на основе PostgreSQL. После этого еще около двух лет потребовалось на его доработку и внедрение. В сентябре 2015-го была проведена экспериментальная миграция неактивных пользователей сервиса, затем в январе 2016-го стартовал процесс перевода активных пользователей. Полностью переход «Яндекс.Почты» на PostgreSQL был завершен в июле.

Система обеспечивает хранение около 1 Пбайт данных (более 100 млрд записей) и обрабатывает 250 тыс. запросов в секунду. Из задействованных после миграции специфичных возможностей PostgreSQL отмечаются версионирование данных, массивы и составные типы. Замена хранимых процедур Oracle PL/SQL на PL/pgSQL позволила сократить их размер и расширить возможности по тестированию.

Поделитесь материалом с коллегами и друзьями

Купить номер с этой статьей в PDF