在构建任何软件应用程序时,选择合适的数据库至关重要。所有数据库在性能方面都有不同的优势和劣势,因此,针对您的特定用例和数据模型,决定哪个数据库的优势最大,劣势最小,是一项重要的决策。下面您将找到 RRDtool 和 TDengine 的关键概念、架构、功能、用例和定价模型的概述,以便您可以快速了解它们之间的比较。

本文的主要目的是比较 RRDtool 和 TDengine 在涉及 时间序列数据 的工作负载方面的性能,而不是所有可能的用例。时间序列数据通常在数据库性能方面提出了独特的挑战。这是由于正在写入的大量数据以及访问这些数据的查询模式造成的。本文并非旨在说明哪个数据库更好;它只是提供了每个数据库的概述,以便您可以做出明智的决定。

RRDtool 与 TDengine 细分


 
数据库模型

时间序列数据库

时间序列数据库

架构

RRDtool 是一个单节点、非分布式数据库,通常部署在单台机器上

TDengine 可以部署在本地、云端或作为混合解决方案,从而在部署和管理方面具有灵活性。

许可证

GNU GPLv2

AGPL 3.0

用例

监控、可观测性、网络性能跟踪、系统指标、日志数据存储

物联网数据存储、工业监控、智能能源、智能家居、监控和可观测性

可扩展性

可扩展性有限 - 更适合中小型数据集

通过集群和内置负载均衡实现水平扩展。TDengine 还提供了解耦的计算和存储,以及对象存储支持,用于某些版本中的数据分层

正在寻找最有效的方式开始使用?

无论您是寻求成本节省、更低的管理开销还是开源,InfluxDB 都能帮到您。

RRDtool 概述

RRDtool,全称 Round-Robin Database Tool(轮询数据库工具),是一个开源、高性能的数据记录和绘图系统,旨在处理时间序列数据。RRDtool 由 Tobias Oetiker 于 1999 年创建,专门用于存储和可视化时间序列数据,例如网络带宽、温度或 CPU 负载。它的主要特点是高效地存储数据点,使用固定大小的数据库,该数据库自动聚合和归档较旧的数据点,确保数据库大小随时间推移保持恒定。

TDengine 概述

TDengine 是一个高性能的开源时间序列数据库,旨在高效处理海量时间序列数据。它由涛思数据(TAOS Data)于 2017 年创建,专门为物联网 (IoT)、工业物联网和 IT 基础设施监控用例而设计。TDengine 具有独特的混合架构,结合了关系型数据库和 NoSQL 数据库的优势,提供高性能、易于使用的 SQL 查询以及灵活的数据建模功能。


用于时间序列数据的 RRDtool

RRDtool 是为时间序列数据存储和可视化而创建的,使其非常适合需要高效处理此类数据的应用程序。它的轮询数据库结构确保了恒定的存储空间使用,同时提供自动数据聚合和归档。但是,RRDtool 可能不适用于需要复杂查询或关系数据存储的应用程序,因为它的重点主要在于时间序列数据。

用于时间序列数据的 TDengine

TDengine 从一开始就被设计为时间序列数据库,因此它非常适合大多数大量涉及存储和分析时间序列数据的用例。


RRDtool 关键概念

  • 轮询数据库:一种固定大小的数据库,使用循环缓冲区存储时间序列数据,并在添加新数据时覆盖旧数据。
  • RRD 文件:一个包含 RRDtool 数据库的所有配置和数据的单个文件。
  • 整合函数:一种将多个数据点聚合为单个数据点的函数,例如 AVERAGE、MIN、MAX 或 LAST。

TDengine 关键概念

  • 超级表:用于创建具有相同模式的多个表的模板。它类似于其他一些数据库中的表继承概念。
  • 子表:基于超级表创建的表,继承其模式。子表可以具有额外的标签,用于分类和查询目的。
  • 标签:一种元数据属性,用于对超级表中的子表进行分类和筛选。标签已编入索引并针对高效查询进行了优化。


RRDtool 架构

RRDtool 是一个专门的时间序列数据库,它不使用 SQL 或传统的关系数据模型。相反,它采用轮询数据库结构,数据点存储在固定大小的循环缓冲区中。RRDtool 是一个命令行工具,可用于创建和更新 RRD 文件,以及从存储的数据生成图表和报告。它可以与各种脚本语言(例如 Perl、Python 和 Ruby)集成,通过可用的绑定实现。

TDengine 架构

TDengine 使用云原生架构,该架构结合了关系数据库(支持 SQL 查询)和 NoSQL 数据库(可扩展性和灵活性)的优势。

免费时间序列数据库指南

获取对备选方案的全面回顾以及选择数据库的关键要求。

RRDtool 功能

高效数据存储

RRDtool 的轮询数据库结构确保了恒定的存储空间使用,自动聚合和归档较旧的数据点。

绘图

RRDtool 提供了强大的绘图功能,允许用户从存储的时间序列数据生成可自定义的图表和报告。

跨平台支持

RRDtool 可在各种平台上使用,包括 Linux、Unix、macOS 和 Windows。

TDengine 功能

数据摄取

TDengine 支持高速数据摄取,能够每秒处理数百万个数据点。它支持批量和单个数据插入。

数据查询

TDengine 提供 ANSI SQL 支持以及额外的功能,允许用户使用熟悉的 SQL 语法轻松查询时间序列数据。它支持各种聚合函数、筛选和连接。

数据保留和压缩

TDengine 自动压缩数据以节省存储空间,并提供数据保留策略以自动删除旧数据。


RRDtool 用例

网络监控

RRDtool 通常用于网络监控应用程序中,以存储和可视化带宽使用率、延迟和数据包丢失等指标。

环境监控

RRDtool 可用于跟踪和可视化环境数据,例如温度、湿度和气压随时间的变化。

系统性能监控

RRDtool 适用于存储和显示系统性能指标,例如 CPU 使用率、内存消耗和磁盘 I/O,用于服务器和基础设施监控。

TDengine 用例

物联网数据存储和分析

TDengine 旨在处理物联网设备生成的海量时间序列数据。其高性能的摄取、查询和存储功能使其成为物联网数据存储和分析的理想选择。

工业物联网监控

TDengine 可用于存储和分析来自工业物联网传感器和设备的数据,帮助组织监控设备性能、检测异常并优化运营。

基础设施监控

TDengine 可用于收集和分析来自 IT 基础设施组件(例如服务器、网络和应用程序)的时间序列数据,从而促进实时监控、警报和性能优化。


RRDtool 定价模型

RRDtool 是一款开源软件,根据 GNU 通用公共许可证免费提供使用。用户可以免费下载、使用和修改该软件。该项目不直接提供商业许可选项或付费支持服务。

TDengine 定价模型

TDengine 是开源的,根据 AGPLv3 许可证免费使用。TDengine 还为需要额外功能、支持或符合特定许可要求的组织提供商业许可证和企业支持选项。