作者: Heng Ma|RisingWave Labs Content Lead
随着组织的发展壮大,企业常常会遇到一个问题:各部门数据指标的不一致。具体来说,不同团队可能使用各自的系统和定义来跟踪相同的关键指标,导致数据分散,无法全面反映公司的整体表现。
该问题的根源在于许多组织采取去中心化管理方式,各部门自行聘请数据专家独立管理指标,缺乏集中监督和标准化,企业因而难以对数据有全面一致的把握。
这些指标碎片化对有效的数据驱动决策构成了重大障碍。为了解决这一挑战,企业需要一个集中化的指标存储系统,作为企业关键绩效指标的唯一可信来源。
1什么是指标存储
指标存储(Metrics Store)是用于管理组织关键绩效指标(KPI)和其他指标的中央系统,是数据源和分析工具的连接桥梁。
简单来说,指标存储就是管理所有指标的地方,是组织中所有指标的唯一可信来源。
指标存储
实施专门的指标存储有显著益处。它消除了不同部门之间指标分散和不一致的问题,确保了整个组织的数据一致性和协调性,还减少了各个团队独立管理指标定义和计算时的资源浪费。
那么,选择一个指标存储时应考虑哪些因素呢?
2选择指标存储的关键因素
实时摄取数据
指标存储必须能够访问所有相关数据,这些数据通常分布在各种系统中,如数据仓库、SaaS 应用和自定义 API。指标存储需要能够实时从这些多样的数据源中摄取数据。
高效实时处理
指标计算通常需要实时过滤和联接来自多个来源的数据。像 Spark 和 Flink 这样的流处理框架可能过于复杂,而批处理管道又往往过于缓慢,理想解决方案是在这两者间找到平衡点。
保持数据一致
派生指标需要使用同版本的数据。例如,如果两个指标基于相同数据源,就应使用相同时间点的数据。这就要求您的指标存储在进行数据访问时低延迟,通常需在一秒内。
广泛兼容工具
尽管指标集中化很重要,但不同团队往往偏好特定的 BI 工具。一个灵活的指标存储应能够无缝集成广泛的分析平台,以满足这些偏好。
稳定且可扩展
作为一个中央管理系统,指标存储必须保持稳定,并能适应数据编辑和访问工作负载造成的波动。您的指标存储需要能够高效处理多个系统的并发访问,并随着需求的增长进行扩展。
3将流式数据库用于指标存储
流式数据库,如 RisingWave,是一种新兴技术,能够基于 SQL 处理流数据。流式数据库通常采用增量计算,维护本地数据存储,以快速处理查询请求。
虽然流式数据库最初并非为指标存储设计,但其具有的多种特性,让流式数据库非常适合用于指标存储:
高效实时处理数据
流式数据库优化了数据的实时接收和处理,因此能够确保低延迟。其内置的各种 Source 和 Sink,使之成为数据源与 BI 系统之间的理想桥梁。
基于 SQL 定义指标
流式数据库利用 SQL 进行数据处理,可以通过简洁的 SQL 查询来创建指标定义。这与负责定义和管理业务指标、通常偏爱 SQL 的数据科学家需求相符。
支持复杂计算转换
流式数据库能够执行复杂的转换操作,包括窗口计算和 Top-N 查询。这有助于定义涉及复杂计算和转换的指标。
一致性和可扩展性
通过增量处理数据并始终保持最新结果,流式数据库能确保派生指标的一致性。同时,其架构还支持高并发查询和数据量增长的可扩展处理。
4用 RisingWave 做指标存储
同为流式数据库,RisingWave 更是尤其适合指标存储,除了上述功能,它还具有更多特色功能,如:
兼容 PostgreSQL 的 SQL
RisingWave 采用与 PostgreSQL 相兼容的 SQL 语句,因此通过标准 PostgreSQL 驱动程序能与众多分析工具无缝集成。这种兼容性降低了使用难度,并扩大了可以与指标存储交互的工具范围。
嵌套物化视图
RisingWave 支持基于物化视图创建物化视图(MV-on-MV)。因此您可以基于其他指标定义派生指标,从而享受以下益处:
降低复杂性:可以将指标逻辑分解为更易管理的模块化组件。 提高一致性:所有指标作为物化视图定义后,能确保访问的是相同版本的数据。 增强可维护性:对基础指标的更改会自动更新到派生指标,从而确保数据完整性。
5结论
本文探讨了指标存储的概念,讨论了何时需要指标存储,以及选择指标存储时应考虑的关键因素。同时,我们还探讨了将流式数据库用于指标存储的潜力,并重点介绍了 RisingWave 的独特优势。
如果您想了解更多关于 RisingWave 的功能,请参阅我们的官方文档[1],您也可以加入中文社群,与广大用户一同讨论、分享经验。
官方文档: https://docs.risingwave.com/docs/current/intro/
关于 RisingWave
往期推荐
技术内幕