1.4S analysis
scenario: read / writeservice: client - BigTable - GFS
store: NoSQL
scale:
2.A workable solution
1.Read:
2.Write:
3.A better and detailed solution
1.Read:
[Explain for details]
2.Write:

- Distributed lock server
- provide lock service
(Chubby in Google: http://bit.ly/1Pukiyt
Zookeeper in Apache: http://bit.ly/1TOWIsR) - manage metadata (the consistent hashmap)
- Master, lock server and user
- Master: in this framework, master does not maintain the consistent hashmap anymore, it 1) manage the servers health and 2) shard the files
- Lock Server: 1) maintain the metadata 2)lock the key
- Communication:
Communication (user<->lock server): lock, slave server id
Communication (lock server<->master): when a slave server fail, the master needs to assign a new one, copy the data and update the consistent table in the lock server.
No communication (user<->master) - Tablet
- SSTable
- Optimize read from GFS
- index
- bloom filter
2.Write:

- The writing process in tablet server:
- write-ahead log: http://www.larsgeorge.com/2010/01/hbase-architecture-101-write-ahead-log.html
- write memory
- asynchronously write the SSTable in memory to GFS
- sort
- index
- write bloom filter



No comments:
Post a Comment