architecture/design/README.md
This directory contains design documents with details of how various features work internally. The intended audience for these documents are commiters to the codebase and users wanting a deep understanding of what happens under the hood for various features.
You can find the user-facing YugabyteDB docs here. If you want to understand the architecture of YugabyteDB, the architecture section in the docs is a good place to start.
Below you can find a table of high level and non-trivial features, relevant design documents for them, as well as the main reference engineers.
| Feature | Main reference |
|---|---|
| Admin debug UIs | TBD |
| Async xCluster replication | Julien, Rahul, Nicolas |
| Auto Flags | Hari |
| Automatic tablet splitting | Timur |
| Cluster load balancing | Julien, Rahul, Sanket |
| Command line tools | TBD |
| Distributed backup / restore | Oleg, Sanket, Sergei |
| Distributed PITR | Sanket, Sergei |
| Distributed transactions | Mikhail B, Sergei |
| DocDB encoding | TBD |
| Encryption at rest | Rahul |
| Master DDL operation handling | TBD |
| Online index backfill | Amitanand |
| Raft consensus | TBD |
| Raft read replica support | Rahul |
| Read from followers | Amit |
| RocksDB | Timur, Sergei |
| RocksDB: Advanced delta-encoding | Timur |
| Tablet local bootstrap | TBD |
| Tablet remote bootstrap | Amit |
| Tablet server heartbeat | Nicolas |
| TLS | Sergei |
| YCQL server component | TBD |
| YCQL virtual system tables | TBD |
| YEDIS server component | Amitanand |
| YSQL colocated tables | Jason |
| YSQL row level partitioning | Deepthi |
| YSQL tablegroups | Mihnea |
| YSQL tablespaces | Deepthi |
| Yugabyted | Sanket |