项目作者: aashrafh

项目描述 :
A simulation of a distributed system to apply the BigTable concepts
高级语言: JavaScript
项目地址: git://github.com/aashrafh/bigtable.git
创建时间: 2021-06-04T16:24:37Z
项目社区:https://github.com/aashrafh/bigtable

开源协议:MIT License

下载


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
    • Ensures load balance
  • 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 row
    • DeleteCells(): delete certain cells in a row
    • DeleteRow(): delete a row
    • AddRow(): add a new row
    • ReadRows(): read a whole row

Tools