海量圖片存儲策略

1、常規圖片存儲策略linux

常規的通常400G下面的圖片存儲可以採用比較傳統的分文件夾的形式apache

好比文件夾層級爲  年份/行業屬性/月份/日期/用戶屬性分佈式

有幾個比較重要的原則就是server

一、單個文件夾下的文件個數不要超過2000個,多了尋址較慢,你在linux下ls就能看到數量太多的時候的效果了索引

二、文件夾層級結構不要太深,這樣server處理尋址較慢圖片


2、海量圖片存儲策略hash

一、核心難點
it

(1)海量的意思就是圖片的數量級別是上億--光是咱們創建索引就玩不轉,沒那麼牛的庫存儲class

(2)圖片總大小是依照T計算的--單個節點確定支持不了集羣

(3)圖片訪問很是easy有長尾效應--就是沒有所謂的熱點


二、解決方式

(1)、存儲方案

採用分佈式隨即的方式將一些小文件存放到分佈式集羣環境中,用hash的方式來記錄位置(一般是先hash,而後確認存儲位置)。將位置直接做爲文件名

 計算哈希的常見方法: hash(key)%n  =》大體的物理位置

分佈式存儲常見方案:hdfs,tfs....

(2)、訪問方案(若是咱們用apache)

硬訪問

直接讓apache依據文件名稱字找到指定文件存放位置,讀取文件流

軟訪問:

直接用apache的rewrite這個功能,將文件讀取

相關文章
相關標籤/搜索