一. 演进过程
存储技术架构的演进主要是从集中式到分布式的一种呈现,集中式存储模式凭借其在稳定性和可靠性方面的优势成为许多业务数据库的数据存储首选,顾名思义,集中式存储主要体现在集中性,一套集中式管理的存储系统,但不是只单一的服务器,而是一套系统下多个服务器组成的服务,主要包括机头(控制器)、磁盘列阵(JBOD)和交换机、管理设备等,数据统一通过机头位置进入。
随着业务数据规模逐步变大,尤其是互联网方面的爆发式增长,同时业务需求也变得多样化,传统的集中式存储系统已经满足不了业务的存储和高并发请求需求,分布式存储系统应运而生了。分布式的主要思想是将数据存储和请求分布到不同的数据节点上,可以进行横向扩展解决数据读写性能瓶颈问题,通过一定规则计算存储位置,客户端直接连接存储位置节点进行读写操作。概括来说:分布式存储系统是一种可扩展的系统架构,利用多台服务器分担存储负荷,提高了系统的可靠性、可用性和存取效率,还易于扩展。
二. 分布式存储系统
集中式存储的数据库,比较典型的主要有Oracle、Sqlserver等。分布式存储系统可以根据其数据模型、访问模式和设计目标等因素划分为不同的类型。从应用场景角度来划分,比如有分布式文件系统,典型的是hadoop生态的hdfs文件系统,分布式数据库方面比如说阿里的OceanBase,然后分布式块存储主要有Ceph RBD,分布式对象存储主要有amazon的S3,然后还有分布式KV存储,比如说HBase等等。
以上介绍的多种用途的分布式存储系统,底层应用的架构模式无外乎这三种:第一种是中心控制节点架构,也即Master-Slave架构模式,由主服务节点控制和管理,从节点进行数据存储等,比如说HDFS就是采用这样一种架构。第二种是基于计算模式的完全无中心架构,典型的代表是Ceph。第三种是基于一执行hash的完全无中心架构,典型的代表是Swift。
三. 架构对比
集中式存储主要优势是安全可靠性高,管理简便、方便迁移等。弱点也比较明显,扩展性性差,高并发处理弱。主要适用于对数据安全性和一致性要求较高的场景,比如说企业中心化数据管理等。
分布式存储主要优势是扩展性强, 支持高并发请求。弱点是数据冗余,数据一致性问题等。主要适用于需要处理大规模数据集和实现高可用的场景,比如说大数据分析、云存储服务等。
四. 分布式存储面临的挑战
分布式存储面临的挑战主要有四个方面,第一个是海量小文件场景的挑战,大量小文件对元数据管理、存储效率、访问性能方面带来的挑战。第二个是高并发低延迟场景的挑战,很多场景要求要更加实时的传输数据和高效处理数据。第三个是数据安全可靠性方面的要求。第四个是降本增效、节能减排方面的要求。详细内容如下图所示:
五. 总结
和传统的集中式系统相比,分布式系统的整体性价比更高,同时凭借其扩展性,可以很好的满足大规模数据存储和处理场景的需求,可以很好的解决高并发场景下性能瓶颈问题。