微信公众号:FocusBI
关注可了解更多的商业智能、数据仓库、数据库开发、爬虫知识及沪深股市数据推送。问题或建议,请关注公众号发送消息留言;如果你觉得FocusBI对你有帮助,欢迎转发朋友圈或在文章末尾点赞[1]

在过年前我写过一篇《FOCUS数据管理》年终总结,收到很多同行和外行的咨询,有收到数据库、CUBE逆向工程如何实现、有收到直接问系统多少钱如何授权、有收到是否有课程培训、有收到是否开源;千言万语表示感谢,系统才萌芽不到半年,不够完善还在我的训练加强中,《FOCUS数据管理》确实帮我减少了百分之六七十的工作量,这远远没有达到我的目标。

在《FOCUS数据管理》年终总结 中有SSIS监控 没有写,这里我用ETL监控来填补它的空缺。

ETL系统

DW/BI系统(决策支持系统)耗时最长最复杂的环节的就是数据清洗、转换、装载过程,这个过程也称作为ETL(Extract-Transform-Load),这个环节会消耗掉整个BI项目的百分七十左右的时间,而且BI系统后期需求增加修改维护也主要是对ETL系统进行修改,从系统架构的角度来看DW/BI系统很尴尬,某种水的广告: 我们不生产水,我们只是大自然的搬运工;而DW/BI系统的广告:我们不生产数据,我们只是数据源的搬运工;哈哈哈。生产水的企业会有一套专业的水处理系统流程:抽大自然的水、过滤杂质加点矿物质、装瓶;所以DW/BI系统也会有一套数据处理系统流程:抽取各个业务系统的数据、清洗和修补不规范数据、加载到数据仓库中。看上去这个过程挺简单的,当然如果有人帮你把前期的需求调研、数据仓库设计、业务源接口给你完成了,这个过程就比较简单,但是百分九十五的情况下是你想太多。从下图 中小企业BI系统架构(一)中出现两次ETL系统,前面一个ETL系统是从源抽数处理后加载到信息工厂,后面一个ETL是从信息工厂抽数到主题数据集。而真实的BI系统场景可能并不会出现两台ETL系统服务器(看图中小企业BI系统架构(二)),这里可能我们并不关心有几个ETL系统而关心的是ETL运行速度、管理便捷。在《FOCUS数据管理》内部数据管理 模块 的子模块 SSIS监控 对 ETL 运行速度、管理便捷进行了很好的应用。图中描述的中小企业BI系统架构 指的是数据量在5~10T左右的企业而不是企业规模的大小,因为有很多企业规模大但是数据量都不到100G,如果这个架构把高可用和容灾方案做进去基本能适应百分之七八十的企业。

FOCUS数据管理

在FOCUS数据管理系统中我开发了四个子模块分别是:服务器参数、错误警告信息、SSIS包管理、SSIS执行管理。 这四个子模块基本能满足 对ETL的监控。

服务器参数

为什么会有服务器参数子模块,在ETL系统段落中有讲到DW/BI从各个业务系统中抽取数据,所以必须要对服务器参数信息进行记录和保存。以帮助后面进入各个系统数据获取ETL执行SQL的情况。

错误警告信息

在开发SSIS包的过程中,不可能把所有的陷阱都考虑到,特别是当业务系统中的表修改后如果没有人通知你,你是不可能知道这个某个包中的数据流SQL语句要同步修改的,也有可能你一开始做完这个工作流业务逻辑没有出现任何警告或错误,但是不能保证你后面的时间不会出现,所以错误警告信息 子模块提供了实时的信息查询,这个实时是ETL系统会每隔一个时间段会扫描识别各个数据流是否有警告或错误。在DW/BI项目进行的越来越接近尾声可能SSIS包开了几十个或上百个,这时你不可能每天打开包一个一个的去查看是否有警告或错误。所以有一个统一的警告错误信息查看界面是非常必要的。

SSIS包管理

我用之前我发表的 FocusBI:SSIS体系结构 文章段落来重新认识包:SSIS的核心部分就是包(package)的概念。包是一个可用来编写工作流和业务逻辑的可执行程序。从本质上讲,包是一个以循序渐进的方式执行的任务集、同时包还是一个执行和开发单元。包的核心就是控制流(Control Flow),  它协调包中所有组件的执行顺序;控制流由任务、优先约束、容器组成。任务可以被描述为一个独立的工作单元,可以是一条SQL语句、一个存储过程等。优先约束是用来指示任务按照给定顺序执行的包组件,约束状态有:成功、完成、失败。容器主要用来将任务集合在一起执行,容器就像一个盒子。控制流就是SSIS的大脑,数据流就是SSIS的心脏。数据流将数据提取到服务器内存中,转换数据并将数据写入到另一个目标。数据流由源、转换、目标组成;源是数据流设计界面的第一个组件,它会向下游组件发送数据。转换是数据流中的关键组件,容许它对数据管道中的数据进行修改。目标在数据流离开最后一个转换组件后数据流就开始流入目标数据库中。

从段落中可以知道SSIS包包含数据工作流和业务逻辑,如果数据源没有平面文件需要处理,那么SSIS包基本都是SQL 语句就能完成业务逻辑。那么每日跑数的时候包运行的状态是怎样的,我们需要知道它的开始时间、结束时间、时长、影响的行数、是包还是数据流等,《FOCUS数据管理》SSIS包管理模块方便的提供了这样的数据。

1.选择执行日期可以查看任何时候的执行情况。

2.类型是用来区分是包还是数据流,类型=0是包、类型=1是数据流,这个倒三角就是过滤器,你可以自由的过滤包、数据流、执行时长、行数等。

SSIS执行管理

每一个SSIS包可能只处理一个业务逻辑有一条SQL语句、可能会处理多个业务逻辑有多条SQL,不管有几条SQL语句都会一一对应一个数据流控件。这里不关心数据流控件怎么实现它只是一个工具我们应该关心这条SQL语句的性能和数据流管理便捷性。

1.选择服务器,在服务器参数子模块中把我们需要取数的服务器信息已经保存起来而且可以随时修改,数据流承载着SQL语句的执行,可能同一个包包含两个数据流控件指向不同的业务系统服务器,这种业务场景非常常见,如果在SSIS包管理模块中发现某个包的执行时长比较久,我们就需要考虑它的各种性能参数、执行计划是否不正常。

2.选择好服务器后,点击旁边的查询按钮;就查询出哪些数据流在这个服务器上执行了,会现在数据流名、执行的SQL、各种性能参数以及执行计划。各种性能的参数根据个人的能力水平来判断和调试SQL。

3.根据服务器获取到数据中包含有执行计划,这个执行计划是根据每一条执行的SQL语句生成出来的。如果某条执行的SQL语句比较慢,你就可以直接复制对应的执行计划放到数据库中执行就会出现执行计划;执行计划会自动帮你分析一部分非常差的性能,但是真正的性能优化还得靠自己。

商业智能教程课件下载

关注微信公众号:FocusBI,下载教程PDF,已关注回复课件获取下载地址。

历史文章

BI核心

FocusBI:SQL Server内核

FocusBI:数据仓库

FocusBI:总线矩阵

FocusBI:商业智能场景

企业数据管理战略

《FOCUS数据管理》年终总结

SSIS:

FocusBI:SSIS体系结构

FocusBI:使用Python爬虫为BI准备数据源(一)

FocusBI:使用Python爬虫为BI准备数据源(二)

FocusBI:SSIS 开发案例

SSAS:

FocusBI:SSAS体系结构

FocusBI:租房分析&星型模型

FocusBI:MDX检索多维模型

FocusBI:地产分析&雪花模型

PowerBI:

租房分析可视化(网址体验)

BI项目管理

FocusBI:《DW/BI项目管理》之数据库表结构

FocusBI:《DW/BI项目管理》之SSIS执行情况

微软BI模块文章公众号网址:

https://mp.weixin.qq.com/mp/homepage?__biz=MzU2MjcwMzEzMw%3D%3D&hid=1&sn=02adabf0d2fb7485b05562ecdedc1d98

sql查询百分之20到百分之40的数据_FOCUS数据管理之ETL监控相关推荐

  1. sql查询出1到12月的数据形成报表

    sql查询出1到12月的数据 每个月的总量 形成报表 SELECT * FROM ( SELECT COUNT( 1 ) AS January FROM tb_customer c WHERE YEA ...

  2. sql查询百分之20到百分之40的数据_数据库基础学习——SQL语言知识总结(6)

    1 视图(View) 1.1什么是视图 可以通过创建表的视图来表现数据的逻辑子集或数据的组合.视图是基于表或另一个视图的逻辑表,一个视图并不包含它自己的数据,它象一个窗口,通过该窗口可以查看或改变表中 ...

  3. 五个 SQL 查询性能测试题,只有 40% 及格率,你敢来挑战吗?

    作者 | 董旭阳TonyDong,CSDN 博客专家 责编 | 唐小引 头图 | CSDN 下载自东方 IC 出品 | CSDN 博客 下面是 5 个关于索引和 SQL 查询性能的测试题:其中 4 个 ...

  4. oracle function 写查询语句_五个 SQL 查询性能测试题,只有 40% 及格率,你敢来挑战吗?...

    作者 | 董旭阳TonyDong,CSDN 博客专家 责编 | 唐小引 头图 | CSDN 下载自东方 IC 出品 | CSDN 博客 下面是 5 个关于索引和 SQL 查询性能的测试题:其中 4 个 ...

  5. 五个 SQL 查询性能测试题,只有 40% 及格率,你敢来挑战吗?| 原力计划

    作者 | 董旭阳TonyDong,CSDN 博客专家 责编 | 唐小引 头图 | CSDN 下载自东方 IC 出品 | CSDN 博客 下面是 5 个关于索引和 SQL 查询性能的测试题:其中 4 个 ...

  6. mysql及格率70以上_五个 SQL 查询性能测试题,只有 40% 及格率,你敢来挑战吗?| 原力计划...

    作者 | 董旭阳TonyDong,CSDN 博客专家 责编 | 唐小引 头图 | CSDN 下载自东方 IC 出品 | CSDN 博客 下面是 5 个关于索引和 SQL 查询性能的测试题:其中 4 个 ...

  7. sql查询百分之20到百分之40的数据_拼多多面试题:如何查找前20%的数据?

    [题目] 用户访问次数表,列名包括用户编号.用户类型.访问量.要求在剔除访问次数前20%的用户后,每类用户的平均访问次数.(拼多多.网易面试题) [解题思路] 使用逻辑树分析方法可以把这个复杂的问题拆 ...

  8. mysql筛选两个表有相同项的数据库_用SQL查询两个表中相同的数据

    展开全部 1.创建测试表: create table test_col_1(id number, var varchar2(200)); create table test_col_2(id numb ...

  9. sql查询两张表中不同的数据

    select * from B where (select count(1) from A where A.ID = B.ID) = 0

最新文章

  1. bzoj 2160: 拉拉队排练
  2. 虚拟语气和推测(三)
  3. Polyfill工作笔记001---简介
  4. 本地安装的smushit,如何压缩图片
  5. ACdream 1121 喵喵的IDE
  6. 代理IP软件如何只切换浏览器IP地址
  7. 高维空间中点到超平面的距离
  8. Jikes 研究虚拟机(RVM)二 JVM 的组织
  9. 【办公常用软件】万彩办公大师教程丨PDF OCR 帮助文档
  10. 解决“该文件夹包含名称过长且无法放入回收站的项目”导致无法删除
  11. 论文摘要6 - board planar antenna with Circular Polarization
  12. 帝国CMS仿玩游戏网源码大型游戏资讯网站源码
  13. 【Python学习笔记】- 06 函数式编程
  14. APC型光纤活动连接器有何特点?适合使用在什么场景?
  15. 嵌入式主板有哪些特点?
  16. CSS样式自动换行(强制换行)
  17. R 回归分析 多元线性回归
  18. python小游戏——怀念经典坦克大战代码
  19. Swift版国内省市县三级联动
  20. html常用标签有什么区别,HTML常用标签

热门文章

  1. CodeForces - 986E Prince's Problem
  2. 链表:链表中倒数第k个结点(2)
  3. .Net Core中使用ref和SpanT提高程序性能
  4. 解决百度 ueditor v1.4.3 编辑器上传图片失真的bug?
  5. 20135223何伟钦—信息安全系统设计基础第五周学习总结
  6. Week12(11月28日)
  7. Java对MySql数据库进行备份与还原
  8. 技术专题之-技术概述的目录
  9. Android UI 事件研究
  10. [转载] windows下python包的导入方法