Versions Compared

Key

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

...

Markdown
# 数据量 

10组,每组10个设备,每个设备10个sensor (sg1~sg10(`sg1~sg10, d1~d10, s1~s10)s1~s10`)

### 

# 1. 普通写入查询 (10X10X10=1000个sensor写入)

### 写入

每个sensor写入十万个数据点

例如设备d1

time | s1 | s2 | ... | s10
---|---|---|---|---|
1 | 1 | 1 | ... | 1
2 | 2 | 2 | ... | 2
... | ... | ... | ... | ...
100000 | 100000 | 100000 | 100000 | 100000

### 原始数据部分查询

##### 单设备单传感器

随机选择1个时间范围(随机选择一个时间点,往后查1000个,如果选择了最后99000~100000时间点,就查99000~100000的数据)。随机选择一个组一个设备,再随机选择2个传感器。总共两次查询。每次查询时间范围都不一样。随机选择1个时间范围(随机选择一个时间点,往后查1000个,如果选择了最后(99000,100000]时间点,就查(99000,100000]的数据)。随机选择一个组一个设备,再随机选择2个传感器。总共两次查询。每次查询时间范围都不一样。

例如设备d1

```
select s1 from root.sg1.d1 where time >= 99 and time <= 1099
select s100 from root.sg1.d1 where time >= 1200 and time <= 2200
```

##### 多设备单传感器

随机选择1个时间范围(随机选择一个时间点,往后查1000个,如果选择了最后99000~100000时间点,就查99000~100000的数据)。随机选择一个组,随机选择2个传感器。总共两次查询。每次查询时间范围都不一样。

例如

```
select s1 from root.sg1.d1, root.sg1.d2, ..., root.sg1.d10 where time >= 99 and time <= 1099
select s4 from root.sg1.d1, root.sg1.d2, ..., root.sg1.d10 where time >= 1200 and time <= 2200
```

##### 单设备多传感器

随机选择1个时间范围(随机选择一个时间点,往后查1000个,如果选择了最后99000~100000时间点,就查99000~100000的数据)。随机选择一个组一个设备。总共一次查询。每次查询时间范围都不一样。随机选择1个时间范围(随机选择一个时间点,往后查1000个,如果选择了最后(99000,100000]时间点,就查(99000,100000]的数据)。随机选择一个组一个设备。总共一次查询。每次查询时间范围都不一样。

例如

```
select s1, s1, ...,s10 from root.sg1.d1 where time >= 99 and time <= 1099
```
对比数据是否一致, 如果不一致,打印出不一样的数据和sql。

### 聚合查询

##### 单设备单传感器

随机选择1个时间范围(随机选择一个时间点,且必须为10的整数倍,往后查1000个,如果选择了最后99000~100000时间点,就查99000~100000的数据)。随机选择一个组一个设备,再随机选择2个传感器。总共四次查询。每次查询时间范围都不一样。聚合函数分别为`last随机选择1个时间范围(随机选择一个时间点,且必须为10的整数倍,往后查1000个,如果选择了最后(99000,100000]时间点,就查(99000,100000]的数据)。随机选择一个组一个设备,再随机选择2个传感器。总共四次查询。每次查询时间范围都不一样。聚合函数分别为`last_value,count`。

```
select count(s1) from root.sg1.d1 where time >= 1000 and time <= 2000
select last_value(s1) from root.sg1.d1 where time >= 3000 and time <= 4000
select count(s100) from root.sg1.d1 where time >= 4000 and time <= 5000
select last_value(s100) from root.sg1.d1 where time >= 5000 and time <= 6000
```

##### 多设备单传感器

和原始数据同理

##### 单设备多传感器

和原始数据同理

### 降采样查询

##### 单设备单传感器

例如设备d1

随机选择1个时间范围(随机选择一个时间点,且必须为10的整数倍,往后查1000个,如果选择了最后99000~100000时间点,就查99000~100000的数据)。步长为10。随机选择一个组一个设备,再随机选择2个传感器。总共六次查询。每次查询时间范围都不一样。聚合函数分别为`last随机选择1个时间范围(随机选择一个时间点,且必须为10的整数倍,往后查1000个,如果选择了最后(99000,100000]时间点,就查(99000,100000]的数据)。步长为10。随机选择一个组一个设备,再随机选择2个传感器。总共六次查询。每次查询时间范围都不一样。聚合函数分别为`last_value, first_value, count`。

```
select first_value(s1) from root.sg1.d1 group by ((1000, 2000], 10)
select last_value(s1) from root.sg1.d1 group by ((3000, 4000], 10)
select count(s1) from root.sg1.d1 group by ((4000, 5000], 10)
select first_value(s100) from root.sg1.d1 group by ((5000, 6000], 10)
select last_value(s100) from root.sg1.d1 group by ((7000, 8000], 10)
select count(s100) from root.sg1.d1 group by ((9000, 10000], 10)
```

##### 多设备单传感器

和原始数据同理

##### 单设备多传感器

和原始数据同理

对比数据是否一致, 如果不一致,打印出不一样的数据和sql。

### 重复写入查询

每个sensor再写入十万个数据点

例如设备d1

time | s1 | s2 | ... | s10
---|---|---|---|---|
100001 | 100001 | 100001 | ... | 100001
100002 | 100002 | 100002 | ... | 100002
... | ... | ... | ... | ...
200000 | 200000 | 200000 | 200000 | 200000

重复上述操作

# 2. 乱序写入查询

### 执行1. 普通写入查询

### 执行flush操作

### 写入乱序点

每个sensor随机设置N*10000(1 <= N <= 9),从后往前个乱序数据点插入,数据全部加一。

例如设备d1

time | s1 | s2 | ... | s100
---|---|---|---|---|
50001 | 50002 | 50002 | ... | 50002
50002 | 50003 | 50003 | ... | 50003
... | ... | ... | ... | ...
100000 | 100001 | 100001 | 100001 | 100001

### 原始数据部分查询

随机选择1个时间范围(随机在N*10000~100000选择一个时间点,往前查1000个)。其余全部和1随机选择1个时间范围(随机在(N*10000,100000]选择一个时间点,往前查1000个)。其余全部和1. 普通写入查询同理。

### 重复写入查询

重复上述操作。

# 3. 删除写入查询

### 执行1. 普通写入查询

### 删除点

每个sensor随机删除N*100(1 <= N <= 9)个时间点数据。

### 原始数据部分查询

随机选择1个时间范围(随机在删除时间段选择一个时间点,往前查1000个)。其余全部和1. 普通写入查询同理。

...