
PAX - колоночное хранилище для Apache Cloudberry/Postgres 14
PAX - наше новое колоночное хранилище для Apache Cloudberry.
Его можно сравнить с parquet, но есть ряд отличий, больше характерных для подхода Partition Attributes Across by Anastassia Ailamaki et all https://vldb.org/conf/2001/P169.pdf
Если вкратце, то наш подход сочетает в себе преимущества хранения строк (NSM, N-арная модель хранения) и хранения столбцов (DSM, декомпозиционная модель хранения). В аналитических запросах производительность пакетной записи в PAX сравнима с производительностью хранения строк, а производительность чтения - с производительностью хранения столбцов.
В докладе расскажу детали нашей реализации.
Код в open-source (под лицензией Apache 2.0) https://github.com/apache/cloudberry/tree/main/contrib/pax_storage
Сейчас ядро cloudberry - Postgres 14, и собрать наше расширение под новые/ванильные postgres без доработок не получится. Но в будущем мы планируем продолжать обновлять ядро до Postgres 16 и выше, и расширение можно будет использовать и с ванильным Postgres.