海量图片存储策略

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这个功能,将文件读取

相关文章
相关标签/搜索