title

text

Heikki Linnakangas
Heikki Linnakangas Pivotal PostgreSQL hacker
: декабря

Внутреннее устройство индексов

PostgreSQL поддерживает несколько типов индексов: GiST, SP-GiST, GIN и, конечно, обычное B-дерево. Администраторы БД знают, когда применять каждый из них: GIN для полнотекстового поиска, GiST для геометрических данных и т. д., но как они устроены внутри? Благодаря чему они хорошо работают в сценариях использования, для которых предназначены? В этой презентации я познакомлю вас с внутренней структурой каждого из этих типов индексов и расскажу, каковы их сильные и слабые стороны.

Слайды

Видео

Другие доклады

  • Galy  Lee
    Galy Lee

    Растущее признание PostgreSQL в Китае (Huawei и X2)

    Последние новости о продвижении PostgreSQL в Китае. Postgres проходит этап бурного развития в Китае, в частности в 2015 г. Postgres внедрила одна из крупнейших компаний, Alibaba начала предоставлять сервисы Postgres в своём открытом облаке, и в целом наблюдается значительный прогресс в признании Postgres. На этом докладе будет представлен обзор успехов Postgres в Китае в 2015 г.

  • Д
    Дмитрий Мельник ИСП РАН разработчик
    22 мин

    Ускорение исполнения запросов в PostgreSQL с использованием JIT-компилятора LLVM

    В настоящее время в PostgreSQL для исполнения SQL-запросов используется интерпретатор. Это приводит к накладным расходам, связанным с неявными вызовами функций-обработчиков и проверок, которых можно было бы избежать при создании исполняемого кода "на лету" (JIT-компиляции) под конкретный SQL-запрос: в этом случае во время выполнения уже известна структура используемых таблиц и типы данных. Особенно это актуально для сложных запросов, где производительность процессора является основным ограничением. В настоящий момент существует два известных проекта, реализующих JIT-компиляцию в PostgreSQL: коммерческое решение Vitesse DB и open-source проект PGStorm. В первом проекте за счет использования LLVM JIT авторам удается получить ускорение до 8 раз на тестах из набора TPC-H. Второй проект реализует JIT-компиляцию запроса с использованием CUDA для исполнения его на GPU, что позволяет ускорить выполнение некоторых типов запросов на порядок.

    Наша работа посвящена добавлению поддержки JIT-компиляции SQL-запросов в PostgreSQL с использованием компиляторной инфраструктуры LLVM. В докладе будет подробно рассмотрено, как JIT-компиляция может быть использована для ускорения различных этапов исполнения SQL-запросов, а также особенности трансляции SQL-запросов в LLVM-биткод для получения эффективного исполняемого кода. Также будут представлены предварительные результаты тестирования JIT-компилятора на наборе тестов TPC-H.

  • Иван Фролков
    Иван Фролков Postgres Professional инженер-консультант
    90 мин

    Оптимизация запросов в PostgreSQL

    Основная задача для приложения, работающего с СУБД, кроме реализации требуемого функционала - это обеспечения минимального времени отклика либо максимальной пропускной способности. К сожалению, многие разработчики зачастую весьма смутно представляют себе, на что и как СУБД расходует ресурсы при выполнении запроса, и неспособны предугадать узкие места. Рассказу о том, какими способами может быть выполнен запрос, какие из них оптимальны, какие при этом могут быть проблемы и как их можно попробовать обойти и посвящен этот мастер-класс.

  • Лев Ласкин
    Лев Ласкин Электрон Ведущий специалист по внедрению решений на базе СПО
    22 мин

    Опыт использования PostgreSQL в качестве СУБД для платформы 1С:Предприятие от 8.1 до 8.3

    В конце 2006 компанией 1С была реализована работа платформы 1С:Предприятие с СУБД PostgreSQL, которая может функционировать под управлением операционных систем Windows или Linux. В докладе будет предпринята попытка обобщить опыт совместного использования платформы 1С:Предприятие с СУБД PostgreSQL начиная с 2008 года. Будут рассмотрены несколько историй успеха, технические особенности работы, приведены примеры решения конкретных задач, даны рекомендации по выбору за и против. Доклад может быть интересен сотрудникам компаний рассматривающих вариант использования PostgreSQL для платформы 1С:Предприятие, DBA, специалистам интересующимся возможностями расширяемости PostgreSQL.