Postgresso 9 (70)

от автора

PostgreSQL: PostgreSQL 17 Released!

Новшества давно известны (в том числе из обзоров Павла Лузанова PostgreSQL 17: Часть 5, 4, 3, 2, 1), но интересно, что выбрали в сообществе как самое-самое важное. Выбрали вот что:

Производительность:

  • переработанное управление памятью (overhauled memory management) при вакууме,

  • оптимизация доступа к хранимым данным и улучшение работы при параллельных нагрузках (high concurrency workloads),

  • ускорение при массовой загрузке и экспорте,

  • улучшена работа с индексами.

Работа с новыми типами нагрузок:

  • реализация SQL/JSON JSON_TABLE .

Для высококритичных систем:

  • улучшения в логической репликации упрощают работу в условиях высокой доступности и при апгрейдах на другие мажорные версии.

А вот что привлекло внимание сразу нескольких комментаторов: изменения в оформлении самих пресс-релизов:

More Release Note Details

Заметка появилась в блоге Брюса Момджана. Изменились технологии написания release notes (замечания к выпускам — в нашей официальной терминологии), а вместе с ней появились и видимые миру изменения: неприметный, но важный значок: §. Это ссылка, путь к странице на gitweb, где сообщения основных коммитов git commit и изменения дерева исходного кода, которые относятся к этому пункту. Значок можно сразу и не заметить. Но он есть. Вот, например, в разделе, который называется E.1.2. Migration to Version 17 (Миграция на PostgreSQL 17 в русской):

Change functions to use a safe search_path during maintenance operations (Jeff Davis) §, в русской версии это использование функциями безопасного пути поиска (search_path) во время операций обслуживания (Джефф Девис) §. И в русской, и в английской версиях значки параграфа ведут на одни и те же, разумеется, страницы.

Есть 2 пункта-рекордсмена: у них аж по 8 значков:

Возможность устанавливать TLS-соединения без предварительного согласования (Грег Старк, Хейкки Линнакангас, Питер Эйзентраут, Микаэль Пакье, Даниэль Густафссон§ § § § § § § §.

и

Улучшение дополнения табуляцией в psql (Дагфинн Ильмари Маннсакер, Жиль Даролд, Кристоф Хейсс, Стив Чавес, Вигнеш Си, Павел Борисов, Цзянь Хи) § § § § § § § §.

Грег Сабино Маллейн (Greg Sabino Mullane, Crunchy Data) пишет на ту же тему: Enhanced Postgres Release Notes. Но там и любопытные добавки. В конце статьи есть ссылка ресурс postgres all versions — это его проект, там собрана информация всех release notes для каждой версии Postgres, и там их уже сейчас более 500.

Теперь от общего к частному:

PostgreSQL 17 Unveiled: Key Highlights in Backup, Data Warehousing, Optimization & Logical Replication

Здесь, в блоге EDB, размещена беседа двух вице-президентов компании: Брюса Момджана и Питера Айзентраута (Peter Eisentraut, он ещё и «главный инженер» — то есть главный разработчик EDB. Брюс крутит свою презентацию, Питер участвует в обсуждении.

В своём блоге Брюс выделяет 4 пункта этой беседы:

  1. инкрементальный бэкап,

  2. улучшенное управление данными,

  3. улучшенная работа с оптимизатором,

  4. улучшенная логическая репликация.

What’s so great about PostgreSQL v17?

Лауренц Альбе (Laurenz Albe, Cybertec) начинает статью вовсе не с этого. В длинном предисловии он рассказывает, почему контрибьюторам (а он отныне Главный, т.е. Major Контрибьютор) стало трудней жить, но в чём преимущества такого торможения (они в большей стабильности кода).

И переходит к делу: начинает с незаметных (unobtrusive) улучшений производительности. Запросы с UNION ALL и LIMIT, обработка IN-списков, VACUUM и другие — каждый из них может и не дать заметного результата, но накопительный эффект работает. Далее: появился новый встроенный провайдер правил сортировки (built-in collation provider). Логическая репликация не боится переключения узла (can survive a failover). Поддержка инкрементальных бэкапов в pg_basebackup и у сторонних инструментов. Лауренц отмечает и улучшения в EXPLAIN.

Postgres FM | Postgres 17

Николай и Майкл (Nikolay Samokhvalov, основатель Postgres AI, Michael Christofides, основатель pgMustard) обсуждают новое в PostgreSQL 17 на своём Posgres.fm.

Как обычно подкаст сопровождается множеством ссылок по теме. Некоторыми ссылками мы здесь воспользуемся:

Convert JSON into Columns and Rows with JSON_TABLE

Это статья Пола Рэмзи (Paul Ramsey) в блоге Crunchy Data. Он мог бы выбрать в качестве заголовка свой же подзаголовок: Shaking the Earth with JSON_TABLE. Говорит, что он в сейсмоопасной зоне Каскадия (окрестности канадского Ванкувера, где он живёт, и Сиэтла, US), и сегодня их трясло, и он тут же вскочил с постели. Успокоившись, решил приспособить геоданные о землетрясениях для демонстрации возможностей JSON_TABLE.

PostgreSQL and Databases in general: Failover Slots in PostgreSQL-17: Ensuring High Availability with Logical Replication

Амит Капила (Amit Kapila, Fujitsu) рассказывает о том, как теперь стало удобно организовывать логическую репликацию: всё копируется как ни в чём не бывало даже если узел публикатора упал, а его физическая реплика становится новым публикатором.

Из обзоров Павла Лузанова мы знаем, что бесшовность в версии 17 реализовывалась в 3 этапа: перенос слотов репликации при обновлении сервера публикации (3-я часть обзора), сохранение состояния подписки при обновлении сервера-подписчика (4-я) и Синхронизация логических слотов репликации между мастером и репликой (5-я).

С точки зрения пользователя чтобы всё это бесшовно работало, надо настроить 5 параметров, и Амит подсказывает, как это сделать, а потом приводит пример.

Ну а Амит тоже заранее рассказывал о новшествах этой версии: Coming up in Postgres PostgreSQL 17 and trends and innovations to watch. В тот раз в фуджитсовском блоге Fastware.

Real World Performance Gains With Postgres 17 Postgres 17 B-tree Bulk Scans

Об этом пишет Брандур Лич (Brandur Leach, Crunchy Data), который за эту фичу получил титул Контрибьютора (см. список ниже в этом Постгрессо), то есть уж ему-то доверять можно. Но тестирует он на родном ему Crunchy Data Bridge.

PostgreSQL 17 allow_alter_system tunable

Лука Феррари (Luca Ferrari) предупреждает: новая настройка — всего лишь включение/выключение ALTER SYSTEM. Это теперь можно сделать параметром allow_alter_system. Помните (призывает он):

  • это не фича безопасности, никакой слой безопасности не добавляется;

  • postgresql.auto.conf всегда загружается как последний включённый (в смысле included) файл, а значит, установив значение в off , вы не поменяете механизм конфигурирования PostgreSQL, и внешние инструменты по-прежнему смогут работать с postgresql.auto.conf напрямую (работая, следовательно, как ALTER SYSTEM),

И — Last but not least — при  off система инициирует ошибку, оборвав работу ваших скриптов. А это не всем по нраву.

Напомним: Павел Лузанов в PostgreSQL 17: Часть 5 или Коммитфест 2024-03 пишет на эту тему весьма подробно:

«Чтобы не было соблазна редактировать postgresql.conf, доступ к файловой системе сервера можно закрыть. Но остается в запасе команда ALTER SYSTEM, меняющая postgresql.auto.conf без доступа к файловой системе.

Новый параметр конфигурации allow_alter_system позволяет запретить использование ALTER SYSTEM для всех, включая суперпользователей.

Очень важно иметь в виду, что эта возможность не относится к безопасности сервера. У суперпользователя есть множество других способов изменить конфигурацию сервера и совершить другие потенциально опасные действия. Главная задача нового параметра ― предотвратить непреднамеренное, без злого умысла, изменение конфигурации

Вот обсуждение этой темы: The PostgreSQL community debates ALTER SYSTEM.

Рынок.ru

Postgres Professional и АО «Флант» объявляют о заключении стратегического партнерства

Конечно, всех интересует: сколько? Читаем: Postgres Professional направит инвестиции в размере 3 млрд рублей в развитие экосистемы программных продуктов компании «Флант».

Но дальше интересная, необычная формула: доля, передаваемая инвестору, будет определена на основе финансовых результатов «Флант» в последующие 3 года.

Postgres Professional до 2028 года получит миноритарную долю «Фланта», а контроль в компании остается у действующих акционеров.

Под управлением платформы работает более 600 кластеров в банках, ритейле, финтехе, нефтегазовом секторе и в других отраслях. Cnews пишет, что Deckhouse Kubernetes Platform — лидер рынка российских Kubernetes-платформ.

Что с Эльбрусом?

Не берусь ответить на этот вопрос шире, чем это официально сформулировано: «МЦСТ» (разработчик процессоров «Эльбрус») передан во внешнее управление НПЦ «Элвис» (создатель мобильных чипов «Скиф»)

Так озаглавил свою статью некто Денис aka denis-19 из Информационной службы Хабра. Ну, хабру я доверяю, иначе бы не писал сюда. Обычно в новостях об этом цитируют одни и те же источники. Есть статья в Ведомостях, она за пейволом:

Разработчика процессоров «Эльбрус» передали во внешнее управление

Есть видео блогера Максима Горшенина, который сам некогда работал в МЦСТ, где он разговаривает с Константином Трушкиным, зам гендира по маркетингу и развитию МЦСТ. Причём одно видео, так и называется: Что там с Эльбрусом? (полное название: Что там с Эльбрусом? | Переход Микрона на российские станки и химию | ИТЭЛМА спасает страну! (есть на разных платформах, даю на vk). До этого был разговор с Константином такой: Российская техника имеет внутри недоверенный зарубежный процессор. А есть видео с ответами Константина на вопросы слушателей: САМЫЕ НЕУДОБНЫЕ ВОПРОСЫ К РАЗРАБОТЧИКАМ ЭЛЬБРУСА! Очень интересно.

А меня эта ситуация погружает в воспоминания и размышления: ведь в прошлой жизни я даже брал интервью у великого Бориса Арташесовича Бабаяна. Он меня очаровал тогда. Вот, чудом нашлось:

моё интервью с Борисом Бабаяном, взятое, наверное, четверть века назад. А вот ещё и статья: «Эльбрус» растет (в Computerworld Россия, Издательство «Открытые системы»).

Open Source .ru

Dmitry Kabanov aka dmitrykabanov последнее время сфокусировался на open source. Он и обозревает иностранную прессу, и разбирается с лицензиями, и берёт интервью у участников рынка. В середине октября — у Олега Бартунова «Open source в России» — гримасы рынка, этика и менеджмент, до этого — в феврале с Александром Ермаковым: «Open source в России» — интервью с сооснователем и CTO Arenadata об истории фирмы, OSS-лицензиях и разработках.

Иногда он публикует опросы экспертов, как в Управленцы не в курсе, open source в России и борьба с «изобретением велосипедов»: ключевые OSS-отчеты и мнения.

Миграция

Transitioning from Oracle to PostgreSQL: Tablespaces и Transitioning from Oracle to PostgreSQL: Understanding the Concept of Schema

Автор обеих статей — Умейр Шахид (Umair Shahid, основатель Stormatics). Обе строятся по похожему плану: что это; архитектурная разница между ними в Oracle vs. PostgreSQL; как мигрировать; выводы.

PostgreSQL: Announcing IvorySQL 3.4: PostgreSQL 16.4 Support with Oracle Compatibility

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

Salsita/node-pg-migrate: Node.js database migration management for PostgreSQL

Тоже ведь миграция. Но не с Oracle/Microsoft, а с Node.js. И не с базы на базу, а генерация скриптов, которые переводят базу в новое состояние. Проект с историей: начинал Тео Эфраим (Theo Ephraim), передал Salsita Software, а теперь поддерживается  @Shinigami92. Для Постгрессо Шинигами не новое имя: мы писали в Postgresso #4 (65):

во времена версии node-pg-migrate 7.0 произошла смена караула: теперь поддержкой этого инструмента занимается некто Shinigami, проживающий в Гамбурге. Он также автор FakerJS, который генерит правдоподобные имена, адреса — что угодно.

Почётные звания

  • Новые контрибьюторы PostgreSQL:

    • Антонин Хауска (Antonín Houska, ссылки на интервью в Person of the Week),

    • Антс Аасма (Ants Aasma),

    • Джорджиос Коколейтос (Georgios Kokolatos),

    • Генриэтта Домбровская (Henrietta Dombrovskaya),

    • Иэн Барвик (Ian Lawrence Barwick),

    • Йелте Феннема-Нио (Jelte Fennema-Nio),

    • Карен Джекс (Karen Jex),

    • Павло Голуб (Pavlo Golub),

    • Мингли Чжан (Mingli Zhang),

  • новые главные (major) контрибьюторы PostgreSQL:

    • Бертран Друво (Bertrand Drouvot),

    • Ришар Гуо (Richard Guo — обоим этой весной было присвоено звание «простого» Контрибьютора),

    • Лауренц Альбе (Laurenz Albe).

  • не попали в список на повышение, но были упомянуты в релизе — в том числе:

    • коллега по отделу образования Егор Рогов (Egor Rogov), Соумйадип Чакраборти (Soumyadeep Chakraborty) за: Добавление столбцов в представление pg_stats для вывода информации о гистограммах для диапазонных типов данных. §

    • Павлу Лузанову тоже выдана благодарность.

    И мне захотелось выписать всех, получивших благодарность, с привычными нам именами (допустим, для дальнейшего анализа; если кого пропустил — дополните). Чтобы не пугать количеством, размещаем список в самом конце этого выпуска.

Конференции, митапы, воркшопы

HighLoad++ 2024

2 и 3 декабря 2024 года в Москве, на территории кампуса СКОЛКОВО, пройдет HighLoad++. Три конференции — HighLoad++, GolangConf 2024 и PHP Russia 2024 — пройдут на одной площадке параллельно.

В этом году будет более 3 800 участников и 170 докладов в 13 залах. Тематика баз данных представлена в основном в Конгресс-холле (зал 1) и в Бангалоре (зал 4). В расписании есть такие, например, доклады по тематике баз данных:

Почтовые приключения с PostgreSQL: как приручить 650+ шардов и выжить от Кирилла Григорьева, Яндекс 360, Динтаблицы YTsaurus — и ещё одна СУБД от Яндекса — от Руслана Савченко — от Яндекса пара дюжин докладов на самые разные темы и свой поток в зале Пекин+Шанхай (зал 2).

Лес Меркла или Как мы уменьшили объём метаданных на 83% и заодно ускорили поиск дубликатов в 10 раз в СХД TATLIN.BACKUP от Сергея Ли, YADRO.

Архитектура хранилища ВКонтакте (триллионы фото, аудио и прочих файлов на тысячах серверов) от Дениса Дерюгина.

Два доклада от Postgres Professional: Инкрементальные бекапы в PostgreSQL при помощи Ptrack и Walsummarizer, или bloom filter vs. roaring bitmap от Алексея Дарвина и Софьи Копиковой и Аномалии под нагрузкой в PostgreSQL 2.0 от Михаила Жилина.

Будет 3 доклада от Picodata (на базе Tarantool), первый из них — Катакомбы Picodata. Обзорная экскурсия, её проведёт Константин Осипов, который покинул Tarantool, чтобы основать Picodata. Он числится в базах конференции аж с 2008 года. У Picadata тоже есть свой зал, но он, почему-то, называется не как город, а Кластер Индия / Picodata Dev Room.

Владимир Гурьянов, Флант, обещает рассказать в докладе Добавляем ++ в Prometheus как Deckhouse Kubernetes Platform дала снижение потребления ресурсов с сохранением производительности по сравнению с Prometheus и VictoriaMetrics.

Из экзотики:

PGDay на Open Tech Summit Indonesia 2024

Состоится 25-26 ноября в Католическом Университете Атма Джайа (Atma Jaya) в Джакарте. Один из самых первых докладов в расписании — доклад Introducing YDB: an open-source Distributed SQL database for mission-critical Ивана Блинкова (Ivan Blinkov). В культурной программе какой-то танцевальный коллектив.

прошли:

PGConf.Academy 2024

Прошла 9 октября. Я встретил там людей, с которыми не пересекался много лет, которых, например, знал по суперкомпьютерным конференциям. Интересно время от времени вырываться из круга сугубых постгресистов. Проходила конференция в интересном месте: в новом здании, названном ИНТЦ МГУ «Воробьёвы горы», кластер «Ломоносов» (Раменский бульвар, д. 1 — это на бывшем «пустыре» между проспектами Мичуринским и Вернадского, глубже, чем «Шуваловский» корпус). На финальном построении докладчиков наблюдалось и довольно редкое для постгресистов явление: гендерный баланс. Об этой конференции и о PGConf в Питере запланирован отдельный выпуск, подробности будут там.

PGConf.СПб 2024

Прошла 1 октября. Конференция тоже однодневная, в два потока. Были, например такие доклады:

Лучшие практики по оптимальной работе базы данных на примере PostgreSQL Владимира Ситникова, инженера по производительности (performance engineer — по его собственному определению). Он мейнтейнер PostgreSQL JDBC, коммитер JMeter, член программных комитетов JPoint, Joker, Heisenbug, DevOops и SmartData. В докладе рассказал казусах со статистикой планировщика, развенчал Мифы Секционирования, обратился к эффектам OFFSET.

Или, скажем, доклад Камиля Каримова, инженера из Postgres Professional cgroup V2 — Ограничение ресурсов PostgreSQL — как в условиях работы нескольких экземпляров PostgreSQL на одной физической или виртуальной машине распределить ресурсы.

Recap of OSS Vienna: What is Happening in the Open Source World

Мемуары Гюльчин Ильдерим Йелинек из Xata, которая писала про Афины, ссылка ниже. Последние новости сообществ open source, мнение тех, кто был на стенде Xata, некоторые моменты Postgres Happy Hour.

Гюльчин рассказывает о выступлении Линуса Торвалдса, точнее о его дискуссии с Дирком Хонделом (Dirk Hohndel). Сам Linux тем временем справил 33-й день рождения. Я, кстати, застал ещё времена, когда на него с высокого высока смотрели пользователи коммерческих юниксов. Мол, ну что это за проект, обрубок какой-то, вот Multics Виктора Высотского, или там Plan 9 вот это были проекты так проекты!

Не то, чтобы они были наивны. Просто се ля ви.

Появились новые институции: Developer Relations Foundation, OpenSearch Software Foundation.

Xata представляла на своём стенде инструменты pgrollpgstream и pgzx. У Microsoft тоже был свой стенд, они рассказывали о вкладе их разработчиков в PostgreSQL.

Hyderabad PostgreSQL UserGroup – Connect, Share, Innovate: Your PostgreSQL Community in Hyderabad

Если заглянуть в расписание, то Pavlo Golub, Cybertec, кажется, единственное имя, звучащее там не по индийски. Но это не значит, что это было локальное, провинциальное мероприятие. Многие индийцы нам известны как разработчики вполне глобальных компаний. Соответственно, есть отчёт Павла Голуба: PGDay Hyderabad 2024 Reflections.

Слон, надо сказать, в индийском контексте смотрелся очень органично. Интересно, был ли там и живой слон?

PostgreSQL Berlin October 2024 Meetup

Андреас Шербаум (Andreas ‘ads’ Scherbaum, это который собирает интервью на PostgreSQL Person of the Week), делится своими берлинскими впечатлениями.

PostgreSQL Conference Europe 2024

Прошла в Афинах 22-25 октября. Можно будет сравнить с ожиданиями Гюльчин Ильдерим Йелинек (Gulcin Yildirim Jelinek, Xata) в What I look forward to at PGConf.EU in Athens.

PostgreSQL Hacking Workshop

Роберт Хаас (Robert Haas) обустраивает технологические дискуссии. Они обычно проходят в 3 сессии.

В октябре 2024 это были дискуссии с Томасом Манро (Thomas Munro) — Streaming I/O and vectored I/O — по мотивам доклада Томаса на 2024.pgconf.dev.

Затем последуют 3 сессии Memory & Disk I/O Management с участием Энди Павло (Andy Pavlo), профессора Карнеги Меллона. К видео Роберт прикладывает набор ссылок. В данном случае на лекции Энди. Некоторые выглядят очень страшно, это, видимо, к хэллоуину, но он вообще большой весельчак. PDFы осенних лекций лежат здесь.

По ключевому слову hacking попалось ностальгическое: Курс «Hacking PostgreSQL» — уже скоро (скоро — это 2015). Анонс курса, который читала тогда Анастасия Лубенникова.

Ещё некоторые статьи

Подводные камни устройства карты видимости в СУБД PostgreSQL

Статья Михаила Гелёва (o4ina). У была у нас ещё одна его статья: PostgreSQL. Устройство карты свободного пространства. О ней мы писали в Postgresso 5 (66). Эта, сентябрьская статья продолжает разбор базовых механизмов PostgreSQL. Он пишет:

Карта видимости это достаточно простой механизм в СУБД PostgreSQL, но даже он имеет множество интересных тайн, если погрузиться в детали реализации.

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

Михаил разбирает:

  • Какие особенности есть у механизма сбрасывания и установки бита полной видимости.

  • Как Index only scan использует бит полной видимости.

  • Зачем записывать информацию об изменении карты видимости в WAL.

  • Каким образом карта видимости участвует в оптимизации предвыборки Bitmap scan.

  • Зачем механизму оценки селективности нужна карта видимости.

Иерархии

Hierarchical data types

Статью Флорана Жардэна (Florent Jardin) можно отнести и к разделу Миграция: он изобретает, как бы воспроизвести в PostgreSQL специальный иерархический тип данных hierarchyid, который есть в SQL Server. Любители поупражняться во французском могут почитать статью в оригинале — Les types hiérarchiques.

Флоран использует постгресовый тип  ltree , который доступен в одноименном расширении. Там есть функции nlevel() , subpath() . Чтобы не испортить деревце, можно использовать ограничения (constraints). Но свет на ltree клином не сошёлся, напоминает Флоран, можно, например, работать с иерархиями WITH RECURSIVE. К рекурсивным запросам предлагают прибегнить комментаторы в другой статье:

Большая иерархия в SQL запросе + PostgreSQL

Большая — это 80 000+ элементов: В качестве подопытного можно взять большой проект с Git’а например, OpenJDK (83499 папок и файлов).

Эта статья некоего Ильи @iqu — она продолжение других: Отображение иерархии в SQL запросе и Отображение части иерархии в SQL запросе. В нынешней автор проверяет, как его запросы к иерархиями работают (и работают ли) в MySQL, SQLite и PostgreSQL.

Паркет

Crunchy Data обнародовали новое расширение: pg_parquet: An Extension to Connect Postgres and Parquet. Крейг Керстинс (Craig Kerstiens) поясняет: Apache Parquet это опенсорсный, стандартный формат для колоночного хранения, выросший из Hadoop. В мире озёр данных он распространён повсеместно.

Теперь можно читать и записывать паркетные файлы прямо из PostgreSQL на локальный диск или на S3. Можно экспортировать таблицы и запросы из PostgreSQL в паркетные файлы, исследовать схемы и метаданные паркетных файлов. Лежит всё на гитхабе.

В The future of Postgres? он пишет, что хотелось создать лёгкую версию Паркета, чтобы она не тянула за собой многопоточную библиотеку в каждый postgres-процесс. Более сложный инструмент потребовал бы сложных компромиссов, пользовательских навыков и механизма развёртывания. Это в планы не входило.

ИИ

Нейронные оптимизаторы запросов в реляционных БД (Часть 2): На пути к продуктивизации

В прошлом номере мы говорили о 1-й статье этой серии: Нейронные оптимизаторы запросов в реляционных БД (Часть 1). Там Савелий-Safreliy разбирал 3 модели: MSCN, DQN и NEO. В продолжении автор затрагивает относительно стабильные подходы, не требующие гигантских вычислительных кластеров и удовлетворяющие большую часть потребностей бизнеса. Серебряной пули, конечно, не существует, но с каждым из этих методов можно прийти к оптимальному решению для конкретной задачи.

Это: Bao, CMAB, Cэмплирование Томсона, Векторизация признаков, Balsa и на закуску AQO (Adaptive Query Optimization):

Bao — логическое продолжение и развитие идей, заложенных в Neo, создатели Bao и Neo — одни и те же люди. CMAB — контекстуальный многорукий бандит (Contextual multi-armed bandit). Balsa — чисто нейросетевой оптимизатор. Minimal Simulator потому минимальный, что использует для оценки планов наивное, не зависящее от эвристик, предположение: чем меньше суммарная кардинальность плана, тем лучше. AQO появился  ещё в 2017 году, развивается в рамках СУБД Postgres Pro и отдельного репозитория на GitHub. AQO 2.0 выпущен год назад.

В статье много тестов, графиков, наглядных диаграмм.

AI-assisted Postgres experiment: number of partitions vs. planning time

Вопрос стоит именно так: время планирования зависит от числа секций (партиций). Но как зависит? И тут Николай Самохвалов (Nikolay Samokhvalov, Postgres.AI) обращается к ИИ, который они давно заинтегрировали в свои инструменты. Проблема отражена в:

Но Николаю мало рассказать о проблеме, он начинает эксперимент, комбинируя собственную квалификацию, шустрость ИИ и, конечно, DBLab (на версии PostgreSQL 16). Точнее, начинал эксперимент: сейчас DBLab и Postgres.AI assistant поддерживают и 17-ю версию. И теперь можно болтать с GPT, а она, отвечая, использует — и это уникальная пока возможность, насколько я понимаю, — не только свою эрудицию, но и быстренько ставит реальные эксперименты на реальной базе.

Building AI Apps on Postgres? Start with pgai

pgai это расширение PostgreSQL, разработанное в Timescale. Можно создавать имбеддинги, дорабатывать модели, удобно — утверждают создатели — для создания RAG-приложений.

Почёт вложившим свой труд в PostgreSQL (продолжение)

Взято из списка в релизе PostgreSQL 17.

Александры: Алексеев (Aleksander Alekseev), Кожемякин (Alexander Kozhemyakin), Коротков (Alexander Korotkov), Кузьменков (Alexander Kuzmenkov), Лахин (Alexander Lakhin), Пыхалов (Alexander Pyhalov), Шульгин (Alex Shulgin).

Алексеи: Орлов (Aleksej Orlov), Палажченко (Alexey Palazhchenko).

Айдар Имамов (Aidar Imamov)

Алёна Рыбакина (Alena Rybakina)

Анастасия Лубенникова (Anastasia Lubennikova)

Анатолий Зарецкий (Anatoly Zaretsky)

Андреи: Билле (Andrew Bille), Бородин (Andrey Borodin), Зубков (Andrei Zubkov), Лепихов (Andrey Lepikhov), Рачицкий (Andrey Rachitskiy), Соколов (Andrey Sokolov).

Антоны: Волошин (Anton Voloshin), Кирилов (Anton Kirilov), Мельников (Anton Melnikov).

Артем Анисимов (Artem Anisimov).

Артур Закиров (Artur Zakirov.

Вася Бойцов (Vasya Boytsov).

Викторы: Вагнер (Victor Wagner), Егоров (Victor Yegorov), Виктор Лейс (Viktor Leis).

Виктория Шепард (Victoria Shepard).

Виталий Буровой (Vitaly Burovoy).

Даниил Шелепанов (Daniel Shelepanov).

Денис Ерохин (Denis Erokhin).

Дмитрии: Васильев (Dmitry Vasiliev), Долгов (Dmitry Dolgov), Дмитрий Коваль (Dmitry Koval), Дмитрий Ячник (Dzmitry Jachnik).

Евгении: Коньков (Eugen Konkov), Морозов (Evgeny Morozov).

Егоры: Рогов (Egor Rogov), Чиндяскин (Egor Chindyaskin), Юзефович (Yahor Yuzefovich).

Екатерина Кирьянова (Ekaterina Kiryanova).

Елена Индрупская (Elena Indrupskaya).

Иваны: Картышов (Ivan Kartyshov), Коломбет (Ivan Kolombet), Лазарев (Ivan Lazarev), Панченко (Ivan Panchenko), Трофимов (Ivan Trofimov).

Максимы: Богук (Maxim Boguk), Буайе (Maxime Boyer), Орлов (Maxim Orlov), Яблоков (Maxim Yablokov).

Марина Полякова (Marina Polyakova).

Михаилы: Грибков (Mikhail Gribkov), Жилин (Michael Zhilin), Николаев (Michail Nikolaev).

Никиты: Глухов (Nikita Glukhov), Калинин (Nikita Kalinin), Малахов (Nikita Malakhov).

Николаи: Самохвалов (Nikolay Samokhvalov), Шаплов (Nikolay Shaplov).

Олеги: Бартунов (Oleg Bartunov), Самойлов (Olleg Samoylov), Сибиряков (Oleg Sibiryakov), Целебровский (Oleg Tselebrovskiy).

Павлы: Борисов (Pavel Borisov), Кулаков (Pavel Kulakov), Лузанов (Pavel Luzanov).

Роман Лозко (Roman Lozko).

Светлана Деревянко (Svetlana Derevyanko).

Сергеи: Глухов (Sergei Glukhov), Корнилов (Sergei Kornilov), Прохоренко (Sergey Prokhorenko), Саргсян (Sergey Sargsyan), Шиндерук (Sergey Shinderuk).

Степаны: Неретин (Stepan Neretin), Руц (Stepan Rutz).

Юрии: Рашковский (Yurii Rashkovskii), Соколов (Yura Sokolov).

Ян Ильясов (Ian Ilyasov).

Ярослав Сабуров (Yaroslav Saburov).

Список, согласитесь, внушительный. Одних только Александров 7 человек.


На сегодня всё.


ссылка на оригинал статьи https://habr.com/ru/articles/840552/