欢迎参与 8 月 1 日中午 11 点的线上分享,了解 GreptimeDB 联合处理指标和日志的最新方案! 👉🏻 点击加入

Skip to content
On this page
技术
2024-12-24

让 Observability 更简单—— GreptimeDB 统一存储架构

本文讲述了如何将 Metrics、Logs 和 Traces 统一到强大的存储解决方案 GreptimeDB 中,彻底革新可观测性。

在当今复杂的软件系统管理中,“Observability”(可观测性)逐渐成为不可或缺的重要策略。用户对先进解决方案的需求也随之上升,GreptimeDB 的统一存储模型应运而生。通过将 Metrics、Logs 和 Traces 整合到单一平台,GreptimeDB 不仅解决了分布式架构的挑战,还显著提升了操作效率与数据分析能力,同时顺应了 AI 集成和实时数据处理的未来趋势。

为什么需要“观测”我们的程序?

每一位程序员都需要通过输出日志来调试代码——这正是 Observability 的雏形。

Observability 的来历

在一次阅读 POSIX 2024 的更新文档时,我偶然了解到了 logger(1p) 命令的新特性:包括增强多线程支持、改进参数功能以及支持批量记录等。更令人惊讶的是,这一命令的历史甚至比我的年纪还长。

(图 1: POSIX 2024 的更新介绍)
(图 1: POSIX 2024 的更新介绍)

而 Observability 的概念更早可追溯至 1960 年,工程师 Rudolf E. Kálmán 在控制理论中首次提出了“Observability”,当时主要用于物理系统的研究。如今,这一概念逐步演变,已成为现代复杂软件架构的重要组成部分。

随着分布式系统、微服务、容器化和云原生技术的兴起,系统的动态性和复杂性不断加剧,Observability 工具的需求也进入了一个全新阶段。从过去单纯监控 CPU 和内存使用率,到现在主动预测故障、持续性能优化、挖掘商业价值,Observability 已然成为现代系统不可或缺的一环。

时序数据的现状:混乱与挑战

Observability 涉及多种类型的时序数据,包括:

  • Metrics:定期生成并收集的数值,用于监控系统吞吐量、资源利用率和延迟等,揭示趋势与异常。

  • Logs:记录事件发生时的详细上下文,适用于问题定位和安全分析。

  • Traces:Traces 请求在分布式系统中的流转路径,帮助识别瓶颈和流程优化。

  • Profiles:通过采样系统行为,定位性能瓶颈。

然而,当前大多数时序数据库往往只关注其中的一部分数据类型,用户不得不部署多个工具来管理和分析数据。这种分散化导致了数据孤岛问题,使得跨类型数据关联分析变得困难重重

数据类型使用场景主流使用方案支持的查询语言
Metrics性能监控,资源利用率跟踪Prometheus, InfluxDB, GraphitePromQL
Logs调试、安全分析和审计追踪Elasticsearch, Splunk, LokiLogQL, LogsQL, EQL, ...
Traces分布式系统性能分析,请求 Flow 跟踪Jaeger, Zipkin, TempoAPI
Profiles采样 CPU 使用情况??

(表 1:Observability 数据参考)

GreptimeDB:打破数据孤岛的统一存储模型

GreptimeDB 的设计初衷是构建一个能够处理各种时序数据的统一存储平台,通过整合不同数据类型,帮助用户挖掘数据价值,实现更精准的预测和快速的问题根因分析。

从现实出发,为现实服务

时序数据本质上是反映系统地行为,而非独立存在的实体。我们相信,与其为每种数据类型单独设计数据库,不如专注于能够真实反映系统状态的核心数据。

这一理念类似于科学观察。例如,哈勃和韦布两台太空望远镜拍摄的“创生之柱”照片,因使用了不同的传感器,就展现出两种完全不同的宇宙细节,而这些细节来自于同一现实。通过更贴近真实世界的建模方式,我们能够更精确地观测到事物本身。

(图 2:《创生之柱》,哈勃望远镜(左,1995) 和韦伯望远镜(右,2022))
(图 2:《创生之柱》,哈勃望远镜(左,1995) 和韦伯望远镜(右,2022))

统一模型的架构

而时序数据主要为以下三部分组成:

  1. 时间戳(Timestamps):精确记录事件发生的时间。

  2. 标签(Tags):用于标识或分类不同实体的元数据。

  3. 字段(Fields):实际数据值,支持多维度信息。

这一简洁而灵活的模型,使得 GreptimeDB 能高效存储和查询不同类型的 Observability 数据。同时,我们通过优化压缩和索引技术,显著降低了存储成本并提升了查询速度。

特性与优势

  1. 简化架构:将多种时序数据整合至单一平台,降低运维复杂度与成本。

  2. 强大的查询能力:支持跨数据类型的无缝关联分析,加速问题定位。

  3. 显著的成本降低:经过优化的存储引擎(高效的压缩和索引技术)可节省 10-100 倍的存储成本。

展望未来

Observability 的未来必将与智能化和实时性深度融合,成为复杂系统可靠性与性能保障的关键。GreptimeDB 期待与社区携手,共创更加智能高效的技术未来。

关于 Greptime

Greptime 格睿科技专注于为可观测、物联网及车联网等领域提供实时、高效的数据存储和分析服务,帮助客户挖掘数据的深层价值。目前基于云原生的时序数据库 GreptimeDB 已经衍生出多款适合不同用户的解决方案,更多信息或 demo 展示请联系下方小助手(微信号:greptime)。

欢迎对开源感兴趣的朋友们参与贡献和讨论,从带有 good first issue 标签的 issue 开始你的开源之旅吧~期待在开源社群里遇见你!添加小助手微信即可加入“技术交流群”与志同道合的朋友们面对面交流哦~

Star us on GitHub Now: https://github.com/GreptimeTeam/greptimedb

官网:https://greptime.cn/

文档:https://docs.greptime.cn/

Twitter: https://twitter.com/Greptime

Slack: https://greptime.com/slack

LinkedIn: https://www.linkedin.com/company/greptime/

加入我们的社区

获取 Greptime 最新更新,并与其他用户讨论。