Лок, лок – дедлок!
< 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.
Подобные "неприятные" сообщения от сервера могут серьезно озадачить разработчика. При работе с блокировками, в частности, и с транзакциями в целом, следует учитывать особенности реализации клиентских библиотек, которые могут вызывать описанное выше исключение.
В кратком докладе-сообщении будет объяснена механика взаимодействия блокировок, приводящая к ситуации дедлока; приведены ссылки на документацию; разобрана техника "обхода" данной проблемы конкурентной работы с данными; показаны обобщенные приемы из практики.
Слайды
Видео
Другие доклады
-
Дмитрий Мельник ИСП РАН разработчик
Динамическая компиляция SQL-запросов в PostgreSQL с использованием LLVM JIT
В данный момент в PostgreSQL для исполнения SQL-запросов применяется интерпретатор, реализующий модель итераторов (Volcano-модель). В то же время можно добиться существенного ускорения, выполняя динамическую компиляцию запроса «на лету». В этом случае можно генерировать код, специализированный для конкретного SQL-запроса, а также применять компиляторные оптимизации, учитывая, что во время выполнения уже известна структура используемых таблиц и типы данных. Такой подход особенно актуален для сложных запросов, скорость выполнения которых ограничена производительностью процессора.
-
Alvaro Hernandez 8Kdata CTO
Миграция с MongoDB на PostgreSQL
MongoDB – популярная NoSQL CУБД, используемая в основном для работы с OLTP системами. Но из-за отсутствия требований ACID (в частности, транзакций как таковых), а также серьезных проблем с производительностью при работе с OLAP/DW нагрузками, все больше пользователей MongoDB рассматривают возможность перехода на реляционные СУБД, выбирая зачастую именно PostgreSQL. Это открывает перед сообществом PostgreSQL большие возможности по “обращению” пользователей из NoSQL в SQL. В этом докладе мы расскажем о сложностях, с которыми сталкиваются пользователи MongoDB, и представим соверменные инструменты и open-source решения, с помощью которых можно осуществить миграцию на PostgreSQL в режиме реального времени или через процесс ETL. В частности, мы обсудим ToroDB Stampede – open-source решение, которое создает реплику MongoDB в режиме реального времени, конвертирует документы JSON в реляционные таблицы и сохраняет данные в PostgreSQL.
ВИДЕО
-
Дмитрий Лебедев BestPlace Разработчик-исследователь ГИС
Исследования геоданных при помощи PostGIS и смежных инструментов
Сегодня работая с открытыми данными можно сделать интересные исследования в области городской среды и географии, с перспективными и нетривиальными выводами. В докладе я дам примеры пространственных расчётов на PostGIS — фактическом пром стандартом в области.
Но одного PostGIS мало, и в работе требуются инструменты для импорта, проверки и визуализации данных. Кроме того критически важно видеть что происходит с нашими данными и сокращать итерации работы, о чём я подробно расскажу.
- Сбор данных; базы данных, открытые API, OpenStreetMap; ввод геоданных от пользователя.
- Применение сторонних API для расчётов и обработки.
- Вывод и визуализация результатов: QGIS, Matplotlib, Zeppelin — интеграция с PostGIS.
- Отладка расчётов - визуализация "на лету" (Arc, QGIS, NextGIS Web)
- Воспроизводимость и автоматизация действий: скриптинг и отслеживание зависимостей на Makefile, Gulp
-
Hans-Jürgen Schönig Cybertec Schönig & Schönig GmbH CEO
Миллиард строк в секунду на PostgreSQL
Базы данных растут в размерах, так что нужда обрабатывать огромные объемы данных в реальном времени становится все острее. Пока производители коммерческих СУБД хвастаются своими возможностями, мы решили чуточку улучшить PostgreSQL, чтобы показать его возможности в переваривании более миллиарда строк в секунду, просто для демонстрации возможностей open source.
Тем, для кого миллиард строк в секунду - немного, сообщаем, что это не предел, возможности гораздо больше. Приходите посмотреть, как мы делаем это.
ВИДЕО