《数据虚拟化:商务智能系统的数据架构与管理》一 2.7 提取-转换-装载、提取-装载-转换和复制

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 本节书摘来自华章出版社《数据虚拟化:商务智能系统的数据架构与管理》一 书中的第2章,第2.7节,作者:[荷]里克 F. 范德兰斯(Rick F. van der Lans),更多章节内容可以访问云栖社区“华章计算机”公众号查看。

2.7 提取-转换-装载、提取-装载-转换和复制

从生产数据库获取数据至多种数据存储,数据必然被复制。例如,数据需要从生产数据库复制到数据中转区或者ODS,从ODS到数据仓库,从数据仓库到数据集市,等等。然而,存储在生产数据库中的数据形式和内容与用户希望在报告和分析工具中看到的非常不同。例如,在生产系统中,客户的数据可能分散在多个数据库中,但是用户想要看到完整的信息;生产系统中的数据可能被多次编码过,然而用户希望看到其有意义的价值;历史数据可能会从源系统中丢失,但是用户恰好需要它做趋势分析;或者源系统中数据元素的值可能是不正确的(错误数据),但是用户需要正确的数据来工作。总之,源数据需要在使用之前被“处理”。这整个过程有时候被称为数据转换。所以,当数据从生产数据库经过数据中转区移动到数据仓库时,它一定会发生转换。
各个组织可以使用自己定制的应用来完成所需要的转换,但是需使用专用工具。这将提高生产力和可维护性。在1.2节,在商务智能系统中复制数据的三种常用的技术—ETL、ELT和复制—已经简单地介绍过了。在这一节将会详细讲解。
注意:数据虚拟化也是数据转换的一种形式。商务智能系统中的技术将会如何发展、何时被应用将在第7章深入讨论。

2.7.1 提取-转换-装载

数据提取-转换-装载(ETL)是最受欢迎的数据复制和转换技术之一。通过ETL工具,数据从一个或多个源数据存储区中抽取出。然后被转换、清洗、整合,最后被存储在一个目标数据存储区(如图2-12所示)。在很多商务智能系统中,生产数据库和数据中转区是典型的源数据存储区,而数据集市和PDS则是典型的目标数据存储区。
处理数据过程中所有要使用的必要操作在ETL脚本中是很明确的。每个ETL工具都提供一系列广泛的加工数据的操作,从最简单的转换,例如两个字符串的连接,到高度复杂的转换,如分行。数据也会被整合、总结和清洗。大部分ETL工具支持流程语言来详细说明这些操作。图2-13中的屏幕截图就包含一个描绘这种流程说明的例子。流程图中的每个图标代表一种操作。

screenshot

screenshot

ETL工具用来复制数据,被设计成批量处理的模式,所以每当ETL脚本运行时,它其实操作了整批数据。例如,上周CUSTOMER表所有插入的、更新的和删除的数据已经被复制到目标数据存储区了。换句话说,目标数据存储区中的数据会周期性地被更新。ETL的脚本是预先规定的—例如,每周末的下午2点、每晚11点或者每隔两个小时都会运行。本书中我们称这种形式的转换为预定的转换。大部分的ETL也支持传承影响分析能力,所以设计者也需要学习表格结构和ETL说明。

2.7.2 提取-装载-转换

提取-装载-转换(ELT)在操作步骤顺序上与ETL不同。ETL是把数据从源数据存储区中提取出来后进行转换,转换的数据然后被存储(装载)在目标数据存储区(如图2-14所示)。ELT也是以数据提取开始,然后以未转换的形式存储在目标存储区;最后一步中,数据才会被转换并再次存储。最终,ETL 和ELT都达到了相同的效果:转换的数据存储在目标数据存储区。
注意:称之为ELTL比ELT更好,因为它始于数据提取,然后经过装载、转换,最终转换过的数据再次被装载。

screenshot

除去操作执行顺序的不同,ETL和ELT方式工作的另一个不同之处在于与数据库服务器的连接。在ETL中,工具做了大部分的提升工作。它们处理了所有复杂的转换操作并使用数据库服务器简单地提取源数据和插入新的转换数据。在某种程度上,ETL中数据库服务器功能并未得到充分使用。
ELT工具则试着将数据库服务器的更多功能发挥出来。许多转换和整合操作也可由数据库服务器处理。所以ELT工具将大部分操作代理给了数据库服务器。如同ELT工具是操纵者,而数据库服务器是被操控者。它告诉数据库服务器要检索、转换和装载数据。这样做的效果就是当数据被装载进一系列表格之后,相同的数据也会被检索、转换、整合、过滤并被复制到另一个表格。这类操作都可以通过使用所谓的INSERT-SELECT语句由数据库服务器很容易地完成。有时数据库服务器的这种代理操作也被称为下推。
这种操作在数据库服务器中实现的好处是ELT服务器和数据库服务器之间的数据转换不会浪费时间。大部分的数据操作由数据库服务器本身完成。这样,数据库服务器的全部功能就被发挥出来。另一个优势是目标数据库还保存了原始的未经转换的数据和转换了的数据。对许多数据使用者来说,能使用原始数据是很有帮助的。
注意:对于工具,越来越多的工具不仅支持ETL也支持ELT功能。这取决于设计者在哪种情形下使用哪种形式。

2.7.3 复制

第三种拷贝的形式被称为复制。如同ETL和ELT一样,通过复制,数据可以从一个数据存储区拷贝到另一个存储区。然而,ETL和ELT采用最优化的方式成批地拷贝数据(大量记录被同时拷贝),而复制中拷贝是一条条记录、一点点地实现。复制通常是在插入、更新或者删除其他数据时或者尽可能快到毫秒级别的时候使用。除此之外,我们希望复制能减小对源数据存储区的干扰。复制的主要目标是速度,同ETL相比,它的数据整合和转换能力就被限制了。
复制技术非常适合从生产数据库拷贝数据到数据中转区或ODS,但是不适合拷贝到数据集市和PDS。通常这两类操作不会连续被刷新。使用复制使它们保持最新没有任何意义。
为了减小对源系统的干扰,很多复制工具能够从日志文件中而不是从数据已经改变的数据库文件中提取数据。这意味着复制操作经常检测这些日志文件来检查一项交易是否已经完成。如果已经完成,相关的数据就会从日志文件中拷贝到目标系统中。这种读取日志文件的方式有时被称为改变数据捕捉(CDC)。

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
6月前
|
传感器 数据可视化 搜索推荐
瓴羊Quick BI助力深圳光明环境水务公司举办水务数据应用大会暨第二届“光环杯”BI应用大赛
瓴羊Quick BI助力深圳光明环境水务公司举办水务数据应用大会暨第二届“光环杯”BI应用大赛
126 0
|
数据可视化 关系型数据库 BI
百度搜索:蓝易云【Redash可视化BI系统部署安装及简单使用】
通过以上步骤,你将成功部署和安装Redash,并可以开始使用它进行数据可视化和BI分析。请注意,上述步骤只是一个简单的示例,实际的部署和配置可能需要更多的步骤和注意事项。你可以参考Redash官方文档以获取更详细的信息和最佳实践。
363 0
|
4月前
|
监控 数据可视化 数据挖掘
干货|FESCO Adecco外企德科:Quick BI打造战略管理“观数台”(1)
干货|FESCO Adecco外企德科:Quick BI打造战略管理“观数台”
|
6月前
|
分布式计算 大数据 BI
MaxCompute产品使用合集之MaxCompute项目的数据是否可以被接入到阿里云的Quick BI中
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
5月前
|
虚拟化 芯片
minos 2.3 中断虚拟化——GICv2 管理
硬件肯定需要软件配合,这一节就来实战 GICv2 首先准备好 GICv2 手册:https://developer.arm.com/documentation/ihi0048/bb/?lang=en,对于硬件的管理,最底层的操作就是读写硬件的寄存器,所以这里准备好手册,随时查阅手册
94 5
minos 2.3 中断虚拟化——GICv2 管理
|
4月前
|
人工智能 关系型数据库 分布式数据库
PolarDB产品使用问题之如何将自有BI系统接入NL2BI的Web前端
PolarDB产品使用合集涵盖了从创建与管理、数据管理、性能优化与诊断、安全与合规到生态与集成、运维与支持等全方位的功能和服务,旨在帮助企业轻松构建高可用、高性能且易于管理的数据库环境,满足不同业务场景的需求。用户可以通过阿里云控制台、API、SDK等方式便捷地使用这些功能,实现数据库的高效运维与持续优化。
|
4月前
|
BI API 容器
数据架构问题之BI的早期概念是什么
数据架构问题之BI的早期概念是什么
|
6月前
|
Linux Shell KVM
Kali系统基于qemu虚拟化运行img镜像文件
QEMU是一个由Fabrice Bellard创建的开源虚拟化器,能在多种平台上运行,如x86、ARM、PowerPC。它支持硬件仿真和虚拟化,允许在宿主系统上运行不同架构和OS,如Windows、Linux。QEMU特点包括硬件仿真、虚拟化支持(与KVM配合)、磁盘和网络仿真、快照及回滚功能。此外,文档还展示了在Kali Linux中安装和配置QEMU的步骤,包括下载、内存设置、源更新、软件安装、创建桥接脚本以及启动和管理虚拟机。
172 1
Kali系统基于qemu虚拟化运行img镜像文件
|
5月前
|
前端开发 安全 Linux
【虚拟化】典型虚拟化系统
【虚拟化】典型虚拟化系统
85 0
|
5月前
|
监控 安全 调度
【虚拟化】系统虚拟化的主要功能和分类
【虚拟化】系统虚拟化的主要功能和分类
365 0