案例研究

ETL和SQL:动态数据组合

Istock 903569480 (5)

数据是任何现代组织的生命线。在每一天的任何时候,你都在努力将数据点塑造成信息以获取利润。因此,拥有正确的构建模块是经营良好企业的关键部分。

这就是ETL和SQL的动态组合开始发挥作用了。

虽然您可能已经看到了两者之间的竞争,但实际上您可以从合并ETL和SQL中获得更多。这篇文章采用了这种方法SQL和ETL示例同时提供一个优秀的资源,使您的数据相关的努力产生更多。

数据流从ETL

在我们讲任何例子之前SQL而且ETL,让我们快速定义这些术语。

SQL是什么?

结构化查询语言(SQL(发音为“sequel”)是一个广泛的语法术语数组,它传递管理存储在数据库中的数据的指令。数据库管理系统采用SQL命令,并对指定的表和数据行执行一系列操作。

“插入客户(客户名、城市、国家)

选择供应商名,城市,国家供应商

在哪里国家= '加拿大';

下面是一个SQL查询的快速示例:

上面的查询告诉数据库管理系统在名为“客户”。

这些新行的源将来自一个名为“供应商。

括号中指定的列将由所选表中的相应列数据填充,但只有在国家"专栏说"加拿大”。

当您需要将数据库的一部分提取为报告时,学习一些基本的SQL命令就很方便了。当您沿着这条路走下去时,您很快就会发现SQL被主流数据库管理系统广泛使用。自1974年首次发布以来,该榜单一直在增长。

仅举几例:

1.Microsoft SQL Server:MS SQL Server是微软公司开发的关系数据库管理系统(RDBMS)。本产品是为其他应用程序所需的存储检索数据的基本功能而构建的。它既可以在同一台计算机上运行,也可以通过网络在另一台计算机上运行。

2.Microsoft Access:与客户端服务器数据库应用程序相比,Microsoft Access更容易使用和理解。作为一个个人计算机程序,MS access已经成为其他类似应用程序中的领导者。使用该软件不需要接受特殊培训。

3.Postgres:PostgreSQL是一个功能强大的开源对象-关系数据库系统,经过30多年的积极开发,在可靠性、功能健壮性和性能方面赢得了很高的声誉。

4.MySQL:MySQL是现代大数据生态系统中最知名的技术之一。MySQL通常被称为最流行的数据库,目前在各行各业都得到了广泛有效的使用,很明显,任何涉及企业数据或一般it的人都应该至少对MySQL有基本的熟悉。

5.Oracle:Oracle是Oracle公司的一个产品,它提供了一个关系数据库管理系统。

6.奥罗拉:Aurora MySQL是MySQL的替代品,它可以简单且经济地设置、操作和扩展新的和现有的MySQL部署,从而使您可以专注于您的业务和应用程序。

标志

什么是ETL?

相关的问题是“什么是ETL,它与任何事物有什么关系?”

要弄清楚ETL,您必须将其视为数据工作流中的一系列事件。具体来说,这些事件包括提取转换,加载的数据。这意味着您必须有一个可以从中获取主题数据的源,一些用于对数据进行更改的流程,以及一个用于加载结果信息的目的地。

提取:

在ETL工作流的第一阶段,提取通常需要数据库管理系统、度量源,甚至简单的存储手段,如电子表格。

SQL命令还可以促进ETL的这一部分,因为它们从不同的表甚至单独的数据库中获取数据。

转换:

也许ETL流程的关键部分是数据转换部分。转换可以简单到删除或排序一批数据的部分,也可以复杂到运行计算以从提取的源构建新知识。

无论采用哪种方式,转换过程的输入和输出都应该构成一个业务用例。这是您选择的ETL工具显示影响的地方。

加载

ETL流程的退出流程创建报告或简单地将新数据/信息推送到仪表板。实际上,这很可能会在数据库中创建新的项目以供业务使用。

加载发生在预先定义的时间段。通常,这取决于加载数据的时间敏感性。在数据不是太庞大的情况下,这可以是实时的,在连接到数据库的连接最少的情况下运行大量的数据。

ETL

结果是

在分析报告的生成中使用销售记录是一个令人满意的ETL示例。由于这些数据适用于任何业务模型,因此这种数据工作流的提取部分涉及销售数量和日期等原始数据。然后,转换阶段可以注入网站流量、来自谷歌的分析,并引导来自Salesforce的数据来创建可视化,帮助快速做出准确的决策。

通常,只需看一眼处理良好的ETL仪表板就可以做出决定。

如何选择一个好的ETL工具

在选择ETL工具以包含在您的整体数据工作流中之前,您应该对工具市场有更多的了解。就集成和与您的业务兼容而言,有些工具只触及了表面。

考虑以下ETL工具的大小特征:

  1. 自动化的选择:考虑ETL工具,它需要最少的努力来集成您的业务数据点。最好的方法是无代码工作流创建体验(将组件拖放到ETL工作流中)。当连接时,整个ETL过程不需要太多(如果有的话)技术关注来保持加载的数据的新鲜和相关。
  2. 一个精心设计的数据转换套件:最好的ETL工具提供预先编写的SQL命令来将数据转换为有用的信息。此外(最好),您还可以找到提供复杂数据转换的外部工具的集成。这个用例将站点销售数据(来自我们前面的示例)与Salesforce服务连接起来。
  3. 自动遵守法规:即使在转换数据时,也必须遵守地区法律法规。这也意味着从非营利组织到大批量零售企业的广泛适用领域。

作为最佳实践,在采用任何ETL工具之前,使用实时数据副本运行测试,以确保演示阶段之后的平稳运行。这也有助于衡量是否有任何技术差距,需要你雇佣新人。

SQL和ETL示例和用例

现在你已经清楚了SQL和ETL:让我们采用一种合并的方法来最大限度地利用数据库。

具体来说,假设你雇佣了一个会写SQL的人。这些技能足够吗?简单的事实是很难回答“不”。

数据工程师和管理员至少应该具备使用ETL工具的能力。理想情况下,应该能够构建和维护整个ETL工作流。

数据仓库

ETL工作流中的一个常见主题是包含数据仓库解决方案。这不仅为决策中包含历史数据提供了可用的空间,而且为复杂的数据转换带来了必要的计算。数据仓库的典型输出包括简单SQL命令无法提供的连接。

作为一个用例,考虑将社交媒体广告(Facebook广告数据)与具有强大分析能力的数据仓库工具进行集成,以帮助保持良好的广告支出回报。这可以是任何一个可通过api访问的会计应用程序,以便于连接和维护。

输出可以是一个更详细的支出和收入图表(与默认的Facebook仪表板相比),但也足够简单,可以知道什么时候应该增加支出。

最后的想法:你需要ETL吗?

即使在最简单的数据集上不使用ETL,也类似于抑制您的业务潜力。正是从ETL的概念中,出现了分析决策数据的新领域和新方法。

这些字段包括机器学习而且人工智能这些技术正在迅速改变世界各地的商业。

在日常管理数据时,ETL不应该是可选的。在您的流程中包含ETL可以保证为您的业务提供生存和发展所需的竞争优势。

关于“ETL和SQL:动态数据二人组”的思考

留下回复

你的电邮地址将不会公布。必填字段已标记

这个网站使用Akismet来减少垃圾邮件。了解如何处理您的评论数据

安苏沙玛

我目前在Perficient公司担任助理技术顾问。我熟悉的一些云技术包括Azure数据工厂、Azure Databricks和Azure DevOps。在Databricks和编写SQL, Python和PySpark脚本方面有丰富的质量保证(QA)工程师经验。

更多来自作者

关注我们
推特 Linkedin 脸谱网 Youtube Instagram