title

text

Михаил Тюрин
Михаил Тюрин ИТ предприниматель предприниматель
16:00 17 марта
22 мин

Лок, лок – дедлок!

< 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.

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

В кратком докладе-сообщении будет объяснена механика взаимодействия блокировок, приводящая к ситуации дедлока; приведены ссылки на документацию; разобрана техника "обхода" данной проблемы конкурентной работы с данными; показаны обобщенные приемы из практики.

Слайды

Видео

Другие доклады

  • Алексей Лесовский
    Алексей Лесовский PostgreSQL Consulting LLC Администратор баз данных
    45 мин

    Поиск и устранение проблем при эксплуатации потоковой репликации

    Потоковая репликация появилась в PostgreSQL в 2010 году и практически сразу же стала очень популярной. В настоящее время практически ни одна инсталляция не обходится без использования потоковой репликации. Она надежна, высокопроизводительна и легка в настройке. Однако несмотря на все свои положительные качества, в её эксплуатации могут возникать различные проблемы и неприятные ситуации. Для диагностики и решения проблем связанных с потоковой репликацией есть как встроенные в PostgreSQL средства так и сторонние утилиты. В этом докладе я сделаю обзор инструментов и расскажу как с помощью этих средств диагностировать и устранить проблемы связанные с потоковой репликацией. Также рассмотрю проблемы которые возникают чаще всего при эксплуатации потоковой репликации и методы их решения. Доклад будет полезен DBA и системным администраторам.

  • Hans-Jürgen Schönig
    Hans-Jürgen Schönig Cybertec Schönig & Schönig GmbH CEO
    45 мин

    Миллиард строк в секунду на PostgreSQL

    Базы данных растут в размерах, так что нужда обрабатывать огромные объемы данных в реальном времени становится все острее. Пока производители коммерческих СУБД хвастаются своими возможностями, мы решили чуточку улучшить PostgreSQL, чтобы показать его возможности в переваривании более миллиарда строк в секунду, просто для демонстрации возможностей open source.

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

    ВИДЕО

  • Markus Nullmeier
    Markus Nullmeier University of Heidelberg software developer
    45 мин

    Оптимизация запросов к данным типа “множество” с помощью индексов GIN, GiST, и пользовательских расширений для индексирования

    Очевидно, что множества удобно использовать в различных типах приложений. Хотя в PostgreSQL и нет встроенного типа для множеств, до некоторой степени их можно смоделировать с помощью встроенных типов “массив” и “JSONB”. Кроме того, возможность ускорения запросов с операциями вхождения уже встроена в реализацию индексов GIN.

    После краткого обзора существующей функциональности, мы рассмотрим, как добавление пользовательских типов “множество” и, в частности, модификация кода на С ("классы операторов") для индексов GIN и GiST, может повысить производительность.

  • Peter  van Hardenberg
    Peter van Hardenberg Heroku Главный исследователь
    45 мин

    История Postgres

    Сообществу PostgreSQL уже более 20 лет, но история PostgreSQL началась задолго до его основания. Из этого доклада вы узнаете об истоках проекта Postgres, о людях, которые развивали его, как он изменился со временем и какое место в развитии PostgreSQL занимает российское сообщество.