title

text

Markus Nullmeier
Markus Nullmeier University of Heidelberg software developer
16:00 17 марта
45 мин

Оптимизация запросов к данным типа “множество” с помощью индексов GIN, GiST, и пользовательских расширений для индексирования

Очевидно, что множества удобно использовать в различных типах приложений. Хотя в PostgreSQL и нет встроенного типа для множеств, до некоторой степени их можно смоделировать с помощью встроенных типов “массив” и “JSONB”. Кроме того, возможность ускорения запросов с операциями вхождения уже встроена в реализацию индексов GIN.

После краткого обзора существующей функциональности, мы рассмотрим, как добавление пользовательских типов “множество” и, в частности, модификация кода на С ("классы операторов") для индексов GIN и GiST, может повысить производительность.

Слайды

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

  • Дмитрий Лебедев
    Дмитрий Лебедев BestPlace Разработчик-исследователь ГИС
    90 мин

    Исследования геоданных при помощи PostGIS и смежных инструментов

    Сегодня работая с открытыми данными можно сделать интересные исследования в области городской среды и географии, с перспективными и нетривиальными выводами. В докладе я дам примеры пространственных расчётов на PostGIS — фактическом пром стандартом в области.

    Но одного PostGIS мало, и в работе требуются инструменты для импорта, проверки и визуализации данных. Кроме того критически важно видеть что происходит с нашими данными и сокращать итерации работы, о чём я подробно расскажу.

    1. Сбор данных; базы данных, открытые API, OpenStreetMap; ввод геоданных от пользователя.
    2. Применение сторонних API для расчётов и обработки.
    3. Вывод и визуализация результатов: QGIS, Matplotlib, Zeppelin — интеграция с PostGIS.
    4. Отладка расчётов - визуализация "на лету" (Arc, QGIS, NextGIS Web)
    5. Воспроизводимость и автоматизация действий: скриптинг и отслеживание зависимостей на Makefile, Gulp

  • Дмитрий Вагин
    Дмитрий Вагин Avito Lead Engineer
    22 мин

    Мониторинг PostgreSQL в Авито, с примерами

    Небольшой доклад о том как Avito собирает и мониторит нагрузку на базы данных. Отправка метрик из хранимых процедур в Graphite. Сбор метрик pg_stat* и отображение их в Grafana. Примеры из жизни.

    ВИДЕО

  • Олег Иванов
    Олег Иванов Postgres Professional Разработчик
    45 мин

    Адаптивная оптимизация запросов в PostgreSQL

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

    ВИДЕО

  • Masahiko Sawada
    Masahiko Sawada NTT OSS Center
    45 мин

    Встроенный шардинг: текущее состояние и будущее

    Шардингом базы данных называют распределение данных по большому количеству серверов для повышения производительности при работе с большими объемами данных. С появлением технологии Foreign Data Wrappers (FDW), стало возможным рассматривать шардинг в постгресе при разумном объеме изменений программного кода. Я занимаюсь улучшением инфраструктуры FDW, в т.ч. наследованием внешних таблиц и push-down запросов, что позволяет постгресу эффективно исполнять распределенные запросы через FDW. В этом докладе мы рассмотрим шардинг на FDW и его сценарии использования, затем я продемонстрирую, как организовать шардинг, и покажу, что для этого было сделано в постгресе. В заключение мы рассмотрим основные планы на будущее - в первую очередь, это асинхронное исполнение запросов и поддержка распределенных транзакций.