Chevron Left

查看所有社区故事

Materialize 和 Metabase 流式分析

2025年2月12日

作者

Marta Paes

Materialize

photo of Marta Paes

Marta 是 Materialize 的高级 DevEx 工程师。Materialize 致力于让构建实时数据应用变得尽可能简单。在投身流系统和开发者体验领域之前,她曾担任 DWH 工程师 4 年多。你可以在 Twitter 上通过 @morsapaes 联系到她。

长期以来,将批处理管道迁移到流处理意味着需要准备好处理多种 JVM 语言和高维护的分布式框架,以及学习比你应知更多的流系统内部知识。虽然这可能适合拥有充足人力和时间预算的团队,但它使得流处理 更难被我们其他人采用

现代数据栈是如何改变这一点的?

从批处理转向流处理的飞跃过程始终充满挑战,但肯定可以减轻一些痛苦。随着 现代数据栈 (MDS) 重塑数据工程和分析的未来,一些工具正通过提供以下方式来降低该领域的入门门槛:

1) 更快地更方便地访问最新的数据;
2) 与你的常用栈融合的熟悉界面;
3) 最少的运维开销。

与此同时,“不够快”仍然是分析中的常见瓶颈,从数据 转换可视化,无处不在。致力于改变这一现状的工具之一是 Materialize,一个专为流分析和 MDS 而设计的数据库。

流分析实战

让我们使用 这个演示 来分解使用 Materialize 和 Metabase 构建端到端分析管道的基本步骤。

a screenshot with a Metabase date picker

1. 连接到流数据源

第一步是让 Materialize 知道你的数据位置和数据结构。在此演示中,我们使用 Kafka 作为源,但你也可以从 PostgreSQL 等关系型数据库开始,并将复制流推送到 Materialize(即更改数据捕获)。

2. 使用 SQL 进行数据转换建模

接下来,你需要将转换定义为 SQL 查询(你甚至可以使用 dbt!)。这些查询可以任意复杂,并使用例如子查询和 n 路连接,因为关键在于:Materialize 不会重新读取源数据并从头开始重新计算一切,而是会将查询结果以索引的形式保存在内存中,并随着新源数据的流入而增量更新它们。

3. 可视化结果

最后,你可以通过 Materialize 与 Metabase 的原生集成 来跟踪这些结果。所有查询都只是从自更新的物化视图中读取数据,因此你可以设置仪表板每秒自动刷新,而不会使服务层不堪重负,并确信你为最终用户提供的是最新、一致的见解。

有用资源

演示
博客文章:嘿,Materialize:Twitch 上有什么流式传输的内容?
Materialize 文档

作者

Marta Paes

Materialize

photo of Marta Paes

Marta 是 Materialize 的高级 DevEx 工程师。Materialize 致力于让构建实时数据应用变得尽可能简单。在投身流系统和开发者体验领域之前,她曾担任 DWH 工程师 4 年多。你可以在 Twitter 上通过 @morsapaes 联系到她。

您可能也喜欢

预测下一次点击

Ukrit Wattanavaekin

Metabase

利用数据提供可信的指标

Frédéric Vion

Subclic

您可能也喜欢

预测下一次点击

Ukrit Wattanavaekin

Metabase

利用数据提供可信的指标

Frédéric Vion

Subclic

© . This site is unofficial and not affiliated with Metabase, Inc.