关于对象存储的定义,其实把哈希表的定义看一下,基本上就能懂了。
data = fun(key);
data就是用户要找的数据
KEY就是类似于传统存储的META DATA,但是又不一样,是通过一个算法得到的标签。
然后通过这个FUN,得到数据
KEY中的数据就已经包含了数据所存在的具体物理位置,比如:盘柜,磁道。。等等,但是它是属于抽象出来的一串数字,需要通过这个FUN来运算,得到一个具体的相关数据,这样就可以有很大的发挥空间了。
这样,就可以把META DATA这个服务单独的独立出来,单独为起做一个SERVER,然后任何的数据访问,都先通过这个SERVER查询之后,然后再到具体的某个存储
NETAPP的存储就是这种设计理念。
以后,未来的OPENSATCK也会采取这种设计理念,因为这样做,可以线性的扩展盘柜,而不会对性能造成太大的影响,基本上都是线性增长的。因为查询KEY的时候,即使不在一个数量级,也是可以有具体的算法来优化的。
EMC的ISLION不是这个设计理念,特此申明。