分布式儲存系統中,元資料伺服器通常是乙個集中管理者,通常由它選擇(根據一些負載均衡演算法)合適的儲存節點來儲存檔案資料,這就形成了檔案元資料中的對映元資料部分,對映元資料記錄檔案資料分布資訊。
常用的實現方法為儲存節點週期性的向元資料伺服器報告狀態資訊,元資料伺服器根據這些節點的資訊選擇負載最小的儲存節點作為本次請求的資料服務者,這就要求元資料伺服器為每個檔案維護乙個資料分布鏈,當檔案很大,而資料分塊較小時,這個鍊錶可能很長,而且變長的資料分布鏈也不便於儲存。
一些分布式檔案系統為了簡化檔案元資料,使用不同的方法將這個變長的資料分布鏈去掉,下面描述幾種經典的實現。
google file system
gfs使用的方式對元資料伺服器的效能要求較高,並極大的延長了每次系統啟動的時間。
ceph
中,檔案的分布式通過
crush
雜湊演算法實現的,該演算法的原理我也理解不了,它能實現將資料(可能有多個拷貝)隨機的分配到乙個儲存池中(儲存節點集)。通過這種方式,檔案也不需要儲存對映元資料,
ucsc
後來的很多關於元資料索引
/查詢的**都是建立在這種資料分配方式上的,因為它極大的簡化了元資料結構。
最近**的
tfs也正是開源了,從
taobao code
上看到**核心系統部的一些開源專案,真的對阿里巴巴有點刮目相看了,以前一直以為阿里巴巴只是贏在電子商務的理念上,現在發現我錯的離譜啊。
tfs主要用於**網的儲存,如果你經常逛**,你就不難發現**中檔案的數量級之大了,種類繁多的商品,每種商品通常還要儲存不同大小的幾種版本(縮圖,大圖),海量的背後的那個賢惠的儲存系統就是
tfs,
tfs的資料塊大小為
64m,而檔案通常都是小檔案,也就是即使要儲存檔案的對映資料,也只有一項,而
tfs連這一項都省去了,它運用了一種小技巧。因為**網的使用者並不在乎檔案在儲存系統叫什麼名字,於是
tfs將一部分元資料整合到檔名中,其中就包含對映元資料。
,這個名字是**網中某個檔案的全域性路徑名,檔名
包含了檔案的位置資訊,的大小,字尾名等一些元資訊。
資料分析的一些方法(一)
本內容包含八個方法 邏輯樹 pest 多維度拆解 對比 假設檢驗 aarrr漏斗模型 rfm模型 杜邦分析方法。將零散的問題結構化,把複雜的問題簡單化。比如要計算北京有多少特斯拉。這個問題可以拆分為北京的汽車數量和北京特斯拉佔比,第乙個問題可以通過網上查詢到,第二個問題可以通過實際在十字路口上觀察,...
mongo查詢資料的一些方法
crud mongo資料庫至上而下是 database collections documents。我在這裡分別理解成資料庫 集合 記錄。這裡直接用官方給的資料來操作。假設以下資料放在了fruits集合中。qty 5 score 1,3 links score 5,5 json資料的巢狀查詢,就是說...
資料處理的一些方法
1 保留小數點後兩位 四捨五入alert num.tofixed 2 2 保留小數點後兩位 把後面捨去math.floor 15.7784514000 100 100 輸出結果為 15.77 yuantocent yuan yuantocent 5.55 100 呼叫時需要除以100之後數值才是對應...