neondatabase / neon

Neon: Serverless Postgres. We separated storage and compute to offer autoscaling, code-like database branching, and scale to zero.
https://neon.tech
Apache License 2.0
15.03k stars 439 forks source link

Epic: Storage as an LSM tree #936

Closed hlinnaka closed 2 years ago

hlinnaka commented 2 years ago

Status

If you squint a little, our layered repository format already forms the bottom layer of an LSM tree. And that bottom layer is partitioned by SegmentTag. To turn that into a proper LSM tree, we need to make that partitioning dynamic, so that each layer can hold a range of SegmentTags, and add the upper levels.

Tasks on top of https://github.com/zenithdb/zenith/pull/1350:

Other Tasks

stepashka commented 2 years ago

this could influence the implementation of #999

hlinnaka commented 2 years ago

Related presentation from December: https://docs.google.com/presentation/d/1sWBECwju7JYkk1U-xQpZ0ttlwwLX6PWCrig4SUfNR5s/edit?usp=sharing

@kelvich

stepashka commented 2 years ago

a related PR for detecting whether stored data is compatible with the running binary: https://github.com/zenithdb/zenith/pull/1379