![Анастасия Лубенникова Анастасия Лубенникова](/media//2021/02/20/13988272_10209498166867362_7230930346484475238_o.jpg.180x180.jpg)
Встроенное секционирование в PostgreSQL
В этом докладе мы сравним встроенное декларативное секционирование PostgreSQL со сторонними расширениями pg_pathman и pg_partman, чтобы понять каких возможностей пока не хватает в ядре. Кроме того, я расскажу, над какими фичами в этой области сейчас активно работает сообщество и чего можно ожидать в релизе PostgreSQL14.
Видео
Другие доклады
-
Bo Peng SRAOSS, Inc. Japan Старший инженер-разработчик
Развёртывание PostgreSQL-кластера с балансировщиком запросов и мониторингом в Kubernetes
Kubernetes - это платформа оркестровки контейнеров с открытым исходным кодом для автоматизации развертывания, масштабирования и управления контейнерами приложений. В настоящее время все больше и больше приложений развертываются в контейнерах на Kubernetes.
Есть несколько решений для запуска кластера PostgreSQL на Kubernetes. Однако эти решения не предусматривают балансировку нагрузки. В этом выступлении я покажу вам, как объединить PostgreSQL-оператор с Pgpool-II для развертывания в Kubernetes кластера PostgreSQL с возможностью балансировки нагрузки.
Мониторинг - очень важная часть для любого реального продакшна. Хотя Kubernetes предоставляет базовый способ мониторинга состояния кластера PostgreSQL, этого недостаточно для управления кластером PostgreSQL в продакшне. Важным улучшением версии Pgpool-II 4.2 является возможность вывода более полезной статистики кластера PostgreSQL. В этом докладе я объясню, как отслеживать и визуализировать статистику кластера PostgreSQL в Prometheus для расширенного мониторинга кластера.
-
Николай Рыжиков Health Samurai CTO
SQL данными
Почти каждое бизнесс приложение является в значительной степени генератором запросов к базе данных. Как можно легко строить запросы и делать их композицию? В этом докладе я расскажу про интересный подход из мира clojure, в котором sql записывается "данными" (data dsl) и какие возможности это открывает - от композиции и безопасного sql до макросов и анализа запросов.
-
Henrietta Dombrovskaya Braviant Holdings Зам.директора по СУБД
NORM - фреймворк без ORM
Хорошо известно, что, хотя производительность базы данных велика и каждый запрос выполняется за миллисекунды, общее время отклика приложения может быть медленным, поэтому пользователи могут долго ждать ответа. Мы знаем, что проблема не в базе данных, а в том, как разработчики приложений с ней общаются. В частности, речь идет об ORM - Object-Relational Mappers. Разработчики баз данных ненавидят их, но разработчики приложений любят их, потому что они позволяют разрабатывать приложения без каких-либо знаний о внутреннем устройстве СУБД. В результате производительность системы часто оказывается неприемлемо низкой.
Единственный способ изменить это - предоставить разработчикам приложений такой же простой в использовании инструмент, как ORM, но позволяющий избежать распространенных ошибок ORM. Вот почему мы разработали NORM - No-ORM Framework. Во время этой презентации мы рассмотрим примеры кода из репозитория https://github.com/hettie-d/NORM и узнаем, как создавать «транспортные объекты» для эффективной передачи данных между приложениями и базами данных.
-
Арсений Шер Postgres Professional Разработчик
Консенсус, Postgres, Мультимастер
Postgres Pro Multimaster - это расширение Postgres (и набор патчей для ядра), обеспечивающее высокую доступность (HA) со строгой согласованностью и масштабируемостью чтения. Он образует симметричный кластер без общего доступа, синхронно реплицирующий данные и автоматически выполняющий аварийное восстановление. В течение последнего года мы приложили значительные усилия, чтобы убедиться и доказать, что согласованность сохраняется во всех сценариях. Новая версия, которая будет выпущена как часть Postgres Pro Enterprise 13, использует алгоритм Paxos для определения результата транзакции и оригинальный протокол, управляющий процессом восстановления; мы использовали TLA+ и TLC model checker для проверки его правильности. Я расскажу, как все это работает и почему в некоторых случаях multimaster может быть привлекательной альтернативой традиционным HA решениям на основе потоковой репликации.
Multimaster теперь имеет открытый исходный код и доступен по адресу: https://github.com/postgrespro/mmts
Чтобы сделать доклад менее узкоспециализированным и более привлекательным для широкой аудитории, в первой части я расскажу о том, как в целом современные СУБД (в основном так называемые NewSQL СУБД) обеспечивают отказоустойчивость. В частности, я остановлюсь на следующих моментах:
что такое строго согласованная СУБД и какие накладные расходы с этим связаны; что такое распределённый консенсус, Paxos, Raft; как они здесь помогают?
Я не буду пытаться объяснять какие-либо алгоритмы построчно; это едва ли осмысленно с учетом ограничений по времени, и на эту тему есть много полезной литературы. Цель здесь скорее в том чтобы познакомить с областью и задать в ней ориентиры.