數據庫相關的論文筆記

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合併的流程是怎樣的?

分佈式 理論/工程實現

相關文章
相關標籤/搜索