title

text

Kohei KaiGai
Kohei KaiGai HeteroDB Главный архитектор и генеральный директор
10:00 03 марта
45 мин

GPU-версия PostGIS и индекса GiST

В рамках данного доклада мы представим GPU-версию PostGIS и индекса GiST, которую мы разработали в качестве новой функциональности PG-Strom.

Сегодня наши устройства (например, мобильные телефоны) динамически генерируют геолокационные данные. Это часто используют для маркетинга на основе местоположения устройства, доставки push-уведомлений, оповещения о чрезвычайных ситуациях, и так далее. Люди часто используют технологию GIS для получения данных о пользователях, находящихся в данный момент в данном месте. Даже если определения географических областей представляют собой сложные многоугольники, функции PostGIS могут генерировать правильные пересечения, однако это часто требует интенсивных вычислительных нагрузок. Графический процессор (GPU) был разработан для массовых параллельных вычислений с тысячами ядер на чип и более. Мы разработали расширение PG-Strom для частичного выполнения SQL-запросов на устройствах GPU. В новом релизе PG-Strom v3.0 будет добавлена поддержка для нескольких функций PostGIS и GiST-индексов для выполнения ресурсоёмких вычислений с обработкой геолокационных данных.

В рамках этого доклада мы расскажем о создании этой технологии, её использовании, реализации и представим результаты сравнительного тестирования для GPU-версии PostGIS и GiST-индекса.

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

  • Андрей Зубков
    Андрей Зубков Postgres Professional Руководитель группы систем мониторинга
    45 мин

    Анализатор исторической нагрузки pg_profile/pgpro_pwr и его новые возможности

    Речь пойдет о простом инструменте стратегического анализа исторической нагрузки. Расширение предназначено для поиска проблем производительности в базах данных Postgres. Расскажу о принципах работы расширения, его применимости, возможностях и развитии. У pg_profile появилась расширенная ветка pgpro_pwr, предназначенная для работы в дистрибутивах PostgresPro с расширенным набором статистик производительности. Покажу на простых примерах преимущества, доступные в базах PostgresPro Enterprise Edition и PostgresPro Standard Edition.

  • Арсений Шер
    Арсений Шер Postgres Professional Разработчик
    45 мин

    Консенсус, Postgres, Мультимастер

    Postgres Pro Multimaster - это расширение Postgres (и набор патчей для ядра), обеспечивающее высокую доступность (HA) со строгой согласованностью и масштабируемостью чтения. Он образует симметричный кластер без общего доступа, синхронно реплицирующий данные и автоматически выполняющий аварийное восстановление. В течение последнего года мы приложили значительные усилия, чтобы убедиться и доказать, что согласованность сохраняется во всех сценариях. Новая версия, которая будет выпущена как часть Postgres Pro Enterprise 13, использует алгоритм Paxos для определения результата транзакции и оригинальный протокол, управляющий процессом восстановления; мы использовали TLA+ и TLC model checker для проверки его правильности. Я расскажу, как все это работает и почему в некоторых случаях multimaster может быть привлекательной альтернативой традиционным HA решениям на основе потоковой репликации.

    Multimaster теперь имеет открытый исходный код и доступен по адресу: https://github.com/postgrespro/mmts

    Чтобы сделать доклад менее узкоспециализированным и более привлекательным для широкой аудитории, в первой части я расскажу о том, как в целом современные СУБД (в основном так называемые NewSQL СУБД) обеспечивают отказоустойчивость. В частности, я остановлюсь на следующих моментах:

    что такое строго согласованная СУБД и какие накладные расходы с этим связаны; что такое распределённый консенсус, Paxos, Raft; как они здесь помогают?

    Я не буду пытаться объяснять какие-либо алгоритмы построчно; это едва ли осмысленно с учетом ограничений по времени, и на эту тему есть много полезной литературы. Цель здесь скорее в том чтобы познакомить с областью и задать в ней ориентиры.

  • Robert Haas
    Robert Haas EnterpriseDB Вице-президент, руководитель исследований в сфере СУБД
    45 мин

    Повреждение данных: как его избежать, обнаружить и обеспечить восстановление

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

  • Александр Любушкин
    Александр Любушкин ООО "ФОРС Телеком" Технический директор
    Юлия Голубева
    Юлия Голубева ООО "ФОРС Телеком" Ведущий эксперт
    22 мин

    Новое развитие LUI (Live Universal Interface) - LUI4ORA2PG, инструмент миграции

    В докладе будет рассказано о новом инструменте миграции прикладных систем из среды Oracle в среду Postgres. Инструмент разработан на основе средства ora2pg (Gill Darold) и отечественного средства разработки приложений LUI. О LUI делались доклады на конференциях в 2019-м и 2020-м годах: