This is an automated email from the ASF dual-hosted git repository. rong pushed a commit to branch iotdb-1620 in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit 7444084c9f6bafca8f4084a0bb42121023a915cb Author: Steve Yurong Su <[email protected]> AuthorDate: Wed Oct 6 09:55:49 2021 +0800 english docs --- .../Data-Concept/Data-Model-and-Terminology.md | 58 +++++++++++----------- 1 file changed, 29 insertions(+), 29 deletions(-) diff --git a/docs/UserGuide/Data-Concept/Data-Model-and-Terminology.md b/docs/UserGuide/Data-Concept/Data-Model-and-Terminology.md index 96ca3fe..eb66047 100644 --- a/docs/UserGuide/Data-Concept/Data-Model-and-Terminology.md +++ b/docs/UserGuide/Data-Concept/Data-Model-and-Terminology.md @@ -33,21 +33,21 @@ Here are the basic concepts of the model involved in IoTDB. ### Measurement, Entity, Storage Group, Path -* Measurement (Also called field) +#### Measurement (Also called field) **Univariable or multi-variable measurement**. It is information measured by a detection equipment in an actual scene, and can transform the sensed information into an electrical signal or other desired form of information output and send it to IoTDB. In IoTDB, all data and paths stored are organized in units of measuements. -* Sub-measurement +#### Sub-measurement In multi-variable measurements, there are many sub-measurement. For example, GPS is a multi-variable measurements, including three sub-measurement: longitude, dimension and altitude. Multi-variable measurements are usually collected at the same time and share time series. The univariable measurement overlaps the sub-measurement name with the measurement name. For example, temperature is a univariable measurement. -* Entity (Also called device) +#### Entity (Also called device) **An entity** is an equipped with measurements in real scenarios. In IoTDB, all measurements should have their corresponding entities. -* Storage Group +#### Storage Group **A group of entities.** Users can set any prefix path as a storage group. Provided that there are four timeseries `root.ln.wf01.wt01.status`, `root.ln.wf01.wt01.temperature`, `root.ln.wf02.wt02.hardware`, `root.ln.wf02.wt02.status`, two devices `wt01`, `wt02` under the path `root.ln` may belong to the same owner or the same manufacturer, so d1 and d2 are closely related. At this point, the prefix path root.vehicle can be designated as a storage group, which will enable IoTDB to store al [...] @@ -61,38 +61,40 @@ After a storage group is set, the ancestral layers, children and descendant laye The Layer Name of storage group can only consist of characters, numbers, underscores and hyphen, like `root.storagegroup_1-sg1`. -* Path +#### Path -In IoTDB, a path is an expression that conforms to the following constraints: +A `path` is an expression that conforms to the following constraints: ``` -path: LayerName (DOT LayerName)+ -LayerName: Identifier | STAR +path : layer_name ('.' layer_name)* + ; +layer_name : identifier + | ('*' | '**') + ; ``` -Among them, STAR is `*` or `**` and DOT is `.`. +We call the part of a path divided by `'.'` as a layer (`layer_name`). For example: `root.a.b.c` is a path with 4 layers. -We call the middle part of a path between two "." as a layer, and thus `root.A.B.C` is a path with four layers. +The following are the constraints on the layer (`layer_name`): -It is worth noting that in the path, root is a reserved character, which is only allowed to appear at the beginning of the time series mentioned below. If root appears in other layers, it cannot be parsed and an error is reported. +* `root` is a reserved character, and it is only allowed to appear at the beginning layer of the time series mentioned below. If `root` appears in other layers, it cannot be parsed and an error will be reported. -Single quotes are not allowed in the path. If you want to use special characters such as "." in LayerName, use double quotes. For example, `root.sg."d.1"."s.1"`. +* Except for the beginning layer (`root`) of the time series, the characters supported in other layers are as follows: -The characters supported in LayerName without double quotes are as below: + * Chinese characters: `"\u2E80"` to `"\u9FFF"` + * `"+", "&", "%", "$", "#", "@", "/", "_", "-", ":"` + * `"A"` to `"Z"`, `"a"` to `"z"`, `"0"` to `"9"` -* Chinese characters '\u2E80' to '\u9FFF' -* '+', '&', '%', '$', '#', '@', '/', '_', '-', ':' -* 'A' to 'Z', 'a' to 'z', '0' to '9' -* '[', ']' (eg. 's[1', 's[1]', s[ab]') + Among them, `'-'` and `':'` cannot be the first character, and `'+'` cannot be used alone. -'-' and ':' cannot be the first character. '+' cannot use alone. +* In addition to the beginning layer (`root`) of the time series and the storage group layer, other layers also support the use of special strings referenced by \` or `" ` as its name. It should be noted that the quoted string cannot contain `.` characters. Here are some legal examples: -> Note: the LayerName of storage group can only be characters, numbers, underscores and hyphen. -> -> Besides, if deploy on Windows system, the LayerName is case-insensitive, which means it's not allowed to set storage groups `root.ln` and `root.LN` at the same time. + * root.sg."select".""""."\$", which contains 5 layers: root, sg, select, "", \$ + * root.sg.\`\`\`\`.\`from\`.\`\$\`, which contains 5 layers: root, sg, \`\`, from, \$ +* In particular, if the system is deployed on a Windows machine, the storage group layer name will be case-insensitive. For example, creating both `root.ln` and `root.LN` at the same time is not allowed. -* Path Pattern +#### Path Pattern In order to make it easier and faster to express multiple timeseries paths, IoTDB provides users with the path pattern. Users can construct a path pattern by using wildcard `*` and `**`. Wildcard can appear in any layer of the path. @@ -105,18 +107,17 @@ In order to make it easier and faster to express multiple timeseries paths, IoTD ### Timeseries -* Data point +#### Data point **A "time-value" pair**. -* Timeseries (A measurement of an entity corresponds to a timeseries. Also called meter, timeline, and tag, parameter in real time database) +#### Timeseries (A measurement of an entity corresponds to a timeseries. Also called meter, timeline, and tag, parameter in real time database) **The record of a measurement of an entity on the time axis.** Timeseries is a series of data points. For example, if entity wt01 in power plant wf01 of power group ln has a measurement named status, its timeseries can be expressed as: `root.ln.wf01.wt01.status`. - -* Multi-variable timeseries (Also called aligned timeseries, from v0.13) +#### Multi-variable timeseries (Also called aligned timeseries, from v0.13) A multi-variable measurements of an entity corresponds to a multi-variable timeseries. These timeseries are called **multi-variable timeseries**, also called **aligned timeseries**. @@ -128,7 +129,7 @@ By using multi-variable timeseries, the timestamp columns of a group of multi-va In the following chapters of data definition language, data operation language and Java Native Interface, various operations related to multi-variable timeseries will be introduced one by one. -* Timestamp +#### Timestamp The timestamp is the time point at which data is produced. It includes absolute timestamps and relative timestamps. For detailed description, please go to Data Type doc. @@ -136,8 +137,7 @@ The timestamp is the time point at which data is produced. It includes absolute ### Measurement Template - -* Measurement template (From v0.13) +#### Measurement template (From v0.13) In the actual scenario, many entities collect the same measurements, that is, they have the same measurements name and type. A **measurement template** can be declared to define the collectable measurements set. Measurement template helps save memory by implementing schema sharing. For detailed description, please refer to Measurement Template doc.
