Новые версии UUID
Генерация первичных ключей - старая задача, довольно неплохо решаемая последовательностям, но, к сожалению, не идеально. Возникают проблемы с распределенной генерацией, действительной уникальностью и предсказуемостью. UUID изначально почему-то не предполагался для использования в качестве ключа СУБД, но новые версии (6,7 и 8) позволяют довольно удобно использовать их в качестве как для синтетических, так и для естественных ключей.
Слайды
Видео
Видео доступно участникам мероприятия, выполнившим вход в личный кабинет
Другие доклады
-
Алексей Фадеев Sibedge Старший разработчик .NET, евангелист Postgres.
ORM LinqToDb: используем возможности Postgres по максимуму
ORM-библиотеки широко используются при разработке бэкенда – примем это как данность. ORM-библиотеки совершенствуются, разработчики учатся на своих и чужих ошибках, и многие научились писать код для ORM, генерирующий вполне оптимальные запросы для типовых операций. Но есть ещё одна проблема ORM – ограниченность инструментов. Особенно это актуально для Postgres, имеющего массу операторов и конструкций (как в ядре, так и в расширениях), выходящих за рамки стандарта SQL.
ORM-библиотека LinqToDb имеет важную особенность: она позволяет очень просто (буквально в одну строку) писать расширения, реализующие любой SQL-оператор или конструкцию. Полнотекстовый поиск, KNN, CTE (в том числе рекурсивные), работа с массивами и jsonb, array_agg и jsonb_object_agg, табличные функции и LATERAL JOIN – всё это без труда можно использовать в ORM, что я и продемонстрирую в данном докладе!
-
Павел Конотопов inCountry DBA team lead
Пять оттенков шардинга
Колоссальное значение сейчас приобретает шардинг. Размеры современных БД перешагивают 100 терабайтные пределы, вертикальное масштабирование, добавление реплик, содержащих полную физическую копию БД, становится затруднительным, особенно при дефиците вычислительных ресурсов. Шардирование базы данных – это способ горизонтально масштабироваться, разделив данные между независимыми друг от друга вычислительными узлами.
В мире PostgreSQL существуют как давно известные инструменты масштабирования: CitusDB, Greenplum, так и решения нового поколения – Cockroach DB, Yugabyte DB, SPQR, Shardman.
В нашем докладе мы будем рассуждать о разнице между этими реализациями, достоинствах и недостатках этих решений, рассмотрим текущее состоянии реализации шардинга в ванильном PostgreSQL, а также затронем и не менее важны темы – предоставления гарантий целостности и согласованности данных в масштабах распределенного кластера.
-
ППавел Лузанов Postgres Professional Руководитель образовательных программ
PostgreSQL 16: На финишной прямой
8 апреля завершается прием изменений в 16-ю версию.
Ряд новинок уже известен, в частности нас ждут любопытные изменения в области безопасности и логической репликации. Но сделать анонс всех интересных патчей до окончания мартовского коммитфеста нельзя. По опыту предыдущих релизов можно предположить, что самые интересные патчи будут приняты во второй половине марта и начале апреля.
Поэтому интрига с содержанием этого доклада будет сохраняться до самого последнего момента в том числе и для автора.
-
Игорь Алов Yandex.Bank SRE
Pgpool-II работа в режиме "Master-Master" или Как должна выглядеть балансировка нагрузки PostgreSQL глазами сетевого инженера.
Одна из базовых задач для высоконагруженных проектов – это «правильно» настроенное распределение нагрузки внутри кластера базы данных (балансировка), которое бы отвечало определенным параметрам SLA. Большинство решений, с которыми я познакомился, в том числе и Pgpool-II, не в полной мере могли соответствовать требованиям бизнеса. Руками и глазами сетевого инженера мы попытаемся улучшить решение от Pgpool-II и настроим его работу в режиме «Master-Master», а так же рассмотрим случаи, в которых без аналогичных решений не обойтись.