閱讀以下關于分布式數(shù)據(jù)庫緩存設計的敘述,在答題紙上回答問題 1 至問題 3.
【說明】
某企業(yè)是為城市高端用戶提供高品質蔬菜生鮮服務的初創(chuàng)企業(yè),創(chuàng)業(yè)初期為快速開展業(yè)務,該企業(yè)采用輕量型的開發(fā)架構(腳本語言+關系型數(shù)據(jù)庫)研制了一套業(yè)務系統(tǒng)。業(yè)務開展后受到用戶普遍歡迎,用戶數(shù)和業(yè)務數(shù)量迅速增長,原有的數(shù)據(jù)庫服務器已不能滿足高度并發(fā)的業(yè)務要求。為此,該企業(yè)成立了專門的研發(fā)團隊來解決該問題。張工建議重新開發(fā)整個系統(tǒng), 采用新的服務器和數(shù)據(jù)架
構,解決當前問題的同時為日后的擴展提供支持。但是,李工認為張工的方案開發(fā)周期過長,投入過大,當前應該在改動盡量小的前提下解決該問題。李工認為訪問量很大的只是部分數(shù)據(jù),建議采用緩存工具 MemCache 來減輕數(shù)據(jù)庫服務器的壓力,這樣開發(fā)量小,開發(fā)周期短,比較適合初創(chuàng)公司,同時將來也可以通過集群進行擴展。然而,劉工又認為李工的方案中存在數(shù)據(jù)可靠性和一致性問題,在宕機時容易丟失交易數(shù)據(jù),建議采用 Redis 來解決問題。在經(jīng)過充分討論,該公司最終決定采用劉工的方案。
【問題 1】
在李工和劉工的方案中,均采用分布式數(shù)據(jù)庫緩存技術來解決問題。請說明分布式數(shù)據(jù)庫緩存的基本概念。
表 4-1 中對 MemCache 和 Redis 兩種工具的優(yōu)缺點進行了比較,請補充完善表 4-1 中的空(1)~ (6)。
表 4-1 MemCache 與 Redis 能力比較
【問題 2】
劉工認為李工的方案存在數(shù)據(jù)可靠性和一致性的問題,請說明原因。
為避免數(shù)據(jù)可靠性和一致性的問題,劉工的方案采用 Redis 作為數(shù)據(jù)庫緩存,請說明基本的Redis 與原有關系數(shù)據(jù)庫的數(shù)據(jù)同步方案。
【問題 3】
請給出 Redis 分布式存儲的 2 種常見方案和Redis 集群切片的幾種常見方式。