title

text

Игорь Успенский
Игорь Успенский Rambler&Co Системный администратор
15:00 07 февраля
45 мин

PostgreSQL SaaS в Rambler&Co

Rambler&Co - это множество изданий, сервисов и проектов. Появляются новые и растут существующие. Такой среде нужна надежная, отказоустойчивая, масштабируемая, автоматизированная система.

Расскажу об устройстве нашего PostgreSQL SaaS, какие инструменты и технологии мы используем. Кворум из 3 Дата-центров. Единая точка входа для клиентов на основе динамической маршрутизации. Аварийное переключение мастера. Прозрачное масштабирование на чтение. Создание реплики без нагрузки на кластер. Прозрачный перенос PostgreSQL cluster на другие серверы. Актуализация dev окружения из prod для разработки. Резервное копирование с компрессией и использованием нескольких CPU на стороне database, восстановление одной БД из basebackup. Мониторинг sql запросов.

Слайды

Видео

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

  • Дмитрий Сарафанников
    Дмитрий Сарафанников Яндекс Разработчик
    45 мин

    Как сохранить статистику при мажорном обновлении, и что за это бывает

    Ни для кого не секрет, что статистика не переносится при мажорном обновлении. Для небольших и не сильно нагруженных баз это не проблема, можно быстро собрать новую статистику. Но у нас есть базы объемом порядка 5ТБ и нагрузкой порядка 100k rps, для которых это стало большой проблемой: взлетая без статистики, реплики даже не могли накатывать WAL. В своем докладе расскажу, на какие хитрости мы пошли, чтобы произвести обновление этих баз в условиях требований 100% доступности read only, о том, какие ошибки допустили, и о том как эти ошибки мучительно исправляли. Результатом этих ошибок стало расширение pg_dirty_hands, в котором мы будем собирать различные хаки, которые можно назвать «фол последней надежды».

  • Михаил Балаян
    Михаил Балаян Acronis Chief Database Architect
    45 мин

    MVCC в картинках и когда длинные транзакции - это проблема

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

  • Иван Картышов
    Иван Картышов Postgres Professional Разработчик ядра
    Дмитрий Иванов
    Дмитрий Иванов Postgres Professional Developer
    22 мин

    Басня про тестирование и postgres

    Однажды вот Питон и Слон
    Вести тестирование взялись.
    И вместе все в него впряглись!

    В нашей компании (Postges Professional) разрабатываются разные проекты: multimaster, pg_probackup, pg_pathman, pg_shardman, RUM, и другие. Совладать со всей этой оравой весьма непросто, поэтому нам необходим инструмент, который способен облегчить и ускорить написание всевозможных тестов.

    В данном докладе мы расскажем о фреймворке testgres, написанном на Python, который уже позволил решить множество проблем и протестировать функциональность, которую нельзя так просто покрыть прямолинейными регрессионными тестами.

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

    Мы стремимся сделать testgres фреймворком для проведения функциональных тестов пользовательских запросов, хранимых процедур и прочей серверной логики, привнося практику TDD на уровнь разработки БД.

  • Алексей Лустин
    Алексей Лустин SilverBulleters, LLC CTO
    45 мин

    Docker, PostgreSQL, Продуктив ....

    Я бы хотел поделиться наработками в части использования PostgreSQL в докерезированных средах, рассказать, с какими особенностями вам придется столкнуться и какие дополнительные инструменты для этого понадобятся.

    • Какие проблемы решает Docker для PostgreSQL, например PostgreSQLPro.9.6
    • Как работать команде ИТ в условиях использования Docker на разработческих, приемочных и продуктивных контурах
      • Использование хранилища образов и серверов сборок для тестирования самого образа
    • С чем придется столкнуться в продуктиве
      • В части сетевой активности
      • Организации персистентных хранилищ для Docker
      • Дополнительных служб и сервисов
      • В части балансировки и отказоустойчивости
    • Как запустить у себя приложения, использующие PostgreSQL, такие как:
      • SonarQube
      • Gitlab
      • База 1С