Chevron Left

查看所有社区故事

使用 Materialize 和 Metabase 进行流式分析

2025 年 2 月 12 日

作者

Marta Paes

Materialize

photo of Marta Paes

Marta 是 Materialize 的高级开发体验工程师,该公司致力于让实时数据构建尽可能简单。在涉足流系统和开发体验领域之前,她曾担任数据仓库工程师 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 的高级开发体验工程师,该公司致力于让实时数据构建尽可能简单。在涉足流系统和开发体验领域之前,她曾担任数据仓库工程师 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.