1.3.2 功能需求

1.3.2 功能需求

数据量的急剧增加,和数据本身内涵的多样性以及用户不断增长的需要对数据存储系统的功能设计提出了极大的挑战,用户不再仅考虑存储系统的容量和性能。存储系统需要更多的功能满足不断增加的应用需求。特别是在多用户并行的环境中,大规模应用系统的广泛部署对存储系统的性能和功能也提出更多的挑战,主要表现为:

1. 高性能:性能永远是系统设计追求的重要目标,数据存储系统必须能满足用户对性能的需求。用户希望系统整体性能应该能够随着设备性能和数量的增加而增加。对于各种实时性要求严格的特殊应用系统,存储系统必须根据负载特征进行针对性的优化以满足实时性要求;尤其在大数据量和高突发性的应用系统中,吞吐率和命令处理速率是非常关键的性能指标。

2. 可扩展性:存储系统必须能够根据应用系统的需求动态扩展存储容量、系统规模以及软件功能。许多应用系统,如数字图书馆、石油勘探、地震资料处理等都需要PB级的海量存储容量,并且其存储系统结构能够保证容量随时间不断增加。存储系统的设计不仅考虑单个物理存储介质容量的增加,同时还需要从体系结构方面入手,使得系统能够根据需要加入和管理更多的存储设备;而且扩展过程必须表现为在线的扩大,不应该影响前台业务的正常运行。

3. 可共享性:一方面存储资源可以物理上被多个前端异构主机共享使用;另一方面存储系统中的数据能够被多个应用和大量用户共享。共享机制必须方便应用,并保持对用户的透明,由系统维护数据的一致性和版本控制。

4. 高可靠性/可用性:数据越来越被称为企业和个人的关键财富,存储系统必须保证这些数据的高可用性和高安全性。许多应用系统需要24×365小时连续运行,要求存储系统具有高度的可用性,以提供不间断的数据存储服务。

5. 自适应性:存储系统能够根据各种应用系统的动态工作负载和内部设备能力的变化动态改变自身的配置、策略以提高I/O性能和可用性。

6. 可管理性:当系统的存储容量、存储设备、服务器以及网络设备越来越多时,系统的维护和管理变得更为复杂,存储系统的可用性和易用性将受到空前的关注。事实上当前维护成本已经接近系统的构建成本。系统通过简单性、方便性、智能性的设计提供更高的管理性,以减少人工管理和配置时间。

7. 海量数据组织和维护:当前数据具有量大,结构复杂的特点,对于这些海量数据的高效组织和管理成为一件极具挑战性的工作。为所有数据增加特性标签、建立快速和高效的索引结构成为存储系统必须考虑的问题,另外对于数据进行生命周期管理和对冗余数据进行重复删除都是提高存储系统利用效率的方法。

8. 数据存储服务的QoS:数据具有不同的属性(读写频率等),用户对数据也有不同的需要。以往对所有数据一视同仁的方法,只会导致整体存储资源的浪费和服务的低下。而现在的数据存储系统设计必须能够认清这种差别,使用合适的方法更好的满足用户对数据存储的要求。例如,不同存取模式对存储系统有不同的影响,而且系统必须自动的适应存取模式的变化。

9. 高效的能耗管理:大规模存储系统需要消耗大量的电能,设备的空转会消耗大量的电能产生大量的热量,这又导致散热和制冷的功耗增加,因此当前存储系统设计必须考虑如何节省系统运行的整体功耗。

虽然用户期望存储系统能够达到上述列举的多方面功能要求,但在实际的存储系统设计过程中这些功能需求会相互关联、相互制约。例如安全机制的引入往往会对性能有相反的作用。因此在实际的设计之中,需要根据应用的实际需要在多个功能之间进行一定的取舍和平衡。