鼎鼎知识库
Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

好的大数据平台更懂场景更少做事.md 2.9KB

假设在一个国际会议现场,一位演讲嘉宾对来自世界各地的与会者演讲,如果没有同声翻译,这会就没法开了。同样地,在大数据处理方面,无论我们是Hadoop系列的HDFS、MapReduce、HBase和Hive,还是实时流处理Flink,如果需要使用不同的开发工具、客户端、语言,这会带来陡峭的学习曲线、不菲的学习成本和运维成本。今天简单研究了TDengine这个大数据平台,发现其中的设计思想和理念非常好:少做事、更懂场景。

TDengine更懂物联网场景。和其它大数据平台不一样,TDengine对物联网场景下的数据进行了深入分析,发现物联网数据其它数据源有着很大的不同。

TDengine把物联网数据投射到了不同维度:

  • 数据源:数据源唯一,来自传感器
  • 时间: 物联网数据一定自带时间戳
  • 结构:物联网数据数据是结构化的,而很多互联网数据是非结构化的
  • 操作:写多读少,极少更新、删除
  • 用户希望看到的结果:是趋势不是某一时间点值
  • 保存:数据保存有期限
  • 查询:基于时间段和地理区域查询
  • 计算:需要实时计算
  • 数据量:稳定可预测

正是因为少做事,对物联网数据了解更深,以上不同维度信息带来了很好的信息增益,很大程度上降低了信息熵,消除了不确定性。在这些信息基础之上,就可以设计出创新的、原创的时序处理引擎、压缩算法、存储结构。

从表现来看,单核每秒可以处理2万次请求,插入数百万个数据点,瞬间读出一千万以上数据点。在其官网的测试报告中,TDengine在写入速度和查询速度方面的表现远远好于其它时序数据、关系数据,包括InfluxDB, OpenTSDB, Cassandra, MySQL, ClickHouse。

如何用TDengine呢

物联网数据的处理大致包括以下流程和环节:

  • 数据采集
  • 数据清洗
  • 数据传输
  • 数据存储
  • 数据计算:批量计算和实时计算
  • 机器学习
  • 数据查询
  • 数据可视化

TDengine在数据传输、存储、计算、查询方面值得尝试。在数据传输方面,TDengine集成了消息队列功能,可替代传统的Kafka;在数据存储方面,包括了时序数据库和缓存,可替代其它时序数据库和Redis缓存;在计算方面,融合了流式计算,可替代Spark;在查询方面,无论是十年前还是一秒钟前的指定时间范围内的数据,都可以做到快速响应。

所有操作都在一个客户端软件上进行。可通过API方式开发。

截止到目前为止,在其github主页上已经积累了超过4000个Star,和1000个Fork,相当厉害。

另外,TDengine的源代码是开源,但有其收费产品。收费产品是TDengine企业版和TDengine云服务版。免费产品是TDengine社区版。