分布式存储系统是分布式系统3个研究方向(分布式存储系统、分布式计算系统和分布式管理系统)中的一个重要分支。顾名思义,分布式存储系统就是将大量的普通服务器(一般为廉价的硬件)作为数据存储设备(不是专用的存储服务器),通过高速网络实现互联,对外作为一个整体提供数据存储服务。简单来说,分布式存储在物理上是分散的,在逻辑上是统一的,不但能够提高系统的可靠性、可用性和存取效率,还易于扩展。对于普通用户而言,分布式存储系统与普通的PC硬盘的使用没有区别。
分布式存储系统的特点
▶高可用性:指分布式存储系统在面对各种异常时可以提供正常服务的能力。系统的可用性可以用系统停止服务的时间和正常服务时间的比例来衡量。例如,4个9的可用性(99.99%)要求一年停机的时间不能超过365×24×60 min/10000≈53 min。
▶高可靠性:主要指分布式系统的数据安全性指标。要实现数据可靠、不丢失,主要采用多机冗余、单机磁盘RAID等措施。
▶高扩展性:指分布式存储系统通过扩展集群服务器规模从而提高系统存储容量、计算和性能的能力。随着业务量的增大,对底层分布式存储系统的性能要求越来越高,一般通过增加服务器数量等方法来提升服务能力。系统的可扩展性主要是集群具有线性可扩展性,系统整体性能应与服务器数量呈线性关系。
▶数据一致性:指分布式存储系统多个副本之间的数据一致性,有强一致性、弱一致性、最终一致性、因果一致性和顺序一致性之分。
▶高安全性:指分布式存储系统不受恶意访问和攻击,保护存储数据不被窃取。互联网是开放的,任何人在任何时间任何地点通过任何方式都可以访问,针对现有的和潜在的各种攻击与窃取手段,要有相应的应对方案。
▶高性能:衡量分布式存储系统性能的常见指标,是系统的吞吐量和系统的响应延迟。系统的吞吐量是指在一段时间内可以处理的请求总数,常用QPS(Query Per Second)和TPS(Transaction Per Second)衡量。系统的响应延迟是指某个请求从发出到接收、再到返回结果所消耗的时间,通常用平均延迟来衡量。这两个指标往往是矛盾的,追求高吞吐量,比较难做到低延迟;追求低延迟,吞吐量会受影响。
▶高稳定性:这是一个综合指标,考核分布式存储系统的整体健壮性。对于任何异常,系统都能坦然面对,系统的稳定性越高越好。