Skip to content

Storage and Access Methods

Everything Cloudberry stores ends up as bytes in files on a segment. This part follows that path from the access methods down to the storage manager.

  1. Chapter 2

    Data Files and the Storage Manager in Cloudberry

    How Cloudberry maps relations to files on disk — the smgr layer, md.c segment files, relation forks, and the virtual file descriptor cache.

  2. Chapter 3

    The Cloudberry Buffer Cache: Pinning and Clock Sweep

    How 32 KB pages move through shared buffers — pinning, usage counts, clock-sweep eviction, ring buffers, the background writer and the checkpointer.

  3. Chapter 4

    Heap Storage: Page Layout, Tuples, HOT and Pruning

    Inside Cloudberry's row store — page organization, tuple headers, the free space and visibility maps, page pruning, HOT updates and ComboCID.

  4. Chapter 5

    Append-Optimized Tables in Cloudberry: AO and AOCS

    The AO and AOCS on-disk format explained — MemTuple, varblocks, the block directory, gp_fastsequence, DML visibility, vacuum and compaction.

  5. Chapter 6

    PAX: Apache Cloudberry's Native Columnar Storage

    Cloudberry's PAX access method — micro-partition file format, manifest catalog, encoding, min/max and Bloom sparse filters, and Z-order clustering.

  6. Chapter 7

    Indexes in Cloudberry: B-Tree, GIN, BRIN and Bitmap

    How each index access method works on an MPP cluster, including the Greenplum-inherited on-disk bitmap index that upstream PostgreSQL does not have.

  7. Chapter 8

    The Cloudberry System Catalog and Distributed Tables

    How the catalog is replicated to every segment — key catalog tables, Cloudberry's own distributed catalogs, bootstrap, and runtime cache invalidation.

← All parts