"Modern B-Tree techniques" by Dmitrii Dolgov (Strange Loop 2022)

Discover the latest advancements in B-tree technology, including efficient page splitting, space reduction, and optimized use cases, as well as innovative techniques like learned indexes and dynamic prefix truncation.

Key takeaways
  • Modern B-trees, such as B3, aim to optimize for emerging hardware, like persistent memory and CPUs.
  • B3s can split pages more efficiently, reducing I/O operations and improving performance.
  • Delta records can be used to reduce space usage and improve insert performance.
  • B3s can be optimized for specific use cases, such as read-heavy workloads.
  • Learned indexes use neural networks to learn data distributions and optimize storage.
  • Partitioned B3s can be used to reduce memory usage and improve performance.
  • Dynamic prefix truncation can be used to reduce space usage and improve performance.
  • B3s can be designed to be more memory-friendly, using techniques like prefix allocation.
  • Sliding windows can be used to improve performance and reduce memory usage.
  • Page splits can be avoided or postponed using techniques like left pointer promotion.
  • B3s can be optimized for specific hardware, such as persistent memory and CPUs.
  • Index creation can be optimized using techniques like hybrid B3s.
  • Neural networks can be used to optimize storage and improve performance.
  • B3s can be designed to be more flexible, using techniques like dynamic prefix truncation.