解决指标碎片化:将流式数据库用于指标存储

文摘   科技   2024-08-15 14:29   中国香港  

作者: 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)。因此您可以基于其他指标定义派生指标,从而享受以下益处:

  1. 降低复杂性:可以将指标逻辑分解为更易管理的模块化组件。
  2. 提高一致性:所有指标作为物化视图定义后,能确保访问的是相同版本的数据。
  3. 增强可维护性:对基础指标的更改会自动更新到派生指标,从而确保数据完整性。

5结论

本文探讨了指标存储的概念,讨论了何时需要指标存储,以及选择指标存储时应考虑的关键因素。同时,我们还探讨了将流式数据库用于指标存储的潜力,并重点介绍了 RisingWave 的独特优势。

如果您想了解更多关于 RisingWave 的功能,请参阅我们的官方文档[1],您也可以加入中文社群,与广大用户一同讨论、分享经验。

参考资料
[1]

官方文档: https://docs.risingwave.com/docs/current/intro/

关于 RisingWave 

RisingWave 是一款基于 Apache 2.0 协议开源的分布式流数据库,致力于为用户提供极致简单、高效的流数据处理与管理能力。RisingWave 采用存算分离架构,实现了高效的复杂查询、瞬时动态扩缩容以及快速故障恢复,并助力用户极大地简化流计算架构,轻松搭建稳定且高效的流计算应用。
RisingWave 始终聆听来自社区的声音,并积极回应用户的反馈。目前,RisingWave 已汇聚了 150+ 名开源贡献者和 3000+ 名社区成员。全球范围内,已有上百个 RisingWave 集群在生产环境中部署。

往期推荐

技术内幕

如何上手 RisingWave 👉 新手入门教程

RisingWave 中文用户文档上线,阅读更高效!

深入探索 RisingWave 中的高可用性与容错机制

深入理解 RisingWave 流处理引擎(三):触发机制

深入理解 RisingWave 流处理引擎(二):计算模型

深入理解 RisingWave 流处理引擎(一):总览

用户案例
视源股份(CVTE)IT 流计算应用历程
尘锋 SCRM 如何使用 RisingWave 实时打宽
RisingWave 在超百亿管理规模对冲基金公司中的应用
金融科技公司 Kaito 使用 RisingWave 实现实时智能化
龙腾出行如何通过 RisingWave 实现实时数据分析
RisingWave 助力乾象投资打造实时监控平台

RisingWave中文开源社区
RisingWave 是一款开源分布式 SQL 流数据库,致力于大幅降低流计算使用门槛与复杂度。RisingWave 已为全球超百家企业构建新一代流处理与分析平台。
 最新文章