官方论坛的一个讨论:
https://community.influxdata.com/t/whats-the-logical-connection-between-buckets-measurements-retention-policies-in-influxdb-2-0/15900
官方的一篇博客文章:
https://www.influxdata.com/blog/data-layout-and-schema-design-best-practices-for-influxdb/
Separate data into buckets when you need to assign different retention policies to that data or require an authentication token.
使用 bucket 的情况
- 当需要不同的数据保存策略 (保存周期)
- 需要区分访问权限。不同的 auth token。
- 当 tag 中有很多关联,且固定不变的值时,就适合拆分为 bucket。例如,一个用户的,邮箱、电话等信息,拆分为 user bucket。这个例子可能不是很恰当,因为 user 信息还是适合放 mysql 这种关系型数据库。
示例中,bucket 与 measurement 同名,都是 MyPlantFriend。
InfluxDB 中 org / bucket / measurement 概念的区别
与 MySQL 进行对比理解:
- Buckets: 类似 MySQL 中的 Database, 数据桶-数据库,即存储数据的命名空间。
- Measurement: 对应 MySQL 中的 Table, 度量-表。
- Point: 类似 MySQL Record, 数据点-记录。
- Field: Field, 未设置索引的字段。比如,虽然会存储一个时刻的体征数据,血氧含量,但是并不会通过血氧含量的值进行查询。这种就适合 field。
- Tag: Index, 设置了索引的字段。比如,会查询一个人对应的体征数据,这里的 tag 就是人的 id。
微信关注我哦 👍
我是来自山东烟台的一名开发者,有感兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊, 查看更多联系方式