• 15 сентября 2018, суббота
  • Москва, Лесная, 7

#RuPostgres: Масштабирование приложений на PostgreSQL

Регистрация на событие закрыта

Извините, регистрация закрыта. Возможно, на событие уже зарегистрировалось слишком много человек, либо истек срок регистрации. Подробности Вы можете узнать у организаторов события.

Другие события организатора

2259 дней назад
15 сентября 2018 c 12:00 до 16:30
Москва
Лесная, 7

15 сентября приглашаем всех в офис Авито на встречу, посвященную масштабированию приложений на PostgreSQL. Поговорим об алгоритмах и нюансах реализации транзакционности в языках программирования, построении бизнес-транзакций в сервисах с паттерном database per service, как устроена OZO — асинхронная типобезопасная header-only библиотека-клиент PostgreSQL для C++17, и уровнях изоляции транзакций PostgreSQL. С докладами выступят Стас Кельвич (Postgres Professional), Сергей Хандриков (Яндекс), Константин Евтеев (Авито) и Михаил Тюрин. Регистрируйтесь на встречу и приглашайте коллег.

Доклады

Распределенные транзакции и путешествия во времени
Стас Кельвич, Postgres Professional

Основой обсуждения будет статья «Clock-SI: Snapshot Isolation for Partitioned Data Stores Using Loosely Synchronized Clocks» за авторством Jiaqing Du, Sameh Elnikety и Willy Zwaenepoel. Мы попробуем разобраться с протоколом Clock-SI, также поговорим про существующие алгоритмы и нюансы реализации транзакционности в языках программирования (например, Software Transactional Memory в Clojure) и базах данных (от IBM System-R до Google Spanner); почему уровни изоляции описанные в ANSI SQL слабо отражают реальность и затронем тему транзакционных аномалий.

Масштабирование приложения на PostgreSQL в Авито: tips and tricks ​
Константин Евтеев, Авито

Я хочу поговорить о решениях от коммьюнити, которые мы реализовали в архитектуре Авито для масштабирования нашего приложения под постоянно растущие нагрузки.
Расскажу о «двухуровневом умном» кэше для более эффективного использования стендбая.
Поделюсь историей про опыт Авито в решении одного из вызовов микросервисной архитектуры — реализации бизнес-транзакций с соблюдением консистентности данных между сервисами при использовании архитектурного паттерна Database per Service. ​

Логическая репликация и уровни изоляции транзакций PostgreSQL
Михаил Тюрин, бывший главный системный архитектор Авито, активный участник сообщества PostgreSQL

С десятой версии PostgreSQL кроме физической репликации, нам доступна еще и встроенная логическая. Помимо этого, уже много лет существуют и успешно применяются решения по триггерной логической репликации. С другой стороны, относительно недавно, с версии 9.1, мы имеем транзакции с «честным» уровнем Serializable. Эти два существенных обстоятельства (а также дебаты в интернете) побудили автора сделать обзор проблемы применения уровней изоляции при различных существующих методах репликации, в том числе разобрать наличие Serializable на реплике.

OZO — асинхронная типобезопасная header-only библиотека-клиент PostgreSQL для C++17
Сергей Хандриков, Яндекс

Библиотека построена на базе Boost.Asio, благодаря чему обеспечивает поддержку всех видов асинхронности от колбэков до корутин. Библиотека общается с PostgeSQL с использованием libpq  и бинарного протокола, обеспечивая как асинхронный приём данных, так и асинхронную отправку запроса. OZO поддерживает как Compile-time конструкторы запросов, так и возможность их run-time конфигурации. Все параметры запросов автоматически сериализуются в бинарное представление. Результаты выполнения запросов также автоматически десериализуются как в простые типы, так и в адаптированные с помощью Boost.Fusion и Boost.Hana структуры.

Трансляция
Ссылку на прямую трансляцию митапа ищите в день мероприятия на YouTube канале AvitoTech.

Расписание
12:00 — 12:30 — Регистрация
12:30 — 13:15 — Распределенные транзакции и путешествия во времени Стас Кельвич, Postgres Professional
13:20 — 14:05 —PG Saga: зависимые изменения данных в нескольких сервисах без двухфазных коммитов и синхронных зависимостей Константин Евтеев, Авито
14:05 — 14:35 — Перерыв
14:35 — 15:20 — Логическая репликация и уровни изоляции транзакций PostgreSQL Михаил Тюрин
15:25 — 16:10 — OZO — асинхронная типобезопасная header-only библиотека клиент PostgreSQL для C++17 Сергей Хандриков, Яндекс
16:30 — … — Afterparty

Для участия в событии необходимо зарегистрироваться и получить подтверждение в письме.  Количество мест ограничено. Пожалуйста, вносите ФИО в форму так, как написано у вас в паспорте. В день мероприятия не забудьте захватить с собой паспорт или водительское удостоверение.

Регистрация

Рекомендуемые события

Организуете события? Обратите внимание на TimePad!

Профессиональная билетная система, статистика продаж 24/7, выгрузка списков участников, встроенные инструменты продвижения, личный кабинет для самостоятельного управления и еще много чего интересного.

Узнать больше