‧
7 分钟阅读
现代数据栈(2021 年更新)
Metabase 团队
‧ 7 分钟阅读
分享这篇文章
云、开源和 SaaS 商业模式已经改变了软件行业以及公司思考和构建产品的方式。如今,我们可以在比以往更少的时间和成本内搭建起整个技术栈。毫不奇怪,这些转变为现代数据栈铺平了道路。
现代数据栈由一组灵活的技术组成,这些技术帮助企业存储、管理和从数据中学习。通常,现代数据栈构建在云服务之上,并且越来越多地包含低代码和无代码工具,这些工具使最终用户能够探索和使用数据。
什么是数据栈?
“数据栈”一词源于“技术栈”,即软件工程师为了构建产品和服务而刻意组合的不同技术。虽然技术栈可能侧重于各种用例,但数据栈专门用于支持数据的存储、管理和访问。数据栈通常由寻求在战略决策中利用其数据的公司构建。
数据栈 vs. 数据平台 vs. 数据基础设施
- 数据栈:组织用于存储、管理和访问数据的一组技术和服务。通常以技术和服务列表的形式共享,但是给定栈背后的工作和理论比简单的格式所能体现的要复杂得多。
- 数据平台:将您的数据栈实施到基础设施中,即您的每项技术和服务如何相互连接。通常以图表的形式共享,该图表抽象了底层基础设施,但显示了每个组件如何与其他组件协作。
- 数据基础设施:为您的数据栈提供支持的底层计算系统。通常以图表的形式共享,但重点是网络、硬件资源和底层 API。
数据栈的演变
底层数据基础设施架构的三大主要变化为现代数据栈铺平了道路,并构成了其定义的基础。
1. 从本地部署迁移到云端
现代数据栈通常利用云托管存储在安全性、弹性方面的改进,但更重要的是以极低的成本存储和处理大量数据。
2. 从 ETL 转向 ELT
数据仓库曾经是数据团队的巨大瓶颈。人们过去主要使用基于行的关系数据库作为数据仓库,这种数据库无法很好地扩展以适应数据分析工作负载,因为它将相关数据分散在多个磁盘或服务器上。即使使用 Hadoop 等技术,map-reduce 作业仍然需要数小时才能运行,并且编写和维护非常复杂。此外,由于传统数据仓库的处理能力有限,数据工程师过去常常在加载数据之前编写转换作业,从而产生了 ETL(提取-转换-加载)一词。现在,随着高性能云端列式数据仓库的发展,数据工程师可以在几分钟内运行 PB 级查询。借助现代数据栈,他们可以在几分钟内配置数据仓库并开始将数据加载到数据仓库中(ELT,提取-加载-转换),分析师不再需要依赖工程师来转换数据。
3. 自助分析的兴起,以普及数据探索
无论公司规模大小,对 SQL 的掌握程度都限制了人们在没有分析师帮助的情况下访问存储在数据库和仓库中的数据。例如,在传统数据栈中,希望获得访问过产品特定区域的客户列表的客户主管需要友好的工程师或分析师的帮助才能“提取”数据。
公司已经认识到这个瓶颈,并使用像 Metabase 这样的商业智能工具来授权组织中的每个人探索数据并从中找到答案。现在,设计师可以了解其功能的使用情况,高管可以探索战略选择,客户主管可以完成销售,所有这些都无需依赖分析师。
现代数据栈的优势
模块化
由于现代数据栈由具有通用标准连接点的技术组成,因此团队可以随着需求的演变更换栈的各个部分。这有助于他们避免供应商锁定,并允许团队随着数据需求的成熟而扩展其栈。
速度(运维和执行)
由于传统数据仓库的处理能力有限,管道过去需要数小时甚至数天才能运行。如今,借助现代数据栈及其对弹性计算资源的访问,同样的工作可以在几分钟内完成。
此外,由于其组件的自包含性质,现代数据栈的设置和迭代速度明显更快。如今,一家年轻的初创公司可以在短短几个小时内构建一个分析栈来跟踪他们的实验,而无需编写任何代码——这项工作在传统栈中需要花费数天或数周的时间。
成本
与本地部署的同类产品相比,基于云的技术和数据存储通常可以显著节省成本。本地数据仓库需要 100% 的时间支付服务器使用费,并且使得扩展变得困难或成本高昂。使用 Redshift、Snowflake 和 BigQuery 等基于云的数据仓库,您只需为使用的资源付费,并且可以无缝扩展以适应海量工作负载。
现代数据栈的组件
大多数团队将其数据栈组织成层——就像蛋糕一样。并非每个团队都需要覆盖每一层,但每一层都有其独特的作用,有助于构建完整、美味的配方。
例如,一位只想验证几个实验的独立创始人可能不需要复杂的转换工具,但可能需要一种将数据源连接到分析工具的方法。
数据源
这是您数据的来源:可以是您的生产数据库(例如 PostgreSQL)、Web 服务器的日志或 Stripe、Zendesk 或您正在使用的任何其他第三方应用程序。团队拥有多个数据源并将它们汇集到集中式数据存储解决方案中是很常见的。
数据摄取
这是数据如何从数据源移动和规范化到数据存储的方式。
该领域的三家主要公司是:Fivetran、Stitchdata 和 Segment。
数据存储
这是所有来自数据源的数据被聚合和存储的地方。在成熟的数据栈中,它通常是数据仓库,但在早期公司中可能只是数据库的只读副本。
该领域的三家主要公司是:Snowflake、Amazon Redshift 和 Google BigQuery。
数据转换和建模
数据转换和建模有助于将不同的数据源打包成用户友好的模型,以便人们可以探索这些组合集,而无需筛选原始数据并猜测它们代表什么。
该领域的知名公司:dbt 和 Dataform。
数据分析
数据分析有时被简化为“数据可视化”或“商业智能”,它帮助用户探索数据并从中发现见解。这通常涉及构建可视化或其他表示形式,并且可以包括仪表板和其他监控工具的开发。
现代数据分析包括帮助非技术用户探索数据而无需了解 SQL 的工具。这使他们摆脱了对开发人员和分析师的依赖,并鼓励每个人探索数据并从中学习。
我们可能有点偏颇,但我们认为 Metabase 是一个不错的选择。您可以在这里试用。
数据运营化
数据运营化也称为“反向 ETL”,是将数据从数据仓库移回第三方系统以使数据可操作的过程。例如,将客户数据从您的仓库同步到您的客户服务软件中,以便您的一线客服人员可以更好地支持他们。
该领域的知名公司:Census 和 Hightouch。
本文只是冰山一角,但我们希望它能让您清楚地了解构建和使用现代数据栈的特性和优势。
致谢,
Metabase 团队