墨天轮国产数据库沙龙 | 张玮绚:TDengine,高性能、分布式、支持SQL的时序数据库
分享嘉宾:张玮绚(Wade Zhang)北京涛思数据科技有限公司(TDengine)研发VP
整理:墨天轮
导读
TDengine 是一款高性能、分布式、支持 SQL 的时序数据库,让大量设备、数据采集器每天产生的高达 TB 甚至 PB 级的数据能得到高效实时的处理,对业务的运行状态进行实时的监测、预警,从大数据中挖掘出商业价值。
我今天的分享的内容分为四个主题:TDengine诞生的行业背景、TDengine的产品特性、开源和商业策略以及TDengine的几个典型应用案例。
TDengine诞生的行业背景
1、时序数据与时序数据库
TDengine是高性能、分布式、支持 SQL 的时序数据库,对时序数据库进行一句话的定义,那就是:对时序数据进行存储、查询和计算服务的数据库。这就衍生出一个新的问题,什么是时序数据?
时序数据是按时间顺序产生的结构化数据,同一数据源所产生的时序数据是完全同构的,同一类数据源所产生的时序数据也往往是同构的或高度相似的,TDengine 创始人陶建辉总结了时序数据的十大特征。

图1 时序数据的十大特征
2、TDengine诞生的行业背景
时序数据在各行各业都有着广泛的应用,如电信电网、银行金融、交通物流、IT运维、传统制造业等,这些数据对业务具有非常重要的价值。
如何存储时序数据呢?有不少厂商用传统的数据库进行尝试,但这些解决方案都有着各自先天的局限性。以关系型数据库为例,它在海量时序数据读写上性能低,同时数据量越大查询越慢。在这样的背景下,时序数据库 TDengine 便应运而生了。

图2 时序数据存储方案的各种选择
TDengine 的产品特性
1、TDengine 的产品特性
- 高性能:插入和查询性能都优于InfluxDB
- 分布式:集群方案开源
- 支持SQL:语法尽量与标准SQL兼容
2、TDengine 的优势
TDengine 有八大优势:高性能写入、高性能查询、开源的分布式集群解决方案、支持SQL易用性高、安装部署快速简单、省空间、易集成、易运维。
首先,TDengine 的优势体现在高性能写入与高性能查询。通过充分利用时序大数据的特点,TDengine 团队设计了充分利用时序数据特性的存储引擎,将数据的写入和查询速度大幅提升,同时数据压缩率也大幅提高。
与流行的时序数据库 InfluxDB 相比,TDengine 完全采用 InfluxDB 自身提供的测试框架、数据集和测试场景,写入速度至少是其 2 倍以上,在设备数量超过1000 以后,写入速度则是其 5.2 倍;对于查询场景,极个别的与 InfluxDB 速度持平,绝大部分都是几倍的速度,有的情况下甚至高达 40 倍。

图3 TDengine 与 InfluxDB 在写入上的对比

图4 TDengine 与 InfluxDB 在查询上的对比
TDengine 的优点还体现在它是一个开源的分布式集群解决方案。不同于InfluxDB(集群方案不开源) 与 Prometheus(不支持集群),TDengine 能够很好地水平扩展,轻松支持海量级的时间线和数据量。

图5 TDengine 的集群架构
支持 SQL,易用性高 是TDengine 的第四个优点。
SQL 是世界上最简单易用、最流行的查询语言,为众多程序员所喜爱,这样能够降低学习门槛和应用程序迁移成本。TDengine 还支持 Java、Go、Python、Rust、nodeJS 和 C# 等语言环境。同时,用户也能够通过 RESTful 接口来插入与查询数据。
不仅如此,TDengine 的优势还体现在安装部署快速简单、省空间、易集成、易运维。
TDengine 的开源和商业模式
1、TDengine 核心代码与集群方案完全开源

图6 TDengine 社区版开源统计数据
2、TDengine 的商业模式
TDengine 有三种的商业模式,分别是开源社区版、企业版、云服务版。
- 开源社区版:核心代码完全一样,建立开发者社区,打造生态。
- 企业版:支持独立部署,年度订阅模式销售,根据数据量计费。
- 辅助功能:安全(异地容灾、加密、审计等),运维工具等
- 技术服务:专业团队提供强有力的技术支持
- 云服务版:在阿里云、AWS 等云平台上直接提供PaaS服务,根据数据量和时长计费。
TDengine 的客户案例
TDengine 用户主要来自物联网、工业互联网、车联网、物流、IT运维监测、电力、智慧城市、智慧矿山等领域,接下来分享我们两个典型的客户案例。
1、客户案例一:顺丰科技
顺丰科技原先采用 OpenTSDB+HBase 作为大数据监控平台全量监控数据的存储方案,整个平台平均写入数十亿条/天。但随着大数据监控平台接入的数据量越来越大,有很多痛点需要解决,包括依赖多、使用成本高和性能不能满足等问题。
在进行数据库选型时,TDengine能够满足性能、成本、运维难度的需求,支持横向扩展并具有且高可用的优势。完成改造后,TDengine 集群轻松扛住了全量监控数据写入,运行稳定。

图7 顺丰在采用 TDengine 后的改造效果
2、客户案例二:理想汽车
随着业务数据量级的上升,理想汽车的物联网场景业务对数据存储性能的要求不断提高。在信号上报业务中,需要将标记时间戳和采集点的信息,通过云端写入到后端数据库中,有一定的聚合查询需求。
在这些需求下,通过深入业务封闭式测试,TDengine 表现出了极其优秀的高并发写入和数据压缩能力,极大降低了业务成本和业务压力。

图8 理想汽车在采用 TDengine 后的成本对比
目前,TDengine 被广泛运用于物联网、工业互联网、车联网、IT运维、能源、金融等领域,安装实例数已经超过10万,而且遍布全球,点击查看更多 TDengine 客户案例。

图9 TDengine 的客户行业与领域
我今天的分享就到这里,谢谢大家!
更多精彩内容,欢迎大家观看现场视频回放与会议资料
视频回放:https://www.modb.pro/video/6116
会议资料:https://www.modb.pro/doc/56840
- 查看原文:https://www.modb.pro/db/335139
- 查看【国产数据库沙龙】往期生态工具、图数据库专场资源:https://www.modb.pro/topic/157860
墨天轮,围绕数据人的学习成长提供一站式的全面服务,打造集新闻资讯、在线问答、活动直播、在线课程、文档阅览、资源下载、知识分享及在线运维为一体的统一平台,持续促进数据领域的知识传播和技术创新。
关注官方公众号: 墨天轮、 墨天轮平台、墨天轮成长营、数据库国产化 、数据库资讯
墨天轮国产数据库沙龙 | 张玮绚:TDengine,高性能、分布式、支持SQL的时序数据库的更多相关文章
- SQL Server 2005数据库定期备份(非常详细)与 SQL Server 2005数据库备份定期清理
SQL Server 2005数据库定期备份 分类: SQL Server 20052011-01-06 16:25 3320人阅读 评论(1) 收藏 举报 sql server数据库sqlserv ...
- 时序数据库TDengine 详细安装+集成流程+问题解决
官方文档:https://docs.taosdata.com/get-started/package/ 点击进入 产品简介 TDengine 是一款高性能.分布式.支持 SQL 的时序数据库 (Dat ...
- 深度解读MRS IoTDB时序数据库的整体架构设计与实现
[本期推荐]华为云社区6月刊来了,新鲜出炉的Top10技术干货.重磅技术专题分享:还有毕业季闯关大挑战,华为云专家带你做好职业规划. 摘要:本文将会系统地为大家介绍MRS IoTDB的来龙去脉和功能特 ...
- MRS IoTDB时序数据库的总体架构设计与实现
MRS IoTDB时序数据库的总体架构设计与实现 MRS IoTDB是华为FusionInsight MRS大数据套件最新推出的时序数据库产品,其领先的设计理念在时序数据库领域展现出越来越强大的竞争力 ...
- 烂泥:SQL Server 2005数据库备份与恢复
本文由秀依林枫提供友情赞助,首发于烂泥行天下. 服务器的迁移,因为业务使用的数据库是SQL Server 2005,所以就要首先对数据库进行备份. 备份可以分为手动备份和自动备份,我们先来介绍手动备份 ...
- 时序数据库技术体系 – InfluxDB TSM存储引擎之TSMFile
本文转自 http://hbasefly.com/2018/01/13/timeseries-database-4/ 为了更加系统的对时序数据库技术进行全方位解读,笔者打算再写一个系列专题(嘿嘿,好像 ...
- Influxdb时序数据库阅读笔记
时序数据库 2017年2月Facebook开源了beringei时序数据库:到了4月基于PostgreSQL打造的时序数据库TimeScaleDB也开源了,而早在2016年7月,百度云在其天工物联网平 ...
- 0160 十分钟看懂时序数据库(I)-存储
摘要:2017年时序数据库忽然火了起来.开年2月Facebook开源了beringei时序数据库:到了4月基于PostgreSQL打造的时序数据库TimeScaleDB也开源了,而早在2016年7月, ...
- 巨杉TechDay回顾 | WARNING!您参加的数据库沙龙热度已爆表……
自从2008年“大数据”这一概念被首次提出以来,在过去这10年中,几乎各行各业都或多或少受到了这一概念的影响.与此同时,在AI.云计算.物联网.区块链等新兴技术快速发展的今天,数据库己经成为了决定所有 ...
- 国产时序数据库IotDB安装、与SpringBoot集成
一.简介: 本文将完成一个真实业务中的设备上报数据的一个例子,完整的展示后台服务接收到设备上报的数据后,将数据添加到时序数据库,并且将数据查询出来的一个例子.本文所有代码已经上传GitHub:http ...
随机推荐
- jmeter forEach循环获取response参数值进行接口请求
jmeter forEach循环获取response参数值进行接口请求 注意: 一,ForEach控制器 输入变量前缀:输入正则表达式变量的引用名称即可 Start index for loop(ex ...
- 【Tycoon City New York】城市梦想家: 纽约 作弊键说明
这游戏是自带快捷键作弊功能的 [Ctrl] + [Alt] + A 加10,000人口 [Ctrl] + [Alt] + C 加$1,000,000资金 [Ctrl] + [Alt] + B 加100 ...
- 【Forza Horizon 5】频繁断网解决办法
参考自文章: https://www.acfun.cn/a/ac32056183_2 简而言之就是玩地平线5的时候不要挂着腾讯的QQ.TIM.微信
- 【IDEA】找不到类资源
报错问题描述: 找不到这个实例调用的方法或者方法缺失重载 找不到这个声明的类资源 解决情况一 import声明缺失,IDEA智能导包提示可以解决 注意,如果存在了重名的类资源,导入了错误的资源,实例引 ...
- 永恒的T800 —— 终结者T800 —— 智能机器人(双足机器人、人形机器人、humanoid)
终结者T800全身像墨生青铜雕像摆件工艺品艺术品铸铜收藏品铜手办 网店地址: https://item.taobao.com/item.htm?id=745037184577&skuId=52 ...
- Jax框架的jit编译是否可以使用循环结构,如果使用循环结构需要注意什么(续)
前文: Jax框架的jit编译是否可以使用循环结构,如果使用循环结构需要注意什么 从前文我们知道,jax的jit中尽可能的不要放入循环结构,因为在jit编译时会将循环结构暂开,因而会消耗掉大量的时间进 ...
- 公共的网络云盘的存储真的安全吗?—— 百度云盘上的PDF文件无故被改名
在百度云盘上上传了一个PDF文件,内容: 本来是没有啥问题的,但是今天使用百度云盘发现这个PDF文件居然被改名,被取消掉了扩展名: 简直是离谱离了一个大谱,太可怕了,看来这种公共云盘真的不太靠谱,虽然 ...
- baselines算法库common/atari_wrappers.py模块分析
common/atari_wrappers.py模块代码如下: import numpy as np import os os.environ.setdefault('PATH', '') from ...
- 用户案例 | Apache DolphinScheduler 离线调度在自如多业务场景下的应用与实践
用户案例 | 自如 随着自如业务的快速发展,不断增长的调度任务和历史逾万的存量任务对平台稳定性提出了更高的要求.同时,众多非专业开发人员也需要一种更为"亲民"的调度平台使用体验. ...
- CH01_初识C++
CH01_初识C++ 第一个C++程序 新建项目 新建文件 编写代码 #include <iostream> using namespace std; int main() { cout ...