"Умное" индексирование jsonb
PostgreSQL имеет репутацию универсальной СУБД,то есть базы данных, с которой можно стартовать практически любой проект, так как она имеет богатую функциональность,отличную репутацию и большое сообщество. Ее расширяемость позволяет добавлять недостающие функции силами прикладных программистов без остановки системы.
Я расскажу про то, как мы в Postgres Professional улучшили работу с индексами, а именно, добавили возможность использования параметров для их создания. В качестве примера, я расскажу про "умное" индексирование jsonb с помощью нашего расширения jsquery. "Умное" индексирование означает, что можно задавать подмножество jsonb для индексирование с помощью jspath,нового типа данных jsquery, который можно будет указывать в качестве параметра при создании индекса. Таким образом, индекс будет меньше,что положительно скажется на производительности запросов и лучшей конкурентности. Кроме того, параметры к оп классам позволят гибче работать с уже существующими индексами, а также помогут при индекскации jsonb с помощью jsonpath из ожидаемого SQL/JSON.
Слайды
Видео
Другие доклады
-
ННиколай Ларин Microsoft Program Manager
Azure Database for PostgreSQL – как мы сделали глобальный масштабируемый сервис
Azure Database for PostgreSQL - управляемый сервис баз данных на основе PostgreSQL Community Edition. Мы расскажем об архитектуре сервиса и реализации ключевых преимущств PostgreSQL сервиса в Azure, таких как высокий уровень доступности, масштабирование сервиса, встроенная защита и автоматическое резервное копирование. Включает демонстрацию возможностей сервиса с облачными приложениями и интеграцию с другими сервисами Azure.
-
Григорий Смолкин Ozon Инженер
Резервное копирование PostgreSQL с помощью pg_probackup: высокая производительность и острая форма паранойи
Как бэкапировать PostgreSQL? Как хранить сделанные бэкапы? Как валидировать бэкап? Как валидировать PostgreSQL и можно ли ему вообще доверять? Можно ли доверять твоему инструменту? Как сделать всю эту паранойю удобной и производительной, если СУБД не помогает в этом деле? На какие компромиссы можно идти и на какие ни в коем случае нельзя? Создавая свой инструмент бэкапирования, мы были вынуждены искать ответы на эти и многие другие вопросы, о чем и хотелось бы рассказать.
-
Алексей Клюкин Zalando SE Database EngineerАлександр Кукушкин Zalando SE Database Engineer
Мастер-класс: Управление высокодоступными PostgreSQL кластерами с помощью Patroni
Patroni - это Python-приложение для создания высокодоступных PostgreSQL кластеров на основе потоковой репликации. Оно используется такими компаниями как Red Hat, IBM Compose, Zalando и многими другими. С его помощью можно преобразовать систему из ведущего и ведомых узлов (primary - replica) в высокодоступный кластер с поддержкой автоматического контролируемого (switchover) и аварийного (failover) переключения. Patroni позволяет легко добавлять новые реплики в существующий кластер, поддерживает динамическое изменение конфигурации PostgreSQL одновременно на всех узлах кластера и множество других возможностей, таких как синхронная репликация, настраиваемые действия при переключении узлов, REST API, возможность запуска пользовательских команд для создания реплики вместо pg_basebackup, взаимодействие с Kubernetes и т.д.
Слушатели мастер-класса подробно узнают, как работает Patroni, получат практические навыки настройки высокодоступных кластеров на его основе, познакомятся с различными дополнительными возможностями и поучаствуют в диагностике проблем. Будут рассмотрены следующие темы:
- область применения: какие задачи HA успешно решаются Patroni
- обзор архитектуры
- создание тестового кластера
- утилита patronictl
- изменение конфигурации PostgreSQL для кластера, управляемого Patroni
- мониторинг с помощью API
- подходы к переключению клиентов
- дополнительные возможности: ручное переключение, перезагрузка по расписанию, режим паузы
- настройка синхронной репликации
- расширяемость и универсальность
- частые ошибки и их диагностика
Для полного участия в мастер-классе вам понадобится ноутбук с установленным git, vagrant и virtual box.
Vagrant можно загрузить со страницы https://www.vagrantup.com или установить с помощью пакетов в вашем дистрибутиве. Virtualbox: https://www.vagrantup.com
После установки Vagrant и Virtualbox нужно выполнить:
$ git clone https://github.com/alexeyklyukin/patroni-training $ cd patroni-training $ vagrant up
После того, как patroni box поднимется и установит необходимые пакеты к нему можно подключиться с помощью vagrant ssh.
-
Виктор Егоров Data Egret DBA
Сравнительный обзор архитектуры PostgreSQL и ORACLE
Доклад рассмотрит следующие компоненты СУБД PostgreSQL, сравнивая архитектурные решения с СУБД ORACLE:
- Что представляет из себя экземпляр работающей базы, какие процессы присутствуют и за что они отвечают?
- Какими структурами оперирует база?
- Механизм отказоустойчивости.
- MVCC механизм и возможности восстановления базы.
- Хранение базы на физических носителях.
Каждое из рассматриваемых решений будет оценено с точки зрения накопленного опыта работы в выбранных СУБД, удобства администрирования и доступных способов развития в будущем.
Доклад будет интересен:
- пользователям PostgreSQL, т.к. позволит взглянуть на другую СУБД и её особенности;
- администраторам PostgreSQL, т.к. ORACLE предлагает большие административные возможности, которые могли бы быть реализованы и в Postgres;
- разработчикам PostgreSQL, т.к. Postgres активно развивается и этот доклад может задать новые направления развития;
- желающим перейти с ORACLE (или другой СУБД) на проекты с открытым исходным кодом, т.к. доклад продемонстрирует возможности открытой СУБД Postgres в сравнении с коммерческим продуктом, в котором Postgres выглядит очень достойно!