Postgres Professional летит в Канаду

C 17 по 21 мая 2016 года в Оттаве проходит ежегодная конференция постресистов — PgCon 2016, The PostgreSQL Conference. Наша команда подготовила три доклада и дружно вылетела в Канаду для участия в конференции, встреч и бесед с коллегами, обретения положительных эмоций и, конечно же, для того, что бы держать руку на пульсе современных разработок мире под именем PostgreSQL.

Все наши три выступления пройдут в первый день докладов PgCon 2016–19 мая. Открывающим будет доклад Анастасии Лубенниковой «B-Tree — explore the heart of PostgreSQL».

B-tree наиболее распространенный тип индекса. Его использует большинство, если не все современные СУБД. Его структура данных и алгоритмы развивались в течение 40 лет. B-tree PostgreSQL не является исключением — он постоянно развивался, оптимизировался. Но, как и везде, здесь еще есть место для множества улучшений. На конференции мы обсудим новые возможности, которые уже сделаны, и идеи для дальнейшего совершенствования B-tree в PostgreSQL. Конечно, это требует глубокого погружения и понимания внутреннего строения B-tree, и здесь я буду вашим проводником.

Следующим запланирован доклад Олега Бартунова и Фёдора Сигаева на тему, в которой участие российских разработчиков PostgreSQL весьма значительное, — «Полнотекстовый поиск умер? Да здравствует полнотекстовый поиск!»

Олег и Федор расскажут о новых особенностях и возможностях полнотекстового поиска в PostgreSQL.

Много лет назад мы ввели понятие полнотекстового поиска в PostgreSQL, но с тех пор развитие этой функциональности было приостановлено. Это популярная особенность Postgres, она должна расширяться и улучшаться, чтобы соответствовать современным запросам и ожиданиям пользователей. Мы представим несколько новых улучшений в полнотекстовом поиске.
Время от времени мы получаем письма от пользователей о функциональности полнотекстового поиска, который мы разработали много лет назад. Люди спрашивают о новых возможностях, которые они хотели бы иметь в будущей версии. Самые популярные пожелания были о возможности поиска фраз, улучшенной поддержке орфографии и более простом использовании словарей. Были также жалобы на скорость полнотекстового поиска по сравнению с другими внешними поисковыми системами и вопросы о работе “нечеткого” поиска при использовании FTS (Full-Text Search — полнотекстовый поиск). Некоторые пользователи спрашивали о функции ранжирования и алгоритмах, лежащих в его основе. PostgreSQL становится все лучше и лучше с каждым новым релизом, но FTS, даже если и получил плюс от улучшения индекса, по-прежнему такой же, каким мы разработали его около 10 лет назад. В этом докладе мы представим несколько новых улучшений и функций, которые, надеемся, сделают полнотекстовый поиск в PostgreSQL более привлекательным и эффективным.

Третий доклад от Postgres Professional на конференции в Оттаве сделает Александр Коротков. Тема его выступления: «Расширяемость PostgreSQL: Возникновение и новые горизонты» с подзаголовком «Навстречу подключаемым хранилищам данных».

С самого начала PostgreSQL был разработан с поддержкой расширяемости. Хорошо известна цитата о методах доступа к расширениям: “It is imperative that a user be able to construct new access methods to provide efficient access to instances of nontraditional base types” — “Крайне важно, чтобы пользователь имел возможность построить новые методы для обеспечения эффективного доступа к экземплярам PostgreSQL c нетрадиционными типами данных” [Michael Stonebraker, Jeff Anton, Michael Hirohama. Extendability in POSTGRES, IEEE Data Eng. Bull. 10 (2) pp.16–23, 1987]
Первоначально heap был лишь одним из методов доступа, а также B-tree и hash-индексы. Расширяемость методов доступа предполагает теперь поддержку подключаемых внешних хранилищ данных. На данный момент для таблицы pg_am системного каталога определен только доступ по индексу. Поэтому для того, чтобы удовлетворить потребности первоначальной конструкции PostgreSQL, необходимо поддерживать две функции:
  • Доступ по индексу к подключаемым хранилищам данным, то есть способность к внедрению новых типов индексов путем добавления новых кортежей в таблицу pg_am;
  • Доступ к подключаемым хранилищам данных для таблиц без традиционного метода heap.
Кроме выполнения команды “CREATE ACCESS METHOD” расширяемые методы доступа по индексу нуждаются в WAL-журналировании, но ведение своих собственных WAL-журналов для каждого расширения неприемлемо, так как есть риск потерять данные при восстановлении. Другой подход заключается в ведении WAL-журналирования, которое фиксирует только разницу между страницами.
Существуют лишь несколько СУБД, которые поддерживают подключаемые хранилища данных. MySQL — наиболее яркий пример. Однако, имея дело с различными подключаемыми хранилищами данных, мы как будто имеем дело с разными СУБД. И это, на мой взгляд, — не самый лучший путь для PostgreSQL.
В докладе я расскажу о современном положении дел в отношении методов доступа по индексу и об актуальных разработках методов доступа для использования подключаемых хранилищ данных.

Как проводит время десант Postgres Professional в канадской столице, вы можете увидеть в фоторепортаже Олега Бартунова, Федора Сигаева и Константина Книжника, который они ведут между разговорам и встречами, прогулками и пробежками по Оттаве:

One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.