随着数字化转型的深入,海量数据让原有的存储技术隐隐有些不堪重负,为了满足不可估量的数据的存储需求,市场上出现了分布式存储技术。分布式存储是一种数据存储技术,通过网络使用运行中的每台机器上的磁盘空间,并将这些分散的存储资源构成一个虚拟的存储设备,数据分散的存储在多个服务器上。目前有主流的几种分布式存储平台,今天就简单介绍一下Ceph、GFS和HDFS。
Ceph
分布式存储
Ceph是应用最广泛的开源分布式存储平台。Ceph是一个统一的分布式存储系统,设计初衷是提供较好的性能,可靠性和可扩展性。
特点:
1. 高扩展性
使用普通x86服务器,支持10~1000台服务器,支持TB到EB级别的扩展
2. 高可靠性
没有单点故障,多个数据副本,自动管理,自动修复
3. 高性能
由于采用了CRUSH、HASH等算法,使得它不存在传统的单点故障,且随着规模的扩大,性能并不会受到影响。
4. 数据分布均衡
它不单是存储,同时还充分利用了存储节点上的计算能力,在存储每一个数据时,都会通过计算得出该数据存储的位置,尽量将数据分布均衡。
5. 适用性强
可用于对象存储,设备存储和文件系统存储。
GFS
GFS是google的分布式文件存储系统,是专为存储海量搜索数据而设计的。GFS是一个可扩展的分布式文件系统,用于大型的、分布式的、对大量数据进行访问的应用。它运行于廉价的普通硬件上,并提供容错功能。它可以给大量的用户提供总体性能较高的服务。
特点:
1.实现自动的负载均衡和容错机制。
由于文件系统由成百上千个用于存储的机器构成,而这些机器是由廉价的普通部件组成并被大量的客户机访问。部件的数量和质量使得一些机器随时都有可能无法工作并且有一部分还可能无法恢复。GFS中,原本会被当做异常的部件错误会被视为常见的情况加以处理。
2. 可扩展性强。
GFS通过用户态实现的松耦合程序模块保证了GFS具备良好的异构可移植性,使得GFS在扩展性方面存在着无法比拟的优势,不仅如此GFS甚至可以在集群存储空间随机器数线性扩展。
3. 高度一致性
GFS为了支持Google本身的大文件而设计了一次写多次读和追加写这种特殊的模式,这样简单的一致性模型,有利于提高吞吐量。这个设计的优势使得GFS不仅能够满足Google本身的存储需求,还能够集中精力处理Google本身面临的存储问题,做到性能和成本的最佳平衡。
4.高性价比
由于GFS具备容错机制,可以保证在节点频繁死机时,系统仍然能够正常服务,这无疑降低了集群的机器成本和运维成本。
HDFS
HDFS是基于流数据模式访问和处理超大文件的需求而开发的一个适合运行在通用硬件上的分布式文件系统。该系统仿效了GFS,可以说是其的一个简化和开源版本。
特点:
1.高容错
HDFS有副本冗余机制,包括其自身在内默认会有3个副本随机存放在集群的不同的服务器上,如果服务器死机,HDFS不仅可以正常运行还会通过copy的方式保证数据的副本永远不会低于三个。
2. 高度一致性
HDFS 一次写入,多次读取,支持追加,不允许修改,保证数据一致性。
3. 适用于大文件、大数据处理。
HDFS处理数据的能力非常强悍,能够处理百万规模以上的文件数量,能够处理10K节点的规模甚至能够处理达到 GB、TB、甚至PB级别的数据。
4.流式数据访问
HDFS 的数据处理规模一般比较大,应用需要批量访问大量的数据,而不是交互式处理。使用流量的形式访问数据,可以增加吞吐量。
5.可构建在廉价机器上
构建在廉价机器上可以轻松的通过扩展机器数量来近乎线性的提高集群存储能力。
综上,不同的分布式储存平台有着各自的优势,不同的设计理念适用于不同的场景。在此基础上,底层硬件的兼容性也是选择一个平台需要考虑的因素。大家在选择时,不仅需根据产品的成熟度、风险规避、运维要求等,更要结合自身的技术力量选择最适合的平台。