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

Яндекс

Разработчик

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

Доклад

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

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

Miro

Backend developer

pg_repack и deferred constraints

Доклад

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

Иван Фролков

Postgres Professional

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

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

Доклад

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

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

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

Postgres Professional

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

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

Доклад

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

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

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

эксперт

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

Доклад

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

Махмуд Закр

Université libre de bruxelles

Профессор

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 is engineered up from PostgreSQL and PostGIS, providing spatiotemporal data management via SQL. It 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. An end to end example will be demonstrated, starting with data preparation, loading, transformation, querying, until visualization. A special focus will be given on the new features that have been added to MobilityDB, including OGC compliance and scalability.

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.

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.

Сергей Бурмисов

Acme Crypto Corp

CTO

Миграция блокчейн-данных на Clickhouse и обратно на PostgreSQL

Доклад

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

Брюс Момжиан

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

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

Data Egret

PostgreSQL DBA

PostgreSQL Scaling Usecases

Доклад

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

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

Miro

Team Lead

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

Доклад

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

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

Брюс Момжиан

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.

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

Postgres Professional

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

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

Доклад

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

Тарас Чикин

ООО «РТ МИС»

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

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

Доклад

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

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

Muhammad Usama

HighGo Software Inc Canada

Senior Database Architect

PostgreSQL HA with Pgpool-II and whats been happening in Pgpool-II lately....

Доклад

Pgpool-II has been around to complement PostgreSQL over a decade and provides many features like connection pooling, failover, query caching, load balancing, and HA. High Availability (HA) is very critical to most enterprise application, the clients need the ability to automatically reconnect with a secondary node when the master nodes go down.

This is where Pgpool-II watchdog feature comes in, the core feature of Pgpool-II provides HA by eliminating the SPOF is the Watchdog. This watchdog feature has been around for a while but it went through major overhauling and enhancements in recent releases. This talk aims to explain the watchdog feature, the recent enhancements went into the watchdog and describe how it can be used to provide PostgreSQL HA and automatic failover.

Finally, we will summarise the major features that have been added in the recent major release of Pgpool-II and what's in the pipeline for the next major release.

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

coins.ph

DBA

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

Доклад

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

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

Adjust GmbH

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

PostgreSQL as a Big Data Platform

Доклад

This talk covers three use cases of PostgreSQL in big data, what makes them unique, and how we have had to apply different solutions to different problems at scale. This covers our main analytics product, a retargeting product using PostgreSQL to query Parquet files created using Spark, and our massive log management system.

Each solution is covered on an architectural basis, providing an insight into how broad architectural concepts relate to operational challenges at scale.

Ибрар Ахмед

Percona LLC

Старший инженер-программист - консультант по PostgreSQL

Tune your Linux Box, not just PostgreSQL

Доклад

PostgreSQL is one of the leading open-source databases. Out of the box, the default PostgreSQL configuration is not tuned for any particular workload. The default configuration is designed in such a way that PostgreSQL can run on any system using minimum resources. Consequently, a default installation of PostgreSQL does not give optimum performance on high-performance machine because it is set up to use all available resources. PostgreSQL provides mechanisms that allow you to tune your database according to your workload and machine specification. Outside of PostgreSQL, though, we can tune the Linux kernel to allow the database load to work optimally. In this talk, we will learn how to tune some of the PostgreSQL’s parameters, and we will see the effect of that tuning, but we will focus on demonstrating how to tune Linux for better Postgres performance. As there are so many Linux kernel parameters that can be tuned to improve the performance of PostgreSQL, I will also share the results of benchmarks obtained when tuning some of the Linux parameters.

Ибрар Ахмед

Percona LLC

Старший инженер-программист - консультант по PostgreSQL

Join Heterogeneous Databases using PostgreSQL Foreign Data Wrappers

Доклад

PostgreSQL provides a way to communicate with external data sources. This could be another PostgreSQL instance or any other database. The other database might be a relational database such as Clickhouse, MySQL or Oracle; or any NoSQL database such as MongoDB or Hadoop. To achieve this, PostgreSQL implements ISO Standard call SQL-MED in the form of Foreign Data Wrappers (FDW). This presentation will explain in detail how PostgreSQL FDWs work. It will include a detailed explanation of simple features and will introduce more advanced features that were added in recent versions of PostgreSQL. Examples of these would be to show how aggregate pushdown and join pushdown work in PostgreSQL.

The talk will include working examples of these advanced features and demonstrating their use with different databases. These examples show how data from different database flavors can be used by PostgreSQL, including those from heterogeneous relational databases, and showing NoSQL joins.

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

Postgres Professional

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

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

Доклад

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

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

Avito

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

10 лет PostgreSQL в Avito

Доклад

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

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

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

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

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!

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

ООО "ИТСК"

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

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

Доклад

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

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.

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

Parma Technologies Group

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

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

Доклад

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

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

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-драйвер. Мы постараемся охватить самые разнообразные случаи: от самых простых до сложных и безумных.

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

Мазар АО

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

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

ЗАО ЦФТ

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

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

Доклад

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

Дмитрий Шитов

Команда Gilev.ru

специалист

Влияние настроек оптимизатора запросов PostgreSQL на работу 1С

Доклад

Администраторы и программисты, кому приходится настраивать PostgreSQL для работы с 1С:Предприятием, часто копируют настройки с какого-нибудь "авторитетного" сайта. Если эти настройки не дают нужного результата, то они копируют другие настройки и так может продолжаться, пока они не устанут. Мы попробуем показать в докладе, что к процессу изменения настроек оптимизатора запросов в PostgreSQL нужно подходить осознано.

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

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

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

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

Доклад

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

Иван Картышов

Postgres Professional

Разработчик ядра

Новая грань pg_dump`a

Доклад

Можно ли старую собаку обучить новым трюкам? Простой и надежный инструмент pg_dump никогда не был настолько удобным как сейчас. Рассказ про то как обычный pg_dump стал мощным инструментом для продакшена и отличным помощником ДБА. Новые возможности, преимущества и кейсы их использования в "бою".

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

Stickeroid Ai

CTO

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

Доклад

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

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

Sibedge

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

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

Доклад

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

Иван Чувашов

ООО СИГМА

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

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

Доклад

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

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

ИнфоСофт

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

Что "мир 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.

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

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

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

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

Доклад

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

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

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

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

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

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

Яндекс

Разработчик

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

Доклад

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

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.

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

Postgres Professional

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

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

Доклад

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

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

Data Egret

DBA

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

Доклад

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

Олег Правдин

Lingualeo

CTO

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

Доклад

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

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

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

Тензор

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

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

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