Caché 组件

pdf

下载PDF

Unified Data Architecture

为了解决数据的关系型描述与面向对象式描述固有的“阻抗失配”现象,开发员常常采用对象-关系型映射的方法来解决这个问题。然而这样的映射不仅妨碍了应用的快速开发,同样也会影响运行性能。Caché单一数据结构通过共享对象以及允许对多维数据引擎的关系访问而不再需要进行映射。

问题:“阻抗失配”

现在的开发人员会遇到这样一个问题:一方面 ,他们希望使用面向对象的开发技术,如Java,C++,COM,因为这些技术有更高的编程效率而且提供更丰富的数据模型。但另一方面,他们的应用程序常常要访问存储在关系型数据库中的数据或者需要使用SQL与数据分析和报表工具进行交互。这个问题(即“阻抗失配”)意味着关系型数据并不适合面向对象的语言。

然而,“纯”对象数据库也不适合那些依赖SQL进行数据分析和报表的工具。现在的开发员需要使用对象和关系两种方法来访问他们的数据。

为了达到这个目标,开发员常常被迫使用一些“对象-关系映射”。不管是通过手动来进行映射还是通过一些帮助工具来完成这项工作,映射都是一个烦人的过程,而且它会大大降低应用程序的开发速度。甚至更糟的是,多数映射技术不支持数据模型的升级——每次应用程序的数据结构改变时,都必须重建对象到关系模式的映射。

因为数据在对象和关系格式之间转换时需要一个管理过程,所以对象-关系映射会降低应用程序的性能。

其它数据库技术

完美的解决方案:统一数据架构

Caché的统一数据架构是“阻抗失配”问题完美的解决方案。这是因为Caché的多维数据结构是一种能够存储面向对象技术丰富的数据类型自然方法。另外,可以很容易通过SQL将多维结构映射为二维结构(如:表)来访问数据。这样,对象和关系数据模型不需要在两种格式之间转换就能够同时共享Caché多维数据。

统一数据架构

在统一数据架构下,每个数据结构都只需一次定义即可表示为对象类也可表示为关系表。开发人员可以定义Caché对象类(使用Caché 开发环境或者对象设计工具),随后就可用关系表的方式来访问这些数据。反过来,关系表定义也可以使用DDL导入到Caché数据库,然后这些表就可以通过对象来访问了。

Caché统一数据定义是在编译时自动生成的,并能随数据结构和模式的变化而自动改变。开发人员不需要在对象和关系数据之间进行映射,也不需要担心不同数据定义之间的同步化问题。