title

text

Christopher Travers
Christopher Travers DeliveryHero SE Principle Engineer
16:00 01 марта
45 мин

Когда всё идёт не так: как надо и как не стоит реагировать на инциденты при поддержке СУБД

Однажды в Adjust мы столкнулись с проблемой скорого достижения предельного значения xid в очень централизованной базе данных из-за длительной остановки autovacuum. Поскольку мы заметили предупреждения за 5 часов до надвигающейся катастрофы, мы смогли минимизировать влияние проблемы на клиентов. Приходите на доклад, чтобы узнать, как мы использовали это время для подготовки и какие уроки это может преподать всем, кто сталкивается с необычными проблемами в больших базах данных.

Видео

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

  • Yugo Nagata
    Yugo Nagata SRA OSS, Inc. Japan Chief Scientist
    45 мин

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

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

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

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

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

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

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

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

  • Дорофей Пролесковский
    Дорофей Пролесковский Juno GIS Engineer
    22 мин

    Что нового в PostGIS 3.1

    PostGIS - расширение для работы с пространственными данными в PostgreSQL. В этом докладе будут рассмотрены все последние изменения в экосистеме вокруг PostGIS с комментариями от разработчика.

  • Евгений Дюков
    Евгений Дюков Yandex Старший разработчик
    Андрей Бородин
    Андрей Бородин Яндекс Разработчик
    45 мин

    Эксплуатация высокодоступных РСУБД с открытым исходным кодом в облачном окружении

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