数据整合介绍
众所周知,多年来信息的发展迅速,技术更是日新月异。然而多方面的信息建设及自然的沿续,虽然各自取得相当的效益,却也造成了一座座的信息孤岛,阻碍了进一步的信息运用及更大的统合效益。因此,在城市数字化的过程中,一个很大的课题就是数据的整合。本文就数据的整合的整体做个简单而全面性的探讨,比较Oracle公司对数据整合的观点和策略,并对Oracle在各个相对的层面所提供的整合工具逐一介绍。
数据的整合的需求和目标
数据整合的目标
可操作性、易操作性
具准确性、无冗余性
可管理性、易管理性
可导航性、易共享性
具一致性、标准性、易交换性
传统体制框架下的大规模高速信息化投入,造成的是严重的信息孤岛现象,信息整合成为信息化建设的迫切要求,这与世界各地IT建设从物理连接转向逻辑连接的需求是一致的。对分散异构信息资源系统实现无缝整合,并在新的信息交换与共享平台上开发新应用,实现信息资源的最大增值。架构信息资源管理系统,实现对信息资源的有效管理,来整合信息资源,实现信息资源在企业内部以及企业之间的传播和共享,并在企业个人、组织、业务、战略等诸方面产生价值和信息增值的过程。
信息资源的管理环境是指通过制定统一的、强制的、自上而下的法规、标准及规范,以明确信息资源管理阶段各种技术框架与规
范,所有相关系统的设计与应用都必须遵循相关法规、标准和规范。信息资源管理阶段的服务则是要通过整合服务记录数据库、服务知识库、服务管理对象资源目录库、服务管理规则库,以搭建服务管理平台,在这个平台之上,实现求助响应管理、变更管理、资产管理、服务等级协议管理等多项功能。
信息资源从建设阶段走入管理阶段后,对身在IT或应用IT、关注IT的人来说,面对一个直接的挑战就是,必须用与变化相适应的思路和方法来解决信息资源管理阶段的问题。信息资源管理阶段一个突出的问题就是,必须通过对信息资源的整合来联结无数的信息孤岛,以使得信息能够有效实现可控、实时的共享,而同时又能保证信息的安全。
综上所述,整合后的数据要:
● 便于应用的掘取、操作,发挥最大效能
● 集中而单一的数据
● 避免重复输入更新,提供即时准确的资讯
● 统一管理,降低费用,提升效能、增进安全
● 整合后的数据可集中描述(元数据),便于搜索和共享
● 整合后的数据,具备一致、标准的格式,便于交换数据及系统的整合点
从技术观点而言,我们可以由系统架构不同的层面,来考虑数据的整合。下图是一般系统多层次结构的示意图。包括访问/展现层,应用层,中间层,应用数据层和基础数据层。这种层次分明的结构是现代软件发展的基础。从所述及的特定层面为平台,我们可以考虑数据在该层面的意义,互动的配合,及应用的需求,采用相对的技术,以该层为整合的切入点,将相关、互动的数据整合于该层面,以便该层面或其他层面的应用的数据运作,达到数据整合的目标。如不同数据源可透过URL的链接或Portlet的编排,以疏散的形式(仅仅将数据简单组合呈现于同一网页里)从Web展现层达到数据整合的基本目标(可是难达到整合数据的运算、分析的功能)。在应用层,可以标准B2B的协议,将整个物件(如订单)为单位(甚至其上的运算)进行组合、交换,达到高度的整合效益。其他如中间层,将数据包以消息的传递的模式,来组建、整合各个应用服务之间的数据需求。又如,一般透过各种数据库间的网关,链接可以将远程、异构数据库的不同数据源整合于一个逻辑的数据库中。而非结构式的各种文档、图象、影像等等,也可以XML的统一定义来共同格式的描述,达到整合的初步基础。
2004/3/20Confidential –Oracle internal only数据/系统整合点基础数据层基础数据层统一数据模型/计划统一数据模型/计划分布式,数据库链接分布式,数据库链接应用数据层应用数据层安全安全中间层中间层客户端客户端图片地理信息声音/图像文本知识库元数据网关应用层应用层门户/WEB访问层门户/WEB访问层数据交换XML历史数据库非结构化异构数据库数据字典进程进程目录目录交易交易协议协议事件异步数据库B2B 消息URL开放API贸易伙伴Portlet水平应用水平应用垂直应用垂直应用个性化定制个性化定制缓存缓存页面封装页面封装客户端客户端应用程序包网站用户定制应用Doc垂直应用垂直应用垂直应用垂直应用垂直应用垂直应用用户定制应用用户定制应用
综上所述,归纳每个层面整合的要点:
● WEB访问层:简单的URL链接访问 或 Portlet应用
● 应用层
数据及系统的整合点
WEB访问层
应用层
中间层
应用数据层
基础数据层
● 同级应用 或 垂直应用
● 外部业务应用 (B2B 标准)
● 中间层_
● 同步类型 或 异步类型
● 消息传递型 或 应用程序接口型
● 应用数据层_
● 网络数据库 或 本地数据库
● 同构数据库 或 异构数据库
● 基础数据层:在线数据 或 离线数据
透过应用,整合数据的切入点 – 技术和机制应用数据平台如前所述,我们可以由应用的观点,来考虑数据的切入点。门户整合平台的技术重点在于高速缓存(来支援海量的需求)及动态修正,即时调整页面个性化的资讯(无需重回数据库运算)的高效功能。
整合平台:应用观点
门户平台
应用平台
中间平台
应用数据平台
应用整合平台的技术,包括对工业、行业标准的支持(如RosettaNet, UCCnet, HIPAA)支援独占型API及通用型接口的适配器,通用服务和组件。
中间整合平台的技术,包括各种体系,如安全控制,目录控制,交易控制,进程控制(工作流控制),协议控制等等机制,让不同的数据源在这些范围,透过这些机制,达成整合。
应用数据整合平台的技术,可由本地数据库及异地(网络)数据库来看,也要由同构数据库或异构数据库来区别,基本的核心整合技术和机制,包括消息传递,数据同步、数据复制,以及透明、程序网关,事件的产生和捕获,开放的接口(ODBC,JDBC)等等底层机制的支援。请参看下面(从数据库的考量)章节中进一步的叙述。
数据源的整合顺便一提的是,数据源的整合。当今还有很多数据本身尚未电子化、标准格式化,尚未结构化。(如各种文档、图象、影像等等),企待以共通的标准格式或能自我描述的统一定义(如XML)来建立可操作、可交换的数据,透过对这些不同数据源转换的支援,才能有进一步整合的初步基础。更重要的事:要有统一的数据模型架构,让不同的数据源,直接整合于统合的关联数据库,便于其上各种应用的建立。
基于数据核心建模的数据整合: Oracle信息架构
如上所述,从应用观点,有种种切入平台可来达成数据整合,各种手段和相关技术更是不一而足。然而,这种途径、方式是基于既成的复杂的现实,或接受复杂技术的导引,结果是越来越复杂的整合和越来越复杂管理。Oracle有一个基于核心建模的数据整合的观点,可以从根本上解决整合的复杂度:Oracle信息架构(OIA),请参
看本文末段对此的论述。
数据的整合 – 从数据库的考量
一个很好的整合点,当然就是从成熟、标准而直接的(关联)数据库入手。有下列几个重点步骤:
从数据库的整合
数据库间的整合
空间数据库(含影像)的整合
一般文件(含多媒体)等非结构化、非数据库的整合
首先是各种数据库间的整合,需要考虑同构数据库之间或是异构数据库之间的不同的统合特性。
同构的数据库,有着统一的数据模型, 相同的数据字典;可以DBLINK,将分布式数据库的联合,可以视图(VIEW),事件产生?处理,架上触发器(Trigger)的机制, 将相关数据表做有机组合。对于异构数据库(包括和非关联数据库的整合)也可以运用网关技术,包括透明网关,程序网关,或客制化(驱动)代码的方式来(实时或非实时)屏蔽数据库间的异构性。接着再应用消息的技术,也就是对事件驱动和管理(运用Advanced Queuing),进行数据的交换和整合。
接着是把特别的、专业的各种数据库和一般性的数据库之间的整合。一个常用而突出的例子就是对重要的地理、空间数据库(含影像)的整合。若能在单一数据库中同时处理空间数据,如矢量(Spatial)、空间栅格(GeoRaster)和一般属性数据,就能自动整合这些专业的数据库。
空间数据的整合,也牵涉到各种地理数据间的整合。因为空间地理数据有很多不同的标准,要解决不同格式间的转换和操作上的支援。
最后,更进一步,将一般文件(含多媒体)等非结构化、非数据库的信息整合。一个简单的方法是将一般的档案、文件系统纳入数据库,透过WebDAV界面搬到网络。这样可以达到初步的数据整合的效益(集中管理,统一目录,联合搜索),也可享受最新网络科技带来的极大方便性。至于既存、老旧的数据(包括尚未电子化的信息),藉着推动XML标准的契机,来界定储存、交换标准,重新建立可运作的电子文档。
重点是应借助数据库在这方面的一整套的工具(XMLdb)将XML垂直式的资讯展现于关联性数据库中(以利搜寻、映射、转换和管理),以免日后又要面对另一番数据整合的大问题。
数据的整合 – 从数据库的考量:相关课题数据的导航
数据描述
数据目录
数据搜索
数据的交换
对等(数据不落地)
共享模式
数据的发掘
数据的安全
数据的可用
7x24,丛集技术和网格运算
数据的健全
自动即时恢复
备份和容灾
数据的管理
数据的迁移
库整合更牵连很多相关课题,事实上这些课题更反映出从数据库整合的优越性和成熟性。因其涉略很广,各有专题探讨。
本文仅做概略描述和提要。
数据的导航从数据描述,包括元数据的采集和发布,当然要依托可通用、可互访的元标准,或者建基于XML的自我描述性,通用和标准性。数据目录是一定规则排列的对象的属性集合,集中控管(分布式结构的)属性数据。一般采用流行的LDAP的标准,可以轻易的管理和互访、互换如用户、资源等等数据。至于应用的信息,尤其是服务或程序层次的资讯,也可以现今网络Web Service的标准UDDI知识库注册,自动解析网络域名、发现节点,达到自动导航、操作的目的。数据搜索的解决方案繁多,要注意的是应能集成网络、非结构数据和数据库的全面性的全文检索,毕竟数据未能整合,再好的程序、应用都很难达到完美结果。
数据的交换有因应国内特殊环境的对等需求(也就是数据不落地)的模式,一般以两造斯密协议,加上特殊的安全(加密)通道来达成。正常情况讲就的是多多共享,要求效率。此时要有整合中心(iHub)的概念,要能支援共通格式,加上(外围星状)适配器来制造完善的交换环境。
数据的发掘 从数据仓储一直到数据发掘、商业智能,这经常是数据整合的最终目标,种种的非凡的技术能充分表现出数据整合的最高效益。不过,这些分析都得建基于数据的抽取、转换合上载(ETL)。若数据已然整合于统一的数据库,就容易推动对数据的有效、即时的发掘。同时,完备的数据库也提供了很多数据仓储、数据发掘和商业智能的支撑和工具。
数据的安全是大家关心的课题,需要全程的、最完密的保护。一般而言,数据库比起档案系统、中间件、作业系统可提供更强大而完善的安全。
数据的可用性是要能支援随时待命,日复一日(7x24)的可用性。这通常要借助于丛集技术,甚至于网格运算。
数据的健全性要能应变各种紧急的状况,数据能自动和即时的恢复到准确的状态;要有备份和容灾,等等高可靠性的方案。
数据的管理是时时要面对的课题,要能有方便的工具,来管理各层服务器上的众多数据的访问效能、权限,资源配置的灵活和扩充性。
数据的迁移是将旧有的不同格式的数据,转换,要能有方便的工具。
上面所提到数据整合的相关课题,从数据的安全性、可用性,健全性、易管理性、一直到数据的迁移,其实在成熟的数据库大都有了很完整的解决方案了。
结论:几个方向
驾轻就熟:向关联数据库整合
纵上所述,对于数据本身的整合,可以从数据库入手,先将所有的基础的、一般的、专业的数据,靠向最健全的关联数据库整合,立即享受所有最成熟的关联数据库已有提供的、如上述的种种好处。这种非针对某些应用,的全面数据整合,可以直接面对数据整合的核心问题,同时处理数据整合的相关课题,并可加速各种应用间数据的共享(甚或根本消除数据整合的问题),其所带来的相关效益,应是数据整合一个考虑的大方向。
以简驭烦:向单一(逻辑)关联数据库统一, 向单一(物理)关联数据库合并基于整合关联数据库的种种好处,我们可以更近一步朝单一数据库统合的方向努力,先将各种数据整合于逻辑上为单一的数据库。这里当然会遭遇很多挑战,在数据模型的设计上,最重要的是保持模型的灵活度。支援面向对象的关联数据库,基本上提供了数据列表间的各种组合、运算的及其扩充性,若能对物件间的关系也有完善的无限扩充支援,应可藉以建立单一数据配置方案模型(Schema),毕竟万事万物总离不开物件和之间的关系。至于若能整合于单一物理的数据库,主要是为了运作上的更高效能和管理上的更高效率等等各项的高指标。
保持灵活:以标准模式的中间件为整合平台
对既有的应用间,若无法从数据库来整合数据模型,此时,最好的方向,就是搭建完全开放、灵活的中间件整合平台。既然不能从数据模型来根本消除数据的整合,可预见的是,不断的新应用,不断更动,不断的整合需求。没有整合而统一的数据模型,也就没有一定的整合方向,我们只能提供一个有效率、灵活的环境,配上先进的、容易上手的工具,让需要整合的应用间,透过图像介面的引导,探讨出相关的数据,选择适用的机制,订定数据和应用的流程。这个系统最好一方面要有引导应用间整合的模拟,其后配备以知识库支援,能够纪录不同的整合模型演练;另一方面能提供实际整合时的环境运作,例如,能自动转换不同数据间的格式,并能产生不同应用间的适配器。
紧紧相扣:大型应用整合的整合
对于错综复杂的超大型行业应用,一般会强调透过大物件的整合(例如以 - 订单,为单位)。近来,由于各行业标准的订立,不必须针对各厂家各自私有的物件订义而努力,可以有比较广泛可循的整合方式。不过,我们要指出,各标准间关心的层次,如前所述,从较底层的标准,如Trading Community Architecture(TCA),往往能提供更广泛、更一致性的规范,往往能达到对所有,包括跨行业的种种应用的全面而紧密的整合。
Oracle整合观点和整合方案:
谈过数据整合的种种课题,我们再来看看Oracle公司在各个层面做数据整合的的观点和所提供相关的整合方案,包括对一些产品和工具的简介。
首先是Oracle各种整合切入点的大略图示:
Oracle整合方案和工具:数据库的架构
接着是Oracle数据库的整合方面的有关架构,早在Oracle数据库8i的版本,就完全具备下列的,对健全基本架构,
● 面向对象(Object Oriented)的支援
● 分区(Partition)的支援
有了这些成熟的基础,很容易对信息整合提供完善的平台,举几个Oracle数据库中支援信息整合的例子:
● 档案系统(File System)- 网络文件夹(Internet File)
● 空间矢量(Spatial)和空间栅格(GeoRaster)– SDO
● XML的全面支援 – XMLDB
现在,Oracle数据库10g的版本,大步迈向网格运算,为更深、更广的数据和运算的整合,平铺了更宽广的道路:
● 数据储存 (Data farm) 的丛集
● 服务器(Server farm)的丛集
● 数据库(Database cluster)的丛集
● 应用服务器(Application Server cluster)的丛集 数据整合 Page 14
Oracle整合方案和工具: 应用服务器的整合方案
再来看看,Oracle应用服务器(Application Server)的架构和特色和其包含的全套整合方案:
● Oracle 门户(Portal)整合特点
● 页面封装引擎
● Portlet引擎
● 个性化定制门户
● 用户管理,会话管理(Runtime)
● Oracle 应用平台整合特点
● 完整固化的集成解决方案: Oracle e-Business Suites
● 支持Trading Community 体系结构和标准B2B工业标准
● 能够与第三方应用充分接合的开放型接口
● 完全兼容对 SAP,PeopleSoft,乧 系统的整合
● 安全控制 – 集中授权
● 单点登陆, 集成访问
● 目录访问控制 – 集中认证
● 集成的身份鉴定,Oracle Internet Directory
● 工作流控制
● 灵活的系统联合工艺,方便和第三方应用系统的集成
● Web Services集成
● J2EE (JCA,JMS)
● UDDI / WSDL
● SOAP
Oracle应用服务器 整合工具的光谱
下图可以一览Oracle整合工具的概貌:
从抽象程度区分(例如DBA从具体的数据表格,研发人员从程序和表格栏位的互动,到分析师的物件模型观点),从不同的整合难度区分(数据导向,程序导向到模型导向),各种工具,一应俱全。
Oracle应用服务器 整合工具: iHub
Oracle AS整合工具iHub 提供了:
● 联合中心的架构
● 连接性(适配器)
● 各种格式转换
● 工作流引擎
● 商业智能
● 操作管理和安全及私隐性
以下介绍两种Oracle整合工具:Process Connect适合需要模拟复杂业务流程,而InterConnect则注重消息流(含数据流)的搓合及接口,他们都是
● 不必撰写程序
● Meta Model
● Declarative
● Interpreted
● 整合于单一的工具
● Process Modeling
● Data Management
● 3rd Party Connectivity
Oracle应用服务器 整合工具: InterConnect
Oracle AS的整合工具InterConnect 提供了:
● 可视的设计工具
● 公共视点的元数据 (由标准视点来诠释业务物件)
● 强大而且可扩充的格式转换
● 成套的应用和技术适配器
● 运行环境
● 内容导向的消息路由传递
● 可经由软件开发工具箱来扩充所需
Oracle AS整合工具: ProcessConnect
Oracle AS的整合工具中ProcessConnet 有下列特性:
● 支援模型设计的知识库
● 支援运行的知识库
● 商业智能
● 应用的适配器
● B2B间协议的引擎
Oracle应用服务器 整合工具: 主要构件
由下图(红色区块)可以知道Oracle AS整合工具中的主要构件如:
● 适配器:翻译、验证、转换
● 业务流程
● 流程监控
● 流程优化
Oracle应用服务器 整合工具: 适配器及工具箱
下图是Oracle AS整合工具中各种适配器的汇总:
Oracle应用服务器 整合工具: 全面整合于单一产品
由下图可见各种Oracle AS提供的整合工具,本身也整合于单一产品之中:
Oracle应用服务器 整合工具: 业务流程的最佳化
透过Oracle AS整合工具可将业务流程的最佳化,参看下图:
Oracle应用服务器 整合工具: 电子商务套件的整合
Oracle的电子商务套件,透过Oracle应用服务器,可以和大型主机上的应用、套装软件、B2B间的整合,以及和数据库、中间件消息传递等如前些章节所述的方式整合:
Oracle整合工具: 其他方案和工具
以下提一提Oracle 在这相关方面的其他方案和工具:
● 移植数据
● Oracle 移植工具 (Workbench):将其他RDBMS数据或者应用数据转换Oracle 数据库要求的格式
● 访问历史数据
● 数据仓库的一系列工具和支援, 商业智能的统合
● Oracle XML数据类型:将非结构化的数据映射为数据库表列
● 访问大型机数据的工具 (例如 CICS 适配器)
● 数据库建模
● Oracle Designer 能提供数据建模,且自动生成应用系统原型
● 知识库和中间件管理
● Oracle 9iAS 能够管理的项目: 产品/管理/安全/门户/元数据
● Oracle Enterprise Manager 能够管理所有的数据库、中间件 数据整合 Page 25
结论: 自然的选择
全面深入整合于最成熟、强大的数据库 – Oracle DB
采用健壮、开放而全面的应用整合平台 – Oracle AS
所以,为了
● 高扩展性, 高稳定性, 高可用性
● 高效能调优
● 高效管理
● 高安全性
● 高成本效益, …
Oracle DB 和Oracle AS是数据整合方案的自然选择。
Oracle前瞻: Oracle信息架构(OIA)
Oracle信息架构基于整合关联数据库的种种好处,我们可以更近一步朝单一数据库统合的方向努力,先将各种数据整合于逻辑上为单一的数据库。这里当然会遭遇很多挑战,在数据模型的设计上,最重要的是保持模型的灵活度。支援面向对象的关联数据库,基本上提供了数据列表间的各种组合、运算的及其扩充性,若能对物件间的关系也有完善的无限扩充支援,应可藉以建立单一数据配置方案模型(Schema),毕竟万事万物总离不开物件和之间的关系。至于若能整合于单一物理的数据库,主要是为了运作上的更高效能和管理上的更高效率等等各项的高指标。
Oracle前瞻: 例子 - 数字城市和电子政务的基础架构
一个基于Oracle信息架构的例子是以市民为核心建模的信息架构,整合所有基础(人口、经济、工商、政务,。。。),空间(地理、管线,。。),文件档案等等信息于单一的信息库中,据以发展各项公共服务和特殊专业应用,来建设数字城市和电子政务。
数据整合方案技术白皮书
2004年4月
作者: 张中甲 (Peter Chang)