数据库相关的论文笔记

db-readings

数据库相关的论文笔记html

分布式理论-自问自答

  • GFS阅读问题
  1. 为何存储三个副本?而不是两个或者四个?sql

  2. Chunk的大小为什么选择64MB?这个选择主要基于哪些考虑?数据库

  3. GFS主要支持append,overwrite操做比较少。为何这样设计?如何基于一个只支持Append操做的文件系统构建分布式表格系统Bigtable?缓存

  4. 为何要将数据流和控制流分开?若是不分开,如何实现Append流程?数据结构

  5. GFS有时会出现重复记录或者padding,为何?架构

  6. Lease是什么?在GFS起什么做用?它与heartbeat有何区别?app

  7. GFS append过程当中若是Secondary出现故障,如何处理?若是Primary出现故障,如何处理?nosql

  8. GFS Master须要存储哪些信息?Master数据结构如何设计?分布式

  9. 假设服务一千万个文件,每一个文件1GB,Master中存储的元数据大概占用多少内存?.net

  10. Master如何实现高可用性?负载的影响因素有哪些?如何计算一台机器的load值?

  11. Master新建chunk时如何选择ChunkServer?若是新机器上线,load值特别低,是否须要有些特殊考虑?

  12. 若是某台ChunkServer报废,GFS如何处理?

  13. 若是ChunkServer下线后过一会从新上线,GFS如何处理?

  14. 如何实现分布式文件系统的快照操做?

  15. ChunkServer数据结构如何设计?

  16. 磁盘可能出现“位翻转”错误,ChunkServer如何应对?

  17. ChunkServer重启后可能有一些过时的chunk,Master如何可以发现?

  • MapReduce阅读问题
  1. MapReduce和MPP架构的主要区别在哪里?

  2. 如何采用MapReduce实现分布式排序?须要考虑什么问题?

  3. 如何设计Map Worker存储中间结果的数据结构?

  4. Reduce Worker执行过程当中若是数据量超过内存怎么处理?

  5. Master数据结构如何设计?

  6. 如何实现Map任务本地化?

  7. Master如何切分任务?

  8. 为何要有backup task?

  • Bigtable阅读问题
  1. GFS可能出现重复记录或者padding,Bigtable如何处理这种状况使得对外提供强一致性模型?

  2. 为何Bigtable设计成Root、Meta、User三级结构,而不是两级或者四级结构?

  3. 读取某一行用户数据,最多须要几回请求?分别是什么?

  4. 如何保证同一个tablet不会被多台机器同时服务?

  5. Tablet在内存中的数据结构如何设计?

  6. 如何设计SSTable的存储格式?

  7. minor、merging、major这三种compaction有什么区别?

  8. Tablet Server的缓存如何实现?

  9. 若是tablet出现故障,须要将服务迁移到其它机器,这个过程须要排序操做日志。如何实现?

  10. 如何使得tablet迁移过程停服务时间尽可能短?

  11. tablet分裂的流程是怎样的?

  12. tablet合并的流程是怎样的?

分布式 理论/工程实现

相关文章
相关标签/搜索