Разработка интеграционной базы производственных данных нефтебаз на базе PostgreSQL
Архитектурный подход как основа устойчивого решения. Старые и новые технологии - единство и борьба противоположностей. Информационная безопасность и требования бизнеса - есть ли компромисс?
Видео
Другие доклады
-
Олег Бартунов Postgres Professional генеральный директорНикита Глухов Postgres Professional Разработчик
JSONB изнутри
JSONB - популярнейший тип данных в постгресе, но нам часто говорят, что его производительность нуждается в улучшении. Часто в одном поле типа JSONB одновременно находятся и короткие, и большие значения, например блоб и его метаданные. Сейчас это весьма неэффективно. Но мы придумали несколько подходов, дающих, как показывают эксперименты, весьма сильное ускорение.
-
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 и ее возможности.
-
David Steele Crunchy Data Principal Architect
Лучшие практики для бэкапов с помощью pgBackRest
Резервное копирование является важной частью любого решения для корпоративных баз данных, но оно часто выполняется плохо или вообще игнорируется, что может привести к потере данных в случае отказа оборудования или другого сбоя.
В этом докладе мы рассмотрим лучшие практики резервного копирования баз данных и способы их реализации с помощью pgBackRest, в том числе:
- архивирование и хранение журнала предзаписи (WAL);
- частоту снятия резервных копий и срок их хранения;
- достижение целей по времени / точке восстановления;
- варианты конфигурации;
- обоснование с точки зрения производительности.
-
Álvaro Hernández OnGres Founder
Как преобразовать Postgres в облачную платформу
Сводится ли развёртывание Postgres на Kubernetes к простой перераспаковке в контейнере? Или Postgres может использовать другой cloud-native софт для более качественной интеграции с K8s? Мы поговорим об этом на данном мастер-классе и продемонстрируем несколько примеров на StackGres:
- Как преобразовать Postgres в контейнер без инициализации с несколькими контейнерами-"прицепами" для создания пула соединений, резервного копирования, агентов и т.п.
- Определение высокоуровневых CRD в качестве единого API для взаимодействия с Postgres оператором.
- Использование авторизации на основе K8s RBAC для аутентификации пользователя веб-интерфейса управления.
- Использование Prometheus для мониторинга; сборка узла, использование экспортёров и Postgres, и PgBouncer.
- Проксирование трафика Postgres traffic через Envoy. Завершение работы Postgres SSL с помощью плагина Envoy, который также экспортирует метрики "проводного" протокола в Prometheus.
- Использование Fluentbit для сбора логов Postgres и их пересылки в Fluentd, который хранит их в централизованной постгрессовой базе данных.
Во время мастер-класса вы сможете повторить все действия на собственном Kubernetes-кластере и с лёгкостью пройти путь от новичка до профи в Postgres на Kubernetes! Вы сможете создавать собственный Postgres-as-a-Service на Kubernetes всего за несколько минут!