哎呀,論文總結的愈來愈應付了,要看的太多,基本都是總結點了,合在一塊兒吧。第一個是little table,第二個是mesa
LittleTable: A Time-Series Database and Its Uses
(2017 cisco meraki)架構
### 架構分佈式
(balanced binary tree??)=>加入list to flush,allocat another性能
純寫內存時300M(cpu),寫入文件70M(disk),遇到merge 40M(disk brandwidth)fetch
Mesa: Geo-Replicated, Near Real-Time, Scalable Data Warehousing(google 2014)google
每一個table有table schema 和aggregation func
updates,分鐘級產生,帶版本,查詢全部版本前的updates聚合返回。版本會roll up。好比base 0-60, 61-70/61-80/61-90,原始61~90
rows blocks。每一個block按照column調整順序壓縮,雲計算
無狀態(controller+update workers/compaction workers/schema chaneg workers/checksum workers)
metadata存在bigtable中
數據存在colossus中
查詢:pre-fetching and cache colossus中的數據
寫入:基於paxos全局的version number和version對應file的位置。version database.controller監聽versions database,commiter確保全部相關tables都更新,
返回分紅streaming fashion,有resume key,查詢中斷後切機器繼續上次的resume key(查詢有這麼大?)spa
分佈式,並行,雲計算(pre_fetch+並行來補償colossum對於local disk的性能影響,利用雲計算的性能計算),越簡單性能越好。
不要作任何應用層假設(好比meta不會常常變動)。
容錯,這個可能一個active的computer只是浮點運算除了問題可是沒有發現等等
人員交叉培訓線程