title

text

Иван Чувашов
Иван Чувашов ООО Calltouch DBA
: декабря
45 мин

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

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

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

Видео

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

  • Ibrar Ahmed
    Ibrar Ahmed Percona LLC Senior Database Architect
    90 мин

    Оптимизация производительности PostgreSQL

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

  • Daniele Varrazzo
    Daniele Varrazzo Codice Lieve Директор
    90 мин

    Python для PostgreSQL: как его использовать и преуспеть в этом?

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

    Мы рассмотрим psycopg2, наиболее часто используемую библиотеку-адаптер PostgreSQL для Python, а также анонсируем предстоящий релиз psycopg3: что останется прежним, что изменится, как лучше реализовать программу на Python, чтобы использовать PostgreSQL по максимуму.

  • David Steele
    David Steele Crunchy Data Principal Architect
    45 мин

    Лучшие практики для бэкапов с помощью pgBackRest

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

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

    • архивирование и хранение журнала предзаписи (WAL);
    • частоту снятия резервных копий и срок их хранения;
    • достижение целей по времени / точке восстановления;
    • варианты конфигурации;
    • обоснование с точки зрения производительности.

  • Tatsuro Yamada
    Tatsuro Yamada NTT Comware Ведущий специалист по базам данных
    Julien Rouhaud
    Julien Rouhaud Разработчик
    22 мин

    Построение автоматического консультанта и инструментов настройки производительности в PostgreSQL

    PostgreSQL - зрелая реляционная СУБД, её история насчитывает более 30 лет. За последний год её оптимизатор запросов стал лучше, и обычно он создаёт хорошие планы выполнения запросов.

    Но всегда ли эти планы выполнения запросов хороши? Чтобы оптимизировать процесс их создания, приходится пользоваться предположениями, чтобы планы выполнения запросов создавались достаточно быстро. Некоторые из этих предположений проверить довольно легко (например, актуальность статистики), другие сложнее (например, надо убедиться, что правильные индексы были созданы), а некоторые проверить почти невозможно (например, убедиться, что выборки достаточно репрезентативны даже для ассиметричного повторного секционирования данных). Сегодня из-за всех этих предположений администратор базы данных не всегда осознаёт, что он мог бы добиться значительного улучшения производительности.

    Чтобы помочь администраторам баз данных работать с действительно хорошим планом выполнения запросов, ниже мы представим несколько инструментов, которые могли бы помочь решить вышеупомянутые проблемы. Мы расскажем о консультанте для недостающих индексов, поиске недостающей статистики для создания новых метрик, а также информации для исправления ошибок в оценке строк (при этом порядок выполняемых операций соединения и оператор соединения определяются автоматически).

    • pg_qualstats предоставляет подсказки для создания новых индексов и расширенной статистики чтобы собрать много предикатных статистических данных о производственной нагрузке.
    • pg_plan_advsr создаёт альтернативные планы выполнения запросов автоматически для анализа информации об итеративном выполнении запросов, чтобы исправить ошибку оценки строк.

    В рамках этого доклада мы объясним, как устроены эти инструменты, что можно делать с их помощью, и как эффективно использовать оба инструмента вместе. Мы также упомянем другие инструменты для решения смежных проблем. Поэтому наш доклад будет полезен администраторам баз данных, которые заинтересованы в улучшении производительности при выполнении запросов или хотят проверить адекватность существующих настроек, индексов или статистики.