DATA ARCHITECTURE
现代与否:什么是数据堆栈?
“现代数据堆栈”被简单地解释为……作为一个堆栈
去年,当我发现自己正在寻找一份工作范围比我当时的职位(运营数据分析师)更广泛的工作时,我开始对公司的数据架构主题产生兴趣。特别是,我想更好地了解数据的结构和管理方式超出了我自己的数据分析范围。
这就是我进入(仍在进行中)关于“现代数据堆栈”的讨论的方式:
What is it?
我们应该尝试“捆绑”还是“解绑”?
这些数据公司是谁筹集了数百万美元?
还有更多关于这个主题的问题,我并不总是完全理解。
对于我们数据分析师来说,我们的主要职责是将业务用户的需求转化为可操作的数据,以帮助他们做出更好的决策。为此,我们的日常工具专注于数据分析(例如任何 SQL 控制台,例如 Google BigQuery 的控制台)和数据可视化(例如 Google DataStudio)。
在公司“数据范围”的另一端,数据的原始提取及其转换以使数据可供数据分析师使用和使用更多的是数据工程师的责任。至少我以前是这么看的。
为了更广泛地了解什么是数据堆栈,我进行了自己的研究。在这篇文章中,我想和你分享这个反射的输出。这里的目标是保持简单,因此当您想开始探索现代数据堆栈的概念时,应将以下解释视为“从哪里开始”指南。
从个人的角度来看,我经常回到以下两个图表来详细说明一个特定的点,或者就数据架构这个广泛的话题向同事们介绍:
- 现代数据堆栈的核心和基础块
- 现代数据堆栈中的公司示例
什么是现代数据堆栈?
首先,在业务环境中所谓的“数据堆栈”是多种技术的组合,允许公司利用数据进行决策。
添加形容词“现代”是指近年来的发展,特别是:
- 云平台的兴起,提供更便宜、更灵活的定价解决方案来存储大量数据
- 在公司数据堆栈的特定部分提供更高水平专业知识的新数据公司的出现
这些趋势意味着在术语“现代数据堆栈”下通常理解的两个主要变化。首先,针对大量数据的更便宜、更高效的存储解决方案倾向于从 ETL(提取 > 转换 > 加载)转向 ELT(提取 > 加载 > 转换)。
其次,与这些新兴数据公司相比,“一体化”解决方案的性价比往往比结合多个数据工具更差,因为它们具有更通用的方法。这意味着,如果企业选择不采用“一体化”解决方案,就需要结合多种数据技术。
构成现代数据堆栈的块是什么?
要在公司执行所有必要的数据管理任务,任何数据堆栈都必须包含以下块:
让我们从核心数据堆栈的 4 个组件开始:
1. Extract
首先,必须从各种来源中提取数据。例如,这可以通过用 Python 编写的脚本或通过服务提供商提供的本机连接器来完成。最适合的解决方案将取决于所做出的技术选择,还取决于提取原始数据的方式:通过 API(可能是最简单的方式)、通过安全文件传输协议 (SFTP)、通过网络报废等。
2. Load
然后应将提取的数据存储在适当的基础架构中。在这个区块中,公司可以在下一步之前使用数据湖和/或数据仓库来加载数据。有趣的是,像 Databricks 或 Snowflake 这样的一些供应商倾向于提供第三种方式的创新数据平台,这些平台结合了数据湖(非结构化和大数据)和数据仓库(结构化和精选数据)的优势。
3. Transform
一旦数据在一个中心位置可用(可能有多个位置用于更复杂的数据架构),就需要对其进行转换,然后才能将其用于进一步分析。这是通过多个层处理数据的地方,主要目标有两个:使数据干净(例如,避免错误的值、标准化格式)和使数据可用于第 4 步(例如,通过整合来自多个来源的数据,聚合它)。
4. Leverage
如果不使用,数据会是什么?这是产生数据输出的地方,因此对于技术团队之外的利益相关者来说,这是数据堆栈中最明显的部分。数据输出可以是报告和交互式仪表板,也可以是临时分析、数据发现工具等。
这四个块构成了现代数据堆栈的核心元素。但是,如果数据堆栈中没有两个基本元素,它们将是徒劳的:
A. Store
在“加载”和“转换”块中,我们假设存储数据和对数据应用转换的基础设施进展顺利。仅当存储配置正确并且在容量、刷新频率、使用类型等方面适应整个数据堆栈的需求时,才会出现这种情况。
B. Govern
在构建数据堆栈时,我们倾向于关注构建部分而忘记维护部分——许多应用领域可能都是这种情况。然而,数据治理工具和最佳实践是保持所有提到的数据块的数据质量并确保数据从源头到最终目的地得到正确处理的关键。
怎么办? BYODS:建立自己的数据堆栈!
在不讨论哪种工具最适合每个用例的情况下,我想展示一些与每个块相对应的技术和数据公司的示例。
在进行自己的研究和基准测试解决方案提供商时,此视图应该允许您更好地对它们进行分类。随意补充以下模板并根据您自己的情况进行调整:
虽然所有块都是形成您公司的数据堆栈所必需的,但必须做出一些权衡来选择最适合的技术组合。为了帮助您做到这一点,在绘制目标数据堆栈时,您应该问自己(当然还有相关的利益相关者)以下一些关键问题:
- 您想将光标放在“都在一个地方”与“每个特定任务一个工具”之间的哪个位置?
- 您想将光标放在“自己做”(可能使用开源技术)与“将实施委托给供应商”(可能涉及供应商锁定)之间的哪个位置?
- 在可用性和能力方面,您的内部人员能力是什么?
- 你有什么预算?
- 你在时间方面有什么限制?
Conclusion
这是现代数据堆栈的基本概述。正如我之前提到的,这并不是什么新鲜事,而是这个广泛主题的简化视图。如果您想了解更多信息,我邀请您向下滚动到“参考”部分。
在介绍现代数据堆栈的概念并与同事讨论时,我发现这些自制的图表对自己很有帮助,希望他们能给其他人提供一个很好的介绍。不要犹豫,分享你的想法!
References
- 现代数据基础设施的新兴架构 作者:Matt Bornstein、Jennifer Li、Martin Casado[0]
- 基线数据堆栈 — Ben Rogojan 超越现代数据堆栈(第 1 部分及以后)[0][1]
- Danilo Drobac 的“现代数据堆栈”[0][1]
- …并在 Google 图片和 LinkedIn 上广泛搜索“现代数据堆栈”
你喜欢阅读这篇文章吗?成为会员并加入不断壮大的好奇社区![0]
文章出处登录后可见!