关注我的头号账号Wooola。我有10 年Java 软件开发和架构设计经验,每天致力于分享原创文章、快乐编码和开源技术,重点关注Java、Go 语言和微服务架构。天。
简介
TDengine是陶思数据推出的开源大数据平台,针对物联网、车联网、工业互联网、IT运维等领域进行设计和优化。
Github 上的Star1W+,分叉2.8K。
传送门
官网
https://www.taosdata.com/cn/Github
https://github.com/taosdata/TDengine
特性
应用场景
架构设计
数据模型与设计
数据模型:关系数据库模型,但每个采集设备必须建单独的表。 主模块:包括管理节点、数据节点和客户端。数据节点先写入WAL,再写入缓存。检查您的应用程序的数据存储。数据按照时间段进行切片,采用列式存储,针对不同的数据类型应用不同的压缩算法。 TAOS SQL
支持的数据类型:支持多种数据类型,包括时间戳、整数、浮点数、布尔值和字符。 数据库管理:添加、删除、查看数据库表管理:添加、删除、查看、表格写入数据:支持单表、多条目、多表多条目,支持写入历史数据、数据查询:支持周期、值过滤、排序、查询结果手动分页等SQL功能:支持各种聚合函数、选择函数、avg等计算函数、min、diff等时间维度聚合: STable:将每个时期的数据提取并聚合到表中,以及对超级表进行降维处理。STable:多表的聚合
什么是超级表:同类型设备管理聚合的创新方式管理超级表:写入数据时自动创建子表:以超级表为模板,自动创建表创建。管理STable 中的标签:为一个或多个超级表添加、删除和更改标签STable 中的多表聚合:设置标签过滤条件以聚合表组使用STable 的示例:高级超级表功能我们将解释如何使用它。
持续查询:数据流基于滑动窗口自动周期性查询计算。 数据订阅(发布者/订阅者):与典型的消息队列类似,应用程序可以订阅它们收到的最新数据。数据缓存在内存中,以便快速检索连接器
C/C++ 连接器:通过libtaos 客户端库连接到TDengine 服务器的主要方法Java 连接器(JDBC):通过标准Python API 为Java 应用程序提供与TDengine 的连接。提供Python应用程序的驱动程序。 RESTful 连接器:提供连接到TDengine 服务器的最简单方法。 Go Connector:为Go应用程序提供连接TDengine服务器的驱动程序。 Node.js 连接器:为Node 应用程序提供驱动程序到驱动程序的连接。 TDengine 服务器和其他工具。
Telegraf:将DevOps 收集的数据发送到TDengine Grafana:捕获并可视化存储在TDengine 中的数据Matlab:在Matlab 中配置JDBC 数据源以访问存储在TDengine 中的数据R:在R 中配置JDBC 数据配置源代码管理以访问存储在TDengine 中的数据系统
文件目录结构:TDengine数据文件、配置文件等所在目录。 服务器设置:端口、缓存大小、文件块大小,以及其他系统设置:字符集、链接IP地址、默认用户名、密码。这样的。 配置用户管理:添加和删除TDengine用户、更改用户密码数据导入:可以根据脚本文件导入,也可以根据数据文件导入数据导出:也可以从shell中逐表导出。 taosdump工具用于各种导出系统连接、任务查询管理:查询或停止现有连接、查询、流式计算系统监控:系统现有连接、查询、流式计算、日志和事件等检查技术设计。
存储设计:专门针对时序数据优化的列式存储格式查询处理:查询和计算时序数据的高效方法集群设计:吸收NoSQL优点并支持高可靠性和线性扩展的技术博客:更多技术分析和建筑学。设计文章
性能对比
InfluxDB、OpenTSDB、Cassandra、MySQL 和ClickHouse 的比较
性能测试报告
https://www.taosdata.com/downloads/TDengine_Testing_Report_cn.pdf
版本
社区版
TDengine Community Edition 是一个获得AGPL 许可的开源平台,用于处理中小型物联网数据。 及更多,它具有高效处理物联网数据所需的所有功能。
用于插入或查询数据的类SQL 查询语言支持C/C++、Java (JDBC)、Python、Go、RESTful、Node.JS 以及各种即席查询分析。 /Matlab。连续查询支持基于滑动窗口的流计算,嵌入式消息队列引入了现代数据嵌入式缓存机制和超级表,允许应用程序订阅每个设备的最新数据。应用程序可以快速检索状态和记录,无需区分历史数据和实时数据。安装包仅有1.5M,只需几秒钟即可下载并正常使用。版
TDengine企业版是电信级分布式版本,具有超高可靠性和强大的水平扩展能力,应对大数据挑战。社区版的所有功能,加上:
线性可扩展性确保您可以处理任何大小的数据而不会出现单点故障,高可靠性可确保数据与运营商级服务的内置实时同步,并将数据传输到整个机房的各个节点。时间复制,支持便捷可靠,可视化管理工具支持更多工业数据接口和云支持,提供24小时专业技术支持。服务版。
TDengine云服务版在AWS和阿里云上运行TDengine企业版,通过专业的技术服务团队提供电信级的物联网大数据平台服务。
只需单击鼠标,您就可以扩展容量以适应快速的数据增长。无需管理,因此您无需再担心安装、部署或维护系统。您可以查看有关正常运行时间、使用情况和每月使用情况的各种统计数据。
案例
专业技术服务非常适合中小企业。其中企业版和云服务版是付费的,但也包括TDengine的性能压力测试对比以及基于TDengine开发的系统的文章。
常见问题
1. 发生错误:“无法连接到服务器。”我应该怎么办?
如果您的客户端遇到链接故障,请按照以下步骤进行检查。
在服务器上运行systemctl status taosd,查看taosd的运行状态。如果没有运行,请启动taosd 并确保客户端ping 服务器IP 时指定了正确的服务器IP 地址,检查您的防火墙设置并确保TCP/UDP 端口为6030~6039。对于Linux JDBC(类似于ODBC、Python、Go等接口),请确保libtaos.so位于目录/usr/local/lib/taos中,并且/usr/local/lib/taos位于目录中。系统库函数的搜索路径LD_LIBRARY_PATH(Windows 上) 要连接JDBC、ODBC、Python、Go 等,请确保driver/c/taos.dll 位于您的系统搜索目录(taos.dll(建议放置(C:\Windows\System32) 如果无法解决连接错误,请使用命令行Do: nc 检查指定端口的TCP 和UDP 连接是否顺畅。 -vuz {hostIP} {port} 检查服务器端TCP 端口连接是否正常工作: nc -l {port} 检查客户端TCP 端口链接是否正常工作: nc { hostIP} {port}2.即使语法正确,也会出现无效的SQL”错误?
验证语法正确后,请检查SQL 语句的长度是否不超过64K。如果超过这个值,也会返回这个错误。
3. 为什么删除超级表总是失败?
确保超级表下没有其他表。否则,系统将不允许您删除超级表。
4. 是否支持验证查询?
TDengine 还没有一组专用的验证查询。但是,为此,我们建议使用系统监控数据库“Log”。
5. 我可以删除或更新记录吗?
你不能。 TDengine 是为从联网设备收集的数据而设计的,因此不允许修改。然而,TDengine有数据保留政策,数据记录在保留期后会自动删除。
6. 如何创建超过250列的表?
TDengine 允许您创建最多包含250 列的表。但是,如果超过此范围,我们建议根据数据的特征,从逻辑上将此宽表拆分为几个较小的表。
7. 最高效的数据写入方式是什么?
批量插入。每条写语句可以同时向一张表中插入多条记录,或者同时向多个表中插入记录。
8. 如何解决Windows系统下插入nchar数据出现汉字乱码问题?
如果您在Windows 中注入的nchar 类数据有中文字符,请首先确保您的系统区域设置为中国(可以在控制面板中设置)。至此,cmd的taos客户端应该就可以正常工作了。在IDE中如果您在Eclipse或Intellij等IDE中开发Java应用程序,请确保IDE的文件编码为GBK(这是Java的默认编码类型),然后在生成文件时初始化客户端配置。联系。具体说法是:
Class.forName(‘com.taosdata.jdbc.TSDBDriver’);Properties property=new Properties();properties.setProperty(TSDBDriver.LOCALE_KEY, ‘UTF-8’);Connection=DriverManager.getConnection(url,properties); 1010 TDengine是中国人开发的一个大数据平台框架,希望未来能和Spark、Hadoop一样好,甚至更好。
原创文章,作者:小条,如若转载,请注明出处:https://www.sudun.com/ask/85418.html