由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Pingpong版 - 这里龟工很多, 问个 DW BI ETL 问题 - Data Validation and Recordset Comparison
相关主题
油大又郁闷了...问个规则问题
[合集] 问个刷胶水的问题问个技术问题
再问个海绵厚度的问题这里人多,问个规则问题.
问个无关的问题问个rating的问题
这里有湾区的人么?想问个组队玩league的事情问个胶皮寿命的问题
问个撕胶皮后保存的问题问个关于便宜胶水的问题
问个技术问题问个接发球的初学问题
问个胶皮配底板的问题问个初级问题
相关话题的讨论汇总
话题: recordset话题: db话题: target话题: source话题: data
进入Pingpong版参与讨论
1 (共1页)
u***t
发帖数: 3986
1
【 以下文字转载自 Programming 讨论区 】
发信人: usatt (Easy Go Lucky), 信区: Programming
标 题: DW BI ETL 问题 - Data Validation and Recordset Comparison
发信站: BBS 未名空间站 (Fri Jul 15 16:08:29 2011, 美东)
我目前在某Forture 100公司主持data migration的自动化测试, 坑爹的offshore把简单
的问题搞大搞复杂来多要钱, 弄得新的数据库妖精一样...
!! 问题: 我的approach还能再好点吗?
Source: SQL Server 2005
Target: DB2
如何测试Data Migration? 两种方法:
1. Sequential comparison
从Source DB得出个recordset A;
从Target DB的出个recordset B;
从A取第一个record, 到B用loop来找, 找到看B中的相关data是否正确.
(* 我枪弊了这个方案! Millions of rows, dozens of millions of fields. 一
个table 都要用无穷无尽的时间来execute. 而且很可能就out of memory. 除非是spot
check, 否则不可行)
2. Parallel (2 dimensions) comparison (*我的方案)
从Source DB得出个recordset A;
从Target DB的出个和Recordset A identical的recordset B;
用SQL statement, 用Union All, Except等来找出mismatched的records
(* challenge是CTLLD的target DB被整得极其恶心, 和source DB牛头不对马嘴.
比如source 的 一个record, 到了target 就变成4个record分别在8个table里, 所以,
写出recordset B需要对business rules十分熟悉而且对工作人员的SQL 水平有要求...
这就是我目前的不爽的地方.)
哪位大侠有更好的建议? 或者来个安慰比如"没事, 这事本来就是很tedious的"什么的?
M**4
发帖数: 731
2
在你的第一个方案里面搞个hash tree就解决了。

简单

【在 u***t 的大作中提到】
: 【 以下文字转载自 Programming 讨论区 】
: 发信人: usatt (Easy Go Lucky), 信区: Programming
: 标 题: DW BI ETL 问题 - Data Validation and Recordset Comparison
: 发信站: BBS 未名空间站 (Fri Jul 15 16:08:29 2011, 美东)
: 我目前在某Forture 100公司主持data migration的自动化测试, 坑爹的offshore把简单
: 的问题搞大搞复杂来多要钱, 弄得新的数据库妖精一样...
: !! 问题: 我的approach还能再好点吗?
: Source: SQL Server 2005
: Target: DB2
: 如何测试Data Migration? 两种方法:

u***t
发帖数: 3986
3
OK target里的search快了, 但也是要loop过source里的millions行的records...

【在 M**4 的大作中提到】
: 在你的第一个方案里面搞个hash tree就解决了。
:
: 简单

u***t
发帖数: 3986
4
忘了第三种直接从recordset A中拿record直接到target database tables 中run
query检查
这样一个loop, 上面第一种方法两个loop(nested)
Q**J
发帖数: 23283
5
哇,看不董...帮顶把...
b******e
发帖数: 3348
6
一直以为U大已经退休不工作了。。。。。。

简单

【在 u***t 的大作中提到】
: 忘了第三种直接从recordset A中拿record直接到target database tables 中run
: query检查
: 这样一个loop, 上面第一种方法两个loop(nested)

1 (共1页)
进入Pingpong版参与讨论
相关主题
问个初级问题这里有湾区的人么?想问个组队玩league的事情
问个脚跟为轴转动的问题问个撕胶皮后保存的问题
问个球拍的问题问个技术问题
马甲,问个事情问个胶皮配底板的问题
油大又郁闷了...问个规则问题
[合集] 问个刷胶水的问题问个技术问题
再问个海绵厚度的问题这里人多,问个规则问题.
问个无关的问题问个rating的问题
相关话题的讨论汇总
话题: recordset话题: db话题: target话题: source话题: data