为什么要从 OpenTSDB 迁移到 TDengine

作为一个分布式、可伸缩、基于 HBase 的分布式时序数据库Time Series Database)系统,得益于其先发优势,OpenTSDB 被 DevOps 领域的人员引入并广泛地应用在了运维监控领域。但最近几年,随着云计算、微服务、容器化等新技术快速落地发展,企业级服务种类变得越来越多,架构也越来越复杂,应用运行基础环境日益多样化,给系统和运行监控带来的压力也越来越大。从这一现状出发,使用 OpenTSDB 作为 DevOps 的监控后端存储,越来越受困于其性能问题以及迟缓的功能升级,以及由此而衍生出来的应用部署成本上升和运行效率降低等问题,这些问题随着系统规模的扩大日益严重。

在这一背景下,为满足高速增长的物联网大数据市场和技术需求,在吸取众多传统关系型数据库、NoSQL 数据库、流计算引擎、消息队列等软件的优点之后,涛思数据自主开发出创新型时序数据库 TDengine。在时间序列数据的处理上,TDengine 有着自己独特的优势。就 OpenTSDB 当前遇到的问题来说,TDengine 能够有效解决。

相对于 OpenTSDB,TDengine 具有如下显著特点:

  • 数据写入和查询的性能远超 OpenTSDB;
  • 针对时序数据的高效压缩机制,压缩后在磁盘上的存储空间不到 1/5;
  • 安装部署非常简单,单一安装包完成 database 的安装部署,不依赖其他的第三方软件,整个安装部署过程秒级搞定;
  • 提供的内建函数覆盖 OpenTSDB 支持的全部查询函数,还支持更多的时序数据查询函数、标量函数及聚合函数,支持多种时间窗口聚合、连接查询、表达式运算、多种分组聚合、用户定义排序、以及用户定义函数等高级查询功能。采用类 SQL 的语法规则,更加简单易学,基本上没有学习成本。
  • 支持多达 128 个标签,标签总长度可达到 16 KB;
  • 除 RESTful 接口之外,还提供 C/C++、Java、Python、Go、Rust、Node.js、C#、Lua(社区贡献)、PHP(社区贡献)等多种语言的接口,支持 JDBC 等多种企业级标准连接器协议。

如果我们将原本运行在 OpenTSDB 这个 database 上的应用迁移到 TDengine 上,不仅可以有效地降低计算和存储资源的占用、减少部署服务器的规模,还能够极大减少运行维护的成本的输出,让运维管理工作更简单、更轻松,大幅降低总拥有成本。与 OpenTSDB 一样,TDengine 也已经开源,不同的是,除了单机版,后者还开源了集群版。

TDengine 提供了丰富的帮助文档说明集群安装、部署的诸多方面的内容,不用编写一行代码,就能够将基于 OpenTSDB 的应用快速、安全、可靠地迁移到 TDengine之上。