TDengine 合作伙伴 +1,这次是「DaoCloud道客」

Posted 涛思数据TDengine

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TDengine 合作伙伴 +1,这次是「DaoCloud道客」相关的知识,希望对你有一定的参考价值。

为进一步实现开发的提质增效,近日,北京涛思数据科技有限公司与上海道客网络科技有限公司完成产品兼容性互认证。经过双方严格测试,「TDengine 时序数据库企业版」与「DaoCloud Enterprise云原生应用云平台V5.0 」相互兼容,运行稳定、安全可靠。
随着我国数字经济持续快速发展,各行各业都在积极拥抱云技术,上云成为企业加快数字化转型步伐的关键一步。在此过程中,越来越多的企业开始意识到云原生技术的重要性,利用云原生更快地开发和部署应用程序,提高应用程序的可靠性和可扩展性。
 
为进一步实现开发的提质增效,近日,北京涛思数据科技有限公司与上海道客网络科技有限公司完成产品兼容性互认证。经过双方严格测试,「TDengine 时序数据库企业版」与「DaoCloud Enterprise云原生应用云平台V5.0 」相互兼容,运行稳定、安全可靠。
云原生技术作为新型基础设施,可帮助企业充分享受云的弹性、灵活,实现平滑迁移、快速开发、稳定运维,助力企业提质增效。在此背景下,TDengine 在 3.0 版本中也充分融合了云原生技术,发展成为了一款真正的云原生时序数据库,支持 10 亿个设备采集数据、100 个节点,支持存储与计算分离,解决了困扰时序数据库发展的高基数难题。
 
通过此次产品兼容性认证,依托涛思数据在时序数据库领域上的技术创新和深耕探索,以及「DaoCloud道客」在云原生及核心领域 Kubernetes方面的技术沉淀,双方将发挥各自产品技术优势,推动产品体系的生态融合,全面提高产品竞争力,携手助力企业加速云原生落地进程,推进数据基础设施的架构革新,为各行各业数字化转型贡献力量。
 
关于道客科技
上海道客网络科技有限公司被誉为科技领域准独角兽企业,成立于 2014 年底,公司拥有自主知识产权的核心技术,致力于打造开放的云操作系统为实体经济赋能,推动传统企业完成数字化转型。成立迄今,公司已在金融科技、先进制造、智能汽车、零售网点、城市大脑等多个领域深耕,标杆客户包括交通银行、浦发银行、上汽集团、东风汽车、海尔集团、金拱门(麦当劳)等。
 
关于 TDengine
TDengine 是一款开源、高性能、云原生的时序数据库(Time Series Database),由专注时序大数据处理的北京涛思数据科技有限公司(TAOS Data)研发并拥有自主知识产权。作为一款专为物联网、工业互联网、金融、IT 运维监控等场景设计并优化的时序数据库,TDengine 具有极强的弹性伸缩能力,同时还带有内建的缓存、流式计算、数据订阅等系统功能,能大幅减少系统设计的复杂度,降低研发和运营成本,是一个极简的时序数据处理平台。

让你全面了解TDengine

一篇文章让你全面了解TDengine

本文将从以下几个方面全面介绍TDengine。

  • TDengine的基本介绍
  • TDengine的发展历程
  • TDengine的优势
  • TDengine的适用场景
  • TDengine的写入存储策略
  • TDengine的特点

TDengine的基本介绍

一句话了解TDengine

TDengine是一个高效的存储、查询、分析时序大数据的平台,专为物联网、车联网、工业互联网、运维监测等优化而设计。你可以像使用关系型数据库MySQL一样来使用它,简单又方便。

为什么会有TDengine

TDengine总结出了物联网数据的十三大特点:

  1. 数据是时序的,一定带有时间戳;
  2. 数据是结构化的;
  3. 数据极少有更新或删除操作;
  4. 数据源是唯一的;
  5. 相对互联网应用,写多读少;
  6. 用户关注的是一段时间的趋势,而不是某一特点时间点的值;
  7. 数据是有保留期限的;
  8. 数据的查询分析一定是基于时间段和地理区域的;
  9. 除存储查询外,还往往需要各种统计和实时计算操作;
  10. 流量平稳,可以预测;
  11. 往往需要有插值等一些特殊的计算;
  12. 数据量巨大,一天采集的数据就可以超过100亿条。

总结出这些特点后,会发现物联网数据像日志数据,几乎没有更新操作的可能,那数据库中的事务处理的实现就完全多余;数据是时序的,时间戳自然可以作为主键,根本不需要复杂的索引结构;

物联网数据是结构化的,像HBase、Cassandra那样用Key-Value来存储,计算效率和存储效率大打折扣,应该采用结构化存储才行;

物联网数据的冷热程度是时间决定的,刚采集的数据是最热的,而不是用户点击决定。因此用简单的先进先出的内存管理就能很好的实现高效的缓存,根本就不需要Redis;

物联网数据从一个设备来看,就是一个数据流,实现滑动窗口的流计算那不是一个最顺其自然的事情,哪用得上Spark这么复杂的引擎;

对于数据分区,简单的按设备分区按时间段分区,就轻松解决,根本就不需要复杂的分区机制;

物联网数据流是相对平稳的,而且物联网设备本身一定有缓存能力,完全可以抛弃Kafka这些套件,实现一个简单的消息队列和数据订阅来满足需求。

随后又发现有时序数据库,马上看他们文档和代码,发现他们利用了时序数据一些特点,但还是没有充分利用,而且只是定位为一个数据库。

后面又了解到工业界有实时数据库,发现这些实时数据库都是老古董产品了,基本上都还是Windows上研发,价格贵,而且没有标准SQL,水平扩展几乎没有,大数据分析能力几乎没有,完全没有能力应对日益增长的大数据量和大数据分析需求,迟早会被淘汰。

一个分布式高可靠、持久化存储的消息队列,每台手机需要推送的消息就放在一个队列里。消息队列与物联网的时序数据有区别吗?本质上没有。

一个是非结构化的,一个是结构化的;

一个是简单的进和出,但另外一个是需要有分析和计算的;

两者在系统的架构设计上没有大的不同。

因此TDengine迅速定位了自己要做的产品,那就是物联网大数据平台,要把时序数据库、缓存、消息订阅、流式计算等系列功能融合在一起,一站式的解决物联网大数据问题,这样才能将系统研发、维护的复杂度与成本大幅降低。

研究完物联网数据的特点后,TDengine做了两个技术创新点,

  1. “一台设备一张表”的数据模型来极大提高单台设备的数据插入和查询效率
  2. 给每张表打静态标签,将静态标签数据与采集的动态数据完全分开存储,来解决多表聚合查询问题

TDengine的开源协议

TDengine目前已经在GitHub上进行了开源。采用是AGPL许可。AGPL的全称为:GNU Affero General Public License,是GPL的一个补充,在GPL的基础上加了一些限制。

开源项目地址:https://github.com/taosdata/TDengine

TDengine的发展历程

  • 2017年,涛思数据开始研发TDengine
  • 2018年8月,TDengine的第一款产品真正交给用户使用,从一开始研发到对外推出可用的产品大概花了一年半的时间
  • 2019年7月12日,涛思数据正式宣布将TDengine的内核(存储和计算引擎)以及社区版100%开源
  • 2020年1月,涛思数据获GGV等近千万美元Pre-A轮投资,研发开源的物联网大数据平台TDengine
  • 2020年4月,涛思数据宣布完成超过1000万美元的A轮融资,三个月内完成两轮千万美元融资

TDengine的优势

  1. 10 倍以上的性能提升:定义了创新的数据存储结构,单核每秒能处理至少 2 万次请求,插入数百万个数据点,读出一千万以上数据点,比现有通用数据库快十倍以上。
  2. 硬件或云服务成本降至 1/5:由于超强性能,计算资源不到通用大数据方案的 1/5;通过列式存储和先进的压缩算法,存储占用不到通用数据库的 1/10。
  3. 全栈时序数据处理引擎:将数据库、消息队列、缓存、流式计算等功能融合,应用无需再集成Kafka/Redis/HBase/Spark/HDFS 等软件,大幅降低应用开发和维护的复杂度成本。与第三方工具无缝连接:不用一行代码,即可与 Telegraf, Grafana, Matlab, R 集成。后续将支持 MQTT, OPC, Hadoop,Spark等, BI工具也将无缝连接。
  4. 强大的分析功能:无论是十年前还是一秒钟前的数据,指定时间范围即可查询。数据可在时间轴上或多个设备上进行聚合。即席查询可通过 Shell, Python, R, MATLAB 随时进行。
  5. 高可用性和水平扩展:通过分布式架构和一致性算法,通过多复制和集群特性,TDengine确保了高可用性和水平扩展性以支持关键任务应用程序。
  6. 零运维成本、零学习成本:安装集群简单快捷,无需分库分表,实时备份。类似标准 SQL,支持 RESTful,支持 Python/Java/C/C++/C#/Go/Node.js, 与 MySQL 相似,零学习成本。
  7. 核心开源:除了一些辅助功能外,TDengine的核心是开源的。企业再也不会被数据库绑定了。这使生态更加强大,产品更加稳定,开发者社区更加活跃。

TDengine的适用场景

TDengine作为一个基础性的软件,应用范围及其广泛,原则上,所有使用机器、设备、传感器采集数据的地方都可以用上。

一些典型场景罗列如下:

  • 公共安全:上网记录、通话记录、个体追踪、区间筛选
  • 电力行业:智能电表、电网、发电设备的集中监测
  • 通讯行业:话费详单、用户行为、基站/通讯设备监测
  • 金融行业:交易记录、存取记录、ATM、POS 机监测
  • 出行工具:火车/汽车/出租/飞机/自行车的实时监测
  • 交通行业:实时路况,路口流量监测,卡口数据;
  • 石油石化:油井、运输管线、运输车队的实时监测
  • 互联网: 服务器/应用监测、用户访问日志、广告点击日志
  • 物流行业:车辆、集装箱的追踪监测
  • 环境监测:天气、空气、水文、地质环境等监测;
  • 物联网: 电梯、锅炉、机械、水表、气表等各种联网设备
  • 军工行业:各种军事装备的数据采集、存储
  • 制造业: 生产过程管控,流程数据、供应链数据采集与分析

TDengine的写入存储策略

1.单点写入

虽然时序数据量极大,但由于不同采集设备产生数据的过程完全独立,所以每个设备的数据源都是唯一的。而当一张表只有一个写入者的时候,自然不用需要在锁机制上浪费资源。要知道,传统关系型数据库的写入操作一定是要有锁保护的。

Tdengine采用无锁方式写,会节省很多资源,加速写入速度。

2.连续存储

其次,对于一个数据采集点而言,由于其产生的数据是时序的,所以这是一个天然做好排序的数据结构。因此,后续写入的方式都是靠有序的append(追加)实现,这样可以充分发挥硬盘性能,进一步提高数据写入速度。

3.超级表

TDengine每个设备对应着一张表。但是如设备地址编号等信息,是没必要写入磁盘的。所以他们把很多表放到一起变成了一个超级表,然后查询的时候直接用地址编号等信息来做筛选就行了

4.列式压缩

TDengine采用的是列存储。因为列存储下每一列的内容格式都是接近的,所以有利于压缩节约空间。而且,针对不同类型数据会采取不同的压缩算法。再针对性压缩后,再来一次常规压缩。所以最后写入硬盘的数据所占据空间会非常小。

TDengine的特点

  • 专为物联网数据而设计,利用物联网数据时序性的特点,实现每个采集点对应一个表的这一功能。但其不适用于处理通用的互联网数据。
  • 采用列式存储+压缩的方式,以节省硬件成本。(压缩效率高:利用物联网数据变化波动不大的特性、dif插值后压缩,然后二阶压缩,效率很高。)
  • 支持高可用性,将每个物理节点划分为多个虚拟数据节点和虚拟管理节点。虚拟数据节点存储数据,虚拟管理节点管理MetaData。虚拟数据节点和虚拟管理节点分布在不同的物理节点上实现数据集应用的高可用。
  • 存储结构上,采用每个采集点创建一个独立的表的方式来存储。这样实现每个采集点的数据的连续存放,提升读取效率。由于每个表的数据来源只有一个,能够实现无锁写入,提升写入速率。
  • 针对多变的聚合,引入了超级表的概念。同一类型的采集设备可以创建一张超级表。在创建超级表时,可以对这类表指定标签,在查询的时候通过标签来对数据库中的表进行过滤,这样即使数据库中有非常多的表,也可以实现快速的多表聚合。
  • 安装包非常小,安装使用简单。支持SQL,语法与MySQL类似。

了解更多

关于TDengine的更多了解(系统结构、存储结构、数据模型等介绍),可以去看看TDengine白皮书:https://www.taosdata.com/downloads/TDengine%20White%20Paper.pdf

以上是关于TDengine 合作伙伴 +1,这次是「DaoCloud道客」的主要内容,如果未能解决你的问题,请参考以下文章

别人的Issue很快就能关闭,而我的问题却迟迟没有被解决

涛思数据 TDengine 征稿—十分钟上手TDengine大数据平台

让你全面了解TDengine

让你全面了解TDengine

让你全面了解TDengine

涛思数据TDengine征稿 — 保姆级教程TDengine客户端服务器安装教程