您现在的位置是:亿华云 > 应用开发

聊聊 MongoDB 时间序列集合

亿华云2025-10-03 15:56:15【应用开发】6人已围观

简介名词解释bucket:带有相同的元数据且在一段有限制的间 隔区间内的测量值组。bucket collection :用于存储时序型集合的底层的分组桶的系统集合。复制、分片和索引都是在桶级别上完成的。m

名词解释

bucket:带有相同的聊聊列集元数据且在一段有限制的间 隔区间内的测量值组。

bucket collection :用于存储时序型集合的间序底层的分组桶的系统集合。复制、聊聊列集分片和索引都是间序在桶级别上完成的。

聊聊 MongoDB 时间序列集合

measurement:带有特定时间序列的聊聊列集K-V集合。

聊聊 MongoDB 时间序列集合

meta-data:时序序列里很少随时间变化的间序K-V对,同时可以用于识别整个时序序列。聊聊列集

聊聊 MongoDB 时间序列集合

time-series:一段间隔内的间序一系列测量值。

time-series collection:一种表示可写的聊聊列集非物化的视图的集合类型,它允许存储和查询多个时间序列,间序每个序列可以有不同的聊聊列集元数据。

MongoDB 在5.0中支持了新的间序timeseries collection类型的选项,该类型用于存储时序型数据。聊聊列集timeseries collection提供了一组用于插入和查询测量值的间序简单接口,同时底层实际的亿华云聊聊列集数据是存储在以bucket形式的集合中。

在创建timeseries collection时,timeField字段是最小必备的配置项。metaField是另一个可选的、可被指定的元数据字段,它是用于在bucket中对测量值分组的依据。MongoDB通过提供expireAfterSeconds字段选项,也支持了对测量值的过期机制。

在mydb数据库中有个以mytscoll 命名的timeseries collection,该集合在MongoDB内部的catelog(用于存储集合或视图的信息)里是由一个视图和一个系统集合组成的。

mydb.mytscoll 是个视图,它在MongoDB底层是用bucket collection作为包含特定属性的原始集合实现的:

该视图就是通过aggregation里的亿华云计算$_internalUnpackBucket来实现展开bucket里数据的。

该视图是可写的(仅支持插入)。同时每个被插入的文档必须包含时间字段。

在查询视图时,它会隐式地展开底层在bucket collection中存储的数据,然后返回原始的非bucket形式的文档数据。

该系统集合的命名空间是mydb.system.buckets.mytscoll,它是用来存储实际数据的。

每一个在bucket collection里的文档,都表示了一组区间间隔的时序型数据。

如果在创建timeseries collection时,定义了metaField元数据字段,那么所有在bucket里的测量值都会有这个通用的元数据字段。

除了时间范围,bucket还限制了每个文档数据的总条数以及测量值的大小。高防服务器

Bucket Collection Schema{

_id:

很赞哦!(882)