10

在尝试理解 InfluxDb 的不同概念时,我遇到了这个文档,其中有一个与 SQL 数据库的术语比较。

InfluxDB 测量类似于 SQL 数据库表。
InfluxDB 标签就像 SQL 数据库中的索引列。
InfluxDB 字段就像 SQL 数据库中的未索引列。
InfluxDB 点类似于 SQL 行。

但是我遇到了其他几个术语,我无法清楚地理解这些术语,并想知道是否有与之对应的 SQL。

系列
铲斗

根据我从文档中了解到的

系列是共享保留策略、度量和标签集的数据集合。

这是否意味着系列是数据库表中数据的子集?还是它像数据库视图?
我看不到任何解释存储桶的文档。我猜这是 2.0 版本中的一个新概念

有人可以澄清这两个概念吗?

4

3 回答 3

3

您链接到的 InfluxDb 文档有一个系列是什么的示例,即使他们没有这样标记它。在 InfluxDb 中,您可以将测量和标签的每个组合视为在它自己的“表”中。文档像这样拆分它。

SQL中的这张表:

+---------+---------+---------------------+--------------+
| park_id | planet  | time                | #_foodships  |
+---------+---------+---------------------+--------------+
|       1 | Earth   | 1429185600000000000 |            0 |
|       2 | Saturn  | 1429185601000000000 |            3 |
+---------+---------+---------------------+--------------+

在 InfluxDb 中成为这两个系列:

name: foodships
tags: park_id=1, planet=Earth

----

name: foodships
tags: park_id=2, planet=Saturn

...etc...

这在您查询数据时会产生影响,这也是建议您没有tag高基数值的原因。例如,如果您有一个标签temperature(特别是如果它精确到多个小数点),InfluxDb 将为每个可能的tag值组合创建一个“表”。

Bucket更容易理解。它只是数据库与保留策略的组合。在以前版本的 InfluxDb 中,这些是单独的概念,现在已经组合在一起。

于 2020-06-24T16:03:30.423 回答
3

我将我的理解总结如下:

  • 存储桶被命名为具有保留策略的存储时间序列数据的位置。
  • 系列是由共享度量、标签和字段定义的数据的逻辑分组。
  • 度量类似于 SQL 数据库表。
  • 标记类似于 SQL 数据库中的索引列。
  • 字段类似于 SQL 数据库中的未索引列。
  • 一个类似于 SQL 行。

例如,一个 SQL 表workdone

Email Status time Completed
lorr@influxdb.com 开始 1636775801000000000 76
lorr@influxdb.com 结束 1636775868000000000 120
marv@influxdb.com 开始 1636775801000000000 0
marv@influxdb.com 结束 1636775868000000000 20
悬崖@influxdb.com 开始 1636775801000000000 54
悬崖@influxdb.com 结束 1636775868000000000 56

EmailStatus被索引。

因此:

  • 测量:workdone
  • 标签:Email,Status
  • 场地:Completed
  • 系列(基数 = 3 x 2 = 6):
    1. 测量:workdone; 标签:Email: lorr@influxdb.com, Status: start; 场地:Completed
    2. 测量:workdone; 标签:Email: lorr@influxdb.com, Status: finish; 场地:Completed
    3. 测量:workdone; 标签:Email: marv@influxdb.com, Status: start; 场地:Completed
    4. 测量:workdone; 标签:Email: marv@influxdb.com, Status: finish; 场地:Completed
    5. 测量:workdone; 标签:Email: cliff@influxdb.com, Status: start; 场地:Completed
    6. 测量:workdone; 标签:Email: cliff@influxdb.com, Status: finish; 场地:Completed

跨多个存储桶拆分逻辑系列可能不会提高性能,但可能会使通量查询复杂化,因为需要包括多个存储桶。

于 2021-11-13T04:08:38.593 回答
3

根据InfluxDB 词汇表

存储桶是时间序列数据存储在 InfluxDB 2.0 中的命名位置。在 InfluxDB 1.8+ 中,数据库和保留策略 (database/retention-policy) 的每个组合代表一个存储桶。使用 InfluxDB 1.8+ 中包含的InfluxDB 2.0 API 兼容性端点与存储桶进行交互。

系列

由共享度量、标签集和字段键定义的数据逻辑分组。

于 2021-04-11T06:15:02.747 回答