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.

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

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

Материалы к докладу

Слайды

Видео

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

  • Дмитрий Юхтимовский
    Дмитрий Юхтимовский Gilev.ru технический лидер
    45 мин

    Поиск проблемного кода 1С на СУБД PostgreSQL

    1. Особенности взаимодействия 1С:Предприятие 8 и PostgreSQL 9 1.1 Изменения в редакциях платформы 1С 1.2 Схемы v81c_data и v81c_index 1.3 Трансляция запросов 1С в SQL 1.4 События технологического журнала 1С для диагностики PostgreSQL
    2. Анализ запросов, вызывающих проблемы производительности в PostgreSQL 2.1 Бесплатный инструмент для автоматизации разбора логов 2.2 Правило Парето на практике 2.3 Установка и настройка инструмента 2.4 Практический пример оптимизации запроса 2.4.1 Проблема в запросе PostgreSQL 2.4.2 Выяснение нерациональных операций в запросе 2.4.3 Способы устранения неоптимальностей
    3. Статистка PostgreSQL для диагностики производительности 3.1 Сравнение с возможностями MS SQL Server, различия 3.2 Диагностика блокировок 3.3 Диагностика рабочей нагрузки 4 Примеры из практики команды gilev.ru

  • Александр Алексеев
    Александр Алексеев Postgres Professional Software Developer
    22 мин

    ZSON, расширение PostgreSQL для прозрачного сжатия JSONB

    ZSON - это расширение PostgreSQL для прозрачног сжатия JSONB-документов. Сжатие основывается на использовании разделяемого словаря строк, наиболее часто используемых в заданных JSONB документах (не только ключей, но также и значений, элементов массивов, и т.д.) В некоторых случаях ZSON может сэкономить до половины дискового пространства и увеличить количество TPS на 10% за счет меньшего I/O.

    ВИДЕО

  • Marco Slot
    Marco Slot Citus Data Главный инженер-программист
    45 мин

    Ускоряясь до миллиона записей в секунду: масштабирование PostgreSQL с помощью Citus MX

    Инструмент Citus позволяет распределять таблицы PostgreSQL между несколькими серверами. Расширяя возможности PostgreSQL в плане делегирования и распараллеливания задач между группой рабочих узлов, Citus позволяет горизонтально масштабировать CPU-ресурсы и память для выполнения запросов.

    Год назад мы ступили на долгий путь реализации в Citus возможности горизонтального масштабирования в новом измерении - для повышения скорости записи. Так как все запросы на запись обрабатывались через один узел PostgreSQL, скорость записи в Citus ограничивалась CPU-ресурсами одного узла. Citus MX - это новая версия Citus, которая предоставляет доступ к распределенным таблицам с любого узла, обеспечивая повышение скорости записи до уровня NoSQL решений.

  • Петр Грибанов
    Петр Грибанов Технологический евангелист
    22 мин

    PostgreSQL в 1С:Предприятии и в облачной системе 1С:Fresh

    "1С:Предприятие" - самая популярная в России/СНГ платформа разработки бизнес-приложений, которая уже более 10 лет поддерживает PostgreSQL. Фирма 1С использует PostgreSQL в своём облачном сервисе 1С:Fresh. В этом докладе мы поделимся опытом и наблюдениями, возникшими в ходе эксплуатации этого сервиса, и обсудим интересные случаи и особенности тандема 1С+Postgres.