WAL-G: новые возможности и расширение сообщества
У меинтейнеров open-source возникает множество проблем по мере их роста. Как писать все больше требуемых фич, чинить все больше issues'ов и успевать смотреть все больше pull request'ов? На примере WAL-G(backup-tool for PostgreSQL) расскажу про то, как мы решали эти проблемы, запустив курс по Open-source разработке в университете, чего мы добились и куда будем двигаться дальше.
Слайды
Видео
Другие доклады
-
Валерий Попов Postgres Professional Руководитель группы информационной безопасности и сертификацииНиколай Чадаев 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, на которой мы продемонстрируем защиту чувствительной информации и персональных данных, сравним различные механизмы организации хранилища меток безопасности и производительность решения. -
Christopher Travers DeliveryHero SE Principle Engineer
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.
-
Дмитрий Урсегов Postgres Professional Руководитель группы разработки
Средства Greenplum для работы с внешними данными, примеры разработки коннекторов для Kafka и ClickHouse
Greenplum - это горизонтально-масштабируемая СУБД, основанная на ядре PostgreSQL. Она используется для OLAP нагрузок и стандартной задачей является быстрая загрузка или выгрузка большого объема данных. Часто внешними ресурсами данных являются такие же распределенные системы. В этом докладе будет рассказано, какие средства есть в Greenplum для работы с внешними ресурсами, про их архитектуру и производительность: external tables, foreign tables, streaming servers. Что планируется в следующей версии. Будут приведены примеры разработки коннекторов для Kafka и ClickHouse.
-
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.