title

text

Yugo Nagata
Yugo Nagata SRA OSS, Inc. Japan Chief Scientist
12:05 01 марта
45 мин

Автоматическое инкрементальное обновление материализованных представлений

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

Инкрементальное обновление представлений (IVM) - это метод эффективного обновления материализованных представлений, который вычисляет и применяет к материализованным представлениям только инкрементальные изменения вместо повторного вычисления. Эта функциональность требуется для быстрого обновления материализованных представлений, но еще не реализована в PostgreSQL.

Поэтому мы разработали IVM для PostgreSQL и предлагаем реализовать его в качестве основной функции. Патч сейчас обсуждается в списке рассылки hackers. Наша реализация делает возможным автоматическое инкрементальное обновление материализованных представлений при изменении базовой таблицы. Вам не нужно писать собственную триггерную процедуру для обновления представлений. После продолжительной работы нашей команды текущая реализация IVM поддерживает некоторые возможности аггрегации, подзапросы, соединение одной таблицы (self-join), внешние соединения (outer join) и CTE (предложения WITH) в запросе определения представления. Результат оценки производительности с использованием запросов TPC-H показывает, что наша реализация IVM может обновлять материализованное представление в 200+ раз быстрее, чем повторное вычисление с помощью команды REFRESH.

В данном докладе мы опишем нашу реализацию IVM и ее возможности.

Видео

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

  • Максим Орлов
    Максим Орлов Postgres Professional разработчик
    22 мин

    Горячее минорное обновление в Postgres Pro13

    Обновление минорных версий Postgres Pro без остановки сервера и остановки активных сессий.

  • Иван Чувашов
    Иван Чувашов ООО Calltouch DBA
    45 мин

    Жизнь DBA в онлайн-кинотеатре "OKKO"

    Okko — один из самых больших легальных онлайн-кинотеатров в России. В нашем каталоге представлено 60 000 фильмов, мультфильмов и сериалов. С момента запуска сервис посетили более 20 млн пользователей. Ежемесячная аудитория составляет 2,8 млн человек Все эти цифры говорят о надежном высоконагруженном сервисе.

    В своем докладе я, как DBA, буду говорить преимущественно о базах данных (PostgreSQL, Cassandra, Redis), которые используются в компании. Подробно рассмотрим PostgreSQL на темы высоких нагрузок, мониторинга, оптимизации, резервного копирования и восстановления.

  • Егор Рогов
    Егор Рогов Postgres Professional эксперт
    45 мин

    Новое в учебных курсах Postgres Professional

    Образовательные проекты нашей компании создаются, чтобы помочь в изучении PostgreSQL. В прошлом году мы сосредоточились на курсах для прикладных разработчиков: обновили базовый курс DEV1 и выпустили совершенно новый курс DEV2. Что изменилось в нашем подходе к учебным материалам, как мы видим дальнейшее развитие курсов и есть ли у нас что-то кроме них, будут ли обновлены курсы для администраторов и как это отразится на сертификации – обо всем этом я и расскажу.

  • Mahmoud SAKR
    Mahmoud SAKR université libre de bruxelles Professor
    Esteban Zimányi
    Esteban Zimányi ULB Профессор
    90 мин

    Управление данными подвижных объектов с MobilityDB

    MobilityDB - это расширение PostgreSQL and PostGIS для работы с движущимися объектами. В нём определяются типы данных и функции для полноценной работы с геопространственными траекториями. Основной тип данных - tgeompoint (темпоральная геометрическая точка). Она представляет собой полную траекторию движения точки - автомобиля, птицы или человека. Функция speed(tgeompoint) вычисляет скорость точки как функцию времени, в форме tfloat (темпоральное число с плавающей точкой). Подобным образом в MobilityDB определяется 6 темпоральных типов и около 300 функций. Благодаря этому, MobilityDB представляет собой весьма функциональную платформу для управления подвижными данными.

    В этом мастер-классе Вы:

    • узнаете о базах данных подвижных объектов
    • напишете SQL запросы для MobilityDB для изучения базы траекторий объектов
    • ознакомитесь с типами данных, функциями и индексами MobilityDB.