Evaluation of Bigtable
Learn how the proposed design fulfills the non-functional requirements.
To meet our functional requirements, we employed a variety of strategies. However, we must determine if we have met the non-functional requirements. We’ll go through some of the techniques we’ve used to meet non-functional requirements.
Bigtable divides a table into tablets, each of which holds related data with a continuous region of rows. At first, each table has only one tablet. As the table expands, it is divided into several tablets. The Bigtable manager is in charge of allocating tablets to tablet servers. Tablet servers are in charge of managing read and write requests to the tablets to which they have been allocated, as well as separating tablets that have become too big. It is really simple to add new tablet servers to a Bigtable cluster. The manager server allocates the tablets to any newly installed tablet server from the pool of unallocated tablets or from other tablet servers.
The manager checks the load (read/write requests) on the tablet servers periodically. If there is too much load on a tablet server for a specific tablet, the manager splits those busier tablets and merges tablets with lesser loads, and redistributes them between different tablet servers to balance the load.
Note: Since Bigtable is based on the GFS, it is ...