热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

第六代战斗机的不可或缺关键指标都有哪些一篇文章让你全面了解TDengine

本文主要介绍关于tdengine,bigdata,数据库的知识点,对【一篇文章让你全面了解TDengine】和【第六代战斗机的不可或缺关键指标都有哪些】有兴趣的朋友可以看下由【谙忆】投稿的技术文章,

本文主要介绍关于tdengine,big data,数据库的知识点,对【一篇文章让你全面了解TDengine】和【第六代战斗机的不可或缺关键指标都有哪些】有兴趣的朋友可以看下由【谙忆】投稿的技术文章,希望该技术和经验能帮到你解决你所遇的【----- ⑤、数据库】相关技术问题。

第六代战斗机的不可或缺关键指标都有哪些

一篇文章让你全面了解TDengine

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

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

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

为什么会有TDengine

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

TDengine的发展历程 2017年,涛思数据开始研发TDengine2018年8月,TDengine的第一款产品真正交给用户使用,从一开始研发到对外推出可用的产品大概花了一年半的时间2019年7月12日,涛思数据正式宣布将TDengine的内核(存储和计算引擎)以及社区版100%开源2020年1月,涛思数据获GGV等近千万美元Pre-A轮投资,研发开源的物联网大数据平台TDengine2020年4月,涛思数据宣布完成超过1000万美元的A轮融资,三个月内完成两轮千万美元融资 TDengine的优势 10 倍以上的性能提升:定义了创新的数据存储结构,单核每秒能处理至少 2 万次请求,插入数百万个数据点,读出一千万以上数据点,比现有通用数据库快十倍以上。硬件或云服务成本降至 1/5:由于超强性能,计算资源不到通用大数据方案的 1/5;通过列式存储和先进的压缩算法,存储占用不到通用数据库的 1/10。全栈时序数据处理引擎:将数据库、消息队列、缓存、流式计算等功能融合,应用无需再集成Kafka/Redis/HBase/Spark/HDFS 等软件,大幅降低应用开发和维护的复杂度成本。与第三方工具无缝连接:不用一行代码,即可与 Telegraf, Grafana, Matlab, R 集成。后续将支持 MQTT, OPC, Hadoop,Spark等, BI工具也将无缝连接。强大的分析功能:无论是十年前还是一秒钟前的数据,指定时间范围即可查询。数据可在时间轴上或多个设备上进行聚合。即席查询可通过 Shell, Python, R, MATLAB 随时进行。高可用性和水平扩展:通过分布式架构和一致性算法,通过多复制和集群特性,TDengine确保了高可用性和水平扩展性以支持关键任务应用程序。零运维成本、零学习成本:安装集群简单快捷,无需分库分表,实时备份。类似标准 SQL,支持 RESTful,支持 Python/Java/C/C++/C#/Go/Node.js, 与 MySQL 相似,零学习成本。核心开源:除了一些辅助功能外,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》版权归谙忆所有,引用一篇文章让你全面了解TDengine需遵循CC 4.0 BY-SA版权协议。


推荐阅读
  • Spark与HBase结合处理大规模流量数据结构设计
    本文将详细介绍如何利用Spark和HBase进行大规模流量数据的分析与处理,包括数据结构的设计和优化方法。 ... [详细]
  • 第二章:Kafka基础入门与核心概念解析
    本章节主要介绍了Kafka的基本概念及其核心特性。Kafka是一种分布式消息发布和订阅系统,以其卓越的性能和高吞吐量而著称。最初,Kafka被设计用于LinkedIn的活动流和运营数据处理,旨在高效地管理和传输大规模的数据流。这些数据主要包括用户活动记录、系统日志和其他实时信息。通过深入解析Kafka的设计原理和应用场景,读者将能够更好地理解其在现代大数据架构中的重要地位。 ... [详细]
  • 转载:https:blog.csdn.nethigh2011articledetails70155431清华大学镜像网:https:mirrors.tu ... [详细]
  • 入门指南:使用FastRPC技术连接Qualcomm Hexagon DSP
    本文旨在为初学者提供关于如何使用FastRPC技术连接Qualcomm Hexagon DSP的基础知识。FastRPC技术允许开发者在本地客户端实现远程调用,从而简化Hexagon DSP的开发和调试过程。 ... [详细]
  • 电商高并发解决方案详解
    本文以京东为例,详细探讨了电商中常见的高并发解决方案,包括多级缓存和Nginx限流技术,旨在帮助读者更好地理解和应用这些技术。 ... [详细]
  • 从0到1搭建大数据平台
    从0到1搭建大数据平台 ... [详细]
  • 在Linux系统中,原本已安装了多个版本的Python 2,并且还安装了Anaconda,其中包含了Python 3。本文详细介绍了如何通过配置环境变量,使系统默认使用指定版本的Python,以便在不同版本之间轻松切换。此外,文章还提供了具体的实践步骤和注意事项,帮助用户高效地管理和使用不同版本的Python环境。 ... [详细]
  • Storm集成Kakfa
    一、整合说明Storm官方对Kafka的整合分为两个版本,官方说明文档分别如下:StormKafkaIntegratio ... [详细]
  • 深入理解Spark框架:RDD核心概念与操作详解
    RDD是Spark框架的核心计算模型,全称为弹性分布式数据集(Resilient Distributed Dataset)。本文详细解析了RDD的基本概念、特性及其在Spark中的关键操作,包括创建、转换和行动操作等,帮助读者深入理解Spark的工作原理和优化策略。通过具体示例和代码片段,进一步阐述了如何高效利用RDD进行大数据处理。 ... [详细]
  • 在Mesos上运行Spark时,常见的问题是Slave节点可能会因应用程序资源消耗过大而耗尽资源。本文分析了这一问题的成因,并提供了多种有效的解决方案,包括资源调度优化、任务分配策略调整以及系统配置改进等,帮助用户提升集群的稳定性和性能。 ... [详细]
  • 本书《.NET Core 2.* 开发者指南》是面向开发者的全面学习与实践手册,涵盖了从基础到高级的各个层面。书中详细解析了 .NET Core 的核心概念,包括如何创建 .NET Core 网站,并通过视频教程直观展示操作过程。此外,还深入探讨了 Startup 类的作用、项目目录结构的组织方式以及如何在应用中使用静态文件等内容。对于希望深入了解 .NET Core 架构和开发技巧的开发者来说,本书提供了丰富的实践案例和详尽的技术指导。 ... [详细]
  • Hadoop——实验七:MapReduce编程实践
    文章目录一.实验目的二.实验内容三.实验步骤及结果分析 1.基于ubuntukylin14.04(7)版本,安装hadoop-eclipse-kepler-plugi ... [详细]
  • 我要用Direct3D建立一个虚拟的屋子,然后把我的视角放到屋子里面,并且可以水平旋转,就象是虚拟现实空间那样。其实就跟DOOM类游戏一样。并且能够用PICK函数去选取在指定点 ... [详细]
  • Hadoop的分布式架构改进与应用
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • APMpinpoint(分布式集群环境下的性能监控)
    [官方参考](https:github.comnaverpinpointblobmasterdocinstallation.md”pinpoint官方文档”)中文文档参考环境要求: ... [详细]
author-avatar
手机用户2502876057
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有