Une réunion consacrée au dimensionnement des applications sur PostgreSQL se tiendra au bureau d'Avito le 15 septembre. Parlons des algorithmes et des nuances de mise en œuvre de la transactionnalité dans les langages de programmation, de la création de transactions commerciales dans les services avec une base de données par modèle de service, de la façon dont OZO est organisé - de la bibliothèque cliente PostgreSQL de type asynchrone pour C ++ 17 et des niveaux d'isolation des transactions PostgreSQL. Des présentations seront faites par Stas Kelvich (Postgres Professional), Sergey Handrikov (Yandex), Konstantin Evteev (Avito) et Mikhail Tyurin. Inscrivez-vous à une réunion et invitez des collègues. Sous la coupe - résumés des discours des orateurs, un lien vers l'enregistrement et des informations sur la diffusion d'un mitap.

Rapports
Transactions distribuées et voyages dans le temps. Stas Kelvich, Postgres Professional

«La discussion sera basée sur l'article« Clock-SI: Isolement de clichés pour les magasins de données partitionnés utilisant des horloges synchronisées de manière lâche »par Jiaqing Du, Sameh Elnikety et Willy Zwaenepoel. Nous allons essayer de comprendre le protocole Clock-SI, nous parlerons également des algorithmes existants et des nuances d'implémentation de la transactionnalité dans les langages de programmation (par exemple, Software Transactional Memory in Clojure) et les bases de données (d'IBM System-R à Google Spanner); pourquoi les niveaux d'isolement décrits dans ANSI SQL reflètent faiblement la réalité et nous aborderons le sujet des anomalies transactionnelles. »
Mise à l'échelle d'une application sur PostgreSQL dans Avito: trucs et astuces. Konstantin Evteev, Avito

«Je veux parler des solutions de la communauté que nous avons mises en œuvre dans l'architecture Avito pour adapter notre application à des charges en constante augmentation.
Je vais vous parler du cache "intelligent à deux niveaux" pour une utilisation plus efficace du mode veille.
Je vais partager une histoire sur l'expérience d'Avito dans la résolution de l'un des défis de l'architecture de microservices - la mise en œuvre de transactions commerciales tout en maintenant la cohérence des données entre les services à l'aide du modèle architectural de base de données par service. »
Niveaux de réplication logique et d'isolement des transactions PostgreSQL. Mikhail Tyurin

«Depuis la dixième version de PostgreSQL, en plus de la réplication physique, nous avons également accès à la logique intégrée. De plus, des solutions de réplication de logique de déclenchement existent et sont appliquées avec succès depuis de nombreuses années. En revanche, relativement récemment, à partir de la version 9.1, nous avons des transactions avec un niveau «honnête» de sérialisable. "Ces deux circonstances importantes (ainsi que les débats sur Internet) ont incité l'auteur à examiner le problème de l'utilisation des niveaux d'isolement avec diverses méthodes de réplication existantes, y compris l'analyse de la présence de Serializable sur la réplique."
OZO est une bibliothèque client PostgreSQL asynchrone de type sécurisé uniquement pour C ++ 17. Sergey Handrikov, Yandex

«La bibliothèque est construite sur la base de Boost.Asio, grâce à laquelle elle prend en charge tous les types d'asynchronie, des rappels à la coroutine. La bibliothèque communique avec PostgeSQL à l'aide de libpq et d'un protocole binaire, fournissant à la fois la réception asynchrone des données et l'envoi asynchrone d'une demande. OZO prend en charge les constructeurs de requêtes au moment de la compilation et la possibilité de leur configuration au moment de l'exécution. Tous les paramètres de requête sont automatiquement sérialisés en une représentation binaire. Les résultats de l'exécution des requêtes sont également désérialisés automatiquement en types et structures simples adaptés avec Boost.Fusion et Boost.Hana. »
Horaire
12h00 - 12h30 - Inscription
12h30 - 13h15 - Transactions distribuées et voyage dans le temps - Stas Kelvich, Postgres Professional
13:25 - 14:05 - PG Saga: changements de données dépendants dans plusieurs services sans validations en deux phases et dépendances synchrones - Konstantin Evteev, Avito
14h05 - 14h35 - Pause
14:35 - 15:20 - Niveaux de réplication logique et d'isolement des transactions PostgreSQL - Mikhail Tyurin
15 h 20 - 16 h 10 - OZO - bibliothèque PostgreSQL de bibliothèque d'en-tête sécurisée de type asynchrone pour C ++ 17 - Sergey Handrikov, Yandex
16h30 - ........ - afterparty
Comment se rendre et où regarder
La participation à l'événement est gratuite, mais vous devez vous inscrire . Veuillez indiquer votre nom complet comme dans votre passeport et emporter des documents avec vous, sinon vous ne serez pas admis dans notre bureau.
Adresse: bureau Avito, Lesnaya 7 .
Recherchez un lien vers la diffusion en direct de la métapole le jour de l'événement sur la chaîne YouTube AvitoTech .