zcy1010 commented on a change in pull request #4090: URL: https://github.com/apache/iotdb/pull/4090#discussion_r728007772
########## File path: docs/zh/UserGuide/API/InfluxDB-Protocol.md ########## @@ -33,3 +33,128 @@ InfluxDB influxDB = InfluxDBFactory.connect(openurl, username, password); InfluxDB influxDB = IoTDBInfluxDBFactory.connect(openurl, username, password); ``` +## 2.方案设计 + +### 2.1 InfluxDB-Protocol适配器 + +适配器是一个继承至InfluxDB基类的子类,实现了InfluxDB接口的所有方法,从而使InfluxDB原有的操作函数没有改变,但是会以IoTDB的协议写入IoTDB数据库中。 + + + + + + +### 2.2 数据格式转换 + +#### 2.2.1 InfluxDB数据格式 + +1. database: 数据库名。 +2. measurement: 测量指标名。 +3. tags : 各种有索引的属性。 +4. fields : 各种记录值(没有索引的属性)。 + + + +#### 2.2.2 IoTDB数据格式 + +1. storage group: 存储组。 +2. path(time series ID):存储路径。 +3. measurement: 物理量。 + + + +#### 2.2.3 两者映射关系 + +1. InfluxDB中的database和measurement可以看做IoTDB中的storage group。 +2. InfluxDB中的tags可以看做IoTDB中的path。 +3. InfluxDB中的fields可以看做IoTDB中measurement。 + + + +#### 2.2.4 转换中的问题 +1. 问题:InfluxDB中Tag的顺序不敏感,而在IoTDB中是敏感的。 +2. 关键点:需要记录每个tag对应的顺序,确保InfluxDB中label顺序不同的同一条时序对应到IoTDB中也是一条时序。 +3. 需要解决的事情: + 1. 怎样映射tag key和它对应的order Review comment: 1. 怎样把tag key映射到和它对应的order ########## File path: docs/zh/UserGuide/API/InfluxDB-Protocol.md ########## @@ -33,3 +33,128 @@ InfluxDB influxDB = InfluxDBFactory.connect(openurl, username, password); InfluxDB influxDB = IoTDBInfluxDBFactory.connect(openurl, username, password); ``` +## 2.方案设计 + +### 2.1 InfluxDB-Protocol适配器 + +适配器是一个继承至InfluxDB基类的子类,实现了InfluxDB接口的所有方法,从而使InfluxDB原有的操作函数没有改变,但是会以IoTDB的协议写入IoTDB数据库中。 + + + + + + +### 2.2 数据格式转换 + +#### 2.2.1 InfluxDB数据格式 + +1. database: 数据库名。 +2. measurement: 测量指标名。 +3. tags : 各种有索引的属性。 +4. fields : 各种记录值(没有索引的属性)。 + + + +#### 2.2.2 IoTDB数据格式 + +1. storage group: 存储组。 +2. path(time series ID):存储路径。 +3. measurement: 物理量。 + + + +#### 2.2.3 两者映射关系 + +1. InfluxDB中的database和measurement可以看做IoTDB中的storage group。 +2. InfluxDB中的tags可以看做IoTDB中的path。 +3. InfluxDB中的fields可以看做IoTDB中measurement。 + + + +#### 2.2.4 转换中的问题 +1. 问题:InfluxDB中Tag的顺序不敏感,而在IoTDB中是敏感的。 +2. 关键点:需要记录每个tag对应的顺序,确保InfluxDB中label顺序不同的同一条时序对应到IoTDB中也是一条时序。 +3. 需要解决的事情: + 1. 怎样映射tag key和它对应的order + 2. 在不知道所有的label key的情况下,怎么维护他们之间的顺序 + +### 2.3 解决方案 + +#### 2.3.1 主要思想 + +1. 内存中Map <Measurement, Map <Tag Key, Order> > table结构维护Tag之间的顺序 Review comment: 不太理解`table结构维护Tag之间的顺序` ########## File path: docs/zh/UserGuide/API/InfluxDB-Protocol.md ########## @@ -33,3 +33,128 @@ InfluxDB influxDB = InfluxDBFactory.connect(openurl, username, password); InfluxDB influxDB = IoTDBInfluxDBFactory.connect(openurl, username, password); ``` +## 2.方案设计 + +### 2.1 InfluxDB-Protocol适配器 + +适配器是一个继承至InfluxDB基类的子类,实现了InfluxDB接口的所有方法,从而使InfluxDB原有的操作函数没有改变,但是会以IoTDB的协议写入IoTDB数据库中。 Review comment: 该适配器的实现为一个继承了InfluxDB基类的子类, 这个子类实现了InfluxDB的所有接口,并没有改变InfluxDB原有的操作函数,最终以IoTDB的协议写入loTDB数据库中。 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
