数据库相关的论文笔记

db-readings

数据库相关的论文笔记

分布式理论-自问自答

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

  2. Chunk的大小为何选择64MB?这个选择主要基于哪些考虑?

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

  4. 为什么要将数据流和控制流分开?如果不分开,如何实现Append流程?

  5. GFS有时会出现重复记录或者padding,为什么?

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

  7. GFS append过程中如果Secondary出现故障,如何处理?如果Primary出现故障,如何处理?

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

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

  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合并的流程是怎样的?

分布式 理论/工程实现

转载于:https://www.cnblogs.com/weloveshare/p/8727194.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值