摘要: 什么是后关系型数据库? 后关系型数据库结合了传统数据库如网状、层次和关系数据库的一些特点,以及Java、Delphi、ActiveX等新的编程工具环境,适应于新的以Internet、Web为基础的应用;采用独特的多维数据结构,这不仅能够真实地反应和更好地描述现...
什么是后关系型数据库?
后关系型数据库结合了传统数据库如网状、层次和关系数据库的一些特点,以及Java、Delphi、ActiveX等新的编程工具环境,适应于新的以Internet、Web为基础的应用;采用独特的多维数据结构,这不仅能够真实地反应和更好地描述现实世界的复杂数据及其之间的联系,同时也使数据的存取能够更快实现。 后关系型数据库提供三种方式访问数据:对象访问、SQL访问、直接对多维数据数组访问。而且三种访问方式能够并发访问同一数据。 多维数据结构和多种数据库访问方式构成了后关系型数据库的基础。
关系型数据库的不足及后关系型数据库的起步:
关系型数据库的概念:
关系数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。现实世界中的各种实体以及实体之间的各种联系均用关系模型来表示。关系模型是由埃德加?科德于1970年首先提出的,并配合“科德十二定律”, 是数据存储的传统标准。
关系型数据库的不足:
随着信息技术的飞速发展,数据处理不仅在数量上要求越来越大,而且在质量上也要求越来越高,数据库所管理的数据已经发生了根本的变化。这一变化给数据库技术带来了巨大挑战,数据库管理的对象已不再仅限于文本数据等简单的数据类型,而需要描述和保存大量多媒体非结构化的复杂数据,以及数据间的关系。
此外,随着热门网站访问数量的激增,对数据库本身的存储机制、大量并发用户的使用需求、存储空间的使用效率、以及数据的完整性和安全性等方面都提出了更高要求。而这些都不是传统关系数据库中,使用二维表简单结构就可以满足的。
关系型数据库依据的是把数据表示为简单的两维模型,即表示为行与列的记录来进行存储处理。显然由于受到当时条件的限制,只是一种适合于对简单数据存储处理的技术,存在难以克服的局限性。
数据模型上的限制
关系数据库所采用的两维表数据模型,不能有效地处理在大多数事务处理应用中,典型存在的多维数据。其不可避免的结果是,在复杂方式下,相互作用表的数量激增,而且还不能很好地提供模拟现实数据关系的模型。
关系数据库由于其所用数据模型较多,还可能造成存储空间的海量增加和大量浪费,并且会导致系统的响应性能不断下降。而且,在现实数据中,有许多类型是关系数据库不能较好地处理的。
性能上的限制
为静态应用例如报表生成,而设计的关系型数据库管理系统,并没有经过针对高效事务处理而进行的优化过程。其结果往往是某些关系型数据库产品,在对GUI和Web的事务处理过程中,没有达到预期的效果。除非增加更多的硬件投资,但这并不能从根本上解决问题。
用关系数据库的两维表数据模型,可以处理在大多数事务处理应用中的典型多维数据,但其结果往往是建立和使用大量的数据表格,仍很难建立起能模拟现实世界的数据模型。并且在数据需要作报表输出时,又要反过来将已分散设置的大量的两维数据表,再利用索引等技术进行表的连接后,才能找到全部所需的数据,而这又势必影响到应用系统的响应速度。
扩展伸缩性上的限制
关系数据库技术在有效支持应用和数据复杂性上的能力是受限制的。关系数据库原先依据的规范化设计方法,对于复杂事务处理数据库系统的设计和性能优化来说,已经无能为力。此外,高昂的开发和维护费用也让企业难以承受。
除此之外,关系数据库的检索策略,如复合索引和并发锁定技术,在使用上会造成复杂性和局限性。
后关系型数据库的起步:
随着信息技术的发展,在用关系数据库数据模型来处理复杂的数据类型、复杂的数据关系以及多种访问方法上,仍存在着诸多的能力限制。
虽然传统的关系数据库能很好地适合于处理相对简单的事务交易,但是却不能胜任来自不同表格的数据的处理。更多的数据库应用开发者认识到了关系数据库的限制,并开始寻找适合的替代方案。
但变革并不是很容易就可以实现的。在原有的两维表数据模型架构上,增加其它的功能并不能解决问题,有的开始尝试网络化的解决方案。
例如对于前几年出现的通用数据库和对象-关系数据库解决方案,专家们认为这些所谓的通用数据库,以及企图在关系数据库架构上,再增加一层对象层的对象-关系数据库,仍然是把关系数据库引擎作为它们的核心,而且通过所加的对象层,访问数据时,还需要进行转换映射。
因此,国外的一些专家们也指出:靠增加一些模块到一个已经很复杂的关系数据库上去的途径,并不能从根本上解决问题。
我们知道,数据库技术的一个基本目标就是要找到一个恰当的数据模型来表达它所管理的对象。为了解决用关系数据库不能有效表达和管理复杂数据的问题,我们必须寻求更好的、采用更适合管理复杂数据的数据模型,来适应新的变化。
一种更新的被誉为数据库新分水岭的后关系型数据库管理系统(Post-Relational Database,PRDBMS)逐渐出现并兴起,成为取代传统关系数据库的途径之一。
在脱颖而出的后关系型数据库管理系统中,采用了更现代化的多维模型,作为数据库引擎。并且,这种以稀疏数组为基础的独特的多维数据库架构,是从已成为国际标准的数据库语言基础上继承和发展的,是已积累了实践经验的先进而可靠的技术。后关系型数据库提供了一种实际可行的解决方案,能够更加适合当前用户的真实需要。用对象访问方式或者用SQL方式,可以直接实现对数据的访问。
后关系型数据库的特点和优势:
后关系型数据库的主要特征是将多维处理和面向对象技术结合到关系数据库上。这种数据库使用强大而灵活的对象技术,将经过处理的多维数据模型的速度和可调整性结合起来。由于它独有的可兼容性,对于开发高性能的交换处理应用程序来说,后关系型数据库非常理想。
多维数据模型能使数据建模更加简单,因为开发人员能够方便地用它来描述出复杂的现实世界结构,而不必忽略现实世界的问题,或把问题强行表现成技术上能够处理的形态,而且多维数据模型使执行复杂处理的时间大大缩短。
例如开发一个服装连锁店信息管理系统时,如果用关系数据库,就需要建立许多表,一张表用来说明每种款式所具有的颜色和尺寸,另一张表用来建立服装和供应商之间的映射,并表示它是否已被卖出,此外还需要建一些表来表示价格变化、各店的库存等等。每成交一笔生意,所有这些表都需要修改,很快这些关系数据库就会变得笨重而缓慢。
而在多维数据模型中,可以将这些数据看做是存在于一个“立方体”中,这个“立方体”有足够多的“面”,以便对数据进行完全分类,如款式、颜色、价格、库存等等都能够立刻互相映射,获取数据极其迅速, 而且由于清除了冗余的数据,多维数据库非常简单,不仅好用,而且更经济。
面向对象技术使用丰富的数据类型来反映现实世界的数据关系,由于它本身具有的模块化和强有力的内部操作能力,能够有效地提高开发者的生产率。面向对象技术的产生是由于人们认识到,人类考虑问题时,想到的不是整数、字符串或其他计算机数据类型,而是一个个的对象。比如说汽车,人们每天驾驶、购买和谈论它时,并不需要深入了解内燃机的物理过程。使用对象技术,计算机也可以只“谈论”“汽车”,而不必理会潜在的各种细节。这样,一种强大的新编程方法就产生了。
对象是模块化的,任何对象都可以内部发生变化,而不影响外部的其他编码。对象的这种模块化能力大大简化了应用程序的升级和维护处理。此外,对象还是内部可操作的。一个对象建立后,它就可以被其他的应用程序理解、使用甚至更改,而不管这些应用程序使用的是哪种程序设计语言。
如上所述,以事务型多维数据模型和集成的面向对象功能为特征的后关系型数据库能够提供事务处理应用开发所需的高性能和伸缩性,支持应用和数据的复杂性,正成为事务交易处理的优先选择之一。
后关系型数据库的发展:
后关系型数据库技术经过20多年的发展,已较P.Chen提出的概念模型有了较大的进步,并开始有成型的产品出现。由美国InterSystems公司发布的Caché就是一个用于高性能事务应用的后关系型数据库管理系统,具有面向对象的许多功能和一个事务型多维数据模型。它建立在ANSI和ISO双重标准的M技术标准之上。它的数据模型是多维的而不是关系的,并且具有独特的存储数据方式。这种后关系型数据库为有大量用户同时使用的Web复杂交易处理进行了优化,并且已经在有几千用户的实际网络环境中证明可提供高速而可靠的性能。
Caché数据库的特点:
1、速度快。Caché数据库在同等条件下查询相同数据比Oracle等普通数据库要快。原因是Caché数据库又叫做后关系型数据库(Post-Relation),顾名思义,Caché是基于普通关系型数据库如:Oracle, SQL server, Sybase等的基础之上并有所改进而产生的。
2、使用简单。Caché数据库支持标准SQL语句,因此不太熟悉M语言的用户依然可以轻易对数据库中的数据进行操作。
3、接口容易。Caché数据库支持ODBC标准接口,因此在与其他系统进行数据交换时非常容易。同时Caché亦可以将数据输出成文本文件格式以供其它系统访问调用。
4、真正的3层结构。Caché数据库能够真正意义上实现3层结构,实现真正的分布式服务。
升级扩容方便。正因为由上述分布式3层结构,所以当医院需要增加客户端PC或医院进行扩大规模时,不需要重新购买或更新主服务器,只需要适当增加二级服务器的数量即可,二级服务器相对来说要比主服务器要便宜许多,因此,医院可节约资金减少重复投资。
5、对象型编辑。Caché数据库是真正的对象型数据库,开发时用户可直接用数据库定义自己想要的对象,然后再在其它开发工具中调用该对象的方法和属性即可完成开发工作,非常方便。
支持远程映射和镜像。Caché数据库支持远程的映射和镜像,比如在不同城市之间,或在同一城市的不同区域之间,Caché可以进行镜像(Mapping),使不同区域的Caché数据库同步联系起来,虽然在不同区域,但大家使用起来就像共用一个数据库。
6、支持WEB开发。Caché 数据库提供自带的Web开发工具,使用维护非常方便,符合当今软件业发展的趋势。
7、价格便宜。Caché数据库的价格比Oracle要便宜许多。