В Ria.ru поменяли Oracle на PostgreSQL
По информации Roem.ru, «Россия сегодня» (в эту медиагруппу входят Ria.ru, «Прайм», ИноСМИ и другие проекты. Russia Today в группу не входит) прекратили использование продуктов Oracle. Все необходимые техпроцессы теперь завязаны на PostgreSQL, сопровождение которой обходится «на порядок дешевле».
![](/media/2016/04/04/postgresql-logo11.png)
Миграцией вторую половину 2015-го года занимались бывшие сотрудники Rambler Михаил Чеканов (Михаил ещё известен руководством веб-проектов Олимпийских игр в Сочи) и Сергей Томулевич. По словам Михаила Чеканова, получившаяся инфраструктура на базе PostgreSQL обходится «на порядок дешевле», подрядчики в ходе переезда не привлекались, внутри проекта использовали имеющиеся ресурсы: переводили часть проектов на PostgreSQL, освобождали оборудование, после чего переводили следующую часть.
По мнению Михаила Чеканова, парадоксом Oracle является то, что их главное конкурентное преимущество на рынке — это цена (которая, естественно, выше, чем у вариантов внедрения на PostgreSQL). Как объясняет Михаил Чеканов, в процессе выбора решения для инфраструктуры, лица принимающие решение могут обосновать выбор Oracle как «самое лучшее на рынке решение» и его «лучшесть» очевидна и понятна начальству из-за цены. Любое другое решение в случае каких-либо проблем даёт CTO возможность сказать, что начальство само виновато, поскольку не последовало рекомендациям технарей.
Использование Oracle, тем не менее, не гарантирует работоспособности даже критических приложений: например, в 2012-м году «Сбербанк» пережил падение процессинга своих карт, которое продолжалось вечером пятницы в течение трёх часов.
Как Oracle появился в «РИА Новостях»
На Oracle проекты МИА «Россия сегодня» (тогда ещё РИА «Новости») перешли в 2008-м году с той же PostgreSQL. Анатолий Стояновский, отвечавший за переезд в 2008-м, в комментарии Roem.ru так описал процесс и причины перевода:
Oracle использовался прежде всего для хранения особо критичных данных — в случае РИА это был новостной контент. У нас сложилась такая конфигурация — под базы данных Oracle были отданы лучшие сервера, лучшая команда DBA и системных администраторов. За почти 9 лет я не помню ни одной существенной аварии с потерей данных, и только несколько, приведших к короткой недоступности. Дальше это уже напоминает снежный ком: новые проекты автоматически строятся на Oracle. Эта СУБД обладает таким инструментарием анализа и оптимизации запросов, позволяет настолько детально препарировать их исполнение под высокой нагрузкой, что достаточно быстро это стало определяющим фактором в быстрой разработке.Если говорить о нашей веб-платформе, то вопрос о переезде на более дешевые альтернативы поднимался почти каждый год. Мы безусловно имели возможность в любой момент начать перенос собственного ПО на другое хранилище данных. Но каждый раз баланс между рисками пусть временного, но снижения надежности и темпами развития склонялся в сторону последнего. Что означает проект переезда в ситуации динамично развивающейся компании? Команда разработчиков перестает заниматься новыми проектами на год (в нашем случае, т.к. ораклового кода было много). Мало перенести код, нужно его заново оптимизировать. Используя Oracle, мы потратили много времени на оптимальную балансировку производительности всех запросов, индексов, конфигураций и т. п. — в больших базах данных с динамическими (разными) запросами и высокой нагрузкой это очень важно. Немаловажный фактор — переобучение или замена системных администраторов. Не каждый сертифицированный Oracle DBA с таким же энтузиазмом переключится другие СУБД.
Первым этапом (еще в 2008 году) мы перенесли из Oracle в Postgres все данные, связанные с кэшированием, так что теперь мы могли горизонтально масштабироваться без приобретения дополнительных лицензий. Вторым этапом начался перенос некритичных к потере данных в другие хранилища (в основном это был MongoDB) — контент остался в Oracle, а такие вещи, как данные о пользователях и их поведении переехали в более удобные для таких задач хранилища. Третьим этапом был осуществлен перенос контента и полный отказ от Oracle (эту часть команда делала уже без меня — после ликвидации РИА Новости у программистов появилась возможность нормально сфокусироваться на этом проекте). Насколько я знаю, качеством работы под Postgres сейчас довольны.
Резюмируя, изначально Oracle был выбран по классической стратегии «не плодить зоопарк» — часть систем уже использовали эту СУДБ с каких-то древних лет, одно цеплялось за другое. Каждая новая команда сначала смотрела на Oracle с опаской, но спустя какое-то время признавала удобство работы. В условиях динамичного развития, оказалось дешевле оплачивать лицензии, чем связывать ресурсы команды переносом кода, хотя технологическая возможность этого в будущем закладывалась изначально. И далее — «мягкий» многоэтапный переезд на бесплатные аналоги с аккуратным планированием ресурсов.
Кто отходит от Oracle
Цены на лицензии Oracle номинируются в рублях, но привязаны к доллару, что сильно увеличило стоимость поддержки IT-систем после роста курса доллара за последние полтора года. От продукции Oracle последовательно отказывались:
- Банк «Уралсиб», который сменил CRM Siebel (принадлежит Oracle) на SugarCRM
- Банк «Открытие» заменил часть внутренних систем (об этом ниже)
- «Ростелеком» декларирует перевод части своих проектов с Oracle на PostgreSQL
- Пенсионный фонд РФ перевёл документооборот на PostgreSQL
Этим список «отказников» не исчерпывается, и Oracle, в качестве меры противодействия, разослал по партнёрам инструкцию как убеждать клиентов выбирать продукты Oracle для внедрения: больше всего неприятностей у Oracle будет именно в будущем. То же «Открытие» не только перевело часть своих систем на PostgreSQL, но и создало задел дальнейшей миграции с Oracle.
«Мы реализуем стратегию перехода с дорогостоящих решений на СПО, в частности постепенно отказываемся от Oracle в пользу свободно распространяемых баз данных, таких как PostgreSQL и Tibero. Пока рассматриваем и осуществляем миграцию не критических для бизнеса систем, предварительно проводя оценку эффективности и трудоемкости миграции. Уже наращиваем внутреннюю компетенцию по сопровождению этих баз данных. В разработке новых систем дистанционного банковского обслуживания изначально закладываемся в сторону свободно распространяемых технологий и баз данных» — говорит Дмитрий Федоров, директор по развитию интернет технологий, ПАО «Ханты-Мансийский Банк Открытие»
Олег Бартунов, CEO Postgres Professional, по сути уже отвечал на претензии Oracle в отношении PostgreSQL, в частности, он отмечал, что проблем с производительностью PostgreSQL систем не выявляли крупные заказчики вроде пенсионного фонда Франции.