暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

从关系型数据库到后关系型数据库

原创 毛毛 2020-05-22
1190

关系型数据库把数据表示为简单的两维模型,即表示为行与列的记录来进行存储处理。关系型数据库产生的时间较早,只是一种适合于对简单数据进行存储处理的技术,存在很多局限性。虽然关系型数据库简单、易于理解,并被广泛的应用,但是随着Internet的发展,多种复杂数据的使用,这种简单两维模型的关系型数据库显然已经难以应付各类复杂的应用。于是,更多的数据库专家开始了对后关系型数据库的研究。

Cache发布

从后关系型数据库模型的提出,到现在已经经历了20多年。随着后关系型数据库技术的发展,后关系型数据库的产品早已不再停留在模型的基础阶段。最近,由美国InterSystems公司发布的Cache,就是一个用于高性能事务应用的后关系型数据库管理系统,该系统具有面向对象的许多功能和一个事务型多维数据模型。

Cache的应用程序能够从一个平台移植到另一个平台上而无需修改程序代码行,可以在各种不同硬件平台和软件平台上运行,如Windows95、Windows NT、Unix和Digital VMS等等。

此外,因为Cache方便易用,还可大大减少通常在使用别的技术时所必需的人工干预工作量,显著降低了与系统管理有关的费用。

Cache的特点

1、速度快。Cache数据库在同等条件下查询相同数据比Oracle等普通数据库要快。原因是Cache数据库又叫做后关系型数据库(Post-Relation),顾名思义,Cache是基于普通关系型数据库如:Oracle, SQL server, Sybase等的基础之上并有所改进而产生的。

2、使用简单。Cache数据库支持标准SQL语句,因此不太熟悉M语言的用户依然可以轻易对数据库中的数据进行操作。

3、接口容易。Cache数据库支持ODBC标准接口,因此在与其他系统进行数据交换时非常容易。同时Cache亦可以将数据输出成文本文件格式以供其它系统访问调用。

4、真正的3层结构。Cache数据库能够真正意义上实现3层结构,实现真正的分布式服务。

升级扩容方便。正由上述分布式3层结构,所以当医院需要增加客户端PC或医院进行扩大规模时,不需要重新购买或更新主服务器,只需要适当增加二级服务器的数量即可,二级服务器相对来说要比主服务器要便宜许多,因此,医院可节约资金减少重复投资。

5、对象型编辑。Cache数据库是真正的对象型数据库,开发时用户可直接用数据库定义自己想要的对象,然后再在其它开发工具中调用该对象的方法和属性即可完成开发工作,非常方便。

支持远程映射和镜像。Cache数据库支持远程的映射和镜像,比如在不同城市之间,或在同一城市的不同区域之间,Cache可以进行镜像(Mapping),使不同区域的Cache数据库同步联系起来,虽然在不同区域,但大家使用起来就像共用一个数据库。

6、支持WEB开发。Cache 数据库提供自带的Web开发工具,使用维护非常方便,符合当今软件业发展的趋势。

Cache的优势

后关系型。数据库技术和关系型数据库技术相比较,高响应性能是它的一大优势。网络环境下的数据通常是非常复杂的,但在以往的关系型数据库模式之下,数据开发会受到简单的行列数据模型的限制。

这种复杂性就不得不转嫁到应用程序的设计上,使得应用程序必须做很多数据表格的操作,处理一个事务要执行很多次的表连接。由于在关系型数据库之上的事务处理是一项庞大的工作,这就使得关系数据库的应用系统变得效率低下。

相对而言,Cache的面向对象多维数据结构能更好地描述数据之间的关系,也具有能节省硬盘存储空间和能提供高速响应的性能。

采用Cache后的存储空间可能节省2/3,而基于Cache的应用程序,比原来基于关系型数据库的应用程序运行有可能快20倍。

开放性是Cache具有快速开发能力的关键。开发员能够在熟悉的环境中工作,使用他们所熟悉的工具。习惯于关系型系统的开发员可以把数据模型设计为表,然后使用嵌入的SQL访问它。

Cache包括了一个先进而成熟的完全对象模型,包括封装、多态、多重继承、结果集合blob,并且能够与对象建模工具如和rose软件等接口。更重要的是,cache的对象访问、SQL访问和直接对多维数据数组访问等三种数据访问方式可直接与cache中的数据进行交互。这样就没有额外层次的处理,提高了数据库的性能。Cache还独一无二地提供了事务处理型的位图索引,通过提升数据仓库中实时数据的查询效率来大幅度提高进行复制查询的能力。它可以利用多维数据机构执行位图索引,提高其查询速度,同时显著降低了占有的存储空间。Cache运行的高性能和快速开发的高效率,可以为计算机用户带来巨大的受益。而且cache能在各种操作系统支持下轻松完成数据库系统管理,包括在线实时重新分配和部署数据库服务器及应用服务器。后关系型数据库能够将多维处理和面向对象技术结合到关系数据库上,能够将经过处理的多维数据模型的速度和可调整性结合起来。由于它独有的可兼容性,对于开发高性能的交换处理应用程序来说,后关系型数据库非常理想。

后关系型数据库发展

在XML、InfoBase、Webserver等概念热炒时,我们仍然看到目前的数据库技术,实际上只为企业解决了15%的结构化数据管理问题,其余85%的非结构化数据该怎么来管呢?

压在关系型数据库身上的三座大山

关系数据库最初设计为基于主机/终端方式的大型机上的应用,其应用范围较为有限,在经历了客户机/服务器时代后,获得了极大的发展。

关系数据库管理系统在很长时间内处于数据存储管理技术主流而独领风骚,但是这种传统的数据库管理系统因采用两维数据模型,而存在本身固有的约束和限制。

随着信息技术的飞速发展,数据处理不仅在数量要求越来越大,同时,信息数据的种类也在不断发展,越来越多的非结构化数据不断出现,包括企业的各种报表、账单、电子文档、网站的各种元素、图片、传真、扫描影像,以及大量的多媒体的音频、视频信息等等。此外,随着热门网站访问数量的激增,对数据库本身的存储机制、大量并发用户的使用需求、存储空间的使用效率、以及数据的完整性和安全性等方面都提出了更高要求。

今天,数据库所生存的外部土壤随着Internet以及在网络环境下IT系统互联互通相互协作的趋势,对信息管理技术提出了新的挑战。这些挑战就像三座大山,压在了关系型数据库的头上。

信息复杂性

今天信息的复杂性与关系型数据库理论产生的时代已不可同日而语,信息的结构日益复杂,随着个性化服务等需求增长,信息的多样性和差异性都大大增加了,而关系型理论在管理信息复杂性方面的不足日益明显。

关系数据库本质上采用的是一个二维的模型,通过一系列二维关系的组合来描述复杂实体对象,每个表所代表的所有实体在建模设计时没有差异性,即使只有一个实体拥有某种属性,也必须为其建立一个字段。如果这种个体间的差异性不是仅仅表现在属性上,而且涉及结构和关系,则需要为有差异的实体建立不同的表和对应关系。因而今天的许多业务系统往往需要几千张表,甚至数万张表。数据库的结构变得十分复杂,数据库中的信息变得难以理解。而且,在现实数据中,有许多类型是关系数据库不能较好地处理的。

处理高效性

从某种意义上而言,今天业务系统数据库的信息是业务系统运行的副产物。数据库是为支撑特定业务应用的运行而设计,数据库中的数据也只被单一系统使用,所以很少考虑这些信息是否易于理解。然而,今天越来越多的系统需要相互协作、共享信息。信息的可读性、能否易于理解变得日益重要。

为静态应用设计的关系型数据库管理系统,并没有经过针对高效事务处理而进行的优化过程。其结果往往是某些关系型数据库产品,在对Web的事务处理过程中,没有达到预期的效果。用关系数据库的两维表数据模型,可以处理在大多数事务处理应用中的典型多维数据,但其结果往往是建立和使用大量的数据表格,仍很难建立起能模拟现实世界的数据模型。并且在数据需要作报表输出时,又要反过来将已分散设置的大量的两维数据表,再利用索引等技术进行表的连接后,才能找到全部所需的数据,而这又势必影响到应用系统的响应速度。

应用灵活性

随着IT系统进入社会生活的各个方面,信息不仅日益复杂,而且其需求内容和结构随着时间的推移也不断地产生变化.现实世界要求信息技术具有越来越高的灵活性和适应性.关系型数据理论所采用的是一种固定的建模方式,任何关系和属性一旦定义,就是固定的,难以随着需求的变化进行灵活的调整。

关系数据库技术在有效支持应用和数据复杂性上的能力是受限制的。关系数据库原先依据的规范化设计方法,对于复杂事务处理数据库系统的设计和性能优化来说,已经无能为力。此外,高昂的开发和维护费用也让企业难以承受。

后关系型数据库的三种演变

虽然传统的关系数据库能很好地适合于处理相对简单的事务交易,但是却不能胜任非结构性数据的处理。很多的数据库应用开发者已经认识到了关系数据库的限制,并开始寻找适合的替代方案。但变革并不是很容易就可以实现的。

改良派:融入xml技术

XML语言的出现,给数据库系统的发展开辟了一片新的天地。XML的全称是“可扩展的标识语言(extensible markup language)”。XML有下列重要特性:

一、XML是一种表意而非表形的元语言。采用不同的显示页(stylesheet)就可以做到同一数据源却有不同途径的显示结果。

二、XML是Internet的标准语言,因而具有跨操作平台、跨区域的特点,因而是网络世界里的一种“世界语”。

三、由于由XML所写的文件能为机器所解读,使得网络世界里“服务器对服务器(Server to Server)”的应用成为可能,从而奠定了Internet应用自动化的基础。

四、XML是一种可自我描述定义的元语言,所以它可以大量用于制定行业内及行业间数据交换的标准。

对IBM DB2 9来说,IBM 的新一代数据库 DB2 9中第一次实现了关系型引擎与层次型引擎的结合,实现了混合数据库,IBM将此技术称为pureXML技术。IBM公司技术人员认为,关系数据库对非结构化数据的支持不亚于从层次数据库到关系数据库的革命性转变。“XML在信息管理领域无处不在,不管是管理结构化或非结构化信息,或者用于信息传输,或者是集成信息的映射标准。它现在是不可或缺的。”而甲骨文、微软、sybase等数据库厂商也同样看到了这个趋势,并提供了第一轮的XML支持。

我们不难看出,将xml技术和关系数据库进行整合,目前已经得到了主流关系型数据库厂商们的大力支持。毕竟,经过多年的打拚,各大数据库厂商的市场地位已经确立,其产品的市场分额也相对平稳。在这样的情况下,如果对数据库技术进行革命性的改变,势必引发市场的重新洗牌,同时也是对原有技术积累的一种丢弃,这是目前主流数据库厂商们所不愿意看到的。

站在用户的角度,由于长期的使用,很大程度上已经接受并且习惯了传统数据库的使用方式,如果完全替换掉原有的关系型数据库,不仅需要一定时间来适应,同时,如何解决新旧系统间数据的导入、格式的统一以及与应用系统接口的调整,也是一个很伤脑筋的问题。能够在现有系统的基础上,增加对非结构化数据的支持,实现系统无缝、平稳过渡,可能也是用户最希望看到的情况。

专家观点:中国软件协会数据库及应用软件分会秘书长 王腾蛟

关系型数据库技术经过多年的积累,其数学模型已经相对完善,结构也很简单,尽管在不同数据格式的数据交换中,关系数据库表现不是很好,但是在处理数度上,关系型是强于XML的。同时,在针对事务处理方面,目前还没有比关系型更好的。尽管数据库未来究竟采取何种方式发展,现在还不好说,但是将XML技术融于关系数据库中,实现对异构数据的管理,这确实是一种很好的尝试。

革新派:取代“DataBase”

为了让企业更加有序地存储、管理并利用所有非结构化信息,有人提出了用“内容信息库(infobase)”取代传统数据库(database)的观点。

所谓“信息库”,其实就是利用一个统一的数学模型,对目前的数据库技术(datebase)和企业内容管理系统(ECM)进行整合,从而在一个统一的平台上,有效地实现对结构化数据和非结构化数据的集中统一管理。

可以说,“信息库”既是技术也是策略。从产品方面讲,这是技术、工具以及方法,可以帮助用户实现对各种内容的捕获、管理、存储、保护、发布;同时,它也是一种策略,负责管理用户所有的内容数据,包括结构化数据和非结构化内容信息。“信息库”向主流的数据库技术提出了挑战,它所包含的范畴将比数据库技术广泛得多,以至于我们目前还很难用几个简单的应用来定义其特征。

IBM技术人员表示,一个统一、完整、集成、开放、可扩展的“信息库”架构应该包含以下内容:

一、完善的系统架构。对于任何平台来说,良好的架构对于系统的重要性是不言而喻的。“信息库”技术同样需要考虑如何实现灵活高效的数据模型,如何设计各种语言的API接口,如何实现完善的访问控制管理,以及如何架构系统的拓扑以完成数据迁移、缓存,如何支持大量数据的存储和上千的并发用户。

二、数据模型。数据模型的能力直接表现出一个平台适应用户需求的能力。在信息管理中,通常元数据越复杂,内容提升价值的潜力就越大。而丰富元数据的模型不是一蹴而就的,这就要求一个面向客户全部信息管理的通用数据模型,以适应客户不断变化的需求。

三、检索查询等功能的完备。对于“信息库”技术的最终用户来说,如何高效准确地找到自己所需要的资源是首要课题。尤其是数据模型逐渐复杂、数据信息来源更加多样化的情况下,检索查询就变得更加重要,同时也变得非常困难。

四、内容管理的API。完整的API支持是区别“信息库”技术和一般的内容管理应用软件的重要依据。通过“信息库”提供的API,厂商可以开发出面向各种不同客户需求的垂直应用,也可以支持应用开发商和客户开发自己的内容管理应用。

目前,IBM、甲骨文、微软等主流数据库技术厂商,以及OpenText、ITRS等ECM软件厂商已经开始了针对统一标准的“信息库”研发工作,对传统数据库技术的革新工作,已经拉开了序幕。

专家观点 IBM中国软件部 技术经理 杨子阳

目前,关系型数据库也在采用很多方法来实现对异构数据的管理,比如说IBM的DB2 9中的purexml。Xml技术很大程度上可以解决关系型数据库对非结构性数据的存储问题,但是,靠增加一些模块到一个已经很复杂的关系数据库上去的途径,并不能从根本上解决问题。我们知道,数据库技术的一个基本目标就是要找到一个恰当的数据模型来表达它所管理的对象。为了解决用关系数据库不能有效表达和管理复杂数据的问题,我们应该寻求更好的、采用更适合管理复杂数据的数学模型,来适应新的变化。

颠覆派:让数据库消失

互联网可谓包罗万象,如果你愿意,你几乎可以寻找到你想要的任何信息。某种意义上说,web本身就是一个巨大的信息容器。因此,有很多人作出这样一个预言:在网络时代,数据库技术将消亡。

Web时代数据技术将向哪个方向走呢?有一种的看法是,它将向把数据本身、语义本身结构化的方向发展,不是在库这个容器中刻划出维度来处理数据,而是要对语言本身进行结构化处理,把维度内嵌到数据本身之中,这也是第三代互联网的神髓。

从数据库研究的角度出发,Web网站上的信息本身确实就是一个数据库,一个更大、更复杂的数据库。Web上的每一个站点就是一个数据源,每个数据源都是异构的,因而每一站点之间的信息和组织都不一样,这就构成了一个巨大的异构数据库环境。

充分利用有用的数据,对尽可能多的数据进行有效的存储、管理、分析和挖掘,这本身就是数据库技术思想的基础。但是,用WEB来取代数据库,可能在很多方面还不成熟。

首先,Web上的数据最大特点就是半结构化。Web上的数据非常复杂,没有特定的模型描述,每一站点的数据都各自独立设计,并且数据本身具有自述性和动态可变性。

其次,如果想要利用web技术取代数据库,必须要研究站点之间异构数据的集成问题,只有将这些站点的数据都集成起来,提供给用户一个统一的视图,才有可能从巨大的数据资源中获取所需的东西,这里面就涉及到一个数据格式统一的问题。

再次,还要解决Web上的数据查询问题,因为如果所需的数据不能很有效地得到,对这些数据进行分析、集成、处理就无从谈起。对于数据库技术来说,速度和并发性是其难以突破的瓶颈,而对网络用户而言,长时间的搜索等待,是难以忍受的。

最后,还要面对用户数据保密问题。因为在用户的实际使用中,并不是所有的数据都可以放到互联网中的。对于用户不愿意放到网络中保存的数据,web数据库将提供何种方式进行保存呢?

面向Web的数据处理技术是否能够真正的取代数据库,我们暂时还无法定论,不过,基于web的数据处理技术,在很大程度上挑战了传统数据库在应用系统设计时的中心地位,有利于帮助程序员们培养真正基于对象进行系统设计和开发的习惯。

专家观点 酷讯网CEO陈华

用Web取代数据库,理论上有这种可能,并且可能会对现有的搜索技术带来影响,不过这种观点太过理想化,真正实现起来将会出现很多困难。比如说网页数据的统一格式问题,对于网站来说,最重要的是给用户看的,而不是供机器进行数据挖掘的,对网页数据格式的统一,在技术上可以实现,在应用中很难。此外还包括数据公开的问题、查询的速度问题以及并发性的响应问题。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论