云存储是什么?

大家理解的云存储,我相信一个共同点是:没有容量的限制,不会丢失数据,性能很好,那么时髦点的说法,就是分布式。

首先先介绍一下存储分类,文件存储、块存储、对象存储

这3种存储,应用的场景是不一样的。

文件存储

这个大家接触的比较多。就是共享文件夹,你可以把文件放进去。外面的Nas设备,就是文件存储。linux下的Samba,也是文件存储。

不过上面的文件存储,都是单机的。容量限制比较大。那么如何实现真正的分布式呢?开源里,gluster在文件存储的分布式,应该是做的最好的。

国外有网盘系统,国内也有,底层的存储是使用gluster,作为文件存储的方式。文件存储的方式其实在海量数据的存储上是有点问题,最简单的一个问题就是一个目录下存储的文件过多,超过1k,那么你的性能就很差。

块存储

这个如果你不折腾机器,你一般接触不到。简单点说,你需要格式化,才能使用的设备。经常听到的SAN,就是块存储。

不过SAN的块存储,也是一个容量限制,不支持分布式。开源里,Ceph的块存储上,应该是做的最好的。目前块存储应用比较多在虚拟机的文件存储上。目前块存储的分布式的规模,其实并不算太大。

对象存储

这个如果不是搞技术的,一般都没接触过。据说这种存储系统,都是根据google的论文写出来的。这种存储本身就是分布式,支撑海量的数据存储。这和上面两种存储不太一样的地方。

对象存储为啥能支撑海量的数据呢?那么他至少有一个很明显的特点,没有目录的概念,存储文件的安全性,可靠性,是靠软件的保证,而不是靠硬件的冗余来实现的。

可以这样说,国内目前所有的网盘,底层都是使用对象存储的产品。

对象存储适合的使用场景:冷数据的永久存储。