...
/Detailed Design of Bigtable: Part I
Detailed Design of Bigtable: Part I
Explore the design of Bigtable in detail and understand the interaction of various components.
We'll cover the following...
Components
Here’s a list of major components in our Bigtable design:
- SSTable
- MemTable
- GFS
- Chubby
Let’s discuss the components of Bigtable design in detail.
SSTable
The data is kept as files in Bigtable using the Google File System (GFS), a persistent distributed file storage system. Sorted String Table, or SSTable for short, is the file format that Bigtable uses to store its data. It is a persistent, ordered, immutable map of keys to values, where both the keys and the values are random
When the SSTable is accessed, a block index is loaded into memory and utilized to find blocks. Single disk seek can be utilized to perform a lookup. By using a binary search to locate the correct block in the in-memory index, we then read the correct block from the disk. It is ...