JSONB и будущее реляционных СУБД - взгляд разработчика
История сложных отношения реляционной и объектной моделей: - крепкие опоры и неразрешимые противоречия; - разные хорошие попытки - составные типы, классы, XML, JSON. JSONB - новый ответ и вопросы к нему. Ловушки и тупики, в которые может завести увлечение JSONB. Очевидные и неочевидные способы использования JSONB в разработке.
Слайды
Слайды доступны участникам мероприятия, выполнившим вход в личный кабинет.
Видео
Видео доступно участникам мероприятия, выполнившим вход в личный кабинет
Другие доклады
-
Дмитрий Руденко Тинькофф Центр Разработки Ведущий инженер баз данных
Что в черном ящике? Или как помочь разработчику понять, что требует оптимизации в БД
Всем нам хочется быть немножко Шерлоками и расследовать интересные и запутанные дела. Жизнь, однако, вносит свои коррективы и большинство задач на выходе имеют банальные решения вроде - добавьте индекс по такому-то полю. Обилие баз и команд приводит к постоянному фону таких задач. Ситуацию усложняет повсеместное использование всякого рода ORM. И сами разработчики и ORM, зачастую не особенно беспокоятся вопросами эффективного доступа к данным (построение запросов, наличие и оптимальность состава индексов итд). В докладе рассматривается инструмент мониторинга и анализа состояния баз данных Postgres созданный на основе Grafana. Особенно подробно рассмотрены части, которые помогают разработчикам самостоятельно понять, где и каким образом образуются слабые места в его взаимодействии с базой.
-
Павел Конотопов Postgres Professional руководитель кластерной группы
Слон и Моська. Проблема фенсинга в кластерах PostgreSQL
Довольно часто в кластерных конфигурациях PostgreSQL можно встретить настройку, отвечающую за ввод отказавшего ведущего сервера обратно в кластер в качестве реплики. Утилита pg_rewind выполнит синхронизацию данных между двумя серверами. Она копирует изменения из WAL-файлов основного сервера, которые не применялись на отстающем сервере (бывшем мастере). Однако без механизма fencing существует риск потери данных, если оба сервера (старый мастер и новый мастер) активны одновременно и оба принимают изменения данных. Эта ситуация называется split-brain, возникновение ее катастрофично для целостности данных. Поговорим о том, как минимизировать риски потери данных, какие есть варианты fencing-а, какие практики стоит использовать и в каких ситуациях.
-
Дмитрий Фатов
Разгоняем вставку больших объемов данных Spring + PostgreSQL
Разработчикам часто приходится встречаться с оптимизацией различных бизнес-процессов. В этом докладе спикер покажет процесс оптимизации вставки в PostgreSQL с использованием фреймворка Spring со стороны прикладного разработчика. Также расскажет о проблемах медленной вставки данных в БД и о том, как можно ускорить этот процесс от простых настроек до использования кастомных методов PostgreSQL.
-
Владимир Ситников PostgreSQL JDBC maintainer Performance Engineer
Механизм server-prepared statements в реализации PostgreSQL JDBC
Доклад о базовых принципах serever-prepared statements, и о фактической реализации в PostgreSQL JDBC. Планируется рассмотреть как базовые механизмы, так и краевые случаи.
Примерный список тем:
1) Как задействовать server-prepared statements
2) Какие настройки влияют на server-prepared
3) server-prepared vs batch execution
4) server-prepared vs concurrent executions (несолько разных подключений)
5) server-prepared vs connection poolers
6) Как понять, что server-prepared не работает
7) binary/text parameter/result encoding
8) server-prepared vs типы данных (грубо говоря, timestamptz vs timestamp vs text encoding)