对TDengine的一些看法
最近国内大数据领域比较热门的一个话题,TDengine,目前项目中也有用到一些大数据的产品,简单谈下看法
首先拥抱开源,以及国人能做出这样的一款数据库还是挺值得骄傲的,我看了官方的benchmark,各项性能指标都是非常的惊人。(个人没有实际的测试)。主要谈一下TDengine的一些设计
设备分表
确实符合物联网行业的大多数场景,通过设备分表可以在查询的时候,减少I/O操作,以及查找次数,大大提升效率。但是其实还是有点问题的,曾经的公司在(主要是一些ToB的业务),设备的量很少,只有几台最多十几台设备,但是采集频率非常高,导致数据量很大,没有PB级别,如果按照TDengine的设备分表设计的话,会导致某个数据块的数据非常大,查询效率大大降低。
Schema的设计
这个我确实不太能接受,就算是我司现在的业务,对设备进行OTA升级之后,增加采集项也是很常见的,基本上每个大版本的升级都会新增或者删减采集项,如果能做到Schema free的话会更好,目前我能想到的就是解决方案是新建超级表,然后程序自己做表路由(对聚合会有问题)。
无法逆序插入
需要使用import,采集的时间我们采用的是设备上传的时间,而非插入数据的时间,高并发写入的情况下,会存在逆序丢失数据的问题(其实影响不大)。但是看到这个设计的时候我还是有点无语。
集群版未开源
目前只能单机版测试
以上,说的可能更多是一些缺点,(优点部分大家都知道,高效,使用简单,运维方便)但是做技术选型就是有所取舍,有些可以舍弃,有些无法舍弃。
发表的看法可能有点偏颇,可能是由于我对TDengine了解比较少,欢迎讨论,目前我司还是以Hadoop组件为主。最后希望TDengine能够越来越好,让大家在做技术选型的时候可以完美抛弃HBASE,Spark,Hadoop等,拥抱TDengine。(本人并非大数据部门,只是有些开发涉及到一些大数据组件的使用)
网友评论