PGCon2016 - 20180510

PGCon 2016
The PostgreSQL Conference

Anastasia Lubennikova
Day Talks - Day 1 - 2016-05-19
Room DMS 1110
Start time 13:00
Duration 00:45
ID 916
Event type Lecture
Track Hacking
Language used for presentation English

B-Tree - explore the heart of PostgreSQL.

B-tree index is the most common index type. Most if not all of the modern DBMS use it. The data structure and concerned algorithms are really mature, there are about 40 years of development. And PostgreSQL's B-tree is not exception. It's full of complicated optimisations of performance, concurrency and so on. But there're still many ways to improve it. At the conference we'll discuss new features which are already done and ideas for further improvements. Of course it requires deep drive into B-tree internals and I'm going to guide you there.

List of improvements to talk about:

  1. INCLUDING clause for B-tree indexes. It allows to combine advantages of unique and covering index without any side effects. Besides, it provides a way to extend included columns to store attributes without suitable operator class in index to allow more queries benefit from index-only scan.

  2. B-tree compression. This long-expected feature includes several improvements. We'll discuss effective storage of duplicates, prefix compression and some related difficulties of implementation.

  3. Insertion buffer and bulk updates. Some ideas of avoiding crazy I/O traffic by using bulk load.