MVCC в картинках и когда длинные транзакции - это проблема
Многие из нас знают о том, что именно MVCC обеспечивает многопользовательский доступ к данным во многих реляционных базах данных, которые гарантируют согласованность и изолированность транзакций. Но именно глубокое понимание реализации этого механизма в PostgreSQL позволяет нам лучше понимать процессы, происходящие в базе, проектировать логику работы приложений и структуры таблицы, чтобы быть наиболее эффективными в мире высоких нагрузок. На примере одного из процессов в нашем продукте мы разберемся в том, как реализована MVCC в PostgreSQL и раскопаем одну из особенностей, когда казалось бы, несвязанные активности могут влиять друг на друга.
Слайды
Видео
Другие доклады
-
Дмитрий Белявский ТЦИ Ведущий специалист
Криптографические параметры настройки PostgreSQL
При настройке PostgreSQL можно указать ряд криптографических параметров, относящихся как к соединению между клиентами и базой, так и к механизму авторизации. Доклад рассказывает, что они означают.
-
Егор Рогов Postgres Professional эксперт
Мастер-класс: Больше индексов, хороших и разных
"Не мог он GIN от SP-GiST-а, как мы ни бились, отличить", говорил классик. А вы можете? Этот мастер-класс посвящен индексам, которые хоть и не так часто используются, как обычное B-дерево, но могут сильно выручить в трудную минуту. Мы посмотрим, как устроены эти индексы и в каких случаях они могут быть успешно применены. Заодно поговорим и об особенностях индексного доступа в PostgreSQL. Чтобы провести время с пользой, от слушателей потребуется некоторое знакомство с PostgreSQL и умение читать планы несложных запросов.
Материалы мастер-класса
Резервную копию БД с демонстрационными данными можно скачать тут:
- Восстановление с помощью pg_restore (338 MB)
-
Олег Бартунов Postgres Professional генеральный директорНикита Глухов Postgres Professional Разработчик
"Умное" индексирование jsonb
PostgreSQL имеет репутацию универсальной СУБД,то есть базы данных, с которой можно стартовать практически любой проект, так как она имеет богатую функциональность,отличную репутацию и большое сообщество. Ее расширяемость позволяет добавлять недостающие функции силами прикладных программистов без остановки системы.
Я расскажу про то, как мы в Postgres Professional улучшили работу с индексами, а именно, добавили возможность использования параметров для их создания. В качестве примера, я расскажу про "умное" индексирование jsonb с помощью нашего расширения jsquery. "Умное" индексирование означает, что можно задавать подмножество jsonb для индексирование с помощью jspath,нового типа данных jsquery, который можно будет указывать в качестве параметра при создании индекса. Таким образом, индекс будет меньше,что положительно скажется на производительности запросов и лучшей конкурентности. Кроме того, параметры к оп классам позволят гибче работать с уже существующими индексами, а также помогут при индекскации jsonb с помощью jsonpath из ожидаемого SQL/JSON.
-
Максим Соболевский JetBrains Менеджер по марткеингу
DataGrip: IDE для PostgreSQL от JetBrains
JetBrains 15 лет производит среды разработки для работы со многими языками программирования. Самая популярная из них – IntelliJ IDEA для java, но она поддерживает и базы данных. В какой-то момент мы решили, что эту функциональность и глубокий опыт компании в работе с языками можно привнести и в мир SQL – так появилась среда разработки DataGrip. В докладе я расскажу о том, как DataGrip помогает писать код и работать с данными быстро, как расширить самому функциональность инструмента и постараюсь выяснить, какие проблемы в инструментарии актуальны для российского PostgreSQL сообщества.