前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >谈谈tdengine的超级表设计

谈谈tdengine的超级表设计

作者头像
johnhuster的分享
发布2022-03-28 21:39:04
1.6K0
发布2022-03-28 21:39:04
举报
文章被收录于专栏:johnhuster

tdengine是国内涛思数据开源的一款高性能时序数据库,尤其针对物联网应用领域,大部分采用C++语言开发,所以不存在类似cassandra的GC问题,涛思官网对自家产品与其他几款时序数据库做了比较详尽的性能对比,详见:文档 | 涛思数据

tdengine在很多方面性能都远超其他竞品,tdengine之所以快有开发语言问题,更多的是其在多方面的优化,比如一设备一表的设计,这种设计不管是读取还是插入都会有不同程度的性能提升,所以性能对比多少有那么一点点取巧的感觉。

好了,进入今天的正题,说说tdengine的超级表设计,超级表是为了更好的管理一设备一表的模式而设计的,首先要强调的是tdengine是一款结构化的数据库(需要提前设计表结构),尤其是设备很多的时候,总不能提前为每个设备创建表结构,这样及其麻烦。这时候超级表就出现了,超级表类似于一种模板,可以根据这个模板创建每个设备的表。具体怎么工作的,咱们以官网的例子来说明:

1、创建一张超级表meters,

CREATE STABLE meters(ts TIMESTAMP, current FLOAT, voltage INT, phase FLOAT) TAGS(location BINARY(30), groupId INT);

2、以超级表为模板直接往子表插入数据:

  1. INSERT INTO d21001 USING meters (groupId) TAGS (2) VALUES ('2021-07-13 14:06:33.196', 10.15, 217, 0.33)

上面这种方式不需要提前创建设备子表,直接插入即可,没有设备子表的话tdengine会自动创建。

也就是说tdengine目前是不支持直接通过超级表插入数据的,笔者觉得也许这只是一个中间阶段,这种设计也许是从tdengine自身开发人员的角度出发的,使用者有时并不需要关注这些东西,期待可以直接通过超级表插入数据的功能。

PS:

1、虽然tdengine暂时不支持通过超级表插入数据,但是支持通过超级表读取数据。

参考文章:

1、文档 | 涛思数据

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/09/26 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档