Опубликовав в своём блоге знаменитую заметку о переезде с PostgreSQL на MySQL, Uber наделал много шума в постгресовом сообществе. Для многих из разработчиков PostgreSQL это стало толчком к осознанию несовершенства постгресового табличного движка (который пока всё ещё один). В результате было разработано множество патчей, нацеленных на преодоление проблем, указанных Uber’ом, которые в чём-то пересекаются, а в чём-то даже противоречат друг другу. Среди этих патчей можно отметить indirect indexes (индексы, которые ссылаются на значение primary key), WARM (write-amplification reduction method – уменьшение избыточности записи), RDS (recently dead storage – хранилище для недавно устаревших версий). Также ведётся обсуждение подключаемых табличных движков и undo log’а.
В данном докладе будет разобран пост Uber’а глазами разработчика PostgreSQL. Я расскажу с какими пунктами «обвинения» я согласен, с какими не согласен, а с какими – согласен частично. Также я разберу разработки сообщества в данном направлении и то, насколько они, на мой взгляд, позволяют преодолеть указанные недостатки.
Александр – исследователь в области алгоритмов и структур данных, а также ведущий разработчик (major contributor) Open Source СУБД PostgreSQL. В 2015 вместе с остальными российскими разработчиками PostgreSQL организовал компанию Postgres Professional, призванную стать российским вендором PostgreSQL.
Алесандр разрабатывает PostgreSQL более 7 лет и его вклад включает в себя: подключаемые индексные методы доступа, усовершенствования GiST и GIN индексов, улучшенные алгоритмы для пространственного поиска и нечёткого поиска строк, оптимизации для многоядерных архитектур и другое.
Компания: «PostgreSQL», Россия