TDengine简单总结

TDengine简单总结

1. 总结

先放总结:

  1. 核心代码全部开源,目前是单机开源,如果要用集群版,还是要商业版收费,毕竟带着商业目标,小数据量单机可以玩玩
  2. 未披露扩展性、数据一致性、容错性、可用性等分布式技术细节,也未披露数据库的相关特性实现细节
  3. 做性能对比选择的视角比较奇怪:客户端数对单机服务器性能的影响,其他数据库评测的都是单机性能和集群机器数带来的水平扩展能力
  4. 只支持定长的数据类型(数值、bool和字符串),字符串只支持定长,如果超出申明长度会被截断(评测也全为定长数据)
  5. 聚合函数性能对比,tdengine的函数均是非常简单的函数,所有函数加起来不到20个,并且每个数据块都已经做了预聚合(和、最大、最小值等),所以这个评测应该是 预计算 VS 即席查询,结果就不公平了
  6. 提供了简版的缓存、MQ等组件。这些组件的分布式特性未可知
  7. 可以根据查询的时间范围直接对内存数据和本地文件进行聚合查询,SQL层面不需要关心
  8. 函数和特性过少,不合适做大数据分析,针对物联网数据的特点做了针对性优化,不过其定位领域也是IOT ,如果要扩展到其他非IOT时序场景,需要多考虑考虑

有人说只是个WAL,绝壁算不算一个数据库,没条件做性能测试,期待其他第三方的全方位评测

2. 特性

官方的宣传:TDengine是一个开源的专为物联网、车联网、工业互联网、IT运维等设计和优化的大数据平台。除核心的快10倍以上的时序数据库功能外,还提供缓存、数据订阅、流式计算等功能,最大程度减少研发和运维的工作量。

  1. 核心组件全部开源
  2. 安装包1.5M
  3. 将数据库、缓存、队列、流式计算融合在一起
  4. 强悍的写入查询能力:单核每秒就能处理至少2万次请求,插入数百万个数据点,读出一千万以上数据点
  5. 资源占用低(列式存储和支持各种压缩算法)
  6. 可以根据查询的时间范围直接对内存数据和本地文件进行聚合查询,SQL层面不需要关心

3 官方的性能报告(单机):

没条件做性能测试,只放官方的单机测试报告

taos3

测试环境:单机8C16G

数据结构:1列定长字符串,4列浮点

1
2
3
create table tablename (ts timestamp, idtag binary(12), lat float, lon float, direction int);
--eg
--2016-01-01 00:00:01.111 B123456789AB 115.123 23.123 0

3.1写入性能:

奇怪的比较视角:客户端连接数 和 写入速度对比关系…

taos1

查询性能:

不能叫查询性能,应该是读取性能

了简单的查询测试,就是将插入的数据全部读出。总的读取通吐量与客户端链接数有关系,多个链接的通吐量应该比单个的要高,因此测试中测试了多个客户端的场景。

taos2

资源占用对比:

单客户端,持续写入一千万条记录,每隔一秒钟对占用的 CPU, Memory 和硬盘空间进行取样,最后平均,得到如下结果:

Average CPU Usage (%) Average Memory Usage (%) Disk Usage (K)
TDengine 17.72592593 0.514814815 245868
ClickHouse 45.2 4.86 846840
InfluxDB 67.89373134 2.909850746 184900
MySQL 88.93493205 1.811111111 487688
Cassandra 96.6736 28.082 467792
OpenTSDB 92.7164486 6.288598131 6557872

聚合函数性能对比

TDengine每个数据块都已经做了预聚合(和、最大、最小值等),所以和其他db 做函数性能对比并不公平,能远超其他通用型DB

TDengine聚合函数就这几个,不到10个

TDengine InfluxDB ClickHouse OpenTSDB MySQL Cassandra
COUNT 2.8 72 14.4 3701.8 19.2 596.6
AVG 4 74.6 12.2 3693 20.2 587.4
SUM 4.2 78.8 13 3706.6 20 589.8
MAX 4.6 77.4 12.6 3705.8 20.2 594.2
MIN 4.4 75.8 12.2 3708.4 19.2 601.4
FIRST 4 43.2 13.2 3716.8 NULL NULL
LAST 4 41.8 12.2 3718.2 NULL NULL
STDDEV 7.6 189.8 12.2 3717.6 NULL NULL
PERCENTILE 65.2 187.2 15.2 3723 NULL NULL
坚持原创技术分享,您的支持将鼓励我继续创作!
分享