Хабрахабр

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

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

image

Доклады

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

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

PG Saga: зависимые изменения данных в нескольких сервисах без двухфазных коммитов и синхронных зависимостей. Константин Евтеев, Авито

image
«История про опыт Авито в решении одного из вызовов микросервисной архитектуры — реализации бизнес-транзакций с соблюдением консистентности данных между сервисами при использовании архитектурного паттерна Database per Service.

Это можно реализовать двумя способами: После разделения приложения на несколько сервисов (как следствие, у каждого сервиса своя база данных) уже невозможно сделать все атомарно в 1 ACID-транзакции.

  • two-phase commit 2PC;
  • sagas.

В докладе я расскажу, как мы его реализовали. Мы выбрали паттерн саг. PG в названии потому что в нашей реализации в сервисе саг мы используем PostgreSQL».

Логическая репликация и уровни изоляции транзакций PostgreSQL. Михаил Тюрин

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

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

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

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

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

Адрес: офис компании Avito, Лесная 7.

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

Теги
Показать больше

Похожие статьи

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Кнопка «Наверх»
Закрыть