ETL 和数据工程——是纯粹的工具知识还是背后有理论?

数据挖掘 数据分析 数据库 数据工程
2021-10-05 04:38:47

我想更好地了解一个优秀的数据工程师必须知道什么或做什么。职位描述主要列出所需的工具,例如 Python。如果可以将数据工程与数据科学分开,那么数据工程基于什么原则,数据工程的结果是什么?它是在创建一些数据结构吗?如果是这样,这些结构可能是什么?有标准或最佳实践吗?

2个回答

首先,我只想说我不是数据工程师,肯定有人能比我更好地回答这个问题。

我确实认为数据工程背后有很多理论。这也很有趣。我也认为这很无聊,而且我对数据科学/机器学习更感兴趣。我不确定我是否可以准确地说出数据工程基于什么原则,但它是关于如何最好地存储数据、访问数据和创建底层系统以实现更高效的计算。我读到的第一篇真正让我对这个东西感兴趣的论文是 Spark 的原始论文

我也刚刚为数据工程博士做了一个快速的谷歌搜索并遇到了这个关于如何使用“纳米结构”存储数据,正在进行许多有趣的新研究。量子数据库还有一个研究领域,这似乎是一个非常有趣的数据库抽象。

我有兴趣从该领域的其他人那里听到更明智和更完整的答案!事实上,在另一个堆栈交换站点上发布这个问题可能会很有用。

在 ETL 和数据仓库背后肯定有理论,或者至少是相互竞争的方法论,让我们来看看 Inmon vs Kimball 方法论。

简而言之(我可以就这个主题谈论几天),布鲁斯·英蒙(数据仓库之父)的方法围绕着从多个来源构建一个大型的、松散的第三规范化数据仓库,以业务领域为中心的报告星型模式可以是根据需要迅速建立和处置,而 Kimball 则专注于(通过一些阶段性步骤)直接构建到报告结构中。

根据我的经验,虽然 Inmon 哲学看起来更明智,但基于 Inmon 的项目,至少我参与过的项目,往往比基于 Kimball 的项目失败更多,主要是由于构建大型项目所需的时间和精力可以看到任何业务价值之前的数据仓库。

它还有很多内容,我可能让我自己的经验和观点玷污了方法论背后的纯粹性(你可以在谷歌上进行更大的讨论),但我提到它主要是为了说明这一点,即使是简单的(哈哈) 在移动和整合数据的过程中,已经进行了许多宗教战争 :) 另外请注意,我的大多数实际 DW 经验都是大约十年前,因此该领域可能已经发展。