PostgreSQL в задачах транспортной аналитики при проектировании мастер-плана для ЧМ-2018 в Екатеринбурге
1) О Чемпионате мира по футболу 2018 и поставленных задачах; 2) Инструментарий отдела моделирования и аналитики; 3) Аналитика пассажиропотоков аэропорта Кольцово и железнодорожного транспорта дальнего и ближнего сообщения (Яндекс.Расписания); 4) Анализ населенности и занятости населения (2ГИС); 5) Прокладка маршрутов клиентских групп с автоматическим выводом метаинформации и сборка отчетных материалов (PostgreSQL + QGIS + Python + LaTeX); 6) Развертывание карт-сервера для предоставления доступа к маршрутам заказчику (Ubuntu + PostGIS + QGIS-Web-Client)
ВИДЕО
Слайды
Другие доклады
-
Филипп Дельгядо ООО «Лектон» архитектор департамента
Сложные структуры без ORM
Я очень люблю сложные предметные области, строгую типизацию в приложении и 3НФ, но очень не люблю ORM. Поэтому мне приходится активно использовать хранение сериализованных структур в json-полях (даже до появления типа json). В докладе расскажу о некоторых особенностях работы с хранением сложных объектов внутри полей СУБД, расскажу где и как подстелить себе соломку и какие проблемы могут возникнуть.
ВИДЕО
-
Дмитрий Иванов Postgres Professional DeveloperИльдар Мусин Postgres Professional Разработчик
Секционирование с pg_pathman
Секционирование в PostgreSQL - давно ожидаемый функционал. И хотя в Postgres возможно реализовать секционирование через наследование, такой подход имеет ряд недостатков, таких как необходимость вручную создавать секции и поддерживать триггеры, значительные накладные расходы на планирование и отсутствие оптимизаций времени выполнения. В докладе мы расскажем про расширение pg_pathman, над которым мы работаем. pg_pathman поддерживает HASH и RANGE секционирование и выполняет оптимизации на этапах планирования и исполнения, поддерживает быструю вставку за счет отказа от триггеров в пользу Custom Node, содержит функции для управления секциями (add, split, merge и др.), поддерживает FDW, неблокирующую миграцию данных и другие возможности. Мы также расскажем об интеграции pg_pathman в PostgresPro Enterprise Edition и поддержку Oracle-подобного синтаксиса для секционирования. В завершение мы расскажем о новых возможностях секционирования в PostgreSQL 10, что реализовано и пути дальнейшего развития.
ВИДЕО
-
Дмитрий Вагин Avito Lead Engineer
Мониторинг PostgreSQL в Авито, с примерами
Небольшой доклад о том как Avito собирает и мониторит нагрузку на базы данных. Отправка метрик из хранимых процедур в Graphite. Сбор метрик pg_stat* и отображение их в Grafana. Примеры из жизни.
ВИДЕО
-
Михаил Тюрин ИТ предприниматель предприниматель
Лок, лок – дедлок!
< Query failed: ERROR: deadlock detected < DETAIL: Process 17371 waits for ShareLock on transaction 102733872; blocked by process 10414. < Process 10414 waits for ShareLock on transaction 102733874; blocked by process 17371.
Подобные "неприятные" сообщения от сервера могут серьезно озадачить разработчика. При работе с блокировками, в частности, и с транзакциями в целом, следует учитывать особенности реализации клиентских библиотек, которые могут вызывать описанное выше исключение.
В кратком докладе-сообщении будет объяснена механика взаимодействия блокировок, приводящая к ситуации дедлока; приведены ссылки на документацию; разобрана техника "обхода" данной проблемы конкурентной работы с данными; показаны обобщенные приемы из практики.