如何评估ETL的数据加载时间
简述如何评估大型ETL数据加载时间。
答:评估一个大型的ETL的数据加载时间是一件很复杂的事情。数据加载分为两类,一类是初次加载,另一类是增量加载。
在数据仓库正式投入使用时,需要进行一次初次加载,而这次初次加载需要的时间一般较难预料。在数据仓库的日常使用和维护中,每天需要对数据仓库进行增量加载。增量加载的数据量要比初次加载小很多。
下面以初次加载为例来谈谈如何评估大型ETL的数据加载时间。
对初次加载的加载时间进行预估,需要将整个ETL过程分成抽取、转换和加载三部分,分别对这三部分进行评估。
1.对抽取时间的评估。
抽取通常占用的ETL的大部分时间,而且对这部分需要时间的评估也是非常困难的。为了对这部分时间进行评估,我们可以将查询时间分成两部分,一部分是查询响应时间,另一部分是数据返回时间。查询响应时间指从查询开始执行到结果开始返回这段时间。数据返回时间指第一条记录返回到最后一条记录返回的时间。
另外,初次加载的数据量太大,我们可以考虑选择其中的一部分来评估整体的时间,实际处理中,可以选择事实表的一个分区。一般来说各个分区的数据量差不多,评估出一个分区的时间,乘上分区数可以作为整体的评估时间。
2.对数据转换时间的评估
数据转换工作通常在内存中完成,一般来说都有着非常快的速度,占总体时间的比重比较小。如果要评估这部分需要的时间的话,最简单的评估方法是先评估出抽取时间和加载时间,然后运行整个过程,用整体时间减去抽取时间和加载时间。
3.对加载时间的评估
很多原因都可能影响加载时间,其中最重要的两个分别是索引和日志。
对加载时间的评估,也可以像评估抽取时间时一样,选择加载数据的一部分,如1/200进行加载,计算出时间后乘以200来作为整体加载时间。
总之,大型ETL数据的加载时间的评估是很困难的,我们采用的方法主要是类比评估,即选择一部分数据减少整体时间进行评估。在进行评估时要注意到测试环境和生产环境的配置等的差别会引起评估结果的偏差。虽然这种对时间的评估一定会有误差,但是可以做为整体加载时间的一个参考。
如何评估ETL的数据加载时间的更多相关文章
- GreenPlum数据加载
1. copy命令 对于数据加载,GreenPlum数据库提供copy工具,copy工具源于PostgreSQL数据库,copy命令支持文件与表之间的数据加载和表对文件的数据卸载.使用copy命令进行 ...
- 实现虚拟模式的动态数据加载Windows窗体DataGridView控件 .net 4.5 (一)
实现虚拟模式的即时数据加载Windows窗体DataGridView控件 .net 4.5 原文地址 :http://msdn.microsoft.com/en-us/library/ms171624 ...
- Android Volley和Gson实现网络数据加载
Android Volley和Gson实现网络数据加载 先看接口 1 升级接口 http://s.meibeike.com/mcloud/ota/cloudService POST请求 参数列表如下 ...
- iOS App中数据加载的6种方式
我们看到的APP,往往有着华丽的启动界面,然后就是漫长的数据加载等待,甚至在无网络的时候,整个处于不可用状态.那么我们怎么处理好界面交互中的加载设计,保证体验无缝衔接,保证用户没有漫长的等待感,而可以 ...
- AE数据加载
1. 数据加载问题: 任何系统都离不开数据的加载,下边就AE中几种常用的数据加载做一个列举.以便查阅: 1.加载个人数据库 个人数据库是保存在Access中的数据库.其加载方式有两种:通过名字和通过属 ...
- 教你50招提升ASP.NET性能(十四):使用startMode属性来减少ASP.NET站点加载时间
(25)Use the startMode attribute to reduce the load time for your ASP.NET site 招数25: 使用startMode属性来减少 ...
- APP中数据加载的6种方式-b
我们看到的APP,往往有着华丽的启动界面,然后就是漫长的数据加载等待,甚至在无网络的时候,整个处于不可用状态.那么我们怎么处理好界面交互中的加载设计,保证体验无缝衔接,保证用户没有漫长的等待感,而可以 ...
- Android4.0图库Gallery2代码分析(二) 数据管理和数据加载
Android4.0图库Gallery2代码分析(二) 数据管理和数据加载 2012-09-07 11:19 8152人阅读 评论(12) 收藏 举报 代码分析android相册优化工作 Androi ...
- web开发的性能准则(减少页面加载时间方面)
准则(概述) 减少 HTTP 请求 使用CDN加速 避免空的src或href属性值 增加过期头 启GZIP压缩 把css文件放到头部 把javascript放到尾部 避免使用css表达式 删除不使用的 ...
随机推荐
- 【转】web测试总结
1.字符型输入框: (1)字符型输入框:英文全角.英文半角.数字.空或者空格.特殊字符“~!@#¥%……&*?[]{}”特别要注意单引号和&符号.禁止直接输入特殊字符时,使用“粘贴.拷 ...
- 元素JS拖动的实现
涉及到了几个位置的属性 offset clientX cilentY 等 $(selector).on("mousedown",function (e){ var x = e. ...
- 初识UML
最近的学习中,遇到几次UML图,很是迷糊,确切的说,看不太懂.查阅UML相关资料,基本解决了这个问题.UML看起来还是相当深奥,这里只提一下解决问题的部分知识.(以下知识来自网络) Unified M ...
- java获取服务器所有信息
package com.sinosoft.outher.listener; import java.net.InetAddress;import java.net.UnknownHostExcepti ...
- java实验2实验报告(20135131)
一.实验内容 1. 初步掌握单元测试和TDD 2. 理解并掌握面向对象三要素:封装.继承.多态 3. 初步掌握UML建模 4. 熟悉S.O.L.I.D原则 5. 了解设计模式 二.实验要求 1.没有L ...
- 日志分析工具ELK配置详解
日志分析工具ELK配置详解 一.ELK介绍 1.1 elasticsearch 1.1.1 elasticsearch介绍 ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分 ...
- visual studio code(vscode) 调试php
1.下载vscode (visual studio code). 2.安装vscode 扩展 php-debug 安装步骤见 https://marketplace.visualstudio.com/ ...
- 第八十八天请假 PHP smarty模板 变量调节器,方法和块函数基本书写格式
变量调节器 : 文件命名格式(modifier.名称.php) 前端调用方式<{变量|名称:参数:参数……}>可组合使用,用|隔开 <?php /* 命名格式 smarty_mod ...
- HDOJ(1242)BFS+优先队列
Rescue http://acm.hdu.edu.cn/showproblem.php?pid=1242 题意:"#"是墙,"."是路,"a&quo ...
- 添加图片按钮-UI界面编辑器(SkinStudio)教程
打开工具箱,选择Button控件 在窗体上添加一个Button控件 给Button控件的ImageNormal属性添加图片 添加完成后的效果 删除Text属性的值(即删除显示的文本)