SlideShare a Scribd company logo
2015.02.06 PostgreSQL в Яндексе: история успеха №2
PostgreSQL в Яндексе:
история успеха №2
Владимир Бородин
events.yandex.ru/lib/talks/2382
Разработчик
Нужна небольшая
табличка, с транзакциями
Первые проблемы
5
Первые проблемы
〉Много мелких изменяющих запросов
〉Очень медленно
〉GDB показал, что виноват WALWriteLock
〉synchronous_commit = off снимает симптомы
〉commit_delay и commit_siblings не помогают
6
Первые решения
〉pg_xlog на отдельном массиве,
〉эта ФС смонтирована с nobarrier,
〉wal_sync_method = fsync
7
Стрельба без приложения
8
Прямо сейчас
9
Менеджер
Нам надо ещё 10 ТБ
положить
Детали
〉Хранить надо 30 дней
〉Чем старше данные, тем реже за ними приходят
〉Во все читающие запросы можно добавить время
11
Partitioning
Варианты
〉pg_part
〉pg_partman
〉partition magic
13
pg_partman
14
Обновление функции триггера на мастер-таблице
15
Перекладывание данных
с SSD на SATA
Варианты
〉ALTER TABLE foo SET TABLESPACE sata;
〉http://reorg.github.io/pg_repack/
17
Большое количество WAL’ов
18
Решение
〉Средствами БД победить не удалось
〉На помощь пришли cgroups
〉Ограничение на объём данных для
группы процессов
19
Решение
20
github.com/reorg/pg_repack/pull/34
Autovacuum to prevent wraparound
22
Autovacuum to prevent wraparound
23
Autovacuum to prevent wraparound
24
PostgreSQL
ERROR: database is not
accepting commands to
avoid wraparound data loss
in database "xivadb"
Autovacuum to prevent wraparound
〉Выключили throttling
〉Последовательный VACUUM таблиц на SATA
26
Бэкапы
27
http://www.postgresql.org/about/news/1566/
Barman 1.4.0
Запрос во все партиции
29
Запрос во все партиции
30
Решение
31
32
Вопросы?
34
Владимир Бородин
Системный администратор
Контакты
@man_brain
http://simply.name
+7 (495) 739 70 00, доб. 7255
d0uble@yandex-team.ru

More Related Content

PDF
Сага о кластере. Все что вы хотели знать про горизонтальное масштабирование в...
PDF
Последние новости постгреса с PGCon / О.Бартунов, А.Коротков, Ф.Сигаев (Postg...
PDF
Профилирование Node.js
PDF
Хранение данных на виниле / Константин Осипов (tarantool.org)
PPTX
Тюним память и сетевой стек в Linux: история перевода высоконагруженных серве...
PPT
Масштабируемая система голосования на базе PostgreSQL. PGQ (Сергей Нековаль)
PPTX
JS Fest 2019. Игорь Березин и Николай Крещенко. Эволюция архитектуры многогра...
PPTX
Защита данных и датацентров от катастроф. Подход Nutanix / Максим Шапошников ...
Сага о кластере. Все что вы хотели знать про горизонтальное масштабирование в...
Последние новости постгреса с PGCon / О.Бартунов, А.Коротков, Ф.Сигаев (Postg...
Профилирование Node.js
Хранение данных на виниле / Константин Осипов (tarantool.org)
Тюним память и сетевой стек в Linux: история перевода высоконагруженных серве...
Масштабируемая система голосования на базе PostgreSQL. PGQ (Сергей Нековаль)
JS Fest 2019. Игорь Березин и Николай Крещенко. Эволюция архитектуры многогра...
Защита данных и датацентров от катастроф. Подход Nutanix / Максим Шапошников ...

What's hot (20)

PDF
Современная операционная система: что надо знать разработчику / Александр Кри...
PDF
Я. Садовская "Управление конфигурациями и тестовой средой", DUMP-2014
PDF
Механика DDoS (Александр Крижановский)
PDF
Big Data aggregation techniques
PDF
pgconf.ru 2015 avito postgresql
PPT
Moscow Exchange Test Automation of a Backup System at TMPA-2014 (Trading Syst...
PDF
Девять кругов ада или PostgreSQL Vacuum / Алексей Лесовский (PostgreSQL-Consu...
PDF
Строим сервисы на базе Nginx и Tarantool / Василий Сошников, Андрей Дроздов (...
PDF
Cоздаем пробки или тюнинг postgresql для расчетных задач
PDF
AVITO. Решардинг Redis без даунтайма. DevConf 2012
PDF
Разработка высокопроизводительных серверных приложений для Linux/Unix (Алекса...
PDF
Реализация восстановления после аварий / Сергей Бурладян (Avito)
PPTX
Monitoring driven эксплуатация / Николай Сивко (HeadHunter)
PDF
2014.09.24 история небольшого успеха с PostgreSQL (Yandex)
PDF
SphinxSearch Meetup - Tips&tricks
PPTX
OpenResty: превращаем NGINX в полноценный сервер приложений / Владимир Прота...
PDF
DPDK в виртуальном коммутаторе Open vSwitch / Александр Джуринский (Selectel)
PDF
RootConf 2015
PPTX
Jinba - frontendconf.ru/2015
Современная операционная система: что надо знать разработчику / Александр Кри...
Я. Садовская "Управление конфигурациями и тестовой средой", DUMP-2014
Механика DDoS (Александр Крижановский)
Big Data aggregation techniques
pgconf.ru 2015 avito postgresql
Moscow Exchange Test Automation of a Backup System at TMPA-2014 (Trading Syst...
Девять кругов ада или PostgreSQL Vacuum / Алексей Лесовский (PostgreSQL-Consu...
Строим сервисы на базе Nginx и Tarantool / Василий Сошников, Андрей Дроздов (...
Cоздаем пробки или тюнинг postgresql для расчетных задач
AVITO. Решардинг Redis без даунтайма. DevConf 2012
Разработка высокопроизводительных серверных приложений для Linux/Unix (Алекса...
Реализация восстановления после аварий / Сергей Бурладян (Avito)
Monitoring driven эксплуатация / Николай Сивко (HeadHunter)
2014.09.24 история небольшого успеха с PostgreSQL (Yandex)
SphinxSearch Meetup - Tips&tricks
OpenResty: превращаем NGINX в полноценный сервер приложений / Владимир Прота...
DPDK в виртуальном коммутаторе Open vSwitch / Александр Джуринский (Selectel)
RootConf 2015
Jinba - frontendconf.ru/2015
Ad

Similar to 2015.02.06 PostgreSQL в Яндексе: история успеха №2 (9)

PDF
История успеха Яндекс.Почты с PostgreSQL / Владимир Бородин (Яндекс)
PDF
История успеха Яндекс.Почты
PDF
PostgreSQL Vacuum: Nine Circles of Hell
PDF
Call of Postgres: Advanced Operations (part 3)
PDF
Павел Лузанов, Postgres Professional. «PostgreSQL для пользователей Oracle»
PDF
Олег Бартунов и Иван Панченко
PDF
PG Day'14 Russia, PostgreSQL: архитектура, настройка и оптимизация, Илья Косм...
ODP
История успеха Яндекс.Почты с PostgreSQL / Владимир Бородин (Яндекс)
История успеха Яндекс.Почты
PostgreSQL Vacuum: Nine Circles of Hell
Call of Postgres: Advanced Operations (part 3)
Павел Лузанов, Postgres Professional. «PostgreSQL для пользователей Oracle»
Олег Бартунов и Иван Панченко
PG Day'14 Russia, PostgreSQL: архитектура, настройка и оптимизация, Илья Косм...
Ad

2015.02.06 PostgreSQL в Яндексе: история успеха №2