[
https://issues.apache.org/jira/browse/IOTDB-1431?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17363297#comment-17363297
]
Xiangdong Huang commented on IOTDB-1431:
----------------------------------------
> In practice, a real sensor is a device itself, so the name *_sensor_* is very
>confusing. I would like to propose that we replace all *_sensor_* occurrences
>with *_measurement_*.
+1.
> For example, we can model the utility of CPU cores like
>"root.BJ.ServerRoom001.Server007.CPU0.Core0_Utility", but the *_device_* is
>"root.BJ.ServerRoom001.Server007.CPU0" and "root.BJ.ServerRoom001.Server007"
>is not a *_device_* in IoTDB as it does not collect data directly. From the
>point of view of asset management, "root.BJ.ServerRoom001.Server007" is
>certainly another type of device, but IoTDB focuses on timeseries management
>instead of asset management, so we have a different definition of *_device_*.
Device is indeed confusing. Considering BOM structure, "CPU0" is called a
component or a part.
> It is currently advised to cope with a relational DBMS for asset management
>instead of completely relying on IoTDB.
I think IoTDB needs to manage the properties of "devices", and the BOM. It
should also support query on both the properties (static data) and timeseries
(dynamic data).
> Unify and enhance data model related documents
> ----------------------------------------------
>
> Key: IOTDB-1431
> URL: https://issues.apache.org/jira/browse/IOTDB-1431
> Project: Apache IoTDB
> Issue Type: Improvement
> Components: Document
> Reporter: Tian Jiang
> Priority: Major
>
> In IoTDB, there are two interchangeable concepts: *_sensor_*,
> *_measurement_*. Both of them are the names of physical variables recorded by
> a timeseries, like "temperature", "pressure", "voltage". Together with
> another important concept, *_device_*, a timeseries is described. A
> *_device_* is the full name of a physical entity that collects timeseries
> data, for example, "root.BJ.ServerRoom001.Server007" describes a computer
> whose Id is 007 in a server room with an Id of 001 in Beijing. Put together,
> *_device_* + *_measurement_* describes the full name of a timeseries, which
> is a collection of observations and the observed timestamps, for example,
> timeseries "root.BJ.ServerRoom001.Server007.CPU0.Core0_Utility" stores the
> utility of a CPU core of a computer mentioned above.
> To make it simple:
> *_sensor_*=*_measurement_*=the name of an observation
> *_device_*=the name of an entity that collects data with timestamp
> *_timeseries_*=device + measurement=an observation taken by a specific entity
> It should be noticed that a *_device_* in IoTDB must collect data itself,
> which means having *_measurements_* directly under it, and this may conflict
> with some intuition. For example, we can model the utility of CPU cores like
> "root.BJ.ServerRoom001.Server007.CPU0.Core0_Utility", but the *_device_* is
> "root.BJ.ServerRoom001.Server007.CPU0" and "root.BJ.ServerRoom001.Server007"
> is not a *_device_* in IoTDB as it does not collect data directly. >From the
> point of view of asset management, "root.BJ.ServerRoom001.Server007" is
> certainly another type of device, but IoTDB focuses on timeseries management
> instead of asset management, so we have a different definition of *_device_*.
> It is currently advised to cope with a relational DBMS for asset management
> instead of completely relying on IoTDB.
> In practice, a real sensor is a device itself, so the name *_sensor_* is very
> confusing. I would like to propose that we replace all *_sensor_* occurrences
> with *_measurement_*.
> *_measurement_* is also used in other systems like InfluxDB, but has a
> totally different meaning, as *_measurement_* in InfluxDB is more like the
> table name in a relational DBMS. For a viable schema mapping, one can refer
> to the following:
> measurement(IoTDB)=field(InfluxDB)=non-indexed columns(relational DB)
> device(IoTDB)=measurement+tags(Influxdb)=indexed columns(relational DB)
> For the "root.BJ.ServerRoom001.Server007.CPU0.Core0_Utility" example above,
> the corresponding InfluxDB schema can be:
> measurement(InfluxDB)="BJ"
> tags(InfluxDB)=(ServerRoomId=001, ServerId=007, CPUId=0)
> field(InfluxDB)=Core0_Utility
--
This message was sent by Atlassian Jira
(v8.3.4#803005)