title

text

Доклады

  • Pavel Stehule
    Pavel Stehule freelancer Независимый консультант и разработчик
    90 мин

    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.

  • Christopher Travers
    Christopher Travers DeliveryHero SE Principle Engineer
    180 мин

    Extending PostgreSQL in C: A Tutorial

    PostgreSQL is one of the most readily extensible databases in the world. Custom data types, aggregations, functions, and more can be easily and safely written in C.

    This hands-on tutorial covers the basics of writing functions, data types, and aggregates in C. It is recommended (though not strictly required) that bring their own laptops and be prepared to actually try the exercises.

    Topics covered include: 1. The PostgreSQL type system 2. Creating a simple custom type in C 3. Common errors for non-C programmers 4. Creating a simple aggregate in C

    There will be many opportunities for questions and discussion through the tutorial.

  • Álvaro Hernández
    Álvaro Hernández OnGres
    180 мин

    Kubernetes crash course for Postgres DBAs

    Kubernetes is the new way of deploying software, programmatically, on almost any infrastructure (be it cloud or on-prem). But is a complex beast. How to get started? How to dive deeper? What are the specific best-practices and special hints for Postgres DBAs dealing with Kubernetes? Join this half-day tutorial to learn, practically, among other topics:

    • How to quickly get started with Kubernetes
    • Manage storage
    • Manage services, networking and ingress/egress
    • How to make Postgres cloud-native in Kubernetes
    • Do a show-run of existing Postgres operators, including Zalando, CrunchyData and StackGres.

    This tutorial is very practical. BYOL! (Bring Your Own Laptop). With Kubernetes installed! (check microk8s, minikube or k3s if you don’t have any installed.

  • Иван Панченко
    Иван Панченко Postgres Professional рзаместитель генерального директора
    90 мин

    Интересные случаи использования JSON

    В этом небольшом мастер-кластер классе мы решим несколько программистских задач, в которых JSON эффективно расширяет возможности SQL, и превращает реляционную базу в почти готовый сервер приложений. :)
    Рассмотрим использование агрегатов, как готовых, так и самодельных, попробуем извлечь пользу из рекурсивного характера JSON.

  • Антон Дорошкевич
    Антон Дорошкевич ИнфоСофт Руководитель ИТ
    180 мин

    Мастер-класс настройки PostgreSQL для 1С

    Вас ждёт увлекательное путешествие по настройкам PostgreSQL. Мы поговорим о том что с 1С не так или наоборот так, что под неё надо специально настраивать СУБД. Обсудим подходы к тестирования скорости работы 1С. Рассмотрим различные варианты схем резервного копирования и обеспечения отказоустойчивости. В процессе мы сравним скорость работы 1С на PostgreSQL настроенном по умолчанию со скоростью работы на настроенном для 1С PostgreSQL. Так же мы создадим реплику PostgreSQL, и переключим на неё Сервер 1С "на живую", посмотрим что увидят пользователи 1С при этой операции. И отдельный блок будет посвящён PostgresPro Enterprise Edition, как использование его приемуществ влияет на скорость работы 1С.

  • Григорий Смолкин
    Григорий Смолкин Postgres Professional инженер по эксплуатации
    90 мин

    Резервное копирование с помощью pg_probackup

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

  • Максим Милютин
    Максим Милютин Ozon Ведущий разработчик ПО
    90 мин

    Patroni и stolon: инсталляция и отработка падений

    Patroni и Stolon - два наиболее известных и продвинутых решения для оркестрации PostgreSQL и обеспечения выскокой доступности (автофейловера) кластеров Leader-Followers конфигурации. Однако инженеры, переходящие со старых проверенных решений (Corosync&Pacemaker) и встроенных из других СУБД, сталкиваются со сложностями в инсталляции этих инструментов и непониманием ролей каждого из компонентов. В данном мастер-классе будет рассмотрен типичный процесс инсталляции кластеров Patroni и Stolon на виртуальных машинах (не в контейнерах), а также разобрано поведение этих кластеров при различных фейлах в инфраструктуре. Весь процесс будет демонстрироваться на трёх виртальных машинах под управлением vagrant с использованием предварительно подготовленных образов. При желании слушатель может следовать за процессом, предварительно подготовив своё окружение.

  • Антон Нечеухин
    Антон Нечеухин Miro Technical QA lead
    90 мин

    Инструмент как код: тестируем Postgres

    На мастер-классе научимся проводить быстрые нагрузочные тесты баз данных Postgres: оптимизаций конфигов базы, структуры данных, индексов, настроек ОС и т. д. Для этого создадим код, из него поднимем инфраструктуру для теста и проведём сам тест. В результате получим гибкий инструмент в коде, к которому можно прикрутить любой мониторинг и за который не надо платить большие деньги, т.к стенд создаётся за 7 минут в пустой AWS учётке и убивается после проведения тестов. Для этого мастер-класса есть важная подготовка, которую нужно сделать заранее, чтобы в полной мере попробовать все, что спикер хочет предложить. Один шаг не быстрый - нужно сделать триальную учетную запись в AWS. Для этого требуется подтверждение регистрации от Amazon, которое они делают в течении 24 часов (если вы ранее работали в AWS, и у вас есть учетка - это хорошо, если нет - нужно пройти этот путь) Также, лучше заранее поставить последние версии ansible и terraform.

  • Игорь Косенков
    Игорь Косенков Postgres Professional Администратор БД
    90 мин

    Развертывание отказоустойчивого кластера Postgres на pacemaker

    Если вы давно присматриваетесь к отказоустойчивым решениям, то наверняка слышали про кластеры СУБД на основе Corosync&Pacemaker.

    По видам эти кластеры можно разделить на 3-х узловой и 2-х узловой с голосующим узлом. По размещению кластеры делятся на кластеры на физических серверах и в виртуальной среде. В чем их отличия и особенности их настройки?

    Об этом вы узнаете, посетив мой мастер-класс. Вы также убедитесь, что установка и настройка кластера на Pacemaker не так сложна и трудоемка, как может показаться на первый взгляд.

  • Рустам Абдрахимов
    Рустам Абдрахимов ООО Форс-Телеком Главный эксперт
    Александр Любушкин
    Александр Любушкин ООО "ФОРС Телеком" Технический директор
    90 мин

    Разработка WEB-приложений для Postgres с помощью нового инструмента Live Universal Interface (LUI)

    В ходе мастер-класса будет продемонстрировано следующее:

    1. Преимущества декларативного программирования. Быстрое создание сложной формы LUI с применением только SQL.
    2. Поддержка длинных транзакций и автоматических блокировок. Пример визарда с записью прямо в базу.
    3. Управление раскраской данных в полях и столбцах формы. Типичные примеры.
    4. Живой поиск в полях ввода на примере ввода адресов.
    5. Как настроить LUI на ввод и отображение специфических данных прикладной системы.
    6. Разработка формы Мастер-Деталь с извлечением данных из двух разных БД.
    7. Как конечный пользователь строит сложные запросы к данным без использования SQL.
    8. Как в любом списке группировать данные и строить интерактивные диаграммы (включая 3D) c возможностью “drill down”.

    Слушатели по желанию смогут своими руками изготовить WEB-интерфейс для Postgres на LUI (см. презентацию на https://pgconf.ru/2019/118109)

  • Олег Бартунов
    Олег Бартунов Postgres Professional генеральный директор
    45 мин

    Как будет развиваться Postgres в ближайшие годы

    Краткий обзор основных тенденций развития Postgres - как продукта, так и сообщества. Что изменилось в целях, которые сообщество ставит себе?

  • Брюс Момжиан
    Брюс Момжиан EnterpriseDB Senior Database Architect
    45 мин

    Unlocking the Postgres Lock Manager

    Locking is critical for providing high concurrency for any database — you cannot fully utilize your hardware if locking is throttling its use. This talk explores all aspects of locking in Postgres by showing queries and their locks; covered lock types include row, table, shared, exclusive, and advisory lock types. The high concurrency provided by Multiversion Concurrency Control (MVCC) is also covered.

    Slides are at https://momjian.us/main/writings/pgsql/locking.pdf

  • Дмитрий Васильев
    Дмитрий Васильев Postgres Professional DBA
    45 мин

    Эксплуатация и мониторинг PostgreSQL в условиях AWS RDS: проблемы, рецепты и решения.

    Все наверное слышали о таком сервисе как AWS RDS. Я расскажу о своем опыте использования AWS RDS PostgreSQL Engine: о положительных и отрицательных аспектах эксплуатации и мониторинга. В докладе будет особое внимание уделено инструментам которые помогли мне создать комфортное окружение и полюбить RDS. https://www.dropbox.com/s/v7udx5x96as5gbd/pgconf2020.pdf

  • Валерий Попов
    Валерий Попов Postgres Professional Руководитель группы информационной безопасности и сертификации
    Николай Чадаев
    Николай Чадаев Postgres Professional Старший инженер
    45 мин

    Построение защищенных БД с использованием мандатного разграничения доступа в PostgreSQL

    Ролевая модель разграничения доступа (RBAC) является основным механизмом разграничения доступа во многих СУБД, в том числе и в PostgreSQL. Эта модель является разновидностью дискреционного разграничения с присущими ей ограничениями. Во многих ОС в дополнение к традиционному дискреционному разграничению доступа используется мандатное разграничение (MAC) на основе меток безопасности, которое является обязательным для защиты информации высоких классов, а также представляет дополнительный механизм защиты. Естественно, хочется использовать возможности мандатного разграничения доступа к данным в среде СУБД при работе в ОС с включенным мандатным разграничением.
    В нашем докладе мы рассмотрим имеющиеся реализации MAC в СУБД, а также предлагаем свой подход к использованию в PostgreSQL механизмов защиты, которые предоставляет SELinux, расширение sepgsql для PostgreSQL, а также стандартный механизм политики защиты строк (RLS, row level security), который есть в PostgreSQL начиная с версии 9.5.
    Созданный прототип работает в enforced режиме под управлением ОС CentOS 7 с включенным SELinux, системными политиками MLS/MCS (Multi Level Security/Multi Category Security). В дополнение к функциональности модуля sepgsql реализовано мандатное разграничение MLS/MCS на уровне строк таблиц. Обеспечивается сетевое взаимодействие с передачей меток по сети с использованием механизмов IPSEC, CIPSO, что позволяет использовать этот подход в многопользовательской, многоузловой сети. Реализация MLS в СУБД оформлена в виде стандартных расширений PostgreSQL. Одно является оберткой вокруг расширения sepgsql, и обеспечивает легкую инсталляцию расширения sepgsql в БД, а также восстановление контекстов безопасности данных при дампе/восстановлении БД. Второе расширение предоставляет сервисные функции для работы с метками, в том числе в доверенном режиме, позволяющем менять контексты безопасности.
    В качестве демо-примера мы использовали демонстрационную базу данных Авиаперевозки, подготовленную компанией Postgres Professional, на которой мы продемонстрируем защиту чувствительной информации и персональных данных, сравним различные механизмы организации хранилища меток безопасности и производительность решения.

  • Павел Конотопов
    Павел Конотопов inCountry DBA team lead
    Леонид Альбрехт
    Леонид Альбрехт InCountry DBA
    45 мин

    Строим энтерпрайз инфрастуктуру с PostgreSQL, как основу для системы хранения персональных данных

    В своем докладе я расскажу, как мы строили географически распределенную систему хранения персональных данных на основе Open Source ПО и PostgreSQL. Концепция бизнеса «inCountry» состоит в предоставлении клиентам готовой к использованию инфраструктуры для хранения персональных данных. Чтобы пользователи были уверены в том, что персональные данные, которыми они оперируют, попадают в страну их происхождения и хранятся там безопасно, не пересекая границ государства, мы написали API и построили разнообразные сервисы. Наша система соответствуют общепринятым стандартам безопасности (SOC Type 1, Type 2, PCI DSS и т.д.). Мы строили нашу инфраструктуру с помощью Consul, Nomad и Vault, использовали PostgreSQL, ElasticSearch как системы хранения, Nginx, Jenkins, Artifactory, средства для автоматизации управления и развертывания. Собрали команду разработки, команды управления – DevOps, Security, мониторинга и DBA. Мы используем как облачных провайдеров, так и bare-metal сервера, расположенные в разных регионах мира. Разработка архитектуры системы и обеспечение устойчивости инфраструктуры, согласованной и безопасной работы всех ее компонент – главная задача, которая стоит перед нашими командами.

  • Иван Фролков
    Иван Фролков Postgres Professional инженер-консультант
    45 мин

    Уровни изоляции транзакций в постгресе

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

    Тому, как этого избежать, и посвящен этот доклад.

  • Константин Евтеев
    Константин Евтеев X5 FoodTech Главный архитектор
    45 мин

    10 лет PostgreSQL в Avito

    PostgreSQL с момента старта Avito решает серьезные и важные задачи. Вокруг СУБД были построены основные компоненты архитектуры. За 10 лет проект активно развивался, изменилась архитектура и инфраструктура.

    Как вступление, сделаю обзор: эволюции архитектуры и инфраструктуры PostgreSQL в Avito; успешно решенных вызовов.

    В основной части расскажу о статусе PostgreSQL в Авито 2020: микросервисная архитектура; шардирование; проблемы коммуналок; DBaaS( Database discovery, управление доступом, failover, backup, archive, вопросы разделения ресурсов итд.); вопросы интеграции; эволюция команды.

    В заключение поделюсь нашим wishlist/нерешенными вопросами.

  • Артем Иванов
    Артем Иванов Atos IT S&S Пресейл-инженер
    22 мин

    Не сдерживайте свои данные: Многоядерное "железо" для PostgreSQL/Postgres Pro.

    С каждым годом задачи, решаемые с использованием СУБД PostgreSQL / Postgres Pro, становятся масштабнее и используют все больше аппаратных ресурсов.

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

    В ходе доклада расскажу о многопроцессорных конфигурациях серверов Atos для PostgreSQL / Postgres Pro

    Архитектура Scale-Up сервера с 8+ ЦПУ
    Варианты применения
    Примеры инсталляций
    

  • Татьяна Крупеня
    Татьяна Крупеня DBeaver Corp CEO
    С
    Сергей Ридер DBeaver Corp Технический директор
    22 мин

    Как подключиться к облачному серверу PostgresQL в условиях высоких требований к безопасности.

    Иногда даже просто подключиться к удаленному серверу - большая проблема. Особенно, если внутри организации высокие требования к безопасности, а ваша база данных находится на удаленном закрытом облачном сервере.

    Мы поговорим о том, как легко и быстро подключаться к вашему PostgreSQL через SSH, SSL, jump серверы, proxy серверы, VPN и SSO (Kerberos/SSPI/LDAP/Active Directory). Для демонстрации мы будем использовать как консоль, так и UI-клиент и JDBC-драйвер. Мы постараемся охватить самые разнообразные случаи: от самых простых до сложных и безумных.

  • Владимир Алешин
    Владимир Алешин Avito Инженер
    45 мин

    Хранимки as code

    В рамках доклада поговорим о хранимых процедурах и функциях и коде внутри базы данных в целом. Посмотрим на хранимки с разных сторон: глазами DBA, разработчика баз данных и разработчика серверной части. Попытаемся понять что такого особенного в хранимых процедурах, что зачастую препятствует применению сложившихся практик по работе с исходным кодом. Поговорим о том как выглядят best practice по работе с кодом в разрезе хранимых процедур.

    Доклад в большей степени ориентирован на разработчиков баз данных и серверных разработчиков, и является скорее мотивационным, чем хардкорно-техническим.

  • Антон Дорошкевич
    Антон Дорошкевич ИнфоСофт Руководитель ИТ
    Федор Сигаев
    Федор Сигаев Postgres Professional технический директор, ведущий разработчик PostgreSQL
    45 мин

    Что "мир 1С" ждёт от PostgreSQL

    Одну из самых массовых ветвей распространения PostgreSQL в России занимает 1С. В докладе хотел бы поделиться мыслями о том, чего не хватает в PostgreSQL по мнению тех, кто работает с 1С.

  • Камиль Исламов
    Камиль Исламов Stickeroid Ai CTO
    22 мин

    Методы использования Sequences в бизнес-логике

    Приводятся некоторые варианты использования возможностей Sequences в контексте бизнес-логики, реализованной с применением хранимых функций.

  • Андрей Бородин
    Андрей Бородин Яндекс.Облако Руководитель подразделения разработки РСУБД с открытым исходным кодом
    45 мин

    Odyssey: архитектура, настройка, мониторинг

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

  • Семен Трошкин
    Семен Трошкин Мазар АО Team lead
    22 мин

    PostgreSQL cluster высокой доступности под управлением Patroni для 1С. Единая точка входа организована Consul DNS на Windows.

    200 баз, несколько кластеров, несколько терабайт данных Поделимся своим опытом настройки и использования patroni cluster Кластер СУБД под Linux, сервер 1С под windows. Используем: Сборка PostgreSQL для 1С, Patroni, Consul, Consul dns, Commvault, Ansible Vagrant файл и Ansible playbook c ролями прилагается.

  • Виктор Еремченко
    Виктор Еремченко Miro Team Lead
    45 мин

    Отказоустойчивый кластер PostgreSQL + Patroni

    Я расскажу, как мы комплексно подошли к проблеме отказоустойчивости PostgreSQL, какие варианты мы рассматривали и как остановились на Patroni.

    Доклад содержит этапы тестирования этого решения, как мы обеспечили быстрое внедрение на production и с какими проблемами мы столкнулись и как их решали.

  • Shawn Kim
    Shawn Kim Apposha CEO
    45 мин

    Make Your PostgreSQL 10x Faster on Cloud in Minutes

    Cloud storage has some unique characteristics compared to traditional storage mainly because it is virtualized and controlled by software. One example is that AWS EBS shows higher throughput with larger I/O size up to 256 KiB without hurting latency. Hence, a user can get only about 4 MiB/sec with 1,000 IOPS EBS volume if the I/O request size is 4 KiB, whereas a user can get about 250 MiB/sec if the I/O request size is 256 KiB. This is because EBS consumes one I/O in a given IOPS budget for every I/O request regardless of the I/O size (up to 256 KiB). Unfortunately, PostgreSQL cannot exploit the full potential of cloud storage because PostgreSQL has designed without considering the unique characteristics of cloud storage.

    In this talk, I will introduce the AppOS extension that improves the throughput of a write-intensive workload by 10x by transparently making PostgreSQL cloud storage-native. AppOS works like a storage driver that efficiently exploits the characteristics of cloud storage, such as I/O size dependency to storage throughput and latency, atomic write support in cloud block storage, and fast, but non-durable local SSDs. To do this, AppOS comprises a Linux-compatible file I/O stack including virtual file system, page cache, block I/O layer, cloud storage driver. On top of the file I/O stack, syscall module supports registering pre- and post-handler for file I/O-related system calls in order to transparently work without modifying PostgreSQL codes.

    I will focus on presenting key use cases and performance results of the AppOS extension after explaining the internals. Specifically, I will show the performance results of OLTP and some batch workloads using standard benchmarking tools like pgbench and sysbench. I will also present performance results and implications on multiple clouds including AWS, GCP, and Azure.

  • Александр Коротков
    Александр Коротков Postgres Professional Руководитель разработки
    45 мин

    Узкие места PostgreSQL #2

    В прошлом году я сделал доклад про неожиданные узкие места PostgreSQL, которые могут застать пользователя (или администратора) врасплох. Обратная связь была очень положительной, а за год накопился новый материал. Поэтому я решил сделать продолжение сериала и разобрать новые ситуации, когда база неожиданно для всех встаёт колом. В этот раз упор будет на машины с большим числом ядер, но не только.

  • Premnath Jangam
    Premnath Jangam CSG Systems International DBA
    Abhinav Sagar
    Abhinav Sagar CSG International Sr database consultant
    45 мин

    Life cycle of Database Migration from Oracle, DB2 to PostgreSQL

    Many businesses which use Database management systems like Oracle, DB2 & MS SQL are unreliable these days. Moreover, the costs incurred in maintaining these systems and its product licenses keeps on increasing. As the competitors are migrating over to the new technologies and tools available in the market, it is necessary for these businesses to migrate to new environment which is efficient, consistent and reliable to stay in the market and the technologies used in the current environment have become obsolete or no longer serve the business purpose. PostgreSQL has emerged as a top open-source RDBMS software. Since there is no licensing cost associated with it most of the companies are planning to migrate the databases which are currently running on other RDBMS like Oracle, DB2, MS SQL server to PostgreSQL. This report summarizes the various methodologies, procedures and techniques involved in successfully migrating the data from Oracle to PostgreSQL & DB2 to PostgreSQL. Migration is not a simple effort there should be proper planning and testing involved in this right from database connectivity to performance analysis. In this paper we are going to cover most of the steps which we need to consider before the migration and after the migration like choosing the correct tools for implementing the migration, time taken to migrate ,data compatibility, code conversion, application connectivity to database, database configuration parameters, performance analysis, replication setups, database monitoring, patching and backup strategies.

  • Андрей Зубков
    Андрей Зубков ООО "Пармалогика" Администратор баз данных
    45 мин

    Простой инструмент исторического анализа производительности - pg_profile

    В поиске проблем производительности администраторам баз данных необходим инструмент исторического анализа нагрузки. Особенно важен подобный инструмент в случаях, когда было зафиксировано время нехарактерного снижения производительности системы, и вам надо выяснить что больше всего нагружало вашу СУБД в это время. Это и поиск ресурсозатратных запросов, и поиск активных и растущих объектов в схеме данных, статистики использования пользовательских функций и использования temp. Существует несколько инструментов, так или иначе решающих эту задачу. Я расскажу об одном таком инструменте, который легко устанавливается в виде расширения к СУБД Postgres, легко настриавается и позволяет получить отчет о нагрузке за некоторый период в прошлом, который будет неплохой начальной точкой дальнейшего расследования.

  • Алексей Фадеев
    Алексей Фадеев Sibedge Старший разработчик .NET, евангелист Postgres.
    22 мин

    GraphQl-бэкенд на PostgreSQL и plv8

    Недавно мне пришлось поработать над проектом, где для запросов к бэкенду на .NET Core использовали GraphQl, о чём потом пожалели. Дело в том, что GraphQl-запрос представляет собой объект с динамическим набором полей и иерархией любой вложенности. Обрабатывать такие объекты на языке со статической и сильной типизацией, да ещё и через ORM, как это предлагают библиотечные решения – очень неудобно. И тогда мне пришла идея использовать plv8 и разбирать запросы в формате GraphQl прямо на стороне БД. За пару часов я написал работающий прототип, реализующий функционал, который разрабатывали более месяца! Затем было сделано несколько усовершенствований, всё это я собираюсь показать. Тем, кто собирается в своих проектах использовать GraphQl, а не REST, информация из данного доклада может особенно пригодиться и возможно поможет сэкономить уйму времени.

  • Александр Спирин
    Александр Спирин Лига Цифровой Экономики DBA
    Кирилл Калистратов
    Кирилл Калистратов InCountry Senior Performance Engineer
    22 мин

    PostgreSQL Citus vs MongoDB sharded

    Мы хотим поделиться структурой и результатами теста (производительности и не только), в котором участвовали PostgreSQL/Citus и MongoDB для данных нашей компании. Это был весьма увлекательный процесс с неожиданными поворотами и неоднозначным результатом.

  • Pavel Stehule
    Pavel Stehule freelancer Независимый консультант и разработчик
    45 мин

    The performance problems related migrations from PL/SQL to PL/pgSQL

    Porting applications from Oracle to Postgres is common work today. Unfortunately it is not without problems. In presentation I'll try to show the basic performance problems related to differences between Oracle and Postgres and PL/SQL and PL/pgSQL.

  • Александр Коротков
    Александр Коротков Postgres Professional Руководитель разработки
    45 мин

    Что нам ждать от PostgreSQL 13?

    "Заморозка разработки" (feature freeze) PostgreSQL 13 запланирована на апрель 2020. Впереди ещё два commitfest'а, которые принимают новые патчи. Что мы можем сказать про PostgreSQL 13? Возможно сработает закон чередования и в нём окажется не так много прорывных фич, как в PostgreSQL 12. Даже если и так, то это будет хороший эволюционный релиз, куда войдёт много небольших фич, а также инфраструктурных изменений, готовящих постгрес к новому рывку. В докладе я расскажу о всех ожидаемых новинках PostgreSQL 13. О них можно будет судить достаточно точно, потому что останется уже только один последний commitfest, результаты которого можно будет прогнозировать.

  • Алексей Лесовский
    Алексей Лесовский PostgreSQL Consulting LLC Администратор баз данных
    45 мин

    PostgreSQL Scaling Usecases

    На сегодняшний день уже никого не удивить тем что инфраструктура живет в клауде, однако не все компоненты заезжают в клауд легко и просто. Одним из таких компонентов является база данных, которая всегда требовательна в плане ресурсов и производительности. Особенно остро стоит вопрос масштабируемости и устойчивости к сбоям, именно поэтому в последние годы можно наблюдать бурное развитие альтернативных СУБД.

    Однако классические РСУБД за счет накопленных фич нередко остаются выбором №1 при том что они также не стоят на месте и предоставляют богатый набор инструментов в плане масштабирования.

    В этом докладе я буду рассматривать преимущественно PostgreSQL, варианты его масштабирования и то когда это стоит делать и как это делать правильно. В докладе будут рассмотрены следующие темы:

    • Потоковая репликация и разделение read/write рабочей нагрузки

    • Логическая репликация и шардирование данных

    • Обеспечение высокой доступности и устойчивости к сбоям

      Доклад будет интересен администраторам баз данных, системных администраторам, тимлидам, инфраструктурным архитекторам и широкому кругу специалистов которым интересен PostgreSQL.

  • Кирилл Боровиков
    Кирилл Боровиков ООО "Компания "Тензор" Технический директор
    45 мин

    План + запрос = ?.. Когда анализ запроса в радость

    1. Странные вещи при анализе планов, и почему они происходят - сказка о потеряном времени и "лишние" buffers.
    2. Структурные подсказки в плане. Как помочь разработчику с оптимизацией, не написав ни строчки кода.
    3. Как соотнести узлы плана с текстом запроса и что из этого можно извлечь.

  • Василий Пучков
    Василий Пучков ООО Главный эксперт
    45 мин

    Опыт эксплуатации серверов PostgreSQL в корпоративной сети

    Специфика корпоративной сети, возникающие проблемы, пути их решения. Годовой опыт эксплуатации продуктивных систем 1С на PostgreSQL в режиме 24x7 Достоинства и недостатки PostgreSQL по сравнению с MS SQL с точки зрения DBA. Опыт миграции систем 1С с MS SQL на PostgreSQL

  • Егор Рогов
    Егор Рогов Postgres Professional эксперт
    45 мин

    Статистика в ретроспективе

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

  • Брюс Момжиан
    Брюс Момжиан EnterpriseDB Senior Database Architect
    45 мин

    Non-Relational Postgres

    Postgres has always had strong support for relational storage. However, there are many cases where relational storage is either inefficient or overly restrictive. This talk shows the many ways that Postgres has expanded to support non-relational storage, specifically the ability to store and index multiple values, even unrelated ones, in a single database field. Such storage allows for greater efficiency and access simplicity, and can also avoid the negatives of entity-attribute-value (eav) storage. The talk will cover many examples of multiple-value-per-field storage, including arrays, range types, geometry, full text search, xml, json, and records.

  • Олег Правдин
    Олег Правдин Lingualeo CTO
    45 мин

    Опыт плавной миграции высоконагруженного проекта (20+ млн. пользователей) c MySQL на PostgreSQL

    Небольшая история о том, как переход на PostgreSQL увеличил на порядок эффективность работы компании:

    1. Программный код сократился в 50 раз, в команде разработки бэкенда вместо 15 человек осталось трое
    2. Сроки разработки нового функционала стали измеряться днями, а не месяцами
    3. Стоимость владения в расчете на 1 млн. пользователей снизилась в 20 раз
    4. Структура данных и документация существенно упростилась: вместо 100 тыс. таблиц со сложными связями стало 20 простых таблиц
    5. Повышение безопасности системы за счет запрета внешних SQL команд к базе данных
    6. Быстрый сбор аналитики по ключевым параметрам
    7. Без остановки работы бизнеса

  • Андрей Сальников
    Андрей Сальников Data Egret DBA
    45 мин

    Поиск плохих запросов

    Работа с запросами и их оптимизация, это бесконечное приключение для разработчиков, работающих с базами данных. Часто под прицел попадают большие и долго выполняющиеся запросы, но что делать если таких запросов нет в вашем приложении? Как найти те самые запросы что портят взаимодействие между backend частью приложения и базой данных? Какие инструменты мы для этого используем? Обо всем этом будет рассказано в докладе.

  • Павел Лузанов
    Павел Лузанов Postgres Professional Руководитель образовательных программ
    45 мин

    Сертификация PostgreSQL: вопросы и ответы

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

    В этом выступлении я поделюсь итогами первых месяцев работы программы и отвечу на чаще всего возникающие вопросы:

    • Где узнать о программе сертификации?
    • Сертификация по PostgreSQL или Postgres Pro?
    • Сертификаты по версии 10, уже вышла 12. Когда будете обновлять?
    • Обязательно ли проходить обучение в учебных центрах?
    • Можно ли сдать тест удаленно? Не в Москве?
    • Можно ли в один день сдавать сразу несколько тестов? (например иногородним)
    • Как готовиться? Есть ли примеры вопросов для тренировки?
    • Во время теста попался некорректный вопрос, что делать?
    • Как узнать на какие именно вопросы ответы были не правильные?
    • Когда можно пересдать после не успешной попытки?
    • Как обжаловать результаты теста?

  • Jose Cores Finotto
    Jose Cores Finotto Gitlab Inc Staff Engineer
    45 мин

    Managing PostgreSQL at Gitlab.com

    I would like to present the main projects for the evolution of our database, how we execute the administration, the problems and pitfalls we found, and how we solve them,the number and how are  the database clusters from Gitlab.com , and what is our planning for the future, sharding, kubernetes... Our environment is in an exponential growth, with millions of users and thousands of requests per second, and we keep our platform stable and scaling. Join our session and discover our how we are doing it!

  • Álvaro Hernández
    Álvaro Hernández OnGres
    45 мин

    StackGres: Cloud-Native PostgreSQL on Kubernetes

    An enterprise-grade PostgreSQL requires many complementary technologies to the database core: high availability and automated failover, monitoring and alerting, centralized logging, connection pooling, etc. That is, a stack of components around PostgreSQL. Kubernetes has enabled a new model to deploy software abstracting away the infrastructure. However, containers are not lightweight VMs, and the packing of software paradigms that work on VMs are not valid on containers/Kubernetes. How should be PostgreSQL and its stack be deployed on Kubernetes? Enter StackGres. An open source software that is the result of re-engineering PostgreSQL to become cloud native. Join this talk to learn and see demos of how to generate PostgreSQL minimal containers; how the sidecar pattern is used (abused) to integrate PostgreSQL’s stack components, and how the networking and storage are handled. More info: stackgres.io.

  • Андрей Зубков
    Андрей Зубков ООО "Пармалогика" Администратор баз данных
    22 мин

    Пример использования GiST в решении нестандартной поисковой задачи

    Я расскажу о том, как приспосабливал индекс GiST для решения одной частной задачи на примере поиска текстов, "похожих" на данный в большом наборе текстов. Сама по себе задача довольно узкая и в общем случае ценности не представляет. Но она простая, понятная и отлично подходит в качестве иллюстрации. Интересен подход к построениею стратегии индексирования и поиска при решении нестандартной поисковой задачи почти без программирования с использованием сильных сторон индекса GiST. Возможно, это поможет вам найти решение для каких-то других поисковых задач.

  • Esteban Zimányi
    Esteban Zimányi ULB Professor
    Mahmoud SAKR
    Mahmoud SAKR université libre de bruxelles Professor
    45 мин

    MobilityDB: Managing Mobility Data in PostgreSQL

    MobilityDB is an open source moving object database system (https://github.com/ULB-CoDE-WIT/MobilityDB). Its core function is to efficiently store and query mobility tracks, such as vehicle GPS trajectories. It implements the Moving Features specification from the Open Geospatial Consortium (OGC). MobiltyDB is engineered up from PostgreSQL and PostGIS, providing spatiotemporal data management via SQL. It thus integrates with the postgreSQL eco-system allowing for complex architectures such as mobility stream processing and cloud deployments.

    The presentation will explain the architecture of MobilityDB, its database types, indexes, and operations. We will highlight the PostgreSQL features that enable this extension, and the would like to have features. This presentation will be of special interest to the PostgreSQL community, and to professionals in the transportation domain.

  • Дмитрий Гребенщиков
    Дмитрий Гребенщиков ООО "Диасофт" Директор по импортозамещению
    22 мин

    Особенности миграции инженерного ПО с Oracle на PostgreSQL

    Дмитрий расскажет об опыте применения автоматизированного мигратора разработанного специалистами компании «Диасофт» для перевода российских систем на PostgreSQL.
    На примере миграции инженерного ПО ЛОЦМАН (компания АСКОН) раскроет ключевые особенности миграции, расскажет о проблемах миграции и путях их решения.
    А также о методах оптимизации производительности смигрированных хранимых процедур.

  • Нина Белявская
    Нина Белявская Служба движения ГУП "Мосгортранс" главный специалист
    22 мин

    Анализ движения наземного общественного транспорта Москвы: от PostGIS к MobilityDB

    Наземный общественный транспорт Москвы во время движения по городу передаёт геоданные с помощью системы ГЛОНАСС. Эти данные хранятся и используются для анализа движения, выявления проблемных мест, составления расписаний и проектирования выделенных полос. Для хранения данных используется БД PostgreSQL c популярным расширением PostGIS. Новое расширение MobilityDB специально предназначено для работы с геоданными, изменяющимися во времени. Я сравнила решения наших задач с использованием MobilityDB и без него и хочу рассказать о полученных результатах и перспективах использования новой системы.

  • Николай Аверин
    Николай Аверин Miro Backend engineer
    22 мин

    pg_repack и deferred constraints

    pg_repack является популярным инструментом для устранения bloat-a таблиц и индексов в постгресе. В большинстве случаев он отлично справляется с проблемой. Но как оказалось, в случае использования такой фичи постгреса как deferred ограничения, использование pg_repack либо сильно усложняется, либо становится невозможным. Я расскажу о том, как мы обнаружили эту проблему и опишу возможные способы ее решения - от встроенных средств постгреса до небольшого патча pg_repack.

  • O
    Oleksii Kozlov Swarm64 AS Senior Test Engineer
    Михаил Цветков
    Михаил Цветков Intel Технический директор
    22 мин

    Новые разработки для PostgreSQL: аппаратные технологии энергонезависимой памяти и SQL-акселераторы на ПЛИС в 2020

    Серверные технологии не стоят на месте и иерархия хранения и обработки данных стремительно меняется. В приходом в 2019 году принципиально новой памяти Intel® OptaneTM DC persistent memory типовой сервер получил возможность конфигурироваться с терабайтами прямо адресуемой памяти или использовать эти модули как сверхбыстрый энергонезависимый кэш. Параллельно, активно ведется работа по переносу части операций СУБД c ядер ЦПУ на акселераторы на базе ПЛИС.

  • Иван Чувашов
    Иван Чувашов ООО Calltouch DBA
    22 мин

    Миграция данных из Oracle в PostgreSQL с использованием инструмента Pentaho

    При миграции данных из одной СУБД в другую встает вопрос: выбрать сторонний инструмент или написать миграцию самому? Компании, пытаясь вырасти компетенции внутри себя, выбирают второй вариант. И наталкиваются на изобретение собственных "велосипедов". Однако на рынке есть мощные бесплатные инструменты миграции данных. Одним из таких инструментов является Pentaho Data Integration, входящий в пакет Pentaho Community Edition. В докладе будет рассмотрено применение данного пакета для миграции данных между СУБД Oracle и PostgreSQL. Особое внимание будет уделено проблемам, возникающим при использовании данного инструмента, и задачам тестирования на полноту и целостность мигрируемых данных.

    Небольшая видео-иллюстрация:

  • Анатолий Анфиногенов
    Анатолий Анфиногенов АО "ВНИИЖТ" Зам. директора научного центра - начальник отдела разработки ПО
    45 мин

    Как я перестал беспокоиться и перенес 60K строк из 150 процедур PL/SQL в Postgres.

    В докладе рассказывается об опыте переноса серверного приложения, работающего на полигоне железных дорог от Калининграда до Хабаровска, с Oracle 11g Standard Edition на ванильный PostgreSQL 11.5.
    На момент начала миграции база данных насчитывала порядка 200 хранимых процедур на языке Oracle PL/SQL общим объемом порядка 60000 строк (которые создавались с 2006 года, т.е. уже более 12 лет), около 250 таблиц и 50 Гбайт данных.
    Доклад содержит описание сопровождавших этот процесс приключений, приятных и неприятных открытий, а также пролог, эпилог и хэппи-энд.

    Повествование ведется от лица пользователя Oracle, открывающего для себя Postgres.

  • Alicja Kucharczyk
    Alicja Kucharczyk Microsoft EMEA Global Blackbelt OSS Data Tech Specialist
    45 мин

    Architecting petabyte-scale analytics by scaling out Postgres on Azure with Citus

    The story about powering a 1.5 petabyte analytics application with 2816 cores and 18.7 TB of memory in the Citus cluster at the Microsoft. The Windows team measures the quality of new software builds by scrutinizing 20,000 diagnostic metrics based on data flowing in from 800 million Windows devices. At the same time, the team evaluates feedback from Microsoft engineers who are using pre-release versions of Windows updates. At Microsoft, the Windows diagnostic metrics are displayed on a real-time analytics dashboard called “Release Quality View” (RQV), which helps the internal “ship-room” team assess the quality of the customer experience before each new Windows update is released. Given the importance of Windows for Microsoft’s customers, the RQV analytics dashboard is a critical tool for Windows engineers, program managers, and execs.

  • Олег Бартунов
    Олег Бартунов Postgres Professional генеральный директор
    45 мин

    Энциклопедия полнотекстового поиска

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

  • Дарья Вилкова
    Дарья Вилкова Postgres Professional младший инженер баз данных
    Вадим Ипатов
    Вадим Ипатов Zabbix SIA Разработчик
    45 мин

    Плагин для мониторинга PostgreSQL для нового zabbix-agent

    В zabbix-server 4.4 стал доступен новый zabbix-agent. Он написан на Golang, имеет плагинную структуру, держит постоянное подключение и дает возможность контролировать метрики в runtime. В докладе будет рассказано о новом агента в целом, о том, как разрабатывать плагины под него, и в частности, о плагине для мониторинга PostgreSQL, разработанного компанией Postgres Professional совместно с Zabbix.

  • Александр Кварацхелия
    Александр Кварацхелия БАРС Груп Архитектор программного обеспечения
    Александр Чирков
    Александр Чирков Барс Груп Архитектор ПО
    45 мин

    Миграция с Oracle на PostgreSQL с использованием автоматического конвертера

    В докладе мы хотим рассказать об опыте миграции одной большой системы с Oracle на PostgreSQL. Сама система построена на стеке PHP + Oracle, её отличительной особенностью было то, что вся бизнес-логика была реализована в PL/SQL коде. В СУБД - это более 3000 пакетов с 4-10 функциями (процедурами) в каждом. В PHP - более 10000 форм со вставками анонимных блоков, используемых для получения данных, обработки и сохранения результатов в Oracle.

    Для решения этой крайне объемной работы мы взяли ANTLR4 (синтаксический анализатор для чтения, обработки, выполнения или перевода структурированного текста), грамматику PL/SQL и создали автоматический конвертер, который позволяет преобразовать все объекты схемы и нашей системы из Oracle в рабочий код для PostgreSQL.

  • Федор Сигаев
    Федор Сигаев Postgres Professional технический директор, ведущий разработчик PostgreSQL

    Postgres Pro Enterprise

    Рассказ об основных фичах, отличающих Enterprise-версию Postgres Pro, представленный их разработчиком.

  • Дмитрий Урсегов
    Дмитрий Урсегов Postgres Professional Руководитель группы разработки
    22 мин

    Средства Greenplum для работы с внешними данными, примеры разработки коннекторов для Kafka и ClickHouse

    Greenplum - это горизонтально-масштабируемая СУБД, основанная на ядре PostgreSQL.  Она используется для OLAP нагрузок и стандартной задачей является быстрая загрузка или выгрузка большого объема данных. Часто внешними ресурсами данных являются такие же распределенные системы. В этом докладе будет рассказано, какие средства есть в Greenplum для работы с внешними ресурсами, про их архитектуру и производительность: external tables, foreign tables, streaming servers. Что планируется в следующей версии. Будут приведены примеры разработки коннекторов для Kafka и ClickHouse.

  • Александр Никитин
    Александр Никитин ЗАО ЦФТ Администратор баз данных
    22 мин

    Миграция БД Zabbix c Oracle на PostgreSQL

    В докладе я расскажу о том, как появился Заббикс в нашей компании, как мы жили с Ораклом, почему мы приняли решение перейти на PostgreSQL, какие проблемы возникли у нас при переходе, а также какое ПО показалось нам удачным выбором для работы с PostgreSQL.

  • Георгий Рылов
    Георгий Рылов Яндекс Разработчик
    22 мин

    WAL-G: новые возможности и расширение сообщества

    У меинтейнеров open-source возникает множество проблем по мере их роста. Как писать все больше требуемых фич, чинить все больше issues'ов и успевать смотреть все больше pull request'ов? На примере WAL-G(backup-tool for PostgreSQL) расскажу про то, как мы решали эти проблемы, запустив курс по Open-source разработке в университете, чего мы добились и куда будем двигаться дальше.

  • Тарас Чикин
    Тарас Чикин Цифромед Архитектор решений по обработке данных
    45 мин

    Прислоняться разрешается. Как мы подружили MSSQL, Postgres, написали свою «репликацию» и переводим на Postgres одну из самых больших МИС в России

    Опыт перевода медицинской информационной системы «РТ МИС» (ПроМед) с MSSQL на PostgreSQL. Когда назрела необходимость перехода на PostgreSQL в нашей «РТ МИС», одной из самых больших МИС в России мы, по настоящему, ужаснулись, оценив объемы перехода: огромное количество хранимых процедур, функций, SQL-запросов в прикладном коде и сервисах. Все это требовало переписывания, осложнялось требованиями к доступности системы, и вариант «проснуться и везде работает PostgreSQL» был практически невозможен. И мы пошли другим путем – постепенно «прислоняясь» к «слону – PostgreSQL».

    В докладе будут рассмотрен наш практический опыт перехода, используемые инструменты, зачем нам понадобилась еще одна репликация, проблемы и пути их решения, и что же все-таки оказалось для нас лучше : PostgreSQL или MSSQL.

  • Christopher Travers
    Christopher Travers DeliveryHero SE Principle Engineer
    45 мин

    Introducing Bagger: Massive Application Log Management on PostgreSQL

    This talk discusses the open source components we use at Adjust to manage a massive number (5+PB) of application log messages on PostgreSQL in a massively multi-parallel way. It provides both a use case for PostgreSQL in a big data (high volume/velocity/variety) environment, and can be used to show the power of PostgreSQL with JSONB, GIN, and more.

    This talk covers the capabilities of the components in depth, sufficient to inspire similar solutions.

  • Heikki Linnakangas
    Heikki Linnakangas Pivotal PostgreSQL hacker
    45 мин

    Writing a User-defined datatype

    Walk-through of extending PostgreSQL with a user-defined type. The journey begins from the basics, from creating simple domain types over existing types, and continues to implementing a full-blown datatype from scratch in C.

    PostgreSQL's advanced index types, GiST, GIN, and SP-GiST, are covered in enough detail to give an understanding of what each of them is good for. Support functions for each of them are shown for the example 'color' datatype.