Конференции, битва за Ибицу

PGConf.СПб 2023

PGConf впервые пройдёт 25 сентября в Санкт-Петербурге. Конференция будет называться PGConf.СПб 2023. Место - Отель «Коринтия», Невский проспект., д.57.

Регистрация открыта и заявки принимаются. Подать заявку можно в личном кабинете. Количество тем не ограничено.

PGConf.Сибирь 2023

Пройдёт на площадке Город ИТ 9-го сентября в Томске. Программа еще формируется, но общая канва известна: кроме собственно технической конференции по PostgreSQL, там будет:

  • пленарное заседание с обсуждением IT-бизнеса региона,

  • тематические экспертные секции,

  • бизнес секции (региональный ИТ-бизнес),

  • Воркшопы для тимлидов и менеджеров,

  • Город IT Students (секции для молодых IT предпринимателей),

  • сертификация от Postgres Professional по администрированию PostgreSQL,

  • (Last but not least?) Afterparty (позиционируется как самая угарная вечеринка томского it-сообщества).

Зарегистрироваться на мероприятие можно уже сейчас. Участие в конференции доступно всем посетителям ГОРОД IT.

Добавлю, не могу удержаться: деревянный квартал Томска - это чудо света, я был очень впечатлён. И вообще город симпатичный.

PerfConf – конференция по нагрузочному тестированию

Эту конференцию уже в 9-й раз проводит «Перфоманс Лаб». Программа пока не объявлена, известно, что будет 3 площадки - онлайн, главная сцена и деловая гостиная, и что будут докладывать Александр Иванов (Яндекс), Татьяна Спиридонова (Ozon), что Андрей Зубков будет рассказывать о pg_profile/PWR, а Павел Толмачёв о том, как работает оптимизатор PostgreSQL на больших запросах (оба Postgres Professional). Конференция пройдет 13 сентября в Москве.

PGConf NYC 2023

Пройдёт в октябре. Недавно опубликована полная программа, в ней вступительное слово Энди Павло (Andy Pavlo), выступления Брюса Момджана (Bruce Momjian), Райана Буза (Ryan Booz), Клэр Джордано (Claire Giordano) и других.

pgday.uk 2023

Это первый пи-��жи-дей в Соединённом Королевстве. Теперь будет проводиться каждый год в Лондоне. Ближайший - 12-го сентября, но программа уже известна. Выступят, например, Магнус Хагандер (Magnus Hagander, Redpill Linpro) с What's new in PostgreSQL 16 и Томаш Вондра (Tom Vondra, EDB) с BRIN improvements and new opclasses. Регистрация здесь.

PASS Data Summit 2023 Sessions

Это мероприятие с MS-уклоном, поэтому много SQL Server, Power BI и Azure, но постгресовые доклады тоже есть. Например:

Есть в огромном списке и хорошо знакомые фамилии, но нам показались любопытными эти темы.

PGMeetup: 1С на Postgres Pro

Митап (вебинар) прошёл 26-го июля и вызвал немалый интерес. Видео и слайды можно посмотреть здесь. Там два доклада общей длительностью полтора часа. Первый:

Константин Сумкин, ИТ-директор Софтлайн Аутсорсинг:

  • Анализ конфигурации Postgres для решаемых задач. Внедрение различных сборок Postgres Pro для баз 1С;

  • Анализ запросов и кода 1С при переходе и внедрении Postgres Pro с различных СУБД;

  • Анализ быстродействия систем на базе СУБД Postgres Pro с использованием 1С:Корпоративный инструментальный пакет 8;

  • Возможности платформы 1С, начиная с версии 23, по миграции данных без выгрузки в *.dt;

  • План-фактный анализ переходов баз 1С с различных СУБД на Postgres Pro.

Второй - Андрей Забелин, старший технический консультант Postgres Professional:

  • Возможности Postgres Pro для платформы 1С

  • Сжатие данных

  • Резервное копирование и восстановление

  • Отказоустойчивость и катастрофоустойчивость

  • Производительность 1С на Postgres Pro

И очень много вопросов и ответов.

А также:

PGIbiza 2023: Postgres and Ecosystem

Но с ней не всё просто. Казалось бы, на Ибице есть всё, чтобы поработать и расслабиться последовательно или одновременно (насколько помню, там даже доклады на пляже). Но всплыл старый конфликт между Альваро Эрнандесом (Álvaro Hernández Tortosa) и старейшинами (Core Team) PostgreSQL. Поскольку есть риск многое истолковать неправильно, напомним предысторию. Альваро не рейдер, попытавшийся захватить торговые марки PostgreSQL. Он революцьонэр.

История началась ещё в 2021-м. В Postgresso 37 мы писали:

В абзаце Trademark Dispute речь об улаженном конфликте с Альваро Эрнандесом (Álvaro Hernández Tortosa). Торговые марки торговыми марками, но Альваро вообще-то критиковал команду сразу по нескольким вопросам, особенно ему не нравилась непрозрачность решений.

А в Postgresso 34 и вовсе много о революционности Альваро: он озаботился гендерным и расовым балансом (мол, в руководстве слишком высок % белых ЦИС-гендерных мужчин, нужны квоты). Большинство было против хотя бы по последним пунктам по принципу «не буди лихо, пока оно тихо» (почитай��е комментарии под воззванием Альваро).

Желающие могут составить собственное мнение, причитав претензии сторон. Хронологически в 2023 это:

Есть ощущение, что эта вспышка сойдёт (или уже сошла) на нет, не омрачив это нестандартное сборище на Ибице.

Вкладчики

Список Вкладчиков - не денег, а строк кода в PostgreSQL обновился. Объявлено о новоприбывших:

Титул Major Contributors получили:

  • Жюльен Руо (Julien Rouhaud, VMWare) - хорошо знаком нам по конференциям PGDay.Russia;

  • Стейси Хейслер (Stacey Haysler, PGX);

  • Стив Сингер (Steve Singer, сам по себе).

Титул Contributors, тоже немало знакомых:

  • Аджин Чериан (не уверен в произношении - Ajin Cherian, Fujitsu);

  • Александр Кукушкин (Alexander Kukushkin, MS Citus);

  • Александр Лахин (Alexander Lakhin);

  • Дмитрий Долгов (Dmitry Dolgov, Zalando);

  • Хоу Жиджи (не уверен - Hou Zhijie, Fujitsu);

  • Илья Космодемьянский (Ilya Kosmodemiansky, Data Egret);

  • Мелани Плейджман (Melanie Plageman, VMWare);

  • Михаэль Банк (Michael Banck, credativ);

  • Майкл Брюер (Michael Brewer, Franklin College of Arts and Sciences)

  • Пауль Юнгвирт (Paul Jungwirth, Illuminated Computing);

  • Питер Смит (Peter Smith, Fujitsu);

  • Вигнешваран Си (Vigneshwaran C, Fujitsu).

Активность Fujitsu впечатляет, не правда ли?

Деньги: Ligand Pro и Neon

Разработчик главной российской СУБД строит за полмиллиарда ИИ, в разы ускоряющий создание лекарств

CNews обнародовала не только планы по созданию стартапа, которой называется Ligand Pro (ООО «Лиганд про»), но и то, что 2023-м уже вложено 100 млн руб. Платформа будет построена на глубоком машинном обучении и реализована на Python с использованием библиотек PyTorch и JAX.

Учредители: сколтеховские Дмитрий Иванков (гендир, биолог, 18%), Иван Оселедец (специалист по ИИ, 15%), Александр Шапеев (прикладной математик, 12% ), Марина Пак (0%) с одной стороны, и Олег Бартунов, Иван Панченко, Федор Сигаев, Антон Сушкевич и Андрей Флейта (все по 10%) со стороны Postgres Professional.

Об этом написал и Коммерсантъ:

Искусственный интеллект, который генерирует неизвестные человеку вещества

Замгендира PostgresProfessional Иван Панченко прокомментировал этот проект так: Ligand Pro — социально значимый отечественный проект, который положительно скажется на имидже российского научного сообщества на мировой арене, даст новый виток развитию фармацевтической отрасли и повысит доступность лекарств для потребителей. М�� рады помочь в этом деле.

Neon raises $46 Million to advance serverless PostgreSQL database for the AI era

О стартапе Neon мы и так нередко писали, но одну существенную новость пропустили: в круге первом Neon уже поднял примерно такую же сумму. Все инвестиции вместе уже составляют $104млн. Новая порция получена благодаря Menlo Ventures, а участвуют в финансировании Founders FundGeneral CatalystGGV CapitalKhosla VenturesSnowflake Ventures и Databricks Ventures.

В новости на VentureBeat есть и любопытные технические подробности. Neon рассчитывает на успех в облаках для разработчиков, им ведь бессерверные базы очень нужны. Но другое важное направление продвижения - базы для хранения векторов эмбеддингов. У Neon есть своя разработка - расширение pg_embedding: в отличие от уже популярного расширения pgvector, неоновское даёт эффективный поиск по векторам и использует более современные алгоритмы - например, индекс HNSW. Гендир - Никита Шамгунов (Nikita Shamgunov) - уверяет, что против pgvector ничего не имеет, а общий враг (ок, конкурент) это Сосновая шишка -  Pinecone - и другие специализированные под вектора современные базы.

Кстати, вот заметка Рауфа Чебри (Raouf Chebri) и Дэниэла Прайса (Daniel Price) коротенькая, и не всё из неё ясно, хотя есть наглядная схема, иллюстрирующая эту довольно своеобразную архитектуру:

Introducing Same-Region Read Replicas to Serverless Postgres

Ясно, что реплики в понимании Neon не совсем реплики - данные не реплицируются так, как это делается обычно в Postgres. Это просто экземпляры (инстансы). Их дело вычислять запросы, передавать и получать данные, а сами данные хранятся в хранилищах, управляемых Pageserver, а за согласованностью следят Savekeepers.

Образование

PostgreSQL 14 Internals

Англоязычная PostgreSQL 14 Internals теперь доступна для печати по требованию на lulu.com. Ссылки на странице книги. UPD: Егор говорит, что меньше чем за месяц заказали уже 38 книжек.

1 и 2 места пока наши.

  1. POSTGRES: The First Experience Author: Pavel Luzanov, Egor Rogov, Igor Levshin (translated by Liudmila Mantrova)

  2. PostgreSQL 14 Internals. Egor Rogov

  3. PostgreSQL - Architecture et notions avancées. Guillaume Lelarge, Julien Rouhaud

Англоязычный курс «Introduction to PostgreSQL» обновлен до 15-й версии СУБД

Двухдневный курс Introduction to PostgreSQL обновили до 15 версии СУБД. Бесплатная программа разработана отделом образования Postgres Professional и включает вводную информацию по PostgreSQL. Познакомиться с курсами на русском языке можно на сайте в разделе Образование.

Заодно:

10 Postgres tips for beginners

Это не просто советы начинающим. Это советы, которые даёт Николай Самохвалов (Postgres.ai, DBLab, Postgres.FM и YouTube-версия). И это советы не совсем начинающим. В недавнем пятничном обсуждении с Майклом Кристофайдесом (Michael Christofides, pgMustard) их закидали вопросами, поэтому Николай решил развить тему.

В предисловии он философствует: PostgreSQL это не очередная база данных. Это больше, чем база, это система с возможностями, которые могут изменить ваш подход к работе с данными.

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

  1. Поймите как можно раньше: кортежи это физические версии строк.

  2. EXPLAIN ANALYZE – всегда с BUFFERS!

  3. UI кроме pgAdmin.

  4. Логирование: настройте ASAP.

  5. Наблюдайте за происходящим (observability), пользуясь расширениями pg_stat_statements и другими.

  6. Воспользуйтесь клонированием (ветвлением) баз при разработке, используя DBLab.

  7. Убедитесь, что контрольные суммы включены.

  8. Настройте автовакуум для быстрого исполнения.

  9. Настройте конфигурацию для оптимизации запросов.

  10. Поддержка индексов: необходимый опыт.

Ретро

Импортозамещение, которое мы потеряли: советские языки программирования и их создатели — часть 1 (1950-е — 1960-е)

Это не пропаганда, а заинтересованное изложение Д.М.Смирновым из ЕАЕ-Консалт не всем известных вещей. В 50-х это “программирующая программа”, она же ПП-1, APL (советский, адресный язык программирования), Алексей Ляпунов, Екатерина Ющенко и Владимир Королюк; в 60-х - Рефал Валентина Турчина.

Имеет ли это отношение к базам данных? Косвенное. Зато у того же автора есть часть II, которая почему-то появилась раньше этой части I:

Импортозамещение, которое мы потеряли (ч.2): АСУ ТП по телеграфному кабелю, нейронные сети и РСУБД в 60-х:

В 1961-м году на ЭВМ "Киев" реализовали первую советскую систему управления базами данных реляционного типа — "Автодиректор". Система позволяла сохранять данные в виде таблиц, которые были записаны на электронный магнитный носитель. Концептуальным “отцом” “Киева" был Сергей Алексеевич Лебедев.

Старина JSON и "Json будущего" (то есть pgvector)

Basics of JSON - можно было бы отнести в раздел Образование, это туториал с обучающими интерактивными примерами, всё в браузере. На самом деле там больше JSONB, чем JSON. Тема раскрывается довольно широко - там и операторы -> ->> и @@, и современная нотация (как у массивов), и об индексах btree и gin. И объясняются неочевидные эффекты при конвертации типов. Мне очень понравилось, молодцы Crunchy Data.

JSON vs JSONB in PostgreSQL

Житель Вероны - Франческо Тизьё (Francesco Tisiot , Aiven) решил сравнить эти типы. А что сравнивать? Почти по всем критериям jsonb удобней. Из сво��ной таблички в конце это тоже следует. У Франческо есть серия статей по JSON.

pgvector: Fewer dimensions are better

Уже сочинили и бенчмарк для pgvector. Пишут авторы из Supabase - Грег Ричардсон (Greg Richardson), Оливер Райс (Oliver Rice), Егор Романов (Egor Romanov). А на полмесяца раньше Егор писал на эту тему - pgvector 0.4.0 performance - с Павлом Борисовым (Pavel Borisov, тоже в Supabase).

Да, забыл пояснить: JSON будущего это отсюда.

В гонку включился Timescale:

PostgreSQL as a Vector Database: Create, Store, and Query OpenAI Embeddings With pgvector

Они даже анонсируют некий Timescale Vector: The fastest ANN search for vector embeddings on PostgreSQL.

Облачники включают pgvector в свои пакеты. Один за другим:

(NO)VACUUM

PostgreSQL: No More VACUUM, No More Bloat

Это об OrioleDB пишет Александр Коротков. Более того: в этой неистово маркетинговой статье есть такой подзаголовок: The Engine of the Future. Но есть и некоторые детали грубыми мазками: чтобы решить проблемы распуханий, в "движке будущего" реализованы undo-логи и на уровне строк, и на уровне блоков. Кроме того есть автоматическое слияние страниц.

Интересная и "критическая" часть статьи, где Александр описывает ужасы вакуума (The Terrifying Tale of VACUUM). Александр упоминает неудачи из-за вакуума и статью Рика Брэнсона 10 things I Hate In Postgres (альтернативная ссылка).

О ней мы писали в Postgresso 31 - там есть целый раздел Самокритика. Этот вопрос обсуждался и на незабываемых ruPostgres.Вторниках Николая Самохвалова и Ильи Космодемьянского. Тогда гостем был Андрей Зубков, а вторник так и называется - s02e15: Десять проблем PostgreSQL. Мониторинг запросов, pg_profile.

Статья очень известная: ещё раньше, в Postgreso 20 мы писали об этой статье, но тогда выделили другой мрачноватый вывод: масштабируемость процессов всё лучше и лучше с каждым мажорным релизом. Но в конце концов есть жесткий предел производительности, обусловленный архитектурой Postgres в сравнении с тем же MySQL с его один тред на соединение - тема, которая сейчас живо обсуждается (а об этом мы писали в прошлом выпуске).

Вакуум настолько больная тема, что компания pganalyze представляет даже специальный инструмент, который подсказывает оптимальные настройки на уровне отдельных таблиц:

Introducing the New pganalyze VACUUM Advisor for Postgres

А Роберт Хаас (Robert Haas) в статье Updating the Cost Limit On The Fly рассказывает, как теперь, после патча Мелани Плейджман (Melanie Plageman) можно влиять на автовакуум настройками стоимостей.

Миграция

Мигрируем в PostgreSQL, тестируем OLAP-кубы и разбираемся с валидацией T-SQL-кода: три доклада с митапа ЮMoney

Видеозаписи и главные мысли - по мотивам апрельского онлайн-митапа High SQL по работе с данными в DWH на Microsoft SQL Server.

  • Станислав Флусов (из Monopoly Online) поделился опытом, который получила их компания за три года миграции приложений из MS SQL в PostgreSQL.

  • Артём Коршунов (ЮMoney) рассказал об инструментах BI, сравнил два парсера TSQL (ANTLR и DacFx) и показал, как написать простейший валидатор.

  • Лена Сухих (ЮMoney) рассказала, как её команда тестировала OLAP-кубы и что из этого получилось

My Oracle to PostgreSQL Migration: The 7 Tools That Made It Possible

Вот они, эти семеро, о которых пишет Оудед Вейлин (Oded Valin, EverSQL):

  1. Ora2Pg

  2. AWS Database Migration Service (DMS)

  3. pgLoader

  4. Foreign Data Wrappers (FDW)

  5. pg_dump, pg_restore and additional built-in PG features

  6. EverSQL, for Post Migration Tuning

  7. Npgsql

По каждому пункту есть За и Против.

Кроме того обсуждаются неприятности миграции:

  1. Differences in SQL Syntax and Functionality

  2. Transaction Behavior

  3. Case Sensitivity

  4. Sequences and Auto-Incrementing

  5. 5. Data Types

  6. NULLы и пустые строки

  7. Date and Time Types

Ora2Pg 24.0

Ora2pg уже не совсем Ora: в этой версии официально добавлена возможность миграции и с SQL Server. Загрузить можно с гитхаба Жиля Дароля (Gilles Darold).

PostGIS и велосипедисты

PostGIS, ArcGIS Enterprise and the Tour de France route

Флориан Надлер (Florian Nadler, Cybertec) для прокладывания маршрута гонки использует PostgreSQL 14.5 + PostGIS 3.2, Ubuntu 22.04.02 и ESRI ArcGIS Pro 3.1.2. А ещё ArcGIS Pro ST_Geometry Libraries (PostgreSQL) с myesri.com. Ну и главный источник - Tour de France 2023: GPX (cyclingstage.com). Автора очень волнуют этапы, где большие и крутые подъёмы.

Флориан, кстати, публиковал и статью по авиаперевозкам и MobilityDB: Analyzing historical flight data with MobilityDB. К этой теме мы неравнодушны: демонстрационная база нашего Отдела образования тоже авиационная. А MobilityDB обсуждалась не раз в докладах на PGConf.Russia - Управление данными подвижных объектов с MobilityDB (2021), например.

На сегодня самая свежая версия PostGIS - 3.4.0rc1.

Пятнеца #11 Буза и протоПятнецы Шона

Райан Буз молодец: не даёт забыть о своей затее. По его календарю PGSQL Phridays очередь была за Томашем Гинтовтом (Tomasz Gintowt, Real-Time Data Team), и он предложил очень интересную и актуальную тему: #011 — partitioning vs sharding in PostgreSQL.

Поэтому откликнулись многие. Пересказывать не буду, вот ссылки:

Райан молодец, но мне каждый раз как-то даже немного обидно за Шона Томаса (Shaun Thomas, сейчас Postgres High Availability Performance Architect, EDB). Ведь его Пятнецы тоже были хороши. Например PG Phriday: Around the World in Two Billion Transactions. Или:

The Do's and Don'ts of Postgres High Availability Part 1: Great Expectations; Part 2: Architecture Baseline; Part 3: Tools Rules.

А вот это ещё 2022:

PG Phriday: Do’s and Don’ts of Postgres High Availability Q&A и PG Phriday: Defining High Availability in a Postgres World.

А это ещё в 2021:

High Availability, PostgreSQL, and more: The Return of PG Phriday - возрождение его Пятнец в рамках EDB.

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