项目作者: aashrafh
项目描述 :
A simulation of a distributed system to apply the BigTable concepts
高级语言: JavaScript
项目地址: git://github.com/aashrafh/bigtable.git
About
A simulation of a distributed system to apply the BigTable concepts which has three major components:
- One Master Server
- Two Tablet Servers
- Many Clients
One Master Server
- Responsible for dividing data tables into tablets
- Checks locality requirements for better efficiency
- Responsible for assigning tablets to tablet servers
- Has Metadata table indicating the row key range (start key-end key) for each tablet server
Two Tablet Servers
- Each tablet server is responsible for a group of data tablets
- The exact number of tablets in each tablet server is according to the data size
- Performs the operations requested by the client
- Periodically each tablet server writes its tablets to the original data tables
Many Clients
- Each client caches Metadata table (tablet locations).
- Requesting queries on data, these queries include:
Set()
: write cells in a rowDeleteCells()
: delete certain cells in a rowDeleteRow()
: delete a rowAddRow()
: add a new rowReadRows()
: read a whole row