1. 快速搭建一超高性能的时序空 间大数据处理平台 陶建辉 涛思数据创始人 · CEO
3. 陶建辉 涛思数据创始人·CEO 1986年考入中国科大,1994年到美国印第安纳大学攻读天体物理博士。曾在美国芝 加哥Motorola、3Com等公司从事2.5G、3G、WiFi等无线互联网的研发工作,在 高可靠分布式系统、即时通信、消息队列等方面,是顶尖的技术专家。 2008年回到北京创办和信,专注移动互联网IP Push和IP实时消息服务,2010年和 信被台湾联发科收购。 2013年再度创业,创办快乐妈咪,专注母婴智能硬件和母婴健康服务,2016年初快 乐妈咪被太平洋网络收购。 2017年5月又再次走向战场,创办涛思数据,专注时序空间数据的实时高效的处理, 其产品TDengine比其他业内标杆性能好10倍以上,可广泛运用于物联网、工业大数 据、金融等领域。
4. 快速搭建一超高性能的时序空间大数据处理平台 u 时序空间数据特点 u 现有方案的弊端 u TDengine基本介绍 u 如何应对每天都在变化的大数据分析需求 u 机械设备监测数据的实时计算
5. 大数据时代 数据采集后被源源不断的发往云端
6. 物联网、工业4.0的技术链 + 传感器 数据采集 通讯模组 边缘计算 ++ 云数据引擎 (存储·查询·计算) 分析·应用 系统
7. 物联网、工业4.0数据特征:时序空间数据 采集的数据量巨大,但有典型特征: 1 所有采集的数据都是时序的 2 数据都是结构化的 3 一个采集点的数据一定是它产生的 4 数据很少有更新或删除操作 5 数据一般是按到期日期来删除的 6 数据以写操作为主,读操作为辅 7 数据流量平稳,可以较为准确的计算 8 数据都有统计、聚合等实时计算操作 9 数据一定是指定时间段和指定区域查找的 10 数据量巨大,一天的数据量就超过100亿条
8. 通用的解决方案 将开源的Kafka, Redis, Hbase, MongoDB, Cassandra, ES, Hadoop, Spark, Zookeeper等大数据软件拼装起来,利用集群来处理海量数据。
9. 面临的挑战 开发效率低 因牵涉到多种系统,每种系统有自己的开发语言 和工具,开发精力花在了系统联调上,而且数据 的一致性难以保证 运行效率差 非结构化数据技术来处理结构化数据,整体性能 不够,系统资源消耗大。因为多套系统,数据需 要在各系统之间传输,造成额外的运行代价 运维复杂 每个系统都有自己的运维后台,带来 更高的运维代价,出问题后难以跟踪 解决,系统的不稳定性大幅上升 应用推向市场慢 集成复杂,得不到专业服务,项目实 施周期长,导致人力攀升,利润缩水
10. TDengine 应运而生
11. TDengine 提供的功能 缓存 数据库 流式计算 消息队列 完整的时序空间数据处理引擎 订阅
12. TDengine 技术亮点 快10倍的插入和查询 通过创新的存储设计,并采用无锁设计和多核技 术,让数据插入和查询的速度比现有专业的时序 数据库提高了10倍以上 更高的水平扩展能力 通过先进的集群设计,保证了系统处理能力的水 平扩展,而且让数据库不再依赖昂贵的硬件和存 储设备,不存在任何单点瓶颈和故障 零学习成本 使用标准的SQL语法,并支持JDBC, ODBC, REST接口,应用API与MySQL高度相似,让学 习成本几乎为零 超融合 将大数据处理需要的消息队列、缓存、数据库、流式 计算、订阅等功能融合在一起,提升运行效率,保证 整个系统的数据的一致性 极低的资源消耗 整个完整安装包才1.2M,内存的最低要求不到1M,计 算资源不到通用方案的1/5。通过列式存储和先进的压缩 算法,存储空间不到传统数据库的1/10。 零运维管理成本 追求极致的用户体验,将复杂的运维工作完全智能化。 无需分库分表,数据备份、数据恢复完全自动;扩容、 升级、IDC机房迁移轻松完成
13. TDengine 整体成本优势 硬件·云服 务成本 研发 成本 运营 成本 云服务或硬件成本不 及通用方案的1/10 研发成本大幅降低,无需培 训、无需集成其他软件 零管理,后期运营管 理成本大幅下降
14. 对比测试 完整对比测试报告,请参阅:www.tdengine.com
15. 对比测试 完整对比测试报告,请参阅:www.tdengine.com
16. TDengine 性能指标为何这么出众 充分利用物联网数据特点 • 对于一个数据采集点而言,只有一个写 • 结构化数据s • 时序的 。。。 不基于任何开源产品,C/C++开发了 • 存储引擎 • 集群调度、管理 • 计算模块 • SQL解析 。。。 量身定制 只为物联网数 据而设计 不适合 电商、社区、ERP、CRM
17. TDengine 系统结构 V0 V1 V2 V3 dnode 0 V0 V1 V2 V3 dnode 4 V0 V1 V2 V3 dnode1 V0 V1 V2 V3 dnode 2 V0 V1 V0 V1 V2 M1 V2 V3 dnode 5 dnode 6 完全无中心化设计 V0 V1 M0 V3 dnode 3 V0 V1 M2 V3 dnode 7
18. 连续存放 使用KV或关系型DB,在多个数据采集点存在的情况下 难以保证一个采集点的数据在内存或硬盘上的连续性 0 1 2 3 4 5 012345 TDengine,一个采集点的数据在一个块里是连续存放的,块的大小可配置 采取Block Range Index, 可快速定位要查找的数据所处的块
19. TDengine 数据写入流程 Peer Vnode App ① Write ⑤ memory disk ③ ④ ② · Commit log FILE FILE Flush Vnode
20. TDengine Metric:多个采集点的数据聚合 实际场景中,经常需要将多个采集点数据进行聚合处理,比如所有温度传感器采集的温度的平均值。因 为一个传感器就是一张表,这样需要将多张表聚合。为减少应用的复杂性,TDengine引入Metric概念。 Metric是表的集合,包含多张表,而且每张表的schema是一样的。同一类型的采集设备可以是一 个Metric,除定义Schema外, 还可定义多个标签。标签定义表的静态属性,如设备型号、颜色 等。具体创建表时,指定使用哪个Metric(采集点的类型),并指定标签值。 应用可以象查询表一样查询Metric, 但可以通过标签过滤条件查询部分或全部数据采集点的记录,并 且可以做各种聚合、计算等,方便支持复杂查询,应对业务需求。 每个表(采集点)都有对应一行的标签数据,保存在Meta节点,而且存放在内存并建有索引。标签 数据可以任意增加、删除、修改。标签数据与采集数据完全分离,大大节省存储空间,并提高访问效 率。而且对于已经采集的历史数据,事后可以打上新的标签。
21. TDengine 聚合计算流程 Data Meta Node 0 5-1 Node 4-2 4-1 ③② 5-2 4-0 Data Node 1 Driver ① ⑥ 5-0 Data Node ······ App
22. TDengine 时间轴上的数据聚合 实际场景中,经常需要将一段时间的数据进行聚合,比如downsampling, 采样频率为一秒一次,但最 终只记录一分钟的平均值。TDengine引入关键词interval, 以进行时间轴上的聚合操作。时间轴的聚合 既可以针对单独一张表,也可以针对符合标签过滤条件的一组表进行。 查询温度传感器t1记录的温度每五分钟的平均值 select avg(degree) from t1 interval(5m); 查询北京所有温度传感器记录的温度每五分钟的平均值 select avg(degree) from thermometer where loc=‘beijing’ interval(5m);
23. TDengine 实时Stream计算 目前支持Avg, Max, Min, Percentile, Sum, Count, Dev, First, Last, Diff, Scale等操作。 计算是针对时间段,同时可针对一张表或符合过滤条件的一组表进行聚合。 实时计算的衍生数据可以实时写入新的表,方便后续的查询操作。衍生数据还可以与其他 原始数据或其他衍生数据进行各种聚合计算,生成新的数据。 每隔一分钟计算北京刚刚过去的五分钟的温度平均值 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);
24. 应用实例:三一重工华兴数字 物联网平台架构 Cassandra MySQL mango DB
25. About TAOS Data 北京涛思数据科技有限公司(TAOS Data) 专注时序空间数据的采集、存储、查询、计算和分 析。不依赖任何开源或第三方软件,开发了拥有自主知识产权、自主可控的高性能分布式时序 空间数据引擎TDengine,公司于2017年6月获得明势资本和蛮子基金的投资。 北京望京科技园 公司创始人陶建辉在美国留学工作十多 年后,回国创业,曾成功创办了“和 信”与“快乐妈咪”两家高科技企业。 公司研发团队全部毕业于名牌大学,都拥有硕 士或博士学历,在分布式计算、数据存储和数 据库上有多年的研发经验。