Разделы

Интернет Веб-сервисы Цифровизация Внедрения Инфраструктура

«Яндекс.Почта» мигрировала с СУБД Oracle на PostgreSQL

«Яндекс» перевел свой почтовый сервис «Яндекс.Почта» с СУБД Oracle на открытое решение PostgreSQL. Процесс занял более трех лет. В компании отметили, что отказаться от решений американского поставщика они решили из-за его сложности и нерасторопности поддержки производителя.

«Яндекс.Почта» на новой СУБД

Компания «Яндекс» осуществила переход с СУБД Oracle на PostgreSQL — свободное программное обеспечение с открытым исходным кодом.

В 2000 г. «Яндекс» запустил «Яндекс.Почту». Изначально все данные хранились и обрабатывались в СУБД Oracle. В настоящее время сервисом пользуются более 10 млн человек ежедневно, ежедневно серверы компании принимают свыше 150 млн писем, общий объем хранимых данных — более 20 ПБ.

Решение отказаться от Oracle

В 2012 г. «Яндекс» принял решение отказаться от СУБД Oracle и сделать это в течение ближайших трех лет. В 2013 г. разработчики начали экспериментировать с различными альтернативами: PostgreSQL, NoSQL, самописным решением на базе платформы, используемой в поиске «Яндекса».

Этапы перехода

К концу 2014 г. был создан прототип системы для «Яндекс.Почты» на базе PostgreSQL. После чего началась основная фаза разработки, она продлилась год — до января 2016 г. После этого началась миграция аккаунтов на новую систему, она длилась до апреля текущего года. Полностью перевод «Яндекс.Почты» на PostgreSQL был завершен в июле. В общей сложности работа заняла 10 человеко-лет (эквивалентно работе 10 людей в течение 1 года). Она была выполнена исключительно собственными силами компании, уточнил CNews представитель «Яндекса» Владимир Исаев.

«Яндекс» перевел свой почтовый сервис на открытую СУБД PostgreSQL

Один из крупнейших российских вендоров PostgreSQL — компания Postgres Professional — отказался прокомментировать свое возможное участие в проекте, сославшись на «соглашение о конфиденциальности», которое «не позволяет комментировать проекты с “Яндексом”».

Мотивы отказа от Oracle

По словам представителей «Яндекса», к переводу сервиса на новую СУБД их побудили: неотзывчивая служба технической поддержки Oracle, большой объем ручных операций, закрытость кода, неудобное развертывание и большие затраты на содержание.

«PostgreSQL – открытая система, поэтому мы можем сами оперативно решать возникающие проблемы. Это важно для сервиса, работающего в режиме 24/7. Кроме того, в PostgreSQL кэш библиотек не блокируется, а значит развёртывание изменений (в том числе и на этапе тестирования) становится проще», — добавил Исаев.

На сегодняшний день в «Яндексе» переведена на открытую СУБД PostgreSQL только «Яндекс.Почта». В компании не стали отвечать на вопрос, планируется ли перевод на эту СУБД других ее сервисов.

Сергей Попсулин