Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.
Как можно сэкономить на лицензиях и снизить
нагрузку на Oracle, переселив отчёты в
PostgreSQL
Кухарчук Иван
wedge@yandex-t...
Oracle в Яндексе
● Да, он есть (см. презентации и статьи
Владимира Бородина)
● Да, он «стоит как чугунный мост»
● Остально...
Наш случай
● COTS hardware
● OLTP (да ещё и с SLA)
● Реальные деньги (Яндекс.Маркет)
● Объем базы ~ 2,5 Тб
● 1 Primary, 2 ...
Кто виноват
● У нас появились аналитики
● «Тяжелые» запросы
● Активное использование count(*) и прочих
агрегатных функций
...
Что делать
● Поднимать ещё
один standby —
дорого
● Выгружать данные
куда-то — непонятно
SymmetricDS
● Near-realtime (когда
работает)
● JDBC
● широкие
возможности
трансформации
данных
Минусы:
● триггерная систем...
Ora2Pg
Плюсы:
● Широко известный
инструмент
● Быстрый
Минусы:
● Расчитан на
разовые операции
● На наших объёмах
— долго
● ...
Ускоряем ora2pg
● О! У нас есть партиции по дням!
● В Postgres есть наследование таблиц
● Но… ora2pg не умеет партиции* :(...
WARNING
● Логируйте запросы и стройте новые индексы
(Кэп!), чтобы аналитики были счастливы
● Положите индексы на SSD
● Таб...
На выходе
● 1 COTS-сервер
● 128 Gb RAM
● 4xSSD 400G — под индексы
● 24xHDD 4Tb — под данные
● 1,8 Tb RAW-данных, +2-3G/ден...
Вопросы?
Nächste SlideShare
Wird geladen in …5
×

#PostgreSQLRussia 2015.09.15 - Иван Кухарчук, ЯНДЕКС. Как можно сэкономить на лицензиях и снизить нагрузку на Oracle, переселив отчёты в PostgreSQL

1.763 Aufrufe

Veröffentlicht am

Встречи сообщества http://PostgreSQLRussia.org
Иван Кухарчук, ЯНДЕКС. Как можно сэкономить на лицензиях и снизить нагрузку на Oracle, переселив отчёты в PostgreSQL.

Veröffentlicht in: Technologie
  • Als Erste(r) kommentieren

#PostgreSQLRussia 2015.09.15 - Иван Кухарчук, ЯНДЕКС. Как можно сэкономить на лицензиях и снизить нагрузку на Oracle, переселив отчёты в PostgreSQL

  1. 1. Как можно сэкономить на лицензиях и снизить нагрузку на Oracle, переселив отчёты в PostgreSQL Кухарчук Иван wedge@yandex-team.ru
  2. 2. Oracle в Яндексе ● Да, он есть (см. презентации и статьи Владимира Бородина) ● Да, он «стоит как чугунный мост» ● Остальное — NDA :)
  3. 3. Наш случай ● COTS hardware ● OLTP (да ещё и с SLA) ● Реальные деньги (Яндекс.Маркет) ● Объем базы ~ 2,5 Тб ● 1 Primary, 2 Standby Всё как бы хорошо: быстро, надёжно, но...
  4. 4. Кто виноват ● У нас появились аналитики ● «Тяжелые» запросы ● Активное использование count(*) и прочих агрегатных функций ● Неоптимальные запросы
  5. 5. Что делать ● Поднимать ещё один standby — дорого ● Выгружать данные куда-то — непонятно
  6. 6. SymmetricDS ● Near-realtime (когда работает) ● JDBC ● широкие возможности трансформации данных Минусы: ● триггерная система репликации ● посредственная производительность
  7. 7. Ora2Pg Плюсы: ● Широко известный инструмент ● Быстрый Минусы: ● Расчитан на разовые операции ● На наших объёмах — долго ● Perl
  8. 8. Ускоряем ora2pg ● О! У нас есть партиции по дням! ● В Postgres есть наследование таблиц ● Но… ora2pg не умеет партиции* :( ● ОК, лезем в перлячку, патчим ora2pg ● Пишем генератор конфигов для ora2pg на python … ● PROFIT! *речь о версии 12.0
  9. 9. WARNING ● Логируйте запросы и стройте новые индексы (Кэп!), чтобы аналитики были счастливы ● Положите индексы на SSD ● Таблички-словари дешевле перегружать целиком ● Не забудьте мониторинг
  10. 10. На выходе ● 1 COTS-сервер ● 128 Gb RAM ● 4xSSD 400G — под индексы ● 24xHDD 4Tb — под данные ● 1,8 Tb RAW-данных, +2-3G/день ● Доливка свежих данных ночью за 5-10 минут
  11. 11. Вопросы?

×