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 и ее возможности.

Видео

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

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

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

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

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

  • Алексей Фадеев
    Алексей Фадеев Sibedge Старший разработчик .NET, евангелист Postgres.
    22 мин

    Multicorn Foreign Data Wrapper против plpython

    Технология Multicorn позволяет разрабатывать FDW на языке Python, что гораздо проще и быстрее создания FDW на языке C. Однако есть и обратная сторона, Multicorn FDW хорошо работают с примитивными условиями WHERE, но на чуть более сложных случаях возникают трудности, про которые я расскажу. Случаи будут рассмотрены на примере моего Multicorn FDW для получения данных OpenStreetMap. Так же я покажу примеры использования одного и того же кода в Multicorn FDW и функции на plpython, в том числе сравнение производительности. В заключение поделюсь своими выводами, когда лучше использовать plpython, а когда Multicorn FDW.

  • Брюс Момжиан
    Брюс Момжиан EnterpriseDB Senior Database Architect
    45 мин

    Postgres и искусственный интеллект в современном мире

    Искусственный интеллект, машинное обучение и глубокое обучение — это взаимосвязанные концепты, которые пытаются решить проблемы, бросающие вызов традиционным вычислительным решениям — с помощью них обнаруживают мошенничество, распознают голос и определяют релевантность результатов поиска. Несмотря на то, что они противостоят традиционному вычислению, они требуют больших вычислительных ресурсов — вплоть до вычисления миллионов вероятностей и весов. Хотя эти вычисления могут выполняться вне базы данных, машинное обучение внутри базы данных, близко к тому, где хранятся данные, даёт определенные преимущества. В этой презентации будет разъяснено, как выполнять машинное обучение в базе данных под управлением Postgres.

  • Игорь Косенков
    Игорь Косенков Postgres Professional Администратор БД
    90 мин

    Отказоустойчивый кластер PostgreSQL с помощью crmsh

    В некоторых дистрибутивах ОС отсутствует утилита настройки pcs для создания отказоустойчивого кластера PostgreSQL. В этом случае нам поможет утилита crm из пакета crmsh. Она сложнее в использовании, но такая же мощная и эффективная.

    В своем мастер-классе я покажу, как этой утилитой пользоваться, а также настрою отказоустойчивый кластер в разных конфигурациях.