首页 > 数据库 >TSBS 是什么?为什么时序数据库 TDengine 会选择它作为性能对比测试平台?

TSBS 是什么?为什么时序数据库 TDengine 会选择它作为性能对比测试平台?

时间:2023-05-08 16:35:11浏览次数:35  
标签:场景 TDengine 性能 InfluxDB 时序 TimescaleDB TSBS

去年 8 月我们在 TDengine 开发者大会上正式发布了 TDengine 3.0,TDengine 也由此升级成为了一款云原生时序数据库(Time Series Database,TSDB)。为了客观、准确、有效地评估 TDengine 3.0 的性能指标,我们决定使用 TSBS(Time Series Benchmark Suite)作为基准性能测试平台,针对 DevOps 场景的数据集对 TDengine 3.0 展开整体(包括写入、查询、存储、资源消耗等)性能评估。


 


TSBS 是一个时序数据处理(数据库)系统的性能基准测试平台,提供了 IoT、DevOps 两个典型应用场景,它由 Timescale 开源并负责维护。作为一个性能基准测试平台,TSBS 具有便捷、易用、扩展灵活等特点,涵盖了时序数据的生成、写入(加载)、多种类别的典型查询等功能,并能够自动汇总最终结果。由于其开放开源的特点,得到了众多数据库厂商的支持,作为专业的产品性能基准测试平台被若干数据库厂商广泛使用。


 



以下的性能基准报告均使用了 TSBS 作为基础 Benchmark 平台,我们从时间跨度和发布厂商的知名度同时来看,就能发现,基础测试平台 TSBS 已经具备了很高的认可度:



  • 2018 年 11 月,VictoriaMetrics 的创始人 Aliaksandr Valialkin 发布 《High-cardinality TSDB benchmarks: VictoriaMetrics vs TimescaleDB vs InfluxDB》,将 VictoriaMetrics 与 TimescaleDB、InfluxDB 进行性能对比。
  • 2018 年 11 月,文章《ClickHouse Crushing Time Series》中对比了 TimescaleDB, InfluxDB, ClickHouse 在时序数据场景下的性能。
  • 2020 年 3 月,Cloudera 在网站博客中发布《Benchmarking Time Series workloads on Apache Kudu using TSBS》,在 DevOps场景 中对比了 Apache Kudu, InfluxDB, VictoriaMetrics, ClickHouse 等整体性能表现。
  • 2020 年 3 月, Redis 发布了基于 TSBS 的性能报告《RedisTimeSeries Version 1.2 Benchmarks》。
  • 2020 年 8 月,Timescale 在其官方博客发布了性能对比报告《TimescaleDB vs. InfluxDB: Purpose Built Differently for Time-Series Data》。
  • 2021 年 8 月,QuestDB 发布了 QuestDB 与 TimescaleDB 的性能对比报告——《QuestDB vs. TimescaleDB》。

 


DevOps 场景是一个典型的时序数据应用场景,TSBS DevOps 场景提供了 CPU 状态的模拟数据,针对每个设备(CPU)记录其 10 个测量值(metric),1 个时间戳(纳秒分辨率),10 个标签值(tag)。生成的数据每 10 秒间隔一条记录,具体的内容和示例数据如下:

 


TSBS 测试可以简单划分为两个主要部分——数据写入和数据查询。在本次整个基准性能评估中,共涉及以下五个场景,每个场景的具体数据规模和特点见下表:


 


 


通过上表可以看到,五个场景的区别主要在于数据集所包含的设备记录数量、设备数的不同,数据时间间隔均维持在 10 sec。整体来看,五个场景的数据规模都不算大,数据规模最大的是场景五,数据达到了 1.8 亿,数据规模最小的是场景一,只有 2678 万条记录。在场景四和场景五中,由于设备数量相对较多,所以数据集仅覆盖了 3 分钟的时间跨度。


 


为了保证测试结果的公正可靠及可复制性,我们选用了公共 IaaS 平台来搭建 Benchmark 基础硬件环境,采用了大多数性能对比报告中使用的场景——亚马逊 EC2 服务环境下 r4.8xlarge 类型的实例作为基础运行平台,区域为北美地区,包括 1 台服务器、1 台客户端。客户端与服务器硬件配置完全相同,两者使用 10 Gbps 网络连接。配置简表如下:


 

 


本次测试的对比软件为 InfluxDB1.8.10 及 Timescale 2.6.0,在这里要着重说明一下,由于 InfluxDB 最新的 2.0 版本并没有纳入 TSBS 的主干分支,因此在这次测试中我们暂且使用了 TSBS 主干分支所支持的 InfluxDB 最新版本,即 1.8.10。


 


整个 TSBS 测试流程相对比较简单,在进行写入性能对比时,配置完成参数后直接运行 TSBS 框架脚本,等待结果输出即可。对于查询处理,我们选择了批量自动化去运行,对每个查询语句运行 5000 次,统计查询延迟的算数平均作为最后的查询延迟结果。此外我们还全程监控并记录了整个过程中服务器与客户端节点的系统资源开销与负载情况。


 


下面可以简单为大家介绍下本次测试结果。如下表所示,在全部五个场景中,TDengine 写入性能均优于 InfluxDB 和 TimescaleDB,写入过程中资源占用最低。对比 InfluxDB,TDengine 写入最优的场景是在 1000 万设备下,达到了 InfluxDB 的 10.6 倍;对比 TimescaleDB ,TDengine 写入最优的场景是在 4000 个设备下,达到了 TimeScaleDB 的 6.7 倍。


 



 


在查询测试上,我们将其分为 5 大类、15 小类进行查询对比,从下图结果汇总中可以看到,在全部 15 个查询类型中,TDengine 的性能均优于 InfluxDB 和 TimescaleDB,并且它的所有查询延迟均比 InfluxDB 和 TimescaleDB 更低。亮点数据之一体现在 Double Rollups 查询类型对比中,TDengine 最大达到 InfluxDB 的 34 倍,TimescaleDB 的 24 倍。


 



 


以上就是 TDengine 基于 TSBS 测试报告的测试背景介绍,如果你对测试结果感兴趣,欢迎点击进入官网查阅 整体报告。

标签:场景,TDengine,性能,InfluxDB,时序,TimescaleDB,TSBS
From: https://blog.51cto.com/tdengine/6254934

相关文章

  • 用最低成本实现高性能写入、查询、存储,揭秘 TDengine 技术实现逻辑
    从《写入性能:TDengine最高达到InfluxDB的10.3倍,TimeScaleDB的6.74倍》、《查询性能:TDengine最高达到了InfluxDB的37倍、TimescaleDB的28.6倍》两篇文章中,我们发现,TDengine(TimeSeriesDatabase)不仅在写入和查询性能上超越了InfluxDB和TimescaleDB,在数据处理过......
  • 从建模思路看 MySQL 和 TDengine 哪个更适合处理量化交易场景下的海量时序数据
    在“量化投资分析”场景中,系统需要从数据接口、网络上等各个地方获取证券的信息,其中往往以“实时的价格变动信息”为主要数据,然后再对这些数据进行实时的分析与存储,供盘中和盘后使用。某企业遇到的问题如下:“我们要对500个证券品种进行监控,在开盘时,每5秒会更新一次价格数据。这......
  • 我在比较时序数据时,程序报错说数据标签有问题
    大家好,我是皮皮。一、前言前几天在Python白银群【黑白人生】问了一个Pandas数据处理的问题,这里拿出来给大家分享下。截图如下图所示:数据截图如下所示:二、实现过程这里【论草莓如何成为冻干莓】给了一个思路,如下所示:看上去还是有点深奥的。后来【瑜亮老师】也指导了一波。顺利的解决......
  • 时序约束(3)B站尤老师
    时序约束模型(1)让数据多延时一点 时序约束模型(2)让时钟多延时一点对于第一种时序约束模式,如果PLL采用的右移,那么需要采用multicycle约束 使用第二个上升沿进行时序分析对于DDR的时序分析边沿对齐模式,此种方式使得时钟延时尽量大 对于DDR的约束需要勾选AddDelay,否则......
  • 我在比较时序数据时,程序报错说数据标签有问题
    大家好,我是皮皮。一、前言前几天在Python白银群【黑白人生】问了一个Pandas数据处理的问题,这里拿出来给大家分享下。截图如下图所示:数据截图如下所示:二、实现过程这里【论草莓如何成为冻干莓】给了一个思路,如下所示:看上去还是有点深奥的。后来【瑜亮老师】也指导了一波......
  • 8080并口时序
    介绍8080并口协议有多种类型,主要通过bus_interface的线数进行区分,主要有8-bit、16-bit、9-bit、18-bit等四种模式。第一类:  MCU-InterfaceMode  Register/Content        GRAM  8080  8-bitmode     D[7:0]    D[7:0],WRX,RDX,CSX,D/CX(RS) 80......
  • 时序约束总结(2)net18
    课程中对rx_clk和rx_data进行时序约束,实际采用时钟是经过PLL相移的rx_clk_90时钟和rx_datarx_ctrl的约束假设时钟Tskew的偏斜=2 ,数据的偏斜一般都很小,大概是数据周期的1/40,假设周期为8ns,则数据偏斜为0.2ns  注意,这里是双边沿采样之前章节的计算方法:dMax=2+sk......
  • 时序约束总结
    关于输入时钟的时序约束,如果输入的基准时钟没有送入PLL就直接给内部模块使用,那么需要进行时序约束,点击IMPLEMENTATION,完成后打开报告时序报告,关闭红色箭头所指的报告 进行时钟的约束 点击加号,添加需要约束的时钟,输入时钟的名称(可自定义),添加时钟源  I/OPort指top层......
  • 时序预测 | MATLAB实现BO-CNN-LSTM贝叶斯优化卷积神经网络-长短期记忆网络时间序列预
    ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。......
  • 时序逻辑基础
    时序逻辑基础1简单概要同步所有触发器的状态变化都是在同一时钟信号作用下同时发生的。非同步没有统一的时钟脉冲信号,各触发器状态的变化不是同时发生,而是有先有后。米利输出状态不仅与存储电路的状态Q有关,而且与输入也有关。摩尔输出状态仅与存储......