ITPub博客

首页 > 大数据 > 数据挖掘 > TDengine的实践场景

TDengine的实践场景

原创 数据挖掘 作者:xuexiaogang 时间:2022-11-10 21:29:26 1 删除 编辑

    前几日我们在讨论一个物联网场景时候,负责该项目的博士提出了一个他的想法--将各个采集的数据关联用以发现问题。我觉得这个思路不错,至于能不能做呢?

我下来模拟了一下。我们这里使用的是Tdengine,我这里有d1表和d2表两个表。d1和d2是两个物联网的检测器对应的数据表。 那么我按照车牌号码去关联,数据库提示我不支持。


这个结果其实也在我意料之中,毕竟时序数据库不属于RDBMS的范畴,应该算在NoSQL的范畴。不能关联也不怪它。

那么这个要怎么解决?我想起官方介绍过一种叫做超级表。摸索尝试用用。

taos> create table t (ts TIMESTAMP,x int,y int) tags (id int,no nchar(100));   -创建超级表  注意这里的tags,我意思是采集设备的id和车牌号码。


taos> CREATE TABLE t1 USING t TAGS ('1', '沪A12345');  --创建子表1,这里using用到了超级表的tags

Query OK, 0 of 0 row(s) in database (0.006030s)


taos> CREATE TABLE t2 USING t TAGS ('2', '沪A54321');  --创建子表2,这里using用到了超级表的tags

Query OK, 0 of 0 row(s) in database (0.017275s)


看一下表,只看到t1和t2, 但是注意看t1和t2最后一列其实显示了他们的父表。

给两个子表分别写一条数据。


直接查父表(超级表)就可以了。其实相当于RDBMS中执行了union all。


最后再执行带where条件的SQL,其实就等于给两个表做了关联。


所以从上述可以看到,时序数据库不能直接做关联(不支持),需要通过设计完成(而这个要怎么设定tags,以及设定多少个tags,这在上线之初要定义好,想好规划好)。

这样就可以完成物联网大量数据的关联分析。

我第一次听到这个产品时候,我觉得他说出了心声。物联网的数据是海量的,如果用左边这十几种技术栈(成本先不说),累也要累死了。而时序数据库基本是用来解决这个问题的。所以有时候我听到说要把时序数据库的数据拿到hadoop去分析,简直是搞笑。但凡懂这些技术的人都不会做出这样的方案。


今天意外还发现一个问题,同一个时间戳的数据是写不进来的。




来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/637517/viewspace-2922836/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 列式向量化
请登录后发表评论 登录
全部评论
OracleACE/PostgreSQLACE/阿里云MVP/腾讯云TVP/墨天轮 MVP/TiDBMVA/数盟会华东区长老/OpenTenBase社区委和技术委委员/架构师技术同盟名人堂成员上海地区理事会成员/if社区联合发起人/《DBA实战手记》作者/公众号:四海内皆兄弟

注册时间:2013-07-01

  • 博文量
    422
  • 访问量
    952874