Александр Никитин

ЗАО ЦФТ

Администратор баз данных

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

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

Oleksii Kozlov

Swarm64 AS

Senior Test Engineer

Михаил Цветков

Intel

Технический директор

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

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

Нина Белявская

Служба движения ГУП "Мосгортранс"

главный специалист

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

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

Слайды

Кристофер Трэверс

Adjust GmbH

Администратор баз данных

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.

Слайды

Александр Коротков

Postgres Professional

Руководитель разработки

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

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

Слайды

Брюс Момжиан

EnterpriseDB

Senior Database Architect

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.

Слайды

Брюс Момжиан

EnterpriseDB

Senior Database Architect

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

Слайды

Андрей Бородин

Яндекс.Облако

Руководитель подразделения разработки РСУБД с открытым исходным кодом

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

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

Павел Конотопов

inCountry

DBA team lead

Леонид Альбрехт

InCountry

DBA

Строим энтерпрайз инфрастуктуру с 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

Руководитель разработки

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

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

Alicja Kucharczyk

Microsoft

EMEA Global Blackbelt OSS Data Tech Specialist

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.

Эстебан Зимани

ULB

Профессор

Махмуд Закр

Université libre de bruxelles

Профессор

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.

Олег Бартунов

Postgres Professional

генеральный директор

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

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

Владимир Алешин

Avito

Разработчик баз данных

Хранимки as code

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

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

Слайды

Jose Cores Finotto

Gitlab Inc

Staff Engineer

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!

Слайды

Константин Евтеев

Avito

Руководитель разработки юнита DBA

10 лет PostgreSQL в Avito

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

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

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

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

Егор Рогов

Postgres Professional

эксперт

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

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

Слайды

Андрей Зубков

Parma Technologies Group

Администратор баз данных

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

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

Слайды

Татьяна Крупеня

DBeaver Corp

CEO

Сергей Ридер

Rider Soft

Технический директор

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

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

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

Слайды

Николай Аверин

Miro

Backend developer

pg_repack и deferred constraints

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

Слайды

Иван Чувашов

ООО СИГМА

ведущий разработчик-эксперт, архитектор баз данных

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

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

Артем Иванов

Atos IT S&S

Технический консультант

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

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

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

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

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

Слайды

Андрей Зубков

Parma Technologies Group

Администратор баз данных

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

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

Слайды

Дмитрий Гребенщиков

ООО "Диасофт"

Директор по импортозамещению

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

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

Камиль Исламов

Stickeroid Ai

CTO

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

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

Слайды

Дмитрий Урсегов

Arenadata

Руководитель разработки

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

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

Андрей Сальников

Data Egret

DBA

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

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

Слайды

Pavel Stehule

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

младший инженер баз данных

Вадим Ипатов

Zabbix SIA

Разработчик

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

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

Слайды

Слайды

Тарас Чикин

ООО «РТ МИС»

Системный архитектор

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

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

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

Слайды

Василий Пучков

ООО "ИТСК"

Руководитель направления

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

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

Слайды

Слайды

Дмитрий Васильев

coins.ph

DBA

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

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

Слайды

Abhinav Sagar

CSG International

Sr database consultant

Premnath Jangam

CSG Systems International

DBA

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.

Слайды

Слайды

Shawn Kim

Apposha

CEO

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

инженер-консультант

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

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

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

Слайды

Олег Бартунов

Postgres Professional

генеральный директор

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

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

Семен Трошкин

Мазар АО

Team lead

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 ролями прилагается.

Слайды

Георгий Рылов

Яндекс

Разработчик

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

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

Слайды

Александр Спирин

inCountry

DBA

Кирилл Калистратов

InCountry

Senior Performance Engineer

PostgreSQL Citus vs MongoDB sharded

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

Алексей Фадеев

Sibedge

Старший разработчик

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

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

Олег Правдин

Lingualeo

CTO

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

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

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

Слайды

Алексей Лесовский

Data Egret

PostgreSQL DBA

PostgreSQL Scaling Usecases

На сегодняшний день уже никого не удивить тем что инфраструктура живет в клауде, однако не все компоненты заезжают в клауд легко и просто. Одним из таких компонентов является база данных, которая всегда требовательна в плане ресурсов и производительности. Особенно остро стоит вопрос масштабируемости и устойчивости к сбоям, именно поэтому в последние годы можно наблюдать бурное развитие альтернативных СУБД. Однако классические РСУБД за счет накопленных фич нередко остаются выбором №1 при том что они также не стоят на месте и предоставляют богатый набор инструментов в плане масштабирования. В этом докладе я буду рассматривать преимущественно PostgreSQL, варианты его масштабирования и то когда это стоит делать и как это делать правильно. В докладе будут рассмотрены следующие темы: Потоковая репликация и разделение read/write рабочей нагрузки Логическая репликация и шардирование данных Обеспечение высокой доступности и устойчивости к сбоям Доклад будет интересен администраторам баз данных, системных администраторам, тимлидам, инфраструктурным архитекторам и широкому кругу специалистов которым интересен PostgreSQL

Анатолий Анфиногенов

АО "ВНИИЖТ" (ДЗО ОАО "РЖД")

Заместитель директора научного центра – начальник отдела разработки программного обеспечения АО "ВНИИЖТ"

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

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

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

Слайды

Федор Сигаев

Postgres Professional

технический директор

Антон Дорошкевич

ИнфоСофт

Руководитель Отдела-ИТ

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

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

Александр Кварацхелия

БАРС Груп

Архитектор программного обеспечения

Александр Чирков

Барс Груп

Архитектор ПО

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

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

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

Слайды

Валерий Попов

Postgres Professional

Руководитель группы информационной безопасности и сертификации

Николай Чадаев

ООО ППГ Разработка

Старший инженер

Построение защищенных БД с использованием мандатного разграничения доступа в 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, на которой мы продемонстрируем защиту чувствительной информации и персональных данных, сравним различные механизмы организации хранилища меток безопасности и производительность решения.

Слайды

Heikki Linnakangas

Pivotal

PostgreSQL hacker

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.

Павел Лузанов

Постгрес Профессиональный

Руководитель образовательных программ

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

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

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

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

Кирилл Боровиков

Тензор

Технический директор

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

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

Виктор Еремченко

Miro

Team Lead

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

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

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