[SERVER-47626] Execution Architecture Guide: The Catalog: On-Disk Catalog Created: 17/Apr/20  Updated: 29/Oct/23  Resolved: 05/Aug/20

Status: Closed
Project: Core Server
Component/s: Storage
Affects Version/s: None
Fix Version/s: 4.7.0

Type: Task Priority: Major - P3
Reporter: Dianna Hohensee (Inactive) Assignee: Geert Bosch
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
is depended on by SERVER-47627 Execution Architecture Guide: The Cat... Closed
Duplicate
is duplicated by SERVER-47285 Execution Architecture Guide: The Cat... Closed
is duplicated by SERVER-47627 Execution Architecture Guide: The Cat... Closed
Related
related to SERVER-47285 Execution Architecture Guide: The Cat... Closed
is related to SERVER-47628 Execution Architecture Guide: The Cat... Closed
Backwards Compatibility: Fully Compatible
Sprint: Execution Team 2020-07-13, Execution Team 2020-07-27, Execution Team 2020-08-10
Participants:

 Description   

Rough starting outline:

The Catalog
    in-Memory Catalog
        Collection Catalog
            (include discussion of RecordStore interface)
        Index Catalog
            (include discussion of SortedDataInferface interface)
        Versioning
            (in memory versioning (or lack thereof) is separate from on disk)
            The Minimum Visible Snapshot
    On-Disk Catalog
        Catalog Data Formats
            Collection Data Format
            Index Data Format
        Versioning
            (e.g. data changes in tables are versioned, dropping/creating tables is not versioned)
    Catalog Changes
        (How are updates to the catalog done in-memory and on disk?)
    Two-Phase Collection and Index Drop
        (First phase removes access to the collection/index in the in-memory catalog, second phase drops the WT table.)
        (Explain this is necessary because WT versions document writes but not table drops.)
        (Necessary to support ongoing queries, repl ops like rollback, and our own startup recovery.)

Definitely feel free to alter the layout and file additional tickets split the work into more manageable units. Please add topics if you can think of any. This outline is meant only to be a starting point.

A couple helpful links for markdown basics:
https://www.markdowntutorial.com/
https://gist.github.com/asabaylus/3071099
https://markdownlivepreview.com/



 Comments   
Comment by Githook User [ 05/Aug/20 ]

Author:

{'name': 'Geert Bosch', 'email': 'geert@mongodb.com', 'username': 'GeertBosch'}

Message: SERVER-47626 Execution Architecture Guide: The Catalog
Branch: master
https://github.com/mongodb/mongo/commit/515bb3ba57dbf775000abafcaa5288569a983f48

Generated at Thu Feb 08 05:14:45 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.