Odyssey: архитектура, настройка, мониторинг
Совсем недавно мы выпустили версию 1.0 нашего пулера соединений Odyssey. Он призван решить проблемы управления соединениям высоконагруженных инсталляций PostgreSQL. В этом докладе я хотел бы рассказать об архитектуре и эксплуатации Одиссея. Также будут затронуты проблемы, которые были решены в достаточно длинном переходе между 1.0rc и 1.0.
Слайды
Видео
Другие доклады
-
Максим Милютин Ozon Ведущий разработчик ПО
Patroni и stolon: инсталляция и отработка падений
Patroni и Stolon - два наиболее известных и продвинутых решения для оркестрации PostgreSQL и обеспечения выскокой доступности (автофейловера) кластеров Leader-Followers конфигурации. Однако инженеры, переходящие со старых проверенных решений (Corosync&Pacemaker) и встроенных из других СУБД, сталкиваются со сложностями в инсталляции этих инструментов и непониманием ролей каждого из компонентов. В данном мастер-классе будет рассмотрен типичный процесс инсталляции кластеров Patroni и Stolon на виртуальных машинах (не в контейнерах), а также разобрано поведение этих кластеров при различных фейлах в инфраструктуре. Весь процесс будет демонстрироваться на трёх виртальных машинах под управлением vagrant с использованием предварительно подготовленных образов. При желании слушатель может следовать за процессом, предварительно подготовив своё окружение.
-
Алексей Фадеев Sibedge Старший разработчик .NET, евангелист Postgres.
GraphQl-бэкенд на PostgreSQL и plv8
Недавно мне пришлось поработать над проектом, где для запросов к бэкенду на .NET Core использовали GraphQl, о чём потом пожалели. Дело в том, что GraphQl-запрос представляет собой объект с динамическим набором полей и иерархией любой вложенности. Обрабатывать такие объекты на языке со статической и сильной типизацией, да ещё и через ORM, как это предлагают библиотечные решения – очень неудобно. И тогда мне пришла идея использовать plv8 и разбирать запросы в формате GraphQl прямо на стороне БД. За пару часов я написал работающий прототип, реализующий функционал, который разрабатывали более месяца! Затем было сделано несколько усовершенствований, всё это я собираюсь показать. Тем, кто собирается в своих проектах использовать GraphQl, а не REST, информация из данного доклада может особенно пригодиться и возможно поможет сэкономить уйму времени.
-
Тарас Чикин Цифромед Архитектор решений по обработке данных
Прислоняться разрешается. Как мы подружили MSSQL, Postgres, написали свою «репликацию» и переводим на Postgres одну из самых больших МИС в России
Опыт перевода медицинской информационной системы «РТ МИС» (ПроМед) с MSSQL на PostgreSQL. Когда назрела необходимость перехода на PostgreSQL в нашей «РТ МИС», одной из самых больших МИС в России мы, по настоящему, ужаснулись, оценив объемы перехода: огромное количество хранимых процедур, функций, SQL-запросов в прикладном коде и сервисах. Все это требовало переписывания, осложнялось требованиями к доступности системы, и вариант «проснуться и везде работает PostgreSQL» был практически невозможен. И мы пошли другим путем – постепенно «прислоняясь» к «слону – PostgreSQL».
В докладе будут рассмотрен наш практический опыт перехода, используемые инструменты, зачем нам понадобилась еще одна репликация, проблемы и пути их решения, и что же все-таки оказалось для нас лучше : PostgreSQL или MSSQL.
-
Pavel Stehule freelancer Независимый консультант и разработчик
The possibilities of profiling plpgsql code - available tools
I like stored procedures - it is great technology. But like any other technologies it allows to write not well optimized code. It is not easy to write optimized code, sql statements in complex large applications. On second hand, there are some tools, that can be used very easily, that can help. Postgres has built-in tracking functions possibility. There are PLProfiler and plpgsql_check. With these tools is easy work to detect slow part of applications.With this knowledge, the fix of performance issue is less magic.