数据库相关的论文笔记html
为何存储三个副本?而不是两个或者四个?sql
Chunk的大小为什么选择64MB?这个选择主要基于哪些考虑?数据库
GFS主要支持append,overwrite操做比较少。为何这样设计?如何基于一个只支持Append操做的文件系统构建分布式表格系统Bigtable?缓存
为何要将数据流和控制流分开?若是不分开,如何实现Append流程?数据结构
GFS有时会出现重复记录或者padding,为何?架构
Lease是什么?在GFS起什么做用?它与heartbeat有何区别?app
GFS append过程当中若是Secondary出现故障,如何处理?若是Primary出现故障,如何处理?nosql
GFS Master须要存储哪些信息?Master数据结构如何设计?分布式
假设服务一千万个文件,每一个文件1GB,Master中存储的元数据大概占用多少内存?.net
Master如何实现高可用性?负载的影响因素有哪些?如何计算一台机器的load值?
Master新建chunk时如何选择ChunkServer?若是新机器上线,load值特别低,是否须要有些特殊考虑?
若是某台ChunkServer报废,GFS如何处理?
若是ChunkServer下线后过一会从新上线,GFS如何处理?
如何实现分布式文件系统的快照操做?
ChunkServer数据结构如何设计?
磁盘可能出现“位翻转”错误,ChunkServer如何应对?
ChunkServer重启后可能有一些过时的chunk,Master如何可以发现?
MapReduce和MPP架构的主要区别在哪里?
如何采用MapReduce实现分布式排序?须要考虑什么问题?
如何设计Map Worker存储中间结果的数据结构?
Reduce Worker执行过程当中若是数据量超过内存怎么处理?
Master数据结构如何设计?
如何实现Map任务本地化?
Master如何切分任务?
为何要有backup task?
GFS可能出现重复记录或者padding,Bigtable如何处理这种状况使得对外提供强一致性模型?
为何Bigtable设计成Root、Meta、User三级结构,而不是两级或者四级结构?
读取某一行用户数据,最多须要几回请求?分别是什么?
如何保证同一个tablet不会被多台机器同时服务?
Tablet在内存中的数据结构如何设计?
如何设计SSTable的存储格式?
minor、merging、major这三种compaction有什么区别?
Tablet Server的缓存如何实现?
若是tablet出现故障,须要将服务迁移到其它机器,这个过程须要排序操做日志。如何实现?
如何使得tablet迁移过程停服务时间尽可能短?
tablet分裂的流程是怎样的?
tablet合并的流程是怎样的?