Разделяемый буфер. Внутрянка
Разделяемый буфер (или буферный менеджер) — одно из наиболее «горячих» мест в нагруженной СУБД, алгоритмы конкурентного доступа к которому постоянно совершенствуются. Несмотря на то, что базовые алгоритмы доступа и вытеснения страниц в PostgreSQL хорошо изучены в тематической литературе, их описание с учетом блокировок, а также машинерия работы буфера в целом при различных сценариях, остаются «белым пятном». В докладе я опишу работу буфера от простейшей модели до актуального состояния, затрагивая сложные и малопонятные участки кода. Поговорим об ожиданиях, которые завязаны на процессы вокруг буфера, рассмотрим текущие и потенциальные средства мониторинга и инструментации буфера, а также полезные малоизвестные возможности.
openGauss и PostgreSQL contributor
На конференциях часто обсуждаются темы, связанные с производительностью PostgreSQL, с бэкапами, с Patroni и прочими интересными вещами. Это очень увлекательно, но все забывают о том, что самым слабым звеном во всей цепочке является человек. Если администратор БД начнет выгорать от рутины, будет уже не до производительности сервера. В своем выступлении я постараюсь рассказать о способах, которые позволят DBA тратить меньше времени на рутинные операции, а значит, освободят время для интересных и творческих задач. Доклад будет полезен всем, кто так или иначе связан с администрированием БД.
Ведущий администратор БД PGMechanix
Оценка безопасности вашей БД. Как быстро и эффективно защитить слона?
Технический руководитель отдела ТП «Тантор Лабс»
Расскажу о том, как провести аудит безопасности вашей СУБД на базе Postgres и приступить к решению обнаруженных проблем. Коснемся руководств по безопасной конфигурации, разработанных для «ванильной» версии, обсудим best practices Postgres-сообщества в обеспечении безопасности БД на нескольких уровнях, начиная с сетевой и транспортной безопасности, и поговорим о том, какие общедоступные методы и инструменты можно использовать в этом непростом деле и насколько быстро стоит гоняться за новыми минорными версиями.
Первые шаги в разработке ядра Postgres
У новых участников сообщества возникают похожие вопросы, что-то вроде «Как создать pull request?», «Есть ли у вас какие-нибудь хорошие первые проекты для работы?» или «Какую среду IDE лучше всего использовать для разработки?». Администраторы БД запрашивают новаторские функции, студенты пишут большие объемы кода, а разработчики хорошо понимают, что полезно, а что нет, и взгляд каждой группы имеет свою уникальную ценность. В этом выступлении я постараюсь сгруппировать вопросы и ответы вместе, чтобы новичкам было проще приступить к написанию кода.
PostgreSQL contributor, руководитель подразделения разработки РСУБД с открытым исходным кодом Yandex Cloud
Оптимизация производительности Postgres с применением векторной обработки массивов данных
Известно, что т.н. векторные инструкции реализуют идеологию «одна команда — много данных» и позволяют за такт процессора выполнять операции не с одним элементом массива, а сразу с целым набором (вектором) из элементов. Это с успехом применяется не только в графических ускорителях, но и для оптимизации работы PostgreSQL, расширяя горизонты развития этой технологии. В выступлении я проанализирую различия последовательной и векторной обработки массивов данных на CPU и покажу, как можно получить до 64x прирост производительности. Обсудим результаты синтетических тестов, сравним разные способы векторной обработки относительно ширины вектора и поговорим о реалиях использования SIMD и AVX на базе Postgres. Еще я покажу, как использовать векторные вычисления для реализации сортировочных сетей и других операций, и дам практические рекомендации по оптимизации производительности и избеганию «подводных камней».
Разработчик «Тантор Лабс»