TDengine — 高效的时序空间大数据引擎

TDengine — 高效的时序空间大数据引擎
展开查看详情

1. 数据库论坛 TDengine — 高效的时序空间大数据引擎 陶建辉 涛思数据创始人·CEO

2.TDengine — 高效的时序空间大数据引擎 大数据时代 数据采集后被源源不断的发往云端 © TAOS Data, Inc. All rights reserved.

3.TDengine — 高效的时序空间大数据引擎 通用的解决方案 将开源的Kafka, Redis, Hbase, MongoDB, Cassandra, ES, Hadoop, Spark, Zookeeper等大数据软件拼装起来,利用集群来处理海量数据。 © TAOS Data, Inc. All rights reserved.

4.TDengine — 高效的时序空间大数据引擎 面临的挑战 开发效率低 运维复杂 因牵涉到多种系统,每种系统有自己的开发语言 每个系统都有自己的运维后台,带来 和工具,开发精力花在了系统联调上,而且数据 更高的运维代价,出问题后难以跟踪 的一致性难以保证 解决,系统的不稳定性大幅上升 运行效率差 应用推向市场慢 非结构化数据技术来处理结构化数据,整体性能 集成复杂,得不到专业服务,项目实 不够,系统资源消耗大。因为多套系统,数据需 施周期长,导致人力攀升,利润缩水 要在各系统之间传输,造成额外的运行代价 © TAOS Data, Inc. All rights reserved.

5.TDengine — 高效的时序空间大数据引擎 物联网、工业4.0数据特征:时序空间数据 采集的数据量巨大,但有典型特征: 1 所有采集的数据都是时序的 6 数据以写操作为主,读操作为辅 2 数据都是结构化的 7 数据流量平稳,可以较为准确的计算 3 一个采集点的数据一定是它产生的 8 数据都有统计、聚合等实时计算操作 4 数据很少有更新或删除操作 9 数据一定是指定时间段和指定区域查找的 5 数据一般是按到期日期来删除的 10 数据量巨大,一天的数据量就超过100亿条 © TAOS Data, Inc. All rights reserved.

6.TDengine — 高效的时序空间大数据引擎 专业的时序数据库 © TAOS Data, Inc. All rights reserved.

7.时序空间大数据引擎 © TAOS Data, Inc. All rights reserved.

8.TDengine — 高效的时序空间大数据引擎 系统结构 V0 V1 V0 V1 V0 V1 V0 V1 V2 V3 V2 V3 V2 V3 M0 V3 dnode 0 dnode1 dnode 2 dnode 3 V0 V1 V0 V1 V0 V1 V0 V1 V2 V3 V2 M1 V2 V3 M2 V3 dnode 4 dnode 5 dnode 6 dnode 7 完全无中心化设计 © TAOS Data, Inc. All rights reserved.

9.TDengine — 高效的时序空间大数据引擎 存储结构:每个数据采集点单独建表 使用KV或关系型DB,在多个数据采集点存在的情况下 难以保证一个采集点的数据在内存或硬盘上的连续性 0 1 2 3 4 5 0 1 2 3 4 5 TDengine,一个采集点的数据在一个块里是连续存放的,块的大小可配置 采取Block Range Index, 可快速定位要查找的数据所处的块 © TAOS Data, Inc. All rights reserved.

10.TDengine — 高效的时序空间大数据引擎 数据写入流程 Peer Vnode ③ ① ④ App Write ⑤ ② memory · disk Flush FILE FILE 热温寒冷 Commit log Vnode 四档存储 © TAOS Data, Inc. All rights reserved.

11.TDengine — 高效的时序空间大数据引擎 数据压缩 u 采取列式存储,便于压缩 u 不同数据类型采用不同的压缩算法, 包括 delta-delta 编码、simple 8B 方法、zig-zag编码、LZ4等算法 u 二阶段压缩:压缩的基础上,用通 用压缩算法进行再压缩 © TAOS Data, Inc. All rights reserved.

12.TDengine — 高效的时序空间大数据引擎 单个采集点数据插入、查询示例 与传统关系型数据库一样,采用SQL语法,应用需先创建库,然后建表,就可以插入、查询 create database demo; use demo; create table t1 (ts timestamp, degree float); insert into t1 values(now, 28.5); select * from t1; 上述SQL 为一个温度传感器创建一张表,并插入一条记录、然后查询 © TAOS Data, Inc. All rights reserved.

13.TDengine — 高效的时序空间大数据引擎 TDengine超级表:多个采集点的数据聚合 实际场景中,经常需要将多个采集点数据进行聚合处理,比如所有温度传感器采集的温度的平均值。因 为一个传感器就是一张表,这样需要将多张表聚合。为减少应用的复杂性,TDengine引入STable概念。 STable是表的集合,包含多张表,而且每张表的schema是一样的。同一类型的采集设备可以 是一个STable,除定义Schema外, 还可定义多个标签。标签定义表的静态属性,如设备型号、 颜色等。具体创建表时,指定使用哪个STable(采集点的类型),并指定标签值。 应用可以象查询表一样查询Metric, 但可以通过标签过滤条件查询部分或全部数据采集点的记录, 并且可以做各种聚合、计算等,方便支持复杂查询,应对业务需求。 每个表(采集点)都有对应一行的标签数据,保存在Meta节点,而且存放在内存并建有索引。 标签数据可以任意增加、删除、修改。标签数据与采集数据完全分离,大大节省存储空间,并 提高访问效率。而且对于已经采集的历史数据,事后可以打上新的标签。 © TAOS Data, Inc. All rights reserved.

14.TDengine — 高效的时序空间大数据引擎 TDengine STable 实例 为温度传感器建立一个STable, 有两个标签:位置和类型 create table thermometer (ts timestamp, degree float) tags(loc binary(20), type int); 用STable创建4张表, 对应4个温度传感器,地理位置标签为北京、天津、上海等 create table t1 using thermometer tags(‘beijing’, 1); create table t2 using thermometer tags(‘beijing’, 2); create table t3 using thermometer tags(‘tianjin’, 1); create table t4 using thermometer tags(‘tianjin’, 2); create table t5 using thermometer tags(‘shanghai’,1); 查询北京和天津所有温度传感器记录的最高值和最小值 select max(degree), min(degree) from thermometer where loc=‘beijing’ or loc=‘tianjin’; © TAOS Data, Inc. All rights reserved.

15.TDengine — 高效的时序空间大数据引擎 聚合计算流程 Data Meta Data Node 0 5-1 Node 4-2 Node ······ 4-1 ③ ② 5-2 4-0 ① Data Driver App Node 1 ⑥ 5-0 © TAOS Data, Inc. All rights reserved.

16.TDengine — 高效的时序空间大数据引擎 时间轴上的数据聚合 实际场景中,经常需要将一段时间的数据进行聚合,比如downsampling, 采样频率为一秒一次, 但最终只记录一分钟的平均值。TDengine引入关键词interval, 以进行时间轴上的聚合操作。时间 轴的聚合既可以针对单独一张表,也可以针对符合标签过滤条件的一组表进行。 查询温度传感器t1记录的温度每五分钟的平均值 select avg(degree) from t1 interval(5m); 查询北京所有温度传感器记录的温度每五分钟的平均值 select avg(degree) from thermometer where loc=‘beijing’ interval(5m); © TAOS Data, Inc. All rights reserved.

17.TDengine — 高效的时序空间大数据引擎 实时Stream计算 目前支持Avg, Max, Min, Percentile, Sum, Count, Dev, First, Last, Diff, Scale, WAvg, Spread等操作。计算是针对时间段,同时可针对一张表或符合过滤条件的一组表进行聚合。 实时计算的衍生数据可以实时写入新的表,方便后续的查询操作。衍生数据还可以与其 他原始数据或其他衍生数据进行各种聚合计算,生成新的数据。 每隔一分钟计算北京刚刚过去的五分钟的温度平均值 select avg(degree) from thermometer where loc=‘beijing’ interval(5m) sliding(1m); 每分钟计算一次北京刚过去的5分钟的温度平均值,并写入新的表d1 create table d1 as select avg(degree) from thermometer where loc=‘beijing’ interval(5m) sliding(1m); © TAOS Data, Inc. All rights reserved.

18.TDengine — 高效的时序空间大数据引擎 TDengine 提供的功能 数据库 缓存 流式计算 消息队列 订阅 完整的时序空间数据处理引擎 © TAOS Data, Inc. All rights reserved.

19.TDengine — 高效的时序空间大数据引擎 整体成本优势 快10倍的插入和查询 超融合 通过创新的存储设计,并采用无锁设计和 将大数据处理需要的消息队列、缓存、数据库、 多核技术,让数据插入和查询的速度比现 流式计算、订阅等功能融合在一起,提升运行 有专业的时序数据库提高了10倍以上 效率,保证整个系统的数据的一致性 更高的水平扩展能力 极低的资源消耗 通过先进的集群设计,保证了系统处理能 整个完整安装包才1.5M,内存的最低要求不到 力的水平扩展,而且让数据库不再依赖昂 1M,计算资源不到通用方案的1/5。通过列式存 贵的硬件和存储设备,不存在任何单点瓶 储和先进的压缩算法,存储空间不到传统数据库 颈和故障 的1/10。 零学习成本 零运维管理成本 使用标准的SQL语法,并支持JDBC, 追求极致的用户体验,将复杂的运维工作完全智 ODBC, REST接口,应用API与MySQL高 能化。无需分库分表,数据备份、数据恢复完全 度相似,让学习成本几乎为零 自动;扩容、升级、IDC机房迁移轻松完成 © TAOS Data, Inc. All rights reserved.

20.TDengine — 高效的时序空间大数据引擎 实时Stream计算 硬件·云服 研发 运营 务成本 成本 成本 云服务或硬件成本不 研发成本大幅降低,无需培 零管理,后期运营管 及通用方案的1/10 训、无需集成其他软件 理成本大幅下降 © TAOS Data, Inc. All rights reserved.

21.TDengine — 高效的时序空间大数据引擎 对比测试 完整对比测试报告,请参阅:www.tdengine.com © TAOS Data, Inc. All rights reserved.

22.TDengine — 高效的时序空间大数据引擎 对比测试 完整对比测试报告,请参阅:www.tdengine.com © TAOS Data, Inc. All rights reserved.

23.TDengine — 高效的时序空间大数据引擎 TDengine 水平扩展测试结果:完全线性 数据插入吞吐量、延时与节点个数关系 数据查询吞吐量、延时与节点个数关系 © TAOS Data, Inc. All rights reserved.

24.TDengine — 高效的时序空间大数据引擎 TDengine 性能指标为何这么出众 充分利用物联网数据特点 • 对于一个数据采集点而言,只有一个写 量身定制 • 结构化数据 只为物联网数据而设计 • 时序的 。。。 不基于任何开源产品,C/C++开发了 • 存储引擎 不适合 电商、社区、ERP、CRM • 集群调度、管理 • 计算模块 • SQL解析 。。。 © TAOS Data, Inc. All rights reserved.

25.TDengine — 高效的时序空间大数据引擎 边缘计算版 TDLite TDengine裁剪集群、Shell、DBA工具等功 资源消耗极小,软件包可降低到 01 04 能,成为TDLite 500K, 内存可降到300K 02 TDLite适合处理边缘计算节点的时序空间数据 05 如果网络连接不畅,数据自动缓存 与SQLite相比,除数据库功能外,还提供实 03 06 与云端TDengine无缝对接,极其高效 时流式计算功能 © TAOS Data, Inc. All rights reserved.

26.TDengine — 高效的时序空间大数据引擎 TDengine 应用领域 军工 行业 电力 石油 行业 石化 通讯 公共 金融 行业 安全 行业 环境 制造业 监测 交通 物联网 物流 行业 出行 行业 工具 互联网 © TAOS Data, Inc. All rights reserved.

27. About TAOS Data 北京涛思数据科技有限公司(TAOS Data) 专注时序空间数据的采集、存储、查询、计算和分析。不 依赖任何开源或第三方软件,开发了拥有自主知识产权、自主可控的高性能分布式时序空间数据引擎 TDengine,公司于2017年6月获得明势资本和蛮子基金的投资。 北京望京科技园 公司创始人陶建辉在美国留学工作十多 公司研发团队全部毕业于名牌大学,都拥有 年后,回国创业,曾成功创办了“和信” 硕士或博士学历,在分布式计算、数据存储 与“快乐妈咪”两家高科技企业。 和数据库上有多年的研发经验。 © TAOS Data, Inc. All rights reserved.

28.THANKS 陶建辉 (Jeff Tao) jhtao@taosdata.com Wechat: jeff-tao Tel: 13701014596 Weibo: 陶建辉-Jeff