近日,TDengine 3.0.2.0 正式公布了。这是自往年 8 月份 TDengine 3.0 公布以来的第一个重要改良版本。
TDengine 3.0 带来了几大外围个性,包含云原生架构、流式计算,还加强了数据订阅性能;更重要的是,3.0 系列版本开始提供了全平台反对,服务器 / 客户端均已反对 Linux、Windows 和 MacOS。
TDengine 3.0 是一款真正的云原生时序数据库(Time Series Database,TSDB)。它有几大亮点:
- 能够反对 10 亿个设施、100 个节点
- 反对存储与计算拆散,引入了计算节点(QNode),并重构了整个计算引擎
- 欠缺并优化了对音讯队列、流式计算和缓存的反对,引入事件驱动的流式计算
- 解决了困扰时序数据库的高基数问题
3.0 公布之后,大量用户下载试用,也提供了很多有价值的反馈。最近一段时间,研发团队引入各类外部优化共 455 个,包含晋升零碎稳定性,改良写入和查问性能,以及优化内存应用效率。为了保证系统品质,研发团队还开发了数千个性能、性能和稳定性测试用例。
通过诸多优化之后,TDengine 的性能也失去了充沛的晋升和验证。
上面咱们看一下到 3.0.2.0 版本为止,TDengine 3.0 提供的次要个性和加强:
- 反对事件驱动的流式计算
反对用 SQL 语法创立流式计算,不便用户轻松实现较为简单的业务逻辑
CREATE STREAM [IF NOT EXISTS] stream_name [stream_options] INTO stb_name AS subquery
stream_options: {TRIGGER [AT_ONCE | WINDOW_CLOSE | MAX_DELAY time]
WATERMARK time
IGNORE EXPIRED [0 | 1]
}
- 为反对数据订阅,提供了一个全新的音讯队列、
基于 WAL 从新设计了数据订阅性能,具体利用可参考相干文档
- 反对新的 SQL 查问语法,去掉了对一些查问语法的限度
具体变更可参考相干文档
- 采纳了 Raft 协定来保障分布式一致性,反对在 3 正本的状况下主动启用 Raft 协定
- 增加了新的元数据库,用于记录集群中的所有元数据
- 利用 B+ 树记录 vnode 中的元数据
- 为疾速检索标签数据,减少了倒排索引
除了性能方面,新版本也针对大量场景优化了写入和查问性能,以及启动和复原速度,具体包含:
- 优化了存在大量子表时的数据写入性能
- 优化了 select count(*) 的性能
- 专门优化了 avg、twa、last_row、first、interp 等大量函数的性能
- 提供了一个可配置的缓存,用来保留各种类型的最新数据
- 优化了 show 命令,局部状况下能够提供更多信息
- 晋升系统启动速度
- 改良了三正本状况下有节点宕机时的复原速度
- 新版本还解决了一系列内存泄露问题和 bug。
详细信息,能够参考公布阐明。欢送宽广用户下载应用,有任何应用问题,也欢送及时分割咱们,取得反对。
想理解更多 TDengine Database 的具体细节,欢送大家在 GitHub 上查看相干源代码。