大数据开发之利剑 -- TDengine

news2024/11/15 7:08:39

前言

在大数据技术全球爆炸的时代,以及大数据在各行各业的实际应用,大数据的快速发展就像计算机和互联网一样,很可能成为新一轮的技术革命。数据处理、机器学习、AI等新兴技术诞生,会改变数据世界的许多算法和理论基础,从而实现科技突破。那么在大数据开发中需要的数据库技术有那些呢?其实数据库技术的成熟度取决于互联网发展过程中不断升级的需求,大数据开发中的核心又是数据库技术,所以数据库技术决定大数据开发的关键。

数据应用背景

由于各种技术的发展进化以及普及,数据通讯成本越来越低,各种传感技术和智能设备的成本大大降低,从传统的计算机、手机的实时采集数据到智能手表、手环、车载设备以及各种日常生活中的物联设备,无不都在产生海量的实时数据发送到云端。关于采集到的这些海量数据是企业无价而又宝贵的财富,不仅可以帮助企业实时监控设备的运行状况,生成多维度的报表数据,而且可以通过大数据分析和机器学习来对相关业务进行预判和预测,企业通过这些分析结果做出正确的决策,避免损失,创造价值。

大数据特性

不难发现,经过对所有硬件设备、机器、传感器以及各种系统所产生的数据的详细分析和研究,这些数据都是有时序的,甚至大部分都是带有位置信息的。这些数据的详细特征如下所示:

  1. 数据是时序的,就一定会带有时间戳;
  2. 数据是结构化的形式;
  3. 数据很少有删除或者更新的操作;
  4. 不用事务处理;
  5. 和互联网应用相比,写的多读的少;
  6. 数据有保留期限的限制;
  7. 用户关注的是持续一段时间的周期,而不是某一个特点时间点对应的值;
  8. 除了存储查询,还需要各种实时运算和统计的操作;
  9. 在查询分析数据的时候必须基于时间周期和地理位置;
  10. 数据采集量巨大,每天采集的数据轻松可达百亿条。

从上面的这些点不难发现,要想通过传统的关系型数据库或者流式计算引擎是很难实现的,因为没有充分利用这些海量数据的特点,性能的提升非常有限,只能通过集群来实现,这就会让企业投入更多的资源来处理,企业会花费更多的运营成本。针对这种痛点和挑战,涛思数据推出了一个开源的数据库产品:TDengine。

时序数据库

其实时序数据库是一个比较新兴的概念,目前比较流行有国内初创公司涛思数据的TDengine。时序数据库主要适用于物联网传感器数据存储,以及应用日志收集等使用场景。见名知意,时序数据库存储的数据一般都是通过时间戳来进行索引,所以不支持复杂的条件语句查询。

什么是TDengine

TDengine 是涛思数据旗下的一款产品开源、云原生、高性能、分布式、支持 SQL的时序数据库(Time Series Database),它已经在2018年8月推出正式商业化版本。TDengine不依赖任何开源或第三方软件,拥有完全自主知识产权,具有高可靠、可伸缩、零管理、简单易学等技术特点。提供内建的缓存、数据订阅、流式计算等功能,最大程度减少研发和运维的复杂度,可广泛应用于物联网、车联网、工业互联网、IT运维、金融等领域。

 

TDengine的独到之处

  • 采用分布式:使用了原生分布式的设计,TDengine 提供水平扩展的功能,只需增加节点就可以获得更高的数据处理能力,且使用多副本机制保证系统的高可用性。
  • 超高性能:使用创新的存储结构引擎,不管是数据查询还是写入,TDengine 的性能比通用的数据库提高 10 倍以上,单核每秒能处理2万次以上的请求,且存储空间也大大节省不少。
  • 支持 SQL:TDengine 采用 SQL 作为数据查询语言,减少学习和迁移成本,同时提供 SQL 扩展来处理时序数据特有的分析,而且支持方便灵活的 schemaless 数据写入。
  • 全栈时序数据加工:把数据库、缓存、消息队列、流式计算等功能整合在一起,应用不用再集成 Kafka、HBase、Redis等软件,极大幅降低应用开发、维护的成本。
  • 零运维:一般的安装、集群只需几秒就可搞定,没有任何的依赖,且不用分库、分表。
  • 无缝连接:不写一行代码就可以和 collectd、Telegraf、Matlab、Prometheus、EMQX、StatsD等第三方工具无缝连接与集成。
  • 零学习成本:通过使用SQL查询语言,且支持 Java、 Go、Python、Rust、Node.js 等多语言,且和MySQL很类似,基本属于零学习成本。

TDengine的应用场景

TDengine的应用场景实在是太多了,几乎涵盖了所有大数据应用场景的领域,这里介绍几个比较有代表性的领域:

  • 物联网领域

适用于物联网领域的各种智能硬件设备、大型联网设备、智慧家居、智慧城市、智慧农业、智慧矿山、智慧生态等。

  • 工业互联领域

适用于工业互联的智能制造、数字孪生、流程行业,数字化生产等。

  • 金融领域

适用于金融的股票、基金、证券、期货行情数据等。

  • 车联网领域

适用于车联网的新能源汽车电池数据、汽车自动驾驶、智慧物流、TBox 数据处理、车辆管理等。

  • 能源领域

适用于能源领域的潮汐发电、风力发电、光伏发电、配电、用电、输电监控、能源管理等。

TDengine的运用

工业互联网中,边缘设备只能处理局部的数据,不能形成一个全局的认知,所以在实际应用中需要借助云计算平台实现信息融合,达到想要的全局认知,这种情况下边云协同成为工业互联网发展的中流砥柱。边云协同主要是对生产链条上的某一项或者某几项的数据,进行实时告警、实时大屏监测,与此同时,还会将这些边缘的生产数据及时同步上传到云上大数据平台。

这里以工业互联场景为例,来讲TDengine的实际使用,用一个具体的实例来讲。此前的老数采流程里面,数据是通过工业逻辑控制器 PLC 里面进行采集的,接着进入到 Historian(即工业实时库),最后才去支撑业务应用,但是这种操作存在三个缺点:过于依赖 Windows 等环境;主备架构,不易扩展;相关生态比较封闭。

接着后面的TDengine 在边缘替换了原有的单机版 Historian 数据库。现在的一个比较有代表性的设计思路就是:采集数据从 工业逻辑控制器PLC 经过 OPC Server,直接接入到 TDengine 中,其实 TDengine 本身在车间侧就可支撑实时的业务,且包含实时报警、实时大屏检测的需求。所以企业可以通过利用 TDengine 提供的这种边云协同能力,把数据上传发送到云上的大数据平台中。

总结

伟人说过:实践是检验真理的唯一标准。任何事情都是要在事件中才能得到真实的结果,要想知道好不好用,只有用了才知道,随着大数据快速发展,数据库圈也是千变万化,而TDengine就是赶上了数据库发展的东风,不断完善和开拓新的功能,从TDengine的正式开源到迭代推出的3.0版本,一次次的优化计算功能和重构计算引擎,以及3.0版本的集群支持数十亿条以上的时间线、百台服务器节点,成为一款真正的云原生时序数据库。TDengine变得越来越完善、越来越强大、越来越专业,TDengine已经成为大数据开发和使用的利剑之一,助力未来大数据领域,给工业4.0增效赋能!

参考文献:

TDengine 白皮书: TDengine 白皮书 - 墨天轮文档

TDengine官网:TDengine | Time Series Database Open Source TSDB

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/151231.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

DAY-1 | Java数据结构之链表:删除无头单链表中等于给定值 val 的所有节点

目录 一、题干 🔗力扣203. 移除链表元素 二、题解 1、思路 2、完整代码 一、题干 🔗力扣203. 移除链表元素 二、题解 1、思路 题干的意思是,要删除链表中所有指定的元素。最暴力的方法是,依次遍历链表中的各个节点&#x…

Day3 XML方式的Spring应用

全文总结基于XML配置1、学习了bean标签,2、三种配置bean的方式:1、静态工厂;2、实例工厂和3、自定义实现factorybean1 SpringBean 的配置类inin-method 与构造方法不同,构造方法是创建对象的,等对象创建以后使用inin-m…

2023年全国最新消防设施操作员精选真题及答案

百分百题库提供消防设施操作员考试试题、消防设施操作员考试预测题、消防设施操作员考试真题、消防设施操作员证考试题库等,提供在线做题刷题,在线模拟考试,助你考试轻松过关。 1、对外观目测判断,下列哪种情况不应报废?(  ) A、铭牌标志脱落 B、瓶…

pyqt5加载matplotlib图形

matplotlib的图形处理非常强大。今天花了很长时间才将matplotlib图形嵌入到pyqt5中。在这里记录一下,便于以后查寻。有些可能还理解不到位。开始要导入几个模块:from matplotlib.backends.backend_qt5agg import FigureCanvasQTAgg as FigureCanvasFigur…

tomcat下载和配置(简单,详细)

下载 官网:http://tomcat.apache.org/ 找到需要的版本,点击download 在download页面,选择需要下载的。(分为压缩版和安装版,我比较推荐压缩版,省事解压缩就好) 配置 首先!&…

[ 数据结构 ] 集合覆盖问题(贪心算法)

0 集合覆盖问题 假设存在如下表的需要付费的广播台,以及广播台信号可以覆盖的地区。 如何选择最少的广播台,让所有的地区都可以接收到信号 广播台覆盖地区K1北京,上海,天津K2广州,北京,深圳K3成都,上海,杭州K4上海,天津K5杭州,大连 思路分析①:穷举法,…

LeetCode 64 最小路径和 | 解题思路分享

原题链接:64. 最小路径和 题目难度:中等 题目描述 给定一个包含非负整数的 m x n 网格 grid ,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。 **说明:**每次只能向下或者向右移动一步。 示例 1&…

Apache Spark + 海豚调度:PB 级数据调度挑战,教你如何构建高效离线工作流

2010年,我国进入移动互联网,数据规模成几何式增长。在大数据开源技术领域,以Hadoop为核心的大数据生态系统面对海量数据也不断发展与迭代,大数据处理流程中的各个开源组件,也一起开启了狂飙突进的大数据时代&#xff0…

MyBatis---初入

MyBatis快速入门 文章目录MyBatis快速入门MyBatisMyBatis开发步骤添加MyBatis的坐标创建user数据表编写user实体类编写映射文件UserMapper.xml编写核心文件SqlMapConfig.xml编写测试类MyBatis Mybatis是一个优秀的基于java的持久层框架,它内部封装了jdbc,使开发者只…

疫情放开后,如何保护居家员工的办公安全?

随着疫情的放开,大多数企业的员工因“阳”不得不在家办公。据当前的趋势来看,一线城市的大小企业已经出现高比例的员工感染,不少工作人员或出于安全的考虑选择居家办公。但无论是被迫居家隔离,还是主动远程办公,大多数…

Redis缓存何以一枝独秀?——从百变应用场景与热门面试题中感受下Redis的核心特性与使用注意点

大家好,又见面了。 本文是笔者作为掘金技术社区签约作者的身份输出的缓存专栏系列内容,将会通过系列专题,讲清楚缓存的方方面面。如果感兴趣,欢迎关注以获取后续更新。 作为《深入理解缓存原理与实战设计》系列专栏,在…

国产高清卫星影像时代来了,打造中国版“谷歌地球”!

随着国家数字化战略转型进程不断加快,卫星遥感影像作为基础数据,应用越来越广泛。目前已经成为资源环境调查、监测、评价和管理等不可或缺的技术手段。 不止于此,在推动行业发展、提高生产力以及节约成本等方面,卫星遥感影像都实…

【半监督医学图像分割 2022 CVPR】S4CVnet 论文翻译

【半监督医学图像分割 2022 CVPR】S4CVnet论文翻译 论文题目:When CNN Meet with ViT: Towards Semi-Supervised Learning for Multi-Class Medical Image Semantic Segmentation 中文题目:当CNN与ViT相遇:面向多类医学图像语义分割的半监督学习 论文链接…

kotlin必备基础一

kotlin 必备基础方法的声明成员方法类方法(静态方法)单表达式方法局部方法方法高级特性高阶函数函数作为参数函数作为返回值闭包(Cloure)闭包的特性闭包的好处解构申明匿名方法kotlin 方法字面值方法参数默认参数可变数量参数Lamb…

【机器学习】K近邻算法(K-NearestNeighbors , KNN)详解 + Java代码实现

文章目录一、KNN 基本介绍二、KNN 核心思想三、KNN 算法流程四、KNN 优缺点五、Java 代码实现 KNN六、KNN 改进策略一、KNN 基本介绍 邻近算法,或者说K最邻近(KNN,K-NearestNeighbors)分类算法是分类方法中最简单的方法之一。所谓…

Cadence PCB仿真使用Allegro PCB SI为分立元件创建统一的模型并赋值方法图文教程

⏪《上一篇》   🏡《总目录》   ⏩《下一篇》 目录 1,概述2,配置方法3,总结1,概述 本文简单介绍使用Allegro PCB SI软件配置电压地网络电压的方法。 2,配置方法 第1步:打开待仿真的PCB文件,并确认软件为Allegro PCB SI 如果,打开软件不是Allegro PCB SI则可这样…

[ 数据结构 ] 背包问题(动态规划)

0 背包问题 有一个背包,容量为4磅,现有如下物品 物品重量价格吉他(G)11500音响(S)43000电脑(L)32000 1)要求达到的目标为装入的背包的总价值最大,并且重量不超出 2)要求装入的物品不能重复(01背包) 1 动态规划 动态规划(Dynamic Programming)算法的核心思想是&…

从0到1完成一个Vue后台管理项目(十一、前端分页实现)

往期 从0到1完成一个Vue后台管理项目(一、创建项目) 从0到1完成一个Vue后台管理项目(二、使用element-ui) 从0到1完成一个Vue后台管理项目(三、使用SCSS/LESS,安装图标库) 从0到1完成一个Vu…

测试分析--精准分析

测试分析的概念 测试分析是建立在对「需求本身」、「用户使用场景」以及对应的「系统架构」和「实现细节」的充分了解的基础上,通过对数据流、状态变化、逻辑时序、功能/性能/兼容性等方面的分析,得出测试点的过程; 在现阶段敏捷开发模式普遍…

【部分真题】2022年12月QMS质量管理体系试题(1-5题)尚大解析版

注1:由于是机考,题目顺序随机变化,但题目内容所有考生一致。 注2:选择题的选项顺序会随机改变,但选项的内容不变。 注3:为了方便学员学习与复习,已经按教程&考试大纲进行全面优化排序。 注4…