的新一代数据集成
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
11
2 2
数据集成对实时性/一致性的要求
• 数据仓库项目对实时数据的要求 • 主数据管理要求实时同步
• 对实时性要求越来越高 • 如何捕获增量(CDC)
• 基于时间/序号字段的方法 • 基于日志表的方法 • Trigger • Logminer
• 数据一致性问题
• 多张表可能存在主外键引用 • 多张表可能存在因果关系 • 需要保证一次性被捕获并 同步的多张表的数据的一致性
• 全面的数据集成基础平台
• 全面:完整的数据集成技术基础 • 集成:统一的工具;统一的元数据管理;统一的管理 • 与应用程序预先集成:降低了集成的成本和复杂性
5
数据集成中的挑战和新兴解决方案
挑 新兴的 解决方
1.
不断增加的数据量;不断减少 的批处理窗口 非集成的集成
从 E-T-L 转变为 E-LT
2.
聚合的集成解决方案
3.
复杂性、传统 ETL 设计的手动 工作 缺乏知识捕获
从自定义编码转变为声明式设计
4.
转变为模式驱动开发
6
Oracle ODI的优势 6 个主要独特优势
从多源到异构目标的数据移动和转换
Oracle ODI 优点 关键的特性
1. 2. 3. 4. 5. 6.
高性能 灵活性 生产力 开放架构 可热插拔 丰富的异常处理
2 2
复杂的 IT 环境
• • • • 双向同步 一对多/多对多 带条件的一对多 同步的时候进行复杂的转换
省局服务器 条件 A 地市B 条件 B
• 多个 站点/IT 系统之间的集成
地市A
条件 C
地市C
2 2
ODI 的增量数据捕获解决方案
• 完全可以支持基于时间的变化捕获
• 根据时间字段过滤 • 保存当前抽取状态 • 增量数据 Update/Insert
DB2 Journals
DB2 Exp/Imp
Oracle SQL*Loader
Check Sybase
Type II SCD
DB2 Web Services
优势
定制以满足现有的最佳实践 减轻了管理工作 降低了拥有成本
13
3 3
一个商业问题
描述规则
过滤器 - 只对那些ORDERS 标记为“closed”的 记录处理 …
• 跨多个异构源的结构化和非结构化信息 • 结构化信息:数据库;打包的应用程序;数据仓库 • 非结构化信息:B2B 源;XML 源;文档源 • 多维源:OLAP 源;财务与运营计划 • 通过跨事务系统、打包应用程序和主数据平台的统一主数据视图推动主数据管理
• 获得卓越的业务绩效
• 使用跨事务系统、数据仓库和数据中心的统一语义推动更佳的业务智能 • 使用跨计划、预算、财务合并和报表系统的统一信息推动财务绩效管理 • 推动跨多个业务线和功能的基于 SOA 的业务流程和组合应用程序
最终客户数据集成需求示例
问:为什么银行不能协调我 的伦敦帐户和纽约帐户? 问:为什么我的信用卡奖励 积分要花15天才能显示在我 的航空公司网站上? 问:为什么这家商店每个月总 是给我发送三份相同的目录?
答:主数据
通常,银行产品代码随 地域而不同,必须使用 相应的法制引导,在可 控的规则流程下进行协 调。
…
3 3
实现这个规则
用SQL实现规则
过滤 • ORDERS.STATUS=‘CLO SED’ …
Source (Sybase)
ORDERS
Target (Oracle)
映射 • SALES = SUM(LINES.AMOUNT) + CORRECTION.VALUE. …
LINES
SALES
Errors
3 3
从规则描述到过程
• 一旦规则描述被实现,我们如何产生转化 过程?
Mapping Mapping - SALES = SUM(LINES.AMOUNT) + - SALES = SUM(LINES.AMOUNT) + CORRECTION.VALUE. Filter CORRECTION.VALUE. Filter - SALES_REP = ORDERS.SALES_REP_ID ORDERS.STATUS=‘CLOSED’ - -SALES_REP = ORDERS.SALES_REP_ID … … ORDERS.STATUS=‘CLOSED’ Constraints …… Constraints -ID is flagged not null in the model. -ID is flagged not null in the model. -Unique index UK_ID is declared on table SALES. Join -Unique index UK_ID is declared on table SALES. Join … - ORDERS.ORDER_ID = LINES.ORDER_ID … - ORDERS.ORDER_ID = LINES.ORDER_ID … …
• 支持基于日志表的数据增量捕获方案CDC
• • • • 简单的 CDC 一致性的 CDC Oracle Logminer CDC 自定义/客户化的双向CDC
3 3
独特优势:知识模块
可热插拔:模块化,灵活的,可扩展的
反向 工程元数据 记日记帐 从 CDC 源读取 加载 从源到临时存储 检查 加载前约束 集成 转换并移动到目标 服务 公开数据和转换服务
1 1
例子:公安局人口信息加载
• 需求
Target(s) • SRC.MX_JBXX => TAR.MX_JBXX。数据量上亿 • 人口信息缓慢变化,源不保留历史,目标需要保留 • 增量加载的时候,如果是 UPDATE 发生了变化的数据,则需 要将原来的数据修改有效日期变成历史记录,然后将新的数 据插入作为当前数据
Source (Sybase) Target (Oracle)
ORDERS SALES LINES
整合过程
Extract - Transform (check) - Load
Errors CORRECTIONS File
3 3
过程细节
操作过程的详细顺序
Source (Sybase)
Transform & Integrate ORDERS
答:批量数据
通常有一些特定的跨组 织政策用于处理积分奖 励和换算,这些政策一 般用在定期执行的批处 理例程中。
答:数据质量
很多时候,大型零售商 维护独立的邮递市场营 销列表,其中包含只有 轻微不同的数据,缺乏 数据质量智能以匹配相 同的数据。
4
客户需求的分类
数据集成需求动因
• 客户要求统一的信息视图
Target (Oracle)
SALES
11
LINES Extract/Join/Transform
TEMP_1
55 33
TEMP_SALES
Join/Transform
CORRECTIONS File
22
Extract/Transform
TEMP_2
44
Check Constraints/Isolate Errors
Join/Transform
2
CORRECTIONS File
2
TEMP_2
44
Check Constraints/Isolate Errors
Errors
Extract/Transform
3 3
过程实施方式 #2
使用RDBMS数据库服务器:DB2/UDB
DB2/UDB Source (Sybase)
ELT 的关键点
• 利用 RDBMS 来进行 E, T, L
• TPCH 30TB, 16.1小时, 32分钟/TB; 10TB, 1.67小时,10分钟/TB 新一代体系结构
• 是生成 RDBMS 脚本的专家 • 能减少数据在服务器之间的搬动
“E-LT”
转换 提取 加载 转换
优势
ü 最佳性能和可伸缩性 ü 易于管理和降低成本
Source (Sybase)
ORDERS SALES
Target (Oracle)
映射 -目标的SALES是源 AMOUNT汇总 …
LINES
Errors
CORRECTIONS File
约束 -ID不能为空必须唯一 -Sales Rep ID必须存 在在目标的sales rep 表当中 …
连接 -只选择LINES表中 ORDER_ID能和 ORDERS表匹配的记 录
CORRECTIONS File
连接 - ORDERS.ORDER_ID = LINES.ORDER_ID …
约束 •ID is flagged not null in the model. • SALES_REP = ORDERS.SALES_REP _ID …
3 3
整合过程
规则解释是整合过程的基础
可插入的知识模块体系结
反向
WS WS WS
临时表
加载 CDC
来源 记日记账
集成 检查
错误表 目标表
服务
现成知识模块示
SAP/R3 Siebel Log Miner SQL Server Triggers Oracle DBLink JMS Queues Check MS Excel TPump/ Multiload Oracle Merge Siebel EIM Schema Oracle Web Services
源表 源表 增量1万条
Join Join
目标表 全量
增量1万条
ETL Server 增量
ETL Architecture
SQL orders
Agent
ODI Agent
ELT Architecture
2 2
独特优势:主动集成
批处理、基于事件并且面向服务的集成
Oracle Data Integrator
ORDERS
Staging Area The language is SQL 11
TEMP_1
Transform & Integrate
Target (Oracle)
SALES
55 33
TEMP_SALES
LINES
Extract/Join/Transform Join/Transform
CORRECTIONS File
22
Extract/Transform
TEMP_2
44
Check Constraints/Isolate Errors
Errors
3 3
过程实施方式 #3
实用目标数据库服务器
Target (Oracle) Source (Sybase)
ORDERS
Staging Area The language is SQL 11
9
1 1
ELT 减少数据的搬动
Sources Target( s) Sources Target( s)
Data
SQL orders
Agent
Extract
Extract Load
Transform Engine
ODI Agent (Java)
ETL Server
ELT Architecture
ETL Architecture
超越 ETL 使用 ODI 的新一代数据集成
<在此处插入图片>
ODI – Oracle数据集成引擎
2008年 7 月 23 日,广州
蒋燕梅 FMW售前技术顾问 — Oracle 融合中间件
议程
• • • • •
业务挑战 6 个主要独特优势 体系结构 应用模式 参考案例
<在此处插入图片>
3
日常数据集成问题
“E-LT”架构 事件驱动的平台 声明式设计 100% Java 和 SOA 兼容 知识模块 与 BPEL 和人工工作流原生集成
7
1 1
独特优势:E-LT 体系结构
高性能
在单独的 ETL 服务器中转换
• 专有引擎 • 成本高 • IBM 和 Informatica 方式
传统的 ETL 体系结构
提取 转换 加载
TEMP_1
Transform & Integrate
55 33
TEMP_SALES
SALES
LINES
Extract/Join/Transform Join/Transform
CORRECTIONS File
22
Extract/Transform
TEMP_2
44
Errors
Check Constraints/Isolate Errors
• 数据集成中的变化数据捕获 • 面向事件的集成 • 面向服务的集成
Event Conductor 面向事件的 集成
Service Conductor 面向服务的 集成
元数据 声明式设计
• 优势
面向数据的集成 Data Conductor
支持实时数据仓储和操作数据平台 服务插入 Oracle SOA 套件以便全面集成
Errors
3 3
过程实施方式 #1
使用专有引擎
Source (Sybase)
ORDERS
私有引擎 - 特殊的语言
Transform & Integrate
Target (Oracle)
SALES
11
LINES Extract/Join/Transform
TEMP_1
百度文库55 33
TEMP_SALES