Хранимки as code
В рамках доклада поговорим о хранимых процедурах и функциях и коде внутри базы данных в целом. Посмотрим на хранимки с разных сторон: глазами DBA, разработчика баз данных и разработчика серверной части. Попытаемся понять что такого особенного в хранимых процедурах, что зачастую препятствует применению сложившихся практик по работе с исходным кодом. Поговорим о том как выглядят best practice по работе с кодом в разрезе хранимых процедур.
Доклад в большей степени ориентирован на разработчиков баз данных и серверных разработчиков, и является скорее мотивационным, чем хардкорно-техническим.
Слайды
Видео
Другие доклады
-
Рустам Абдрахимов ООО Форс-Телеком Главный экспертАлександр Любушкин ООО "ФОРС Телеком" Технический директор
Разработка WEB-приложений для Postgres с помощью нового инструмента Live Universal Interface (LUI)
В ходе мастер-класса будет продемонстрировано следующее:
- Преимущества декларативного программирования. Быстрое создание сложной формы LUI с применением только SQL.
- Поддержка длинных транзакций и автоматических блокировок. Пример визарда с записью прямо в базу.
- Управление раскраской данных в полях и столбцах формы. Типичные примеры.
- Живой поиск в полях ввода на примере ввода адресов.
- Как настроить LUI на ввод и отображение специфических данных прикладной системы.
- Разработка формы Мастер-Деталь с извлечением данных из двух разных БД.
- Как конечный пользователь строит сложные запросы к данным без использования SQL.
- Как в любом списке группировать данные и строить интерактивные диаграммы (включая 3D) c возможностью “drill down”.
Слушатели по желанию смогут своими руками изготовить WEB-интерфейс для Postgres на LUI (см. презентацию на https://pgconf.ru/2019/118109)
-
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.
-
Валерий Попов 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, на которой мы продемонстрируем защиту чувствительной информации и персональных данных, сравним различные механизмы организации хранилища меток безопасности и производительность решения. -
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!