2.1.4 发展趋势
可以从数据计算层和数据存储层两个方面讨论云计算环境下信息资源管理平台框架的主要发展趋势。
(1)数据计算层的发展趋势。数据计算层的演变过程如图2-4所示,其计算模式经历了单机计算、对等计算、服务器计算、分布式计算、网格计算和云计算等不同阶段。从图2-4可以看出,随着计算模式的演变,信息资源将迁移至云端,云端信息资源的管理成为未来的研究重点。
图2-4 数据计算层的演变
(2)数据存储与管理层的发展趋势。随着大数据时代的到来,上层数据处理应用系统的主要需求发生了新的变化,例如对简单查询操作的响应时间的高度重视、重视应用系统对动态环境的自适应能力等。然而,这些新需求的出现要求在底层数据管理中解决这些新兴的共性需求,进而减轻上层应用系统的研发者的负担。为此,人们在关系数据库等传统数据管理技术的基础之上提出了新型数据管理技术——NoSQL和关系云。然而,提出NoSQL和关系云等新型数据管理技术的目的并不在于彻底淘汰关系数据库等传统数据管理技术,而在于为传统数据管理技术提供互补性解决方案。因此,在今后很长时间内,关系数据库等传统数据管理技术不仅不会被淘汰,而且会得到进一步的拓展和优化,并与新兴数据管理技术并存。例如,人们常说的NewSQL技术就是新兴的关系型数据库管理系统,不仅具有NoSQL对海量数据的存储管理能力,而且保持了传统数据库支持ACID和SQL等特性。此外,我们还应关注另一种数据管理技术——数据仓库技术。数据仓库和数据库是两个不同的概念,针对的是不同的数据管理目的。
总之,大数据时代给数据管理技术带来了一些新的变化(图2-5),主要体现在以下方面:
图2-5 数据管理的新变化
•从数据管理的完美主义者到现实主义者的转变。在传统数据管理中,对数据管理的认识是单一的,数据管理的目标往往是很完美的,其背后原因是不接受数据的复杂性。例如,传统数据管理中往往追求一致性、可用性和分区容错性3个特征的同时最大化。但是,CAP理论告诉我们,数据管理不一定是理想的或完美的,上述3个特征中的任何两个特征的保证(争取)可能导致另一个特征的损失(放弃)。
•从模式在先(schema first)到模式在先、模式在后(schema later)和无模式(schemaless)并存。在传统关系数据库中,先定义模式,然后严格按照模式要求存储数据;当需要调整模式时,不仅需要数据结构,而且需要修改上层应用程序。然而,NoSQL技术则采用了非常简单的Key-Value等模式在后和无模式的方式提升数据管理系统的自适应能力。模式在后和无模式也会带来新问题,如降低了数据管理系统的数据处理能力。
•从对复杂处理的关注到对简单处理的重视。在传统关系数据库技术中,更重视的是数据的复杂计算能力,如join操作等。但是,这些复杂操作反而成为关系数据库在提升数据管理能力方面的一个重要瓶颈,例如join操作要求被处理数据不能分布在不同服务器上。为此,NoSQL放弃了join等复杂处理操作,而关注简单处理的效率和效果。
•从强一致性的追求到数据一致性的多样化认识。传统关系数据库技术追求的是数据的强一致性,引入了事务机制,对并发操作和分布式处理给出了严格要求,虽然这样保证了数据质量,但影响了数据处理的效率。然而,NoSQL数据库中对数据一致性问题的认识出现了新的变化,为了提升数据处理效率,在一定程度上放弃了数据的强一致性,并引入了弱一致性机制和最终一致性机制。
•从强调数据冗余的负面影响到重视其正面影响。在传统关系数据库技术中,更加看重的是数据冗余可能带来的负面影响,如难以保障数据一致性。然而,NoSQL技术则发挥了数据冗余带来的数据处理性能上的提升。例如,NoSQL引入了副本技术(主从复制和对等复制)和物化视图技术。
•从对查全率和查准率的追求到对查询响应速度的重视。在传统关系数据库技术及其应用中,人们更加关注的是数据查询操作的查全率和查准率,从而牺牲了一些响应速度。但是,在NoSQL中更加重视了响应速度,而不是查全率和查准率,其主要原因有两个:响应速度对用户体验的影响很大,用户更重视响应速度,而不是查全率和查准率;在大数据环境下,难以保证查全率和查准率。
•数据库管理系统即产品到DaaS的转变。传统关系数据库系统都是以产品形式提供的,例如Oracle公司的Oracle、IBM公司的DB2、Sybase公司的Sybase、Microsoft公司的SQL Server等。但是,新型数据管理系统则支持云计算的虚拟化、弹性计算和经济性等特点,遵循的是DaaS的理念,重视服务而不是产品。
•从数据管理技术的标准化到多样化。在传统关系数据库系统中,数据管理技术是高度标准化的,不同的关系数据库管理系统产品的理论基础和核心思想是一样的,如采用关系模型和SQL语言。但是,NoSQL数据库代表的不是一个技术,而是包括基于不同的数据模型和查询接口的多种数据管理技术,如Key-Value、Key-Document、Key-Column和图存储模型等。
•从仅靠单一技术到多种技术相互融合。在传统数据管理技术中,不同的数据管理系统和产品的界限是清楚的,依赖的技术是比较单一的,要么是关系模型,要么是层次模型或网状模型。但是,在大数据时代,需求的变化导致了数据管理技术必须相互借鉴和融合,数据管理系统往往集成了原本属于不同类型的多种技术,支持多种数据管理能力,产品不再依赖于某个特定技术。