Brajesh Goyal
资深产品经理
甲骨文公司
Oracle 数据库 10g:
信息集成
Oracle 数据库 10g — 专门为网格计
算而设计的数据库
�更快地获得更好的信息
– 有更多的资源可利用
– 按需使用资源
�根据业务需要轻松调整 IT 资源
– 根据需要动态分配资源
�降低 IT 成本
– 提高现有资源的利用率
– 利用更便宜的常用平台
– 整合资源,降低管理成本
虚拟计算资源
�网格可以将服务器、数据中心和企业间的资源
虚拟化
�虚拟资源的类型
– 网络
– 存储器
– CPU
– 数据
�在网格上实现虚拟数据资源的关键信息集成
信息集成
�提供所有信息的统一视图,而不考虑其
– 数据类型
– 数据存储
– 物理位置
�随时随地提供对数据的访问
– 优化对信息的访问,而不考虑数据的物理位置
– 数据的虚拟化在网格中得以实现
1986 2003
Oracle 信息集成的发展
Oracle Streams
消息网关
企业/通用网关
规则引擎
高级复制
异种服务
发行/预订
高级队列
对称复制
可更新的快照(复制)
远程过程调用
只读快照(复制)
与第三方的网关
分布式事务处理
位置透明性
分布式查询
信息集成的方法
�整合信息
�联合信息
�共享信息
信息集成的方法
�整合信息
�联合信息
�共享信息
整合信息
�将异种数据整合到中央数据库中
– 任何数据(音频、视频、XML、电子邮件、消息
等)
– 任何平台( Linux、Windows、Solaris、HPUX、
AIX、Tru64、OpenVMS、OS/390 )
– 经实践验证的可伸缩性
�数百家使用特大型数据库的客户
�业界主流基准
整合的好处
�形式最简单的信息集成
�降低管理成本
– 只需管理较少的服务器和数据库
�更快地部署应用程序
– 在中央服务器上一次性部署应用程序
�更快地访问全局数据
– 利用集中的数据,查询及 DML 的运行速度更快
特性
�支持大型数据库
�真正应用集群 (RAC)
�XML 数据库
�虚拟专用数据库
�分区
�LOB 和 BFILE
�加载工具和移植工具
�还有更多……
新
大型数据库
�超大型数据库:8 百万 TB
�超大型表空间和数据文件:单个文件或表空间
达到 128 TB
�超大数量的表空间或文件:64K
– 将表空间进行归档
�经实践验证的可伸缩性:数百家使用 VLDB 的
客户
新
利用 RAC 扩展打包的应用程序
用户数量
运行在 HP 计算机上
在 RAC 上的 Oracle 应用程序基准
2,2962,296
4,3684,368
90%90%
可伸缩性可伸缩性
利用 XDB 进行高性能的 XML 存
储和检索
� XMLType — 一种本地 Oracle 数据类型
� XML 的导航访问和搜索
� XML 的 WebDAV 管理
– 文件夹管理、安全性、版本控制
�标准 API 访问
其他整合特性
�虚拟专用数据库
– 提供对数据库中行的细粒度访问
– 支持跨安全域的整合
�分区
– 提高大型表的性能、可用性和易管理性
– 不需要应用程序重写
�LOB 和 BFILE
– 在数据库或相关文件中存储大型对象
�加载工具和移植工具
– 外部表
– SQL*Loader
– 移植工具包
RAC 上的整合:Oracle 全球电子邮
件系统
�全球邮件服务器整合
�较少的服务器 = 较少的
维护 = IT 成本
– 服务器数量从 97 减少
到 2 — 总共节省 1 千
1 百万美元
�IT 人员数量从 60 减少
到 13
信息集成的方法
�整合信息
�联合信息
�共享信息
联合信息
�将多个数据存储中的数据联合到单个虚拟数据
库中
– 既可访问 Oracle 数据又可访问非 Oracle 数据
– 既可访问结构化数据又可访问非结构化数据
– 对应用程序隐藏数据的物理位置
联合的益处
�快速集成
– 简单的更改产生即时的结果
�可对不能整合的数据的进行集成
– 原有应用程序
– 数据需要本地拥有权
�对不经常访问的数据进行即席集成
特性
�多种访问方法
– 分布式 SQL
– XQuery
�任何数据源
– Oracle 和非 Oracle 数据
存储器
– 外部文件
– Web 服务
�高级索引技术
Oracle
DB2
XML
Excel
平面
文件
文本
Web
服务
利用分布式 SQL 访问远程数据库
�透明地访问远程数据存储器
– 数据库链接隐藏了远程数据存
储器的位置
�将多个数据存储器作为单个数
据库进行访问
– 多个远程数据库中的表就象在
本地一样
�执行分布式事务处理
– 自动的两阶段提交
– 分布式 SQL 优化
利用 XQuery 访问数据
�查询结构化和半结构化的数据
– 关系数据
– 原生 XML 文件
�减少应用程序的复杂性
�XQuery 可随新兴标准不断发展
访问 Oracle 和非 Oracle 数据存储器
�构建在 Oracle 数据库中的异种数据集成
– SQL 转换
– 数据字典转换
– 在非 Oracle 系统中执行过程
�透明网关
– 可用于大部分主要的非 Oracle 数据存储(例如 DB2、
SQL Server、Sybase 等)
– 优化的、经过认证的端到端支持
�通用连接
– 连接任何第三方 ODBC 或 OLEDB 驱动程序的网关
访问外部文件
�访问原生 XML 文件
– 通过 XQuery 或 SQL 查询
�通过过滤器访问专有文件类型
– 变换为 XML 文件
– 所供应的过滤器支持 100 多种文件类型
�访问外部表
– 将外部文件中的数据映射到表中
数据库 Web 服务
�Web 服务用户
– Java 类、PL/SQL、触发器调用外部服务
– 将 Web 服务视作 SQL 数据源
�Web 服务供应商
– 通过 web 服务查询数据库
– 执行消息处理操作
– DML Web 服务
– 调用 PL/SQL、Java
�在数据库中完全支持 XML
新
将 Web 服务作为 SQL 数据源
进行访问
�对访问 web 服务数据
的内置支持
�跟踪、汇总、刷新和
查询动态数据以及按
需生成的数据
W
eb 服
务
客
户
端
框
架
(S
O
A
P
)
数
r据
库
模
块
(
W
eb 服
务
客
户
端
)
SELECT city_name, temp, low_temp, high_temp
FROM TABLE (Temp_TF)
SOAP
请求/响应
H
TTP
客
户
堆
栈
Web 服务供应商
(例如,气象服务)
表
功
能
新
利用 UltraSearch 查找信息
�Oracle Ultra Search 为多个信息库中的文档建
立索引
– Oracle 和非 Oracle 数据库、HTML Web 页面、
磁盘上的文件、IMAP 邮件服务器以及更多
�搜索文档元数据及内容
�在多个数据存储中对元数据进行“标准化”
�搜索 Oracle 数据库和其他支持 ODBC 标准的
数据库
正在进行的联合
�香港教育署
�将原有的 Sybase 应用程
序与运行 Oracle 的新的打
包的应用程序集成
�必须使数据保持实时同步
�解决方案:透明网关
Oracle Sybase
打包
应用程序
原有
应用程序
““使用使用 Oracle Oracle 分布式分布式 SQL SQL 我我
们可以毫不费力地将多个数据们可以毫不费力地将多个数据
库中的数据作为单个分布式事库中的数据作为单个分布式事
务进行更新务进行更新…………减少了应用程减少了应用程
序开发人员的负担。序开发人员的负担。””
- Charles Farnell, Venture Forth
信息集成的方法
�整合信息
�联合信息
�共享信息
共享信息
�在用户、应用程序和数据库之间共享信息
– 根据需要移动或复制信息
– 通常以复制或消息队列的形式实施
– 已经包括仓库加载、事件通知、工作流和 EAI
共享的优点
�具有更大的灵活性
– 随意放置数据
– 控制访问
– 与业务合作伙伴共享信息
�更快速地访问本地数据
– 利用更小的本地数据存储器,可以更快地执行查
询和 DML
�具有更高的可用性
– 应用程序不依赖于远程数据存储器的可用性
信息共享特性
�Streams
– 消息队列
– 复制
– 工作流
– 以及更多
�物化视图
�可移动的表空间
�数据泵 新
利用 Oracle Streams 消除复杂性
�将所有企业信息统一到单个流中
– 统一数据库、消息处理、复制、发行/预订 API 和
功能
�利用多种技术避免固有的问题:
– 多种开发模型
– 多种操作模型
– 构建器执行集成工作
�不单是将不同特性纳入同一个产品中
信息共享的统一基础架构
基于规则的
发行/预订传播
受控的子集信息流在流中变换
自动捕获
数据更改数据更改
数据库数据库
事件事件
应用程序应用程序
消息消息
数据馈送数据馈送
数据仓库和数据仓库和
数据集市数据集市
可更新可更新
的副本的副本
消息处理消息处理
应用程序应用程序
备用数据库备用数据库
操作数据存储操作数据存储
智能的、统一的、智能的、统一的、
按时间排序的按时间排序的
信息流信息流
Streams 的基本要素
�每个数据库的三个基本要素
– 捕获
– 准备
– 使用(应用)
使用使用准备准备捕获捕获
对文件或数据库进行流处理
�Oracle Streams 可以移动任何文件
– 操作系统文件、BFILE、数据库文件(表空间)
�利用单个命令创建副本
– 选择数据库链接和要复制的表空间
– 自动创建同步的副本
�在数据源跟踪变化
�移动表空间
�将更改应用到目标
�可选的双向支持
�易于扩展/修改配置
– 添加数据变换
�卸载处理或移植到网格
新
无需停机即可进行网格移植
�移植到网格
– 单个命令即可移动数据库
�在不同的平台/操作系统间移植
– 跨平台的可移动表空间将数据移动到新数据库中
�无需停机
– 在移植期间在数据源捕获更改
– 更新新数据库
– 重嵌应用程序
新
Oracle10g Streams 特性
�下行捕获
�性能提高
�易管理性提高
�行移植功能增强
�扩展的数据类型支持
�RAC 热挖掘和故障切换
�简化的消息处理 API
�Tibco 消息处理网关
�其他……
新
利用物化视图共享数据
�数据仓库
– 为更快的查询而计算和存储汇
总数据,如总和或平均值
�移动计算
– 简单的大规模部署
– 断开连接的计算
�复制
– 增量式维护数据的本地子集
– 利用冲突解决方案,设为只读
或可更新状态
NYNY
(主)(主)
可更新的物
化视图
可移动的表空间
�取出或插入数据库数据文件
– 无需卸载和重新加载机可移动和共享数据
– 插入/取出的性能与表空间的大小无关
– 在多个数据库上加载只读表空间
– 跨平台支持
– 重命名表空间
操作系统
复制
文件
1 文件
2
文件
1 文件
2
2424
新
数据泵
�Oracle 数据库内容中高速、并行、大量数据和元数据
的移动
– 控制并行情况的提高或降低、停止和重新启动
– 网络模式不需要中间转储文件
�用于在网格中移动或复制数据库子集的灵活工具
– 灵活的对象选择可以传输特定的对象
– 重新映射模式、数据文件和表空间
– 交互式地将文件添加到转储集中
�Streams 的兼容性
– 将对象导出到新的数据库,并使用 Streams 进行同步
新
利用 Streams 进行数据共享:
Internet Securities, Inc.
利用 Streams 进行数据共享:
Internet Securities, Inc.
�使用 Oracle Streams 维护搜索数据库的副本, 以提高
性能和可用性
�用一半或更少的时间执行查询
�在发生故障时进行即时切换
�能够在需求增加时扩展到额外副本
流
搜索数据库 搜索数据库
““实践证明,实践证明,Streams Streams
可以提供我们在大规模可以提供我们在大规模
数据库复制解决方案中数据库复制解决方案中
需要的全部功能。需要的全部功能。””
-W. Les Wozniak,
Rosetta Biosoftware
1986 2004
接下来的步骤
Oracle Streams
消息网关
企业/通用网关
规则引擎
高级复制
异种服务
发行/预订
高级队列
对称复制
可更新的快照(复制)
远程过程调用
只读快照(复制)
到第三方的网关
分布式事务处理
位置透明性
分布式查询
网格计算
网络
在网格中集成数据
集群数据库
实例
SAN 1 SAN 2 SAN 3 SAN 4
刀片服
务器组
总结
�Oracle 支持对所有资源的有效利用:
– 整合信息 — 对大量信息的可伸缩访问
– 联合信息 — 可以随意放置数据,并将其作为单个
数据库进行访问
– 共享信息 — 多个用户和应用程序能够共享数据/信
息,以便更加有效地进行操作
�信息集成对网格计算至关重要