Динамическая компиляция SQL-запросов в PostgreSQL с использованием LLVM JIT
В данный момент в PostgreSQL для исполнения SQL-запросов применяется интерпретатор, реализующий модель итераторов (Volcano-модель). В то же время можно добиться существенного ускорения, выполняя динамическую компиляцию запроса «на лету». В этом случае можно генерировать код, специализированный для конкретного SQL-запроса, а также применять компиляторные оптимизации, учитывая, что во время выполнения уже известна структура используемых таблиц и типы данных. Такой подход особенно актуален для сложных запросов, скорость выполнения которых ограничена производительностью процессора.
Слайды
Другие доклады
-
Alvaro Hernandez 8Kdata CTO
Миграция с MongoDB на PostgreSQL
MongoDB – популярная NoSQL CУБД, используемая в основном для работы с OLTP системами. Но из-за отсутствия требований ACID (в частности, транзакций как таковых), а также серьезных проблем с производительностью при работе с OLAP/DW нагрузками, все больше пользователей MongoDB рассматривают возможность перехода на реляционные СУБД, выбирая зачастую именно PostgreSQL. Это открывает перед сообществом PostgreSQL большие возможности по “обращению” пользователей из NoSQL в SQL. В этом докладе мы расскажем о сложностях, с которыми сталкиваются пользователи MongoDB, и представим соверменные инструменты и open-source решения, с помощью которых можно осуществить миграцию на PostgreSQL в режиме реального времени или через процесс ETL. В частности, мы обсудим ToroDB Stampede – open-source решение, которое создает реплику MongoDB в режиме реального времени, конвертирует документы JSON в реляционные таблицы и сохраняет данные в PostgreSQL.
ВИДЕО
-
Андрей Николаенко Скала-Р архитекторАлександр Коротков Postgres Professional Руководитель разработкиБорис Нейман Mellanox
Интерконнект на стероидах для машины баз данных Скала-СР / Postgres Pro
В машинах баз данных от Oracle и Teradata в качестве внутренней сети применяется Infiniband, и для его использования вендорами созданы проприетарные протоколы (iDB, BYNET). Для комплексов Скала-СР / Postgres Pro применен интерконнект на базе Ethernet со всеми свойствами, присущими Infiniband — субмикросекундными задержками, стагигабитной пропускной способностью, и, главное, поддержкой RDMA — протокола прямого доступа к оперативной памяти удалённых узлов с разгрузкой центральных процессоров от транспортных операций. Специально для поддержки этих возможностей в машинах баз данных в Postgres Professional разработали программные дополнения, обеспечивающие доставку журналов упреждающей записи и координацию транзакций по RDMA, им и будет посвящена основная часть доклада. Кроме того, в докладе будут представлены конфигурации, основные технические характеристики и результаты испытаний комплексов линейки Скала-СР / Postgres Pro.
-
Иван Фролков Postgres Professional инженер-консультант
Отчуждаемые таблицы в PostgresPro
Большие потоки данных нередко могут создавать проблемы даже с самой их загрузкой в БД - кроме загрузки собственно данных необходимо создавать для них индексы, проводить после загрузки VACUUM как для корректной работы Index-only scans и т.п. О том, как можно если не избежать этих проблем, то, по крайней мере, в значительной степени избежать их и посвящен этот доклад.
ВИДЕО
-
Radoslav Glinsky Skype (Microsoft) Software developer - PostgreSQL tooling
Тестовая среда по требованию
Вы тестируете свои релизы PostgreSQL в специально настроенной тестовой среде, прежде чем залить их в продакшен? Вы уверены, что ваша тестовая среда соответствует требованиям продуктовой среды и находится в актуальном состоянии?
В компании Skype мы сталкиваемся c разнообразными проблемами, связанными с тестированием баз данных: - Обобщение и отражение в тестовой среде всего многообразия вариантов продуктовой среды для тысяч реализаций PostgreSQL, связанных с удаленным вызовом процедур (RPC) и репликациями, серверной инфраструктурой, а также внешними скриптами БД. - Постоянно растущие требования к поддержке новых аппаратных средств, недостаточная очистка тестовых данных. - Различия между тестовой и продуктовой средой со временем накапливались.