Шардман - естественный подход к шардингу в PostgreSQL
Объем данных, с которым работают современные корпоративные и интернет системы, постоянно растет. При этом все сложнее становится иметь и синхронизировать несколько копий данных в разных системах. Возникает необходимость работать с большими объемами данных непосредственно в транзакционной СУБД, Часто такое требование накладывает и логика приложений, которым необходимы результаты в реальном времени. В докладе рассмотрим какой может быть универсальная распределенная транзакционная СУБД. Разберем такие аспекты как типы нагрузки и их приоритизация, динамическое выделение ресурсов, уровень консистентности. Расскажем на каких инструментах в PostgreSQL можно построить такую систему, что у нас уже получилось и какие задачи еще предстоит решить.
Видео
Другие доклады
-
Yugo Nagata SRA OSS, Inc. Japan Chief Scientist
Автоматическое инкрементальное обновление материализованных представлений
Материализованное представление служит для хранения результатов запросов определения представления в БД, чтобы добиться более быстрого ответа на запрос. Однако данные в представлении устаревают после изменения базовых таблиц. Следовательно, для поддержания актуальности содержимого необходимо обновлять представление. В PostgreSQL есть команда REFRESH MATERIALIZED VIEW для обновления материализованного представления, но эта команда вычисляет его содержимое с нуля, что неэффективно в случаях, когда изменяется только небольшая часть базовой таблицы.
Инкрементальное обновление представлений (IVM) - это метод эффективного обновления материализованных представлений, который вычисляет и применяет к материализованным представлениям только инкрементальные изменения вместо повторного вычисления. Эта функциональность требуется для быстрого обновления материализованных представлений, но еще не реализована в PostgreSQL.
Поэтому мы разработали IVM для PostgreSQL и предлагаем реализовать его в качестве основной функции. Патч сейчас обсуждается в списке рассылки hackers. Наша реализация делает возможным автоматическое инкрементальное обновление материализованных представлений при изменении базовой таблицы. Вам не нужно писать собственную триггерную процедуру для обновления представлений. После продолжительной работы нашей команды текущая реализация IVM поддерживает некоторые возможности аггрегации, подзапросы, соединение одной таблицы (self-join), внешние соединения (outer join) и CTE (предложения WITH) в запросе определения представления. Результат оценки производительности с использованием запросов TPC-H показывает, что наша реализация IVM может обновлять материализованное представление в 200+ раз быстрее, чем повторное вычисление с помощью команды REFRESH.
В данном докладе мы опишем нашу реализацию IVM и ее возможности.
-
Pavel Stehule freelancer Независимый консультант и разработчик
Как использовать pspg
pspg - это unix-совместимый инструмент для постраничного просмотра данных, разработанный специально для Postgres-клиента psql. На сегодняшний день его возможности не ограничиваются обычным просмотром данных. Он может работать в режиме приложения или инструмента для открытия CSV и TSV файлов. В рамках доклада я постараюсь продемонстрировать основные возможности данного приложения.
-
Иван Фролков Postgres Professional инженер-консультант
Constraints или о том, как попытаться спокойно жить
Часто можно услышать, что ограничения целостности снижают производительность, все время мешают в работе и вообще в целом бесполезны, база - это всего лишь хранилище и вообще там не должно быть никакой логики. Я расскажу, почему это не так и чем может обернуться такой бездумный подход.
-
Олег Бартунов Postgres Professional генеральный директорНикита Глухов Postgres Professional Разработчик
JSONB изнутри
JSONB - популярнейший тип данных в постгресе, но нам часто говорят, что его производительность нуждается в улучшении. Часто в одном поле типа JSONB одновременно находятся и короткие, и большие значения, например блоб и его метаданные. Сейчас это весьма неэффективно. Но мы придумали несколько подходов, дающих, как показывают эксперименты, весьма сильное ускорение.