«Яндекс»: Переход с Oracle на открытое ПО.

Аватар пользователя vvelichko

В июле 2016 года «Яндекс» завершил перевод своего почтового сервиса на PostgreSQL. Переписывание всего кода для работы с Oracle и PostgreSQL в общей сложности заняло 10 человеко-лет.

Развертывание почтового сервиса на базе PostgreSQL потребовало использования в три раза больше аппаратного обеспечения.

Экономический эффект от миграции в компании предпочли не комментировать, равно как и планы по переводу с Oracle на PostgreSQL каких-либо других своих систем и сервисов.

 

Недостатки СУБД Oracle

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

Во-первых, Oracle стоит как чугунный мост. Во-вторых, частенько мы наталкиваемся на какие-то внутренние оракловые проблемы. Единственный способ что-то сделать - это обратиться в поддержку. Они нам обещают, что когда-нибудь починят, но «когда-нибудь» - это плохо. Нам надо прямо сейчас. По этим двум причинам мы решили отказываться от Oracle, - об этом говорил Владимир Бородин, выступая на конференции PostgreSQL Meetup еще в сентябре 2014 года

На конференции PGConf в феврале 2015 года он отмечал, что Oracle перестал устраивать «Яндекс» задолго до санкций и импортозамещения.

 

2012-2013: Старт проекта миграции на PostgreSQL и «пилот»

В 2012 году компания приняла «политическое» решение избавиться от Oracle за три года.
С июля 2013 года июнь 2014 года «Яндекс» проводил эксперимент на базе PostgreSQL со сборщиками почты. Сборщик - это «такая штука, которая ходит в другие почтовые системы по IMAP или POP3, собирает письма и кладет к вам в ящик. Нужно хранить информацию, куда и как ходить, и информацию о том, что уже собрано. Все метаданные лежали в Oracle, ровно как и все метаданные почты», рассказывал Владимир Бородин.
В результате миграции сборщиков в Postgres было перенесено 2,5 ТБ данных (около 17 млрд строк). Нагрузка системы - 40 тыс. запросов в секунду. По времени проект занял примерно полгода.
На лицензиях в результате отказа от Oracle в этом проекте, по словам Бородина, сэкономили столько, «что людям, которые этим занимаются, хватит на Бентли».

 

2015: Сотрудничество с Postgres Professional

По мнению Олега Бартунова, гендиректора компании «Постгрес Профессиональный», «Яндекс» всерьез заинтересовался Postgres. «За последнее время я прочитал их сотрудникам три лекции», - сообщил он TAdviser в июле 2015 года.

В проекте миграции почты «Яндекс» «сам проявил инициативу, сэкономил кучу денег, обеспечил нагрузку, отказоустойчивость», добавляет заместитель гендиректора «Постгрес Профессиональный» Иван Панченко.

Но интерес «Яндекса» в отношении Postgres, по словам Бартунова, гораздо шире, чем почтовый проект (в самом «Яндексе» это не подтверждают).

Они обратились к нам с просьбой создать в Postgres такие инструменты, чтобы им было легче проводить миграцию других систем, - рассказал TAdviser гендиректор «Постгрес Профессиональный». - Мы сделали возможность профилирования базы данных для работы в многоядерных серверах - это вещь, которая нужна всем владельцам крупных систем. Ее наличие позволит сделать Postgres еще более подходящим для крупных заказчиков.

В «Яндексе» TAdviser пояснили, что «Постгрес Профессиональный» разрабатывает для компании дополнительную функциональность, связанную с диагностикой и оптимизацией производительности: «Через некоторое время она будет доступна в бесплатной открытой сборке PostgreSQL, чтобы ей могли пользоваться и другие разработчики – это одно из условий нашего договора».
В «Постгрес Профессиональный» называют «Яндекс» одним из важнейших клиентов: «Для многих других компаний он является серьезным примером, показывающим возможности Postgres».

 

2016: Завершение миграции

К декабрю 2015 года сборщики почты были полностью переведены на новую СУБД, а в январе 2016 года начался основной перенос на нее почтового сервиса, следует из материалов Владимира Бородина. По итогам проекта в «Яндекс» осознали, что это далеко не последний проект с Postgres: «Нам очень понравилось. Были запущены другие проекты».

В июле 2016 года «Яндекс» завершил перевод своего почтового сервиса на PostgreSQL. Переписывание всего кода для работы с Oracle и PostgreSQL в общей сложности заняло 10 человеко-лет, приводят данные в «Яндексе».

Возникшие в процессе миграции проблемы Владимир Бородин связывает, в основном, не с PostgreSQL, а с данными: за более чем 10 лет существования «Яндекс.Почты» их накопилось очень много. Кроме того, возникали ошибки в коде переноса. В «Яндексе» заявили TAdviser, что в основном работали над ошибками в логике переноса данных.

В целом сложностей в ходе эксплуатации почты на PostgreSQL оказалось меньше, чем ожидал «Яндекс», но они, конечно, были, отметили в разговоре с TAdviser представители компании.

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

Мы перешли от вертикального масштабирования небольшого количества дорогих серверов к горизонтальному, когда серверов больше, но они дешевле, - заявили TAdviser в «Яндексе», добавив, что при этом изменилась только структура, производители не менялись.

Говоря о преимуществах PostgreSQL, в «Яндексе» отметили:

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

Экономический эффект от миграции в компании предпочли не комментировать, равно как и планы по переводу с Oracle на PostgreSQL каких-либо других своих систем и сервисов. Ранее Владимир Бородин рассказывал, что PostgreSQL успешно используется в «Яндекс.Картах» - «из-за божественного PostGIS'а». В этом проекте свободная СУБД была выбрана изначально.

 

Источник: http://www.tadviser.ru/

Комментарий автора: 

издали похоже на перемогу.

Комментарии

Аватар пользователя DDUH
DDUH(9 лет 9 месяцев)

Так перемога и есть. Оракл давно отстал от жизни, не спорю он стабилен - но в этом есть и минусы, багфиксы выходят если и выходят, то очень не часто. И в большинстве случаев поддержка предлагает обходные пути, вместо исправления багов.

П.С. 10 лет опыта программирования продуктом на базе оракловой базы.

Аватар пользователя PigPog
PigPog(12 лет 9 месяцев)

Так просто никто не знает и не понимает как он работает.

П.С. Опыт багфикса в монстропродукте от крупнейшей корпорации, которому на тот момент было лет 15, если не ошибаюсь.

Аватар пользователя Сварог
Сварог(9 лет 10 месяцев)

Молодцы, оракл маст дай. :) Не из-за качества софта, а из-за аппетитов аллигаторских.

Аватар пользователя Barmalley
Barmalley(12 лет 9 месяцев)

Оракл ленивые скотины :)

Аватар пользователя uzbek
uzbek(11 лет 4 месяца)

Оракл ленивые скотины :)

Поправка: Оракл - жадные ленивые скотины :)

Аватар пользователя Barmalley
Barmalley(12 лет 9 месяцев)

Ну в принципе первую дозу они дают бесплатно.

Аватар пользователя uzbek
uzbek(11 лет 4 месяца)

"Первая доза" - это EE(который Express, который XE)? Всегда было загадкой на какую целевую аудиторию позиционируется этот продукт.  

Аватар пользователя vvelichko
vvelichko(12 лет 11 месяцев)

вот например, полста инсталяций http://www.estaxi.ru/

Аватар пользователя uzbek
uzbek(11 лет 4 месяца)

Но тогда вопрос, почему был выбран именно "экзотический" XE, а не MySQL или PG, какой в этом профит?

Аватар пользователя vvelichko
vvelichko(12 лет 11 месяцев)

1. разработчики были оракловые.

2. писать начали в нулевых, pg ораклу тогда не конкурент был.

Аватар пользователя avex
avex(9 лет 9 месяцев)

издали похоже на перемогу

Давайте использовать русскую лексику - тема ни какой стороной не касается скакунов. Тем более, эти майданные словечки обросли отрицательными оттенками. 

Аватар пользователя Джейсон
Джейсон(8 лет 3 месяца)

Полностью согласен. Начинает раздражать подмена русских слов хохлятскими. 

Комментарий администрации:  
*** Отключен (провокатор) ***
Аватар пользователя Сварог
Сварог(9 лет 10 месяцев)

Более того, я не знаю какой смысл в слово перемога вкладывается. По мне так это "терпел, терпел и вытерпел". Примесь украинской крови не помогает. :)

Аватар пользователя vvelichko
vvelichko(12 лет 11 месяцев)

не-не-не, колесо генотьбы, зема, колесо генотьбы. перемога неотрывно связана с зрадой, как инь и янь. и это основной ее критерий. 

перешли на спо избавились от жадинки оракла - перемога!

потратили людские и материальные ресурсы, но экономический выхлоп отрицательный - зрада!

Аватар пользователя Omni
Omni(12 лет 2 месяца)

Это где выхлоп отрицательный? Они хвастались экономией на лицензиях, между строк ещё и на супер компах экономия, а это именно так при наличии своих площадей.

Аватар пользователя vvelichko
vvelichko(12 лет 11 месяцев)

хвастался экономией Володя Бородин, который любит спо. Комментарий Яндекса более чем сдержанный.

Экономический эффект от миграции в компании предпочли не комментировать, равно как и планы по переводу с Oracle на PostgreSQL каких-либо других своих систем и сервисов.

Я понимаю что оракл дорогой, только ФОТ программиста тоже не мал. А в сухом остатке 10 человеко-лет на перенос sql кода в простом почтаре, где этот sql на почтовой марке можно разместить. Утроенное кол-во серверов - это тоже рост затрат на поддержку и обслуживание. Тем более что x86 не предполагает сервис без downtime.

 

ЗЫ

Лично у меня ощущение какого-то барадака, т.е. решили перенести, но не представляли какой будет конечный результат. Больше похоже на инициативу снизу, чем на запланированную работу.

Аватар пользователя Omni
Omni(12 лет 2 месяца)

Тем более что x86 не предполагает сервис без downtime.

Это решается кластеризацией, давно, что по ФОТ, то иногда дешевле нанять стадо эникейщиков для большого парка обычных серверов, чем платить за лицензию ПО для руления этим всем малой группой экспертов, у которых тоже ФОТ не маленький, в принципе общая тенденция, даже пилорама Элон чего-то про кучу маленьких движков  на большой ракете толкал. 10 человеко-лет для программы на три года даёт команду из, примерно, 6-ти человек.

Лично у меня ощущение какого-то барадака

Бардак он везде, без госплана.

Аватар пользователя avex
avex(9 лет 9 месяцев)

А мне видится ложная победа, когда ею объявляется то, что не является победой - построили стену, закупили ржавых английских БТРов и т.п. Ну и пиррова победа, когда потерь больше, чем приобретений - известные котлы, например. 

Аватар пользователя vvelichko
vvelichko(12 лет 11 месяцев)

ложная победа - она ж изначально ложная. а перемога же переходит в зраду спустя какое-то время, с задержкой.

 

наложили санкции на торговлю с россией в 2014-ом. это перемога.

недосчитались 15 млрд гривен дохода в 2015 от падения производства - это зрада.

Аватар пользователя Mentat49
Mentat49(9 лет 7 месяцев)

Развертывание почтового сервиса на базе PostgreSQL потребовало использования в три раза больше аппаратного обеспечения.

Т.е. в 3 раза больше аппаратуры или народу больше потребовалось? Впрочем делали почти с нуля так что это ожидаемо.

Аватар пользователя v.p.
v.p.(12 лет 2 месяца)

вроде речь про аппаратуру но они походу просто ещё тупо проапгрейдились а не просто переехали на Постгрес, ну чтоб два раза не вставать.

Аватар пользователя vvelichko
vvelichko(12 лет 11 месяцев)

По тексту выходит, что у них стояло несколько больших машин под ораклом, подозреваю что три, две в синхронной репликации в разных дц и на третьей площадке с накатыванием архивлогов.

 

после миграции на x86 пришлось заменять каждую машину пучком x86 серверов и грусно чесать репу по поводу распараллеливания.

Аватар пользователя Barmalley
Barmalley(12 лет 9 месяцев)

Думаете одни спарки были ?

Аватар пользователя И-23
И-23(9 лет 2 месяца)

Я тоже говорю, что автору статьи явно и остро не хватает *современного* опыта эксплуатации каких-нибудь альфа-серверов.
Уже помощь (ему) во втыкании туда *последнего* сервера от оракла доставит массу высококалорийной еды.

Аватар пользователя vvelichko
vvelichko(12 лет 11 месяцев)

проснись, ты серишь.

Аватар пользователя vvelichko
vvelichko(12 лет 11 месяцев)

не знаю, свечку не держал. 

в тексте интересная цитата

Мы перешли от вертикального масштабирования небольшого количества дорогих серверов к горизонтальному, когда серверов больше, но они дешевле, - заявили TAdviser в «Яндексе», добавив, что при этом изменилась только структура, производители не менялись.

 

ibm x86-той бизнес передал леново, кто остается: оракл, фуджи, хп. вроде бы и все.

Аватар пользователя Barmalley
Barmalley(12 лет 9 месяцев)

Да, действительно, было бы интереснее если бы они это подробнее раскрыли.

Аватар пользователя Omni
Omni(12 лет 2 месяца)

Ну на примере НР - у них есть супердома и есть обычные блейд корзины - вот те самые вертикальные и горизонтальные масштабы, по ценам соответственно непропорционально.

Аватар пользователя Ягодка
Ягодка(12 лет 9 месяцев)

Молодцы парни из Яндекса. Моё почтение

Аватар пользователя Птица
Птица(9 лет 8 месяцев)

+

Аватар пользователя SailorJ
SailorJ(9 лет 6 месяцев)

+1

Я тоже восхищен. Мы прочно сидим на OEBS и я даже не могу представить, какого класса и объема нужны ресурсы, чтобы сделать то же самое на OpenSource

Аватар пользователя djsantehnik
djsantehnik(12 лет 1 месяц)

Так вот почему у меня вчера письмо во входящих пропало бесследно

Комментарий администрации:  
*** отключен (белоленточная пропаганда) ***
Аватар пользователя Ягодка
Ягодка(12 лет 9 месяцев)

Это была месть оракла.

Аватар пользователя Mad Elefant
Mad Elefant(8 лет 2 месяца)

Ударим "импортозамещением" по злобным империалистам! laugh

Хотя кмк это связано с невозможностью проконтролировать внутренний код СУБД Oracle, т.к. он поставляется в бинарниках.

Аватар пользователя Ягодка
Ягодка(12 лет 9 месяцев)

Не только. Поверьте, Oracle славится своим наплевательским отношением к своим же пользователям. При этом не меньше славы корпорация снискала на своих аппетитах. Цены не лицензии весьма жирные. Но самые мощные городские легенды конечно же об откатах ;)

Поэтому тут вижу следующие положительыне моменты:
1. Пресловутое импортозамещение - в данном случае снижение зависимости от иностранного поставщика, рост качества и количества отечественных специалистов (ведь им приходится решать новые задачи)
2. Безопасность бизнеса - нет или значительно меньше вендо-лок систем, + чисто технические плюшки в виде самостоятельных инструментов, самостоятельного развития СУБД что весьма круто даже на перспективу. + к черту всякие санкции.
3. Удар по вендору, который на пару с SAP за последние лет 20 прикормил немало всякого рода коррупционеров в IT-отрасли. Удар конечно не смертельный, но всё же приятно.

Аватар пользователя vvelichko
vvelichko(12 лет 11 месяцев)

я без наезда если чо.

отечественная компания, 450 тыс персонала. Бух учет единый на весь холдинг. Какое бухгалтерское ПО им развернуть?

Аватар пользователя Omni
Omni(12 лет 2 месяца)

Своё написать, масштабы позволяют, не детский сад чай.

Аватар пользователя vvelichko
vvelichko(12 лет 11 месяцев)

бесплатно написать, или таки программистам тоже надо будет платить, налоги отчислять, не? Впоследствии сопровождать свой продукт, штат разработчиков под сопровождение держать?

Аватар пользователя Omni
Omni(12 лет 2 месяца)

Да, за всё надо платить, но серьёзные конторы так и поступают, что дешевле чужого софта.

Аватар пользователя vvelichko
vvelichko(12 лет 11 месяцев)

серьезные софтовые конторы так поступают, а для, например, роснефти это непрофильный бизнес с высокими рисками и расходами.

потом можешь сам проверить, выковать новые пружины для своего авто например, дело то вообщем нехитрое, на базе любой МТС легко организуется. =)

Аватар пользователя Omni
Omni(12 лет 2 месяца)

Если-бы у меня был большой автопарк, то тогда может быть, а для одной машины это не имеет смысла - дешевле купить серийное изделие.

Аватар пользователя Ягодка
Ягодка(12 лет 9 месяцев)

Я ещё пока сотрудник 1С (аж до конца этой недели), поэтому могу посоветовать только 1С:Бухгалтерия 3.0 КОРП. Возможно 1C ERP2.0 к разработке которой имею честь иметь отношение.

Но даже когда перестану быть сотрудником 1С - всё же посоветую именно продукты этой компании.

Если надо посоветовать порядочных исполнителей - пишите в личку.

Аватар пользователя vvelichko
vvelichko(12 лет 11 месяцев)

Не имею ничего против 1С.

Самый шустрый вариант 1с-ки, на 8000 работающих, я видел на power 7+  c субд Oracle и аппликейшеном на 4-процессорном xseries c какими-то ксеонами.

 

на 100 тыс человек 1С пока даже не замахивается, а ведь это младшая конфигурация sap.

Аватар пользователя Ягодка
Ягодка(12 лет 9 месяцев)

Ваше дело... Не настаиваю. Но я, знаете ли, тоже много чело видел.

И на SAP я б в жизни ставку не сделал, не взирая на всякие мифы о том что вот мол САП че-то там "тянет".
Все эти 100-тысячные конфигурации САПА - это наверняка набор распределённых баз, в которых в сумме если взять - то да, можно набрать сто тысяч рабочих мест. Но это не единая база,  в которой работает одновременно 100 тысяч человек.

Впрочем, спорить дальше не буду. Будущая моя работа уже не будет связана с 1С.

Аватар пользователя vvelichko
vvelichko(12 лет 11 месяцев)

ок, это одна физическая машина. например такая E880.

узкое место 1С - богом проклятый x86. как только продукт освоит нормальные платформы жить станет веселее.

 

Посмотри по ссылке на Fujitsu PRIMEQUEST 2800B2, стоит эта штука как средних размеров звездолет, способна пережить замену процессора на живую, и т.д. 

Угадай под какие задачи его позиционируют в России и в целом по миру? =)))

Аватар пользователя Ягодка
Ягодка(12 лет 9 месяцев)

узкое место 1С - богом проклятый x86

1С уже давно выпускается под:

x86 - тонкий клиент, толстый, конфигуратор, сервер

x64 - сервер

Платформы - Windows (всё), Linux (всё, варианты deb и rpm), OS X - только клиенты, конфигуратор. 

Есть вариант платформы 1С под Android и iOS

Пишется новый конфигуратор платформы на базе платформы Eclipse. Недавно вышла очередная тестовая версия.

Поддерживаемые СУБД: MS SQL Server, Oracle, PostgreSQL, IBM DB2

Так что вы про узкие места того... Поаккуратнее ))

PS Да... А есть ещё 1cloud... Но то такое... Это вот уже под указанную по ссылке машинку.

Аватар пользователя vvelichko
vvelichko(12 лет 11 месяцев)

1С уже давно выпускается под:

x86 - тонкий клиент, толстый, конфигуратор, сервер

x64 - сервер

 

Это по твоему разные платформы? =))  

Я б с удовольствием 1С на power linux развернул, но вот хде? =))

 

Аватар пользователя Mad Elefant
Mad Elefant(8 лет 2 месяца)

Ну павер линух это конечно круто. Только вот каждый раз когда я вижу спеку на АйБиэМовский сервачок я понимаю почему до сих пор не захватили Галактику, потому что все деньги уходят на сервера. Хорошо что вы ещё не вспомнили ЗетЛинух.

Аватар пользователя vvelichko
vvelichko(12 лет 11 месяцев)

812 / 822 дешевле аналогичного по произодительности интела. что-то в районе 10к веб прайс за линукс версию. 

Хорошо что вы ещё не вспомнили ЗетЛинух.

смысл покупки LinuxOne мне не понятен, но обратная ситуация наооборот вполне логична.

 

Аватар пользователя И-23
И-23(9 лет 2 месяца)

Комментарий выдаёт острый недостаток личного опыта *ответственного* администрирования Oracle у автора.

Страницы