Компания "Яндекс" осуществила переход с СУБД Oracle на PostgreSQL — свободное программное обеспечение с открытым исходным кодом.
В 2000 г. "Яндекс" запустил "Яндекс.Почту". Изначально все данные хранились и обрабатывались в СУБД Oracle. В настоящее время сервисом пользуются более 10 млн человек ежедневно, ежедневно серверы компании принимают свыше 150 млн писем, общий объем хранимых данных — более 20 ПБ.
Решение отказаться от Oracle
В 2012 г. "Яндекс" принял решение отказаться от СУБД Oracle и сделать это в течение ближайших трех лет. В 2013 г. разработчики начали экспериментировать с различными альтернативами: PostgreSQL, NoSQL, самописным решением на базе платформы, используемой в поиске "Яндекса".
Этапы перехода
К концу 2014 г. был создан прототип системы для "Яндекс.Почты" на базе PostgreSQL. После чего началась основная фаза разработки, она продлилась год — до января 2016 г. После этого началась миграция аккаунтов на новую систему, она длилась до апреля текущего года. Полностью перевод "Яндекс.Почты" на PostgreSQL был завершен в июле. В общей сложности работа заняла 10 человеко-лет (эквивалентно работе 10 людей в течение 1 года). Она была выполнена исключительно собственными силами компании, уточнил CNews представитель "Яндекса" Владимир Исаев.
Мотивы отказа от Oracle
По словам представителей "Яндекса", к переводу сервиса на новую СУБД их побудили: неотзывчивая служба технической поддержки Oracle, большой объем ручных операций, закрытость кода, неудобное развертывание и большие затраты на содержание.
"PostgreSQL – открытая система, поэтому мы можем сами оперативно решать возникающие проблемы. Это важно для сервиса, работающего в режиме 24/7. Кроме того, в PostgreSQL кэш библиотек не блокируется, а значит развёртывание изменений (в том числе и на этапе тестирования) становится проще", — добавил Исаев.
На сегодняшний день в "Яндексе" переведена на открытую СУБД PostgreSQL только "Яндекс.Почта". В компании не стали отвечать на вопрос, планируется ли перевод на эту СУБД других ее сервисов.