从努力到选择
 从实现到设计
从部分到整体
以下是我对DW design的一些想法
下次使用C#来实现一下
 
ETL中Source 的信息 
     数据提供形式:DB(ORACLE SQLSERVER VERTICA ...) FLAT FILE (EXCEL , CSV, TXT...)
     源系统 db:host port databasename  flat file:  share folder path
     数据更新周期:dayly weekly monthly
     数据提供形式:full data .delta data
     提供数据的业务含义描述:
     主要是事实表还是维度表来源:
 
ETL中数据的mapping信息:
     数据如何从stage表map到Dimension或Fact表的信息
     可以配置在mapping表中?
     在做ETL的时候进行获取,动态生成sql来完成数据的ETL?
     还是尽可能地根据这些信息生成包,然后再去执行包。
         
     聚合计算元数据的说明:
     这些元数据说明我们的metric是如何被计算的,
     我们可以把这些元数据应用在报表中,让看报表的业务人员理解metric是怎么计算的,
     以免对数字产生误解。
     如果有必要,可以专门设计一个页面进行说明,对我们计算的基本流程进行说明。
     要让业务人员清楚我们的计算流程没有违背他们的意愿。     
 
ETL中的job依赖关系与执行记录
     job与subjob之间的依赖关系
     job与job之间的依赖关系
     job的控制情况怎么样?
 
     JOB执行成功率怎么样?
     不同job的执行时长怎么样? 执行的时间趋势怎么样?
     (开始时间,结束时间,时长)
     (失败后如何处理?重做?发送邮件进行通知?)
   
ETL中的数据和使用情况的audit:
     加载过来的源数据有多少条?
     加载到DW听数据有多少条?
     数据from source to target, how about the data record count every load?
     and the data volume trend?
    每次执行事实表或维度表大概多大的数据量?以及数据量的变化趋势怎么样?
    有没有需要以报表的形式呈现出来?
    
    有没有机制来监控我们提供的入口或报表被用户访问的情况?
     (让我们知道我们做的东西是否被使用,使用情况怎么样?)
    描述:哪些用户在什么时候访问我们的报表,访问频率是怎么样的?
     哪些报表是他们最在意的?
 
ETL中data quality 相关的操作:
     确定一些检查规则,检查源数据。
     这只是关于源数据的检查,
 
    检查源数据,是否违反了我们后续操作的一些基本假设,
     示例:
     检查 否则字段是否为空(不能为空的字段)
     检查 某些日期字段的情况(startdate<enddate)
     检查数据是否duplicate
     检查使用的业务主键是否重复
 
     基于业务和TestCase的检查:
     关于业务相关的对于dimention和fact表关系的检查的一些testcases,可以一直运行,
     以保持数据库数据的一致性检查?
     就像QA人员写的test cases,写一个系统可以让其一直按配置的周期执行,而且测试的效率也会得到提高。
    
     Data Enrichment:
     主要是数据从旧的字段的派生,derived column完成的功能,是否可以可配置化地完成,可以随时停止这种配置?
     数据从字段中抽取
     数据的内容进行标准化
 
   
 业务数据源的元数据、数据仓库的元数据、抽取任务的元数据、转换规则的元数据、数据库操作元数据、异常元数据、ETL任务调度的元数据等 
   
     
   实时ETL:在线实时处理 简单的交易型数据 转换比较少 速度是成功的主要因素
   批量ETL:在点上批量处理 转换比较多 适合复杂的用时长的ETL
 
1.如何处理相同数据的多个来源?
2.如何确定数据的默认值?

基于元数据的ETL系统的更多相关文章

  1. 京东基于Spark的风控系统架构实践和技术细节

    京东基于Spark的风控系统架构实践和技术细节 时间 2016-06-02 09:36:32  炼数成金 原文  http://www.dataguru.cn/article-9419-1.html ...

  2. 基于s5pv210嵌入式linux系统sqlite3数据库移植

    基于s5pv210嵌入式linux系统sqlite3数据库移植 1.下载源码 http://www.sqlite.org/download.html 最新源码为3080100 2.解压 tar xvf ...

  3. 基于xml文件实现系统属性配置管理

    文章标题:基于xml文件实现系统属性配置管理 . 文章地址: http://blog.csdn.net/5iasp/article/details/11774501 作者: javaboy2012 E ...

  4. 基于Vue实现后台系统权限控制

    原文地址:http://refined-x.com/2017/08/29/基于Vue实现后台系统权限控制/,转载请注明出处. 用Vue/React这类双向绑定框架做后台系统再适合不过,后台系统相比普通 ...

  5. 基于 OS X Mavericks 系统

    基于 OS X Mavericks 系统远景论坛黑苹果区新手引导 常见疑难解答 以及必要知识普及帖 请善用论坛搜索功能 认真仔细地阅读置顶帖里的教程以及注意事项 前言:之前建立10.9区求助规范帖时, ...

  6. 基于Web在线考试系统的设计与实现

    这是一个课程设计的文档,源码及文档数据库我都修改过了,貌似这里复制过来的时候图片不能贴出,下载地址:http://download.csdn.net/detail/sdksdk0/9361973   ...

  7. JS基础:基于原型的对象系统

    简介: 仅从设计模式的角度讲,如果我们想要创建一个对象,一种方法是先指定它的类型,然后通过这个类来创建对象,例如传统的面向对象编程语言 "C++"."Java" ...

  8. 基于jeesite的cms系统(一):开发环境搭建

    基于jeesite的cms系统系列,是对基于jeesite进行二次开发的博客模块开发过程的总结.涉及入门安装,二次开发,部署等 一.概况: JeeSite 是一个 Java 企业级快速开发平台,基于经 ...

  9. [原创] 浅谈ETL系统架构如何测试?

    [原创] 浅谈ETL系统架构如何测试? 来新公司已入职3个月时间,由于公司所处于互联网基金行业,基金天然固有特点,基金业务复杂,基金数据信息众多,基金经理众多等,所以大家可想一下,基民要想赚钱真不容易 ...

随机推荐

  1. WebApi传参总动员(二)

    上篇,从最简单的string入手.本篇演示了从请求的输入流中获取实体.api: public class ValuesController : ApiController { [HttpPost] p ...

  2. VS用法总结

    工欲善其事,必先利其器,关于VS的“即时窗口”的使用: 打开“即时窗口”的快捷键是:Ctrl + Alt + I. 要在“即时窗口”中打印查看打印输出结果,必须按如下步骤设置:[工具]→[选项]→[调 ...

  3. 【JS复习笔记】07 复习感想

    好吧,其实<JavaScript语言精粹>后面还简单介绍了代码风格,优美特性,以及包含的毒瘤.糟粕. 但我很快就看完了,发现其实都在前面讲过了,所以就不写了. 至今为止已经算是把JavaS ...

  4. 怎样解决asp.net.mvc上传附件超过长度问题?

    最近,在做一个上传附件功能,但是文件超过4M,就报上传的文件超过长度问题

  5. 「C语言」Windows+EclipseCDT下的C语言开发环境准备

    之前写过一篇 「C语言」在Windows平台搭建C语言开发环境的多种方式 ,讨论了如何在Windows下用DEV C++.EclipseCDT.VisualStudio.Sublime Test.Cl ...

  6. ASP.NET本质论第一章网站应用程序学习笔记1

    1.统一资源标示符 1) 格式:协议://主机[.端口号][绝对路径[?参数]],在Http://www.kencery.com/hyl/index/login中,http表示协议的名称,www.ke ...

  7. ASP.NET页面动态添加js脚本

    有时我们需要生成自己的JavaScript代码并在运行时动态添加到页面,接下来我们来看一下如何将生成的JavaScript代码动态添加到ASP.NET页面. 为了添加脚本,要将自定义的脚本在一个字符串 ...

  8. .NET破解之google瓦片下载及拼接

    由于最近一些其他事忙,加之电脑显卡坏了,所以,好长一段时间没有更新博客了,感觉对不注关注我的朋友.从本文开始,博客更新频率将会大大降低,但每周都会更新的. 在上帝之眼论坛看到了新出来了一个google ...

  9. 关于Fragment 不响应onActivityResult的情况分析 (

    大家都知道,可以通过使用 startActivityForResult() 和 onActivityResult() 方法来传递或接收参数. 但你是否遭遇过onActivityResult()不执行或 ...

  10. MyBatis入门(三)---多个参数

    一.建立表 1.1.建立表,并插入数据 /* SQLyog Enterprise v12.09 (64 bit) MySQL - 5.6.27-log : Database - mybatis *** ...