简述如何评估大型ETL数据加载时间。

答:评估一个大型的ETL的数据加载时间是一件很复杂的事情。数据加载分为两类,一类是初次加载,另一类是增量加载。

在数据仓库正式投入使用时,需要进行一次初次加载,而这次初次加载需要的时间一般较难预料。在数据仓库的日常使用和维护中,每天需要对数据仓库进行增量加载。增量加载的数据量要比初次加载小很多。

下面以初次加载为例来谈谈如何评估大型ETL的数据加载时间。

对初次加载的加载时间进行预估,需要将整个ETL过程分成抽取、转换和加载三部分,分别对这三部分进行评估。

1.对抽取时间的评估。

抽取通常占用的ETL的大部分时间,而且对这部分需要时间的评估也是非常困难的。为了对这部分时间进行评估,我们可以将查询时间分成两部分,一部分是查询响应时间,另一部分是数据返回时间。查询响应时间指从查询开始执行到结果开始返回这段时间。数据返回时间指第一条记录返回到最后一条记录返回的时间。

另外,初次加载的数据量太大,我们可以考虑选择其中的一部分来评估整体的时间,实际处理中,可以选择事实表的一个分区。一般来说各个分区的数据量差不多,评估出一个分区的时间,乘上分区数可以作为整体的评估时间。

2.对数据转换时间的评估

数据转换工作通常在内存中完成,一般来说都有着非常快的速度,占总体时间的比重比较小。如果要评估这部分需要的时间的话,最简单的评估方法是先评估出抽取时间和加载时间,然后运行整个过程,用整体时间减去抽取时间和加载时间。

3.对加载时间的评估

很多原因都可能影响加载时间,其中最重要的两个分别是索引和日志。

对加载时间的评估,也可以像评估抽取时间时一样,选择加载数据的一部分,如1/200进行加载,计算出时间后乘以200来作为整体加载时间。

总之,大型ETL数据的加载时间的评估是很困难的,我们采用的方法主要是类比评估,即选择一部分数据减少整体时间进行评估。在进行评估时要注意到测试环境和生产环境的配置等的差别会引起评估结果的偏差。虽然这种对时间的评估一定会有误差,但是可以做为整体加载时间的一个参考。

如何评估ETL的数据加载时间的更多相关文章

  1. GreenPlum数据加载

    1. copy命令 对于数据加载,GreenPlum数据库提供copy工具,copy工具源于PostgreSQL数据库,copy命令支持文件与表之间的数据加载和表对文件的数据卸载.使用copy命令进行 ...

  2. 实现虚拟模式的动态数据加载Windows窗体DataGridView控件 .net 4.5 (一)

    实现虚拟模式的即时数据加载Windows窗体DataGridView控件 .net 4.5 原文地址 :http://msdn.microsoft.com/en-us/library/ms171624 ...

  3. Android Volley和Gson实现网络数据加载

    Android Volley和Gson实现网络数据加载 先看接口 1 升级接口 http://s.meibeike.com/mcloud/ota/cloudService POST请求 参数列表如下 ...

  4. iOS App中数据加载的6种方式

    我们看到的APP,往往有着华丽的启动界面,然后就是漫长的数据加载等待,甚至在无网络的时候,整个处于不可用状态.那么我们怎么处理好界面交互中的加载设计,保证体验无缝衔接,保证用户没有漫长的等待感,而可以 ...

  5. AE数据加载

    1. 数据加载问题: 任何系统都离不开数据的加载,下边就AE中几种常用的数据加载做一个列举.以便查阅: 1.加载个人数据库 个人数据库是保存在Access中的数据库.其加载方式有两种:通过名字和通过属 ...

  6. 教你50招提升ASP.NET性能(十四):使用startMode属性来减少ASP.NET站点加载时间

    (25)Use the startMode attribute to reduce the load time for your ASP.NET site 招数25: 使用startMode属性来减少 ...

  7. APP中数据加载的6种方式-b

    我们看到的APP,往往有着华丽的启动界面,然后就是漫长的数据加载等待,甚至在无网络的时候,整个处于不可用状态.那么我们怎么处理好界面交互中的加载设计,保证体验无缝衔接,保证用户没有漫长的等待感,而可以 ...

  8. Android4.0图库Gallery2代码分析(二) 数据管理和数据加载

    Android4.0图库Gallery2代码分析(二) 数据管理和数据加载 2012-09-07 11:19 8152人阅读 评论(12) 收藏 举报 代码分析android相册优化工作 Androi ...

  9. web开发的性能准则(减少页面加载时间方面)

    准则(概述) 减少 HTTP 请求 使用CDN加速 避免空的src或href属性值 增加过期头 启GZIP压缩 把css文件放到头部 把javascript放到尾部 避免使用css表达式 删除不使用的 ...

随机推荐

  1. DCC Software and Graphics System

    After working with DCC software for so many years, I saw the realtime solution went forward so much, ...

  2. imp导入oracle的dmp备份数据

    imp system/oracle fromuser=lc0029999 touser=lc0029999 rows=y commit=y buffer=65536 feedback=10000 ig ...

  3. 使用apache-jMeter出现乱码问题。

    服务器字符(utf-8)正常,但是在使用apache-jMeter的时候,得到的数据会乱码.所以我们需要设置jmeter的字符编码.默认为ISO-8859-1. 进入jmeter.bat文件夹,有个j ...

  4. web开发-给即将毕业实习生的一点面试经验

    简历投递: 智联招聘51job 像赶集网和58同城最好别去投 面试的公司,特别是深圳这边,面试的时候公司小,很多人,八九不离十是那种搞培训的,很多时候,有些公司会主动打电话来教你去面试,这些绝大多数也 ...

  5. 单元测试-NUint最基本使用详解

    花了一上午,熟悉了下NUint的使用,网上找了好久,没有很详细的,全是一段文字一写什么都没了 第一步下载:程序安装   :http://launchpad.net/nunitv2/trunk/2.6. ...

  6. js 更改head的title

    使用document.title = "hello"; 不能使用 $("title").text("dd");或者            $ ...

  7. Windows下Nginx的启动、停止等命令

    Windows下Nginx的启动.停止等命令 在Windows下使用Nginx,我们需要掌握一些基本的操作命令,比如:启动.停止Nginx服务,重新载入Nginx等,下面我就进行一些简单的介绍.1.启 ...

  8. Net分布式系统之二:CentOS系统搭建Nginx负载均衡(下)

    上一篇文章介绍了VMWare12虚拟机.Linux(CentOS7)系统安装.部署Nginx1.6.3代理服务做负载均衡.接下来介绍通过Nginx将请求分发到各web应用处理服务. 一.Web应用开发 ...

  9. node.js入门及express.js框架

    node.js介绍 javascript原本只是用来处理前端,Node使得javascript编写服务端程序成为可能.于是前端开发者也可以借此轻松进入后端开发领域.Node是基于Google的V8引擎 ...

  10. php 处理别人直接丢过来的json字符串

    如果 json校验成功  出现莫名其妙的不能decode 就看下转义 最好是直接使用php定界符eof来赋值字符串