Секционирование с pg_pathman
Секционирование в PostgreSQL - давно ожидаемый функционал. И хотя в Postgres возможно реализовать секционирование через наследование, такой подход имеет ряд недостатков, таких как необходимость вручную создавать секции и поддерживать триггеры, значительные накладные расходы на планирование и отсутствие оптимизаций времени выполнения. В докладе мы расскажем про расширение pg_pathman, над которым мы работаем. pg_pathman поддерживает HASH и RANGE секционирование и выполняет оптимизации на этапах планирования и исполнения, поддерживает быструю вставку за счет отказа от триггеров в пользу Custom Node, содержит функции для управления секциями (add, split, merge и др.), поддерживает FDW, неблокирующую миграцию данных и другие возможности. Мы также расскажем об интеграции pg_pathman в PostgresPro Enterprise Edition и поддержку Oracle-подобного синтаксиса для секционирования. В завершение мы расскажем о новых возможностях секционирования в PostgreSQL 10, что реализовано и пути дальнейшего развития.
ВИДЕО
Слайды
Другие доклады
-
Marco Slot Citus Data Главный инженер-программист
Ускоряясь до миллиона записей в секунду: масштабирование PostgreSQL с помощью Citus MX
Инструмент Citus позволяет распределять таблицы PostgreSQL между несколькими серверами. Расширяя возможности PostgreSQL в плане делегирования и распараллеливания задач между группой рабочих узлов, Citus позволяет горизонтально масштабировать CPU-ресурсы и память для выполнения запросов.
Год назад мы ступили на долгий путь реализации в Citus возможности горизонтального масштабирования в новом измерении - для повышения скорости записи. Так как все запросы на запись обрабатывались через один узел PostgreSQL, скорость записи в Citus ограничивалась CPU-ресурсами одного узла. Citus MX - это новая версия Citus, которая предоставляет доступ к распределенным таблицам с любого узла, обеспечивая повышение скорости записи до уровня NoSQL решений.
-
Игорь Ведёхин IBS Заместитель генерального директора
Скала-СР / Postgres Pro — предконфигурированные высокопроизводительные машины баз данных
Машины баз данных — представители «высшего света» в мире корпоративных ИТ; Teradata, Exadata, Netezza — не смотря на то, что в их основе вполне доступные серверные узлы архитектуры x86 — о них говорят и пишут как о hi-end-системах, на что есть определённые основания. Объективно машины баз данных востребованы многими корпоративными заказчиками, как за уникальные возможности, так и за те удобства, которые дают готовые предконфигурированные комплексы.
Консорциум в составе системного интегратора IBS, выполнившего немало проектов по внедрению различных машин баз данных, российского вендора PostgreSQL Postgres Professional и израильской компании-разработчика суперкомпьютерных сетевых решений Mellanox представил машины баз данных в различных конфигурациях для PostgreSQL под управлением СУБД Postgres Pro Enterprise.
-
Дмитрий Мельник ИСП РАН разработчик
Динамическая компиляция SQL-запросов в PostgreSQL с использованием LLVM JIT
В данный момент в PostgreSQL для исполнения SQL-запросов применяется интерпретатор, реализующий модель итераторов (Volcano-модель). В то же время можно добиться существенного ускорения, выполняя динамическую компиляцию запроса «на лету». В этом случае можно генерировать код, специализированный для конкретного SQL-запроса, а также применять компиляторные оптимизации, учитывая, что во время выполнения уже известна структура используемых таблиц и типы данных. Такой подход особенно актуален для сложных запросов, скорость выполнения которых ограничена производительностью процессора.
-
Андрей Николаенко Скала-Р архитекторАлександр Коротков Postgres Professional Руководитель разработкиБорис Нейман Mellanox
Интерконнект на стероидах для машины баз данных Скала-СР / Postgres Pro
В машинах баз данных от Oracle и Teradata в качестве внутренней сети применяется Infiniband, и для его использования вендорами созданы проприетарные протоколы (iDB, BYNET). Для комплексов Скала-СР / Postgres Pro применен интерконнект на базе Ethernet со всеми свойствами, присущими Infiniband — субмикросекундными задержками, стагигабитной пропускной способностью, и, главное, поддержкой RDMA — протокола прямого доступа к оперативной памяти удалённых узлов с разгрузкой центральных процессоров от транспортных операций. Специально для поддержки этих возможностей в машинах баз данных в Postgres Professional разработали программные дополнения, обеспечивающие доставку журналов упреждающей записи и координацию транзакций по RDMA, им и будет посвящена основная часть доклада. Кроме того, в докладе будут представлены конфигурации, основные технические характеристики и результаты испытаний комплексов линейки Скала-СР / Postgres Pro.