Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

由于一元序列和多元序列的分量具有相似性,在查询、写入的时候容易引发歧义。


例1:在 例1:vector 场景下考虑查询语句的语义。

元数据包含:

...

Code Block
languagesql
themeConfluence
linenumberstrue
select * from root.d1
select ** from root.d1
select s1 from root.d1.*
select s1 from root.d1.**


例2:在 例2:vector 场景下考虑对以下语句是否应该支持。

Code Block
languagesql
themeConfluence
linenumberstrue
// 场景1:一个物理设备具有多个一元序列
create timeseries root.sg.d3.s1 FLOAT
create timeseries root.sg.d3.s2 FLOAT

insert into root.sg.d3(time, s1) values(1,1)
insert into root.sg.d3(time, s1, s2) values(1,1,2)

// 场景2:一个物理设备具有一个多元序列
create aligned timeseries root.sg1.d1.b(s1 FLOAT, s2 INT32)

insert into root.sg.d1(time, b(s1, s2)) values(1,(1,2))
insert into root.sg.d1(time, b(s1)) values(2,(1)) //多元序列允许某列的某些行有空值,如时间戳2下只有s1有值,s2无值,则只需:
insert into root.sg.d1(time, b(s2)) values(3,(2))

// 场景3:一个物理设备具有多个多元序列
create aligned timeseries root.sg.d3.陀螺仪(s1 FLOAT, s2 INT32)
create aligned timeseries root.sg.d3.GPS(s3 FLOAT, s4 INT32)

insert into root.sg.d3(time, 陀螺仪(s1, s2), GPS(s3, s4)) values(1, (1, 2),(3,4))
insert into root.sg.d3(time, 陀螺仪(s1, s2)) values(1, (1, 2))

// 场景4:一个物理设备具有混合的多元序列和一元序列
create aligned timeseries root.sg.d4.GPS(s3 FLOAT, s4 INT32)
create timeseries root.sg.d4.s5 FLOAT

insert into root.sg.d3(time, GPS(s3, s4), s5) values(1, (3,4), 5)

...

对于数据插入:为适应自动创建 Schema,向对齐时间序列插入数据必须加 aligned 关键词。不能同时向多组对齐时间序列插入,不能同时向对齐和非对齐的时间序列插入。


例如:

Code Block
languagesql
themeConfluence
linenumberstrue
// 场景1:一个物理设备具有多个一元序列
create timeseries root.sg1.d1.s1 FLOAT
create timeseries root.sg1.d1.s2 FLOAT

insert into root.sg1.d1(time, s1) values(1,1)
insert into root.sg1.d1(time, s1, s2) values(1,1,2)

// 场景2:一个物理设备具有一个多元序列
create aligned timeseries root.sg1.d1.v1(s1 FLOAT, s2 INT32)

insert into root.sg1.d1.v1(time, s1, s2) aligned values(1,1,2)
insert into root.sg1.d1.v1(time, s1) aligned values(2,2)
insert into root.sg1.d1.v1(time, s2) aligned values(3,3)

 // 场景3:一个物理设备具有多个多元序列
create aligned timeseries root.sg1.d1.v1(s1 FLOAT, s2 INT32)
create aligned timeseries root.sg1.d1.v2(s3 FLOAT, s4 INT32)

// 场景4:一个物理设备具有混合的多元序列和一元序列
create aligned timeseries root.sg1.d1.v1(s1 FLOAT, s2 INT32)
create timeseries root.sg1.d1.s2 FLOAT

...