本文主要讲解“ETL架构中有哪些子系统”,简单明了,易学易懂。请跟随边肖的思路,一起学习和学习“ETL架构中有哪些子系统”!
三个简单的字母E-T-L,很容易让人忽视38个ETL子系统在数据仓库建设中的重要性。
抽取-转换-加载(ETL)系统,或非正式地称为“后端系统”,占构建整个数据仓库系统的工作量和时间的70%。但这不足以解释ETL系统的复杂性。大家都明白这三个字母的含义,e,把数据带出源系统;t、处理这些数据;l,它被加载到最终用户访问的表中。
但当我们问如何分解这三个步骤时,很多设计师会说“具体问题,具体分析”。例如,这取决于不同的数据源;这取决于数据的特性;这取决于脚本语言和可以使用的ETL工具;这取决于员工的技术能力;它还取决于最终用户使用的查询和报告工具。
“具体情况,具体分析”是一件非常危险的事情,因为它很容易被称为制度混乱的借口。凭借数千个成功的数据仓库项目的经验,我们汇编了一系列最佳实践。
在过去的18个月里,我们一直在研究ETL实践和ETL产品。我们已经确定了38个子系统,它们将参与每个数据仓库项目的背景。坏消息是,ETL系统确实占用了数据仓库项目的大部分资源。好消息是,如果你能掌握所有这些子系统,你就可以轻松地利用你的经验构建一个成功的数据仓库系统。
1.提取系统(提取系统)
主要功能包括源数据的适配器、推/拖/传输数据的工作调度、源数据的过滤和排序、数据格式转换、迁移到ETL环境后的数据暂存。
2.变更数据采集系统(变更数据采集系统)
主要功能包括读取源数据日志文件,过滤源数据的日期和序列号,基于CRC算法比较记录。
3.数据分析系统
主要功能包括字段属性分析,如参考字段分析;结构分析,如主键和外键关系分析;数据规则分析;价值分析等。
4.数据清理系统(数据清理系统)
主要功能包括典型的数据字典驱动系统,用于分析个人和组织的名称和地址,以及产品和地点。用于识别和删除个人和组织信息以及产品和场所的“重复数据消除”系统;一个“幸存”系统,使用特定的数据合并逻辑,用于保存特定数据源的指定字段,这个特定数据源的数据将成为数据仓库的最终版本;维护所有数据源后台数据的对应关系,如自然键和代理键的对应关系。
5.数据整合系统
主要功能包括识别和生成特殊的一致性维度属性和一致性事实度量属性。这两组属性被用作数据集成的基础,以支持跨多个数据源的数据集成。
6.审计维度组装系统
主要功能是将与事实表相关的元数据加载到审计维度表中,这样终端用户就可以像查看普通维度一样查看与事实表相关的元数据。
7.数据质量过滤系统(质量屏幕处理器系统)
主要功能是在ETL处理过程中自动检测所有数据质量问题。测试结果将进入错误事件处理系统(详见子系统8)。
8.错误事件处理系统
主要功能是全面记录和报告ETL处理中的所有错误事件。包括各种错误的分支处理逻辑和ETL处理中数据质量的实时监控。
9.代理密钥创建系统
主要功能是生成具有健壮机制的流水线代理密钥。生成规则独立于任何维度或任何数据库实例,并且可以支持分布式系统。
10.慢变维度处理器
主要功能是处理维度表属性随时间的变化。处理方法有:类型1(直接覆盖)、类型2(生成新行)和类型3(添加新列)。
11.延迟到达维度处理程序
主要功能是当维度数据的变化比对应的事实数据晚到达数据准备区时,插入和更新维度数据。
12.固定层次生成系统(固定层次维构建器)
主要功能是检查和维护维度表中各种多对一关系的层次结构的数据有效性。
13.可变层次生成系统(可变层次维度构建器)
主要功能是检查维度表和维度中所有深度可变的层次结构的数据有效性,如组织和零件的层次结构。
14.多值维度桥表生成系统(多值维度桥表生成器)
主要功能是建立和维护一个桥表,用来描述维度之间的多对多关系。
15.
杂项维度生成系统(Junk Dimension Builder)
主要功能是将来自多个数据源的多个低基数的标志字段、状态字段等小型维度建立成一个杂项维度,并对之进行维护。
16.交易粒度事实表加载系统(Transaction grain fact table loader)
主要功能是更新交易粒度事实表,包括对数据、索引和分区的处理。通常是用来处理增量数据,即最新的数据。需要使用代理键替换管道系统(详见子系统19)。
17.周期快照事实表加载系统(Periodic snapshot grain fact table loader)
主要功能是更新周期快照事实表,包括对数据、索引和分区的处理。包括对当期数据的增量更新策略。需要使用代理键替换管道系统(详见子系统19)。
18.累计快照事实表加载系统(Accumulating snapshot grain fact table loader)
主要功能是更新累积快照事实表,包括对数据、索引和分区的处理,同时更新维度外键和累积事实。需要使用代理键替换管道系统(详见子系统19)。
19.代理键替换管道系统(Surrogate key pipeline)
主要功能是使用多线程技术将来到数据仓库数据的自然键替换为代理键。
20.迟到事实处理系统(Late arriving fact handler)
主要功能是处理对迟到事实记录的插入和更新策略。
21. 聚合生成系统(Aggregate builder)
主要功能是创建和维护数据库物理结构,比如说聚合表,用于和 query-rewrite 技术配合使用,以提高数据库查询性能。也包括独立的聚合表和物化表。
22. 多维cube生成系统(Multidimensional cube builder)
主要功能是创建和维护星型架构用于装载多维cube,包括cube技术的一些专有工作,比如维度层次结构的维护。
23. 实时分区生成系统(Real-time partition builder)
三种事实表类型(参照子系统16,17,18)的特殊逻辑在内存中维护着一个“热分区”,它只包含最近一次已经统计到数据仓库表中以后的部分增量数据。
24. 维度管理子系统(Dimension manager system)
顾名思义,它是一个管理维度表的系统。它负责从集中存放维度表和事实表之间的维度一致性,请参照子系统25。
25.事实管理系统(Fact table provider system)
对应于维度表管理系统,它是一个事实表的管理系统,它接收从维度管理系统发过来的一致性维度。包括本地键替换,维度版本检查,和聚合表等维护系列工作。
26.任务调度系统(Job scheduler)
它负责ETL任务的安排和启动。它能够等待各种系统条件包括对优先级高的任务完成的依赖。能够针对异常情况发送警告。
27.工作流程监视系统(Workflow monitor)
它的主要功能是有控制台和报表系统用以监控ETL任务被任务调度系统启动以后的执行状况。包括处理的记录条数,错误摘要,和执行的活动。
28.恢复和重做系统(Recovery and restart system)
当任务执行过程中任务暂停后的重新启动,或者是恢复到任务执行前的状态重新执行。这个子系统严重依赖于备份子系统(参考子系统38)。
29.并行处理和管道处理系统(Parallelizing/pipelining system)
它的主要功能是利用多处理器,网格计算资源以提高性能,和实现数据流处理。当不是写硬盘操作或者是执行过程中等待一个条件的发生的ETL的情况,是有必要采用并行化和管道化的。
30.异常放大系统(Problem escalation system)
它的主要功能是负责在一定的条件下提高错误的级别以跟踪和解决问题。包括简单错误日志记录,操作者通知,管理员通知和系统开发人员通知。
31.版本控制系统(Version control system)
使得元数据的归档能够有坚固的快照功能,可以查阅某一时刻改变前后的状态。能够迁入和迁出所有ETL模块和任务。源代码对比功能以快速展示改变前后的不同。
32.版本移植系统(Version migration system)
让程序可以在开发环境,测试环境,正式环境快速切换。版本控制系统的用于恢复移植的一个接口,也是配置完整数据库连接信息的一个接口。使得代理键生成不依赖于数据库的位置。
33.体系和依赖分析系统(Lineage and dependency analyzer)
对任何选中的数据组件,都要展示它的物理数据源和所有的后来的转换,不管是选中ETL管道中间的组件,或者是选中最终的数据结果,都一样展示。对任何选中的数据组件,都要展示它的下游的数据组件和可能会造成改变的最终数据结果的字段结构,不管是选中ETL管道中间的组件,或者是选中数据源,都一样展示。
34.符合规定报告系统(Compliance reporter)
符合规定的规则以证明系统报告的可信度。证明数据和转换没有改变。展示谁访问过或者改变过任何数据。
35.安全控制系统(Security system)
在ETL的管道中,实现对所有数据和元数据基于角色的权限控制。证明模块的版本没有改变。展示谁做过任何更改。
36.备份系统(Backup system)
对数据和元数据的备份,用于以后的数据的恢复,重启,安全,和符合规定的要求。
37.元数据管理系统(Metadata repository manager)
用于捕获和维护所有ETL的元数据的系统,包括所有转换逻辑。包括处理元数据,技术元数据和业务逻辑元数据。
38.项目管理系统(Project management system)
对所有ETL任务进行开发的跟踪系统。
感谢各位的阅读,以上就是“ETL架构中的子系统有哪些”的内容了,经过本文的学习后,相信大家对ETL架构中的子系统有哪些这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/78655.html