Пул соединений в масштабе
Многие знают, что соединения в PostgreSQL дорогие, а потому их надо экономить. Для решения этой задачи давно есть PgPool-II и PgBouncer. В Яндексе никого не удивить десятками тысяч соединений к одной базе и с незапамятных времён мы используем pgbouncer. В этом докладе я расскажу о проблемах, с которыми мы сталкивались, и способах их решения.
ВИДЕО
Слайды
Другие доклады
-
Дмитрий Лебедев BestPlace Разработчик-исследователь ГИС
Исследования геоданных при помощи PostGIS и смежных инструментов
Сегодня работая с открытыми данными можно сделать интересные исследования в области городской среды и географии, с перспективными и нетривиальными выводами. В докладе я дам примеры пространственных расчётов на PostGIS — фактическом пром стандартом в области.
Но одного PostGIS мало, и в работе требуются инструменты для импорта, проверки и визуализации данных. Кроме того критически важно видеть что происходит с нашими данными и сокращать итерации работы, о чём я подробно расскажу.
- Сбор данных; базы данных, открытые API, OpenStreetMap; ввод геоданных от пользователя.
- Применение сторонних API для расчётов и обработки.
- Вывод и визуализация результатов: QGIS, Matplotlib, Zeppelin — интеграция с PostGIS.
- Отладка расчётов - визуализация "на лету" (Arc, QGIS, NextGIS Web)
- Воспроизводимость и автоматизация действий: скриптинг и отслеживание зависимостей на Makefile, Gulp
-
Илья Космодемьянский Data Egret
Внутреннее устройство подсистемы ввода-вывода Linux для администраторов PostgreSQL
Вопросы производительность ввода-вывода всегда были на повестке дня DBA всё время, пока существуют базы данных. Объемы данных быстро растут и важно, чтобы чтение с диска, и особенно запись на него, оставалась быстрой.
Для большинства СУБД сравнительно легко найти готовый чеклист по рекомендуемым настройкам Linux для максимизации производительности ввода-вывода, и он, как правильно, действительно хорош. Однако всегда полезно понимать, как и почему эти настройки работают.
В этом докладе будет объяснено, как работает подсистема ввода-вывода в Linux, как страницы данных PostgreSQL попадают с диска в разделяемый буфер и обратно, и с помощью каких механизмов можно управлять этими процессами.
-
Ильдар Мусин Postgres Professional РазработчикДмитрий Иванов Postgres Professional Developer
Секционирование с pg_pathman
Секционирование в PostgreSQL - давно ожидаемый функционал. И хотя в Postgres возможно реализовать секционирование через наследование, такой подход имеет ряд недостатков, таких как необходимость вручную создавать секции и поддерживать триггеры, значительные накладные расходы на планирование и отсутствие оптимизаций времени выполнения. В докладе мы расскажем про расширение pg_pathman, над которым мы работаем. pg_pathman поддерживает HASH и RANGE секционирование и выполняет оптимизации на этапах планирования и исполнения, поддерживает быструю вставку за счет отказа от триггеров в пользу Custom Node, содержит функции для управления секциями (add, split, merge и др.), поддерживает FDW, неблокирующую миграцию данных и другие возможности. Мы также расскажем об интеграции pg_pathman в PostgresPro Enterprise Edition и поддержку Oracle-подобного синтаксиса для секционирования. В завершение мы расскажем о новых возможностях секционирования в PostgreSQL 10, что реализовано и пути дальнейшего развития.
ВИДЕО
-
Дорофей Пролесковский Juno GIS Engineer
Движущиеся цели в PostGIS
Для хранения и обработки пространственных данных в Postgres существует расширение PostGIS. В нём обычно рассматривается обычная Евклидова плоскость без времени и неопределённости, но реальный мир зачастую сложнее. Посмотрим, как можно сделать так, чтобы тысячи машинок плавно ездили по карте OpenStreetMap в реальном времени с помощью Postgres.
ВИДЕО