Яндекс.Почта успешно мигрировала с Oracle на PostgreSQL
По информации из доклада Владимира Бородина на конференции Pgcon, компания Яндекс полностью завершила перевод сервиса Яндекс.Почта с СУБД Oracle на PostgreSQL. Решение по уходу с CУБД Oracle было принято в 2012 году. Затем два года проводились эксперименты и летом 2014 года был подготовлен прототип рабочей системы для Яндекс.Почты на основе PostgreSQL, после чего потребовалось около двух лет на его доработку и внедрение. В сентябре 2015 была проведена экспериментальная миграция неактивных пользователей сервиса, затем в январе 2016 стартовал процесс перевода активных пользователей. Полностью переход Яндекс.Почты на PostgreSQL был завершён в июле.
Система обеспечивает хранение около 1 Пб данных (более 100 миллиардов записей) и обрабатывает 250 тысяч запросов в секунду. Среди причин, побудивших к уходу от Oracle, отмечается неотзывчивая поддержка, неудобное развёртывание, закрытый код, синхронные клиентские интерфейсы, большой объем ручных операций и большие затраты на сопровождение. Из задействованных после миграции специфичных возможностей PostgreSQL отмечается версионирование данных, массивы и составные типы. Замена хранимых процедур Oracle PL/SQL на PL/pgSQL позволила сократить их размер и расширить возможности по тестированию. Отсутствие блокировки кэша библиотек позволило упростить развёртывание изменений.