Los datos de series de tiempo son una secuencia de puntos de datos en la que se obtienen perspectivas al analizar los cambios a lo largo del tiempo.
Los datos de series de tiempo generalmente incluyen los siguientes componentes:
Hora: Indica cuándo se registró el punto de datos.
Metadatos: Una etiqueta que identifica una serie de datos y rara vez cambia. Los metadatos se almacenan en un
metaFieldNo se puede agregar un campometaFielda un documento de serie temporal después de crearlo. Los metadatos también se conocen comosource. Para obtener más información, consulte metaCampos.Métricas: Puntos de datos individuales que se rastrean en intervalos de tiempo, a menudo se muestran como pares clave-valor que varían con el tiempo. Las métricas también se denominan valores.
Mediciones: Documentos que contienen datos de todas las métricas en un punto específico. Una medición incluye el tiempo, los metadatos y todas las métricas registradas en ese momento.
Esta tabla muestra ejemplos de datos de series de tiempo:
Ejemplo | Métricas | Metadata |
|---|---|---|
Datos de acciones | Precio de las acciones | Mercado de valores |
Datos del clima | Temperatura | Identificador del sensor, ubicación |
Visitantes del sitio web | Conteo de vistas | URL |
Para un almacenamiento eficiente de datos de series de tiempo, MongoDB ofrece colecciones de series de tiempo.
En el siguiente ejemplo se muestra un documento de medición para datos meteorológicos:
{ "timestamp": ISODate("2025-08-19T12:00:00Z"), "metaField": { "sensorId": "A1234", "location": { "city": "New York", "state": "NY" } }, "temperature": 25.4, "humidity": 48.2, "pressure": 1012.5, "windSpeed": 5.2, "windDirection": "NW" }
En este ejemplo, la medición contiene:
Una marca de tiempo que indica cuándo se registraron los datos.
Metadatos que identifican el sensor y su ubicación.
Múltiples métricas, incluyendo temperatura, humedad, presión, velocidad y dirección del viento, recopiladas en el momento dado.
Colecciones de series de tiempo
Nuevo en la versión 5.0.
Las colecciones de series de tiempo almacenan eficientemente los datos de series de tiempo. En las colecciones de series de tiempo, los registros guardados se organizan de manera que los datos de la misma fuente se almacenen junto a otros puntos de datos de un momento similar en el tiempo.
Puedes crear colecciones de series de tiempo en la interfaz de usuario para implementaciones alojadas en MongoDB Atlas.
Importante
Funcionalidad incompatible con versiones anteriores
Se deben descartar las colecciones de series de tiempo antes de realizar una degradación:
MongoDB 6.0 o posterior a MongoDB 5.0.7 o anterior.
MongoDB 5.3 a MongoDB 5.0.5 o versiones anteriores.
Beneficios
En comparación con las colecciones normales, almacenar datos de series de tiempo en colecciones de series de tiempo mejora la eficiencia de las consultas y reduce el uso del disco para los datos de series de tiempo y Índices secundarios. MongoDB 6.3 y versiones posteriores crean automáticamente un índice compuesto en los campos de tiempo y metadatos para nuevas colecciones de series temporales.
Las colecciones de series de tiempo utilizan un formato subyacente de almacenamiento en columnas y almacenan los datos en orden cronológico. Este formato ofrece los siguientes beneficios:
Reducción de la complejidad para trabajar con datos de series de tiempo
Mejora en la eficiencia de los query
Menor uso del disco
Reducción de E/S para operaciones de lectura
Aumento del uso de la caché de WiredTiger
Ejemplos de Casos de Uso
Las colecciones de series de tiempo son óptimas para analizar datos a lo largo del tiempo. La siguiente tabla ilustra casos de uso para datos de series de tiempo:
Industria | Ejemplos |
|---|---|
Internet of Things (IoT) |
|
Servicios financieros |
|
Venta minorista y comercio electrónico |
|
DevOps |
|
Las colecciones de series de tiempo no están destinadas a los siguientes tipos de datos:
Datos desordenados
Datos que no dependen del tiempo
Comportamiento
Las colecciones de series de tiempo generalmente se comportan como otras colecciones de MongoDB. Se insertan y consultan los datos como de costumbre.
Advertencia
Las expresiones de coincidencia en los comandos de actualización solo pueden especificar el metaField. No se pueden actualizar otros campos en un documento de series de tiempo. Para obtener más detalles, consultar Limitaciones de la actualización de las series de tiempo.
MongoDB trata las colecciones de series de tiempo como vistas no materializadas editables respaldadas por una colección interna. Cuando se insertan datos, la colección interna organiza automáticamente los datos de series de tiempo en un formato de almacenamiento optimizado.
A partir de MongoDB 6.3: si creas una nueva colección de series de tiempo, MongoDB también genera un índice compuesto en los campos metaField y timeField. Para mejorar el rendimiento de las query, las query sobre colecciones de series de tiempo utilizan el nuevo índice compuesto. El índice compuesto también usa el formato de almacenamiento optimizado.
metaFields
Los documentos de series de tiempo pueden contener un metaField con metadatos sobre cada documento. MongoDB utiliza el metaField para agrupar conjuntos de documentos, tanto para la optimización del almacenamiento interno como para la eficiencia de los query. Para obtener más información sobre el metaField, consultar Consideraciones sobre el metaField.
Indexes
MongoDB crea automáticamente un índice compuesto en el metaField y el timeField de una colección de series de tiempo.
Partición por zonas
La partición por zonas no admite colecciones de series de tiempo. El balanceador siempre distribuye los datos en colecciones de series de tiempo fragmentadas de manera uniforme en todos los fragmentos del clúster.
Próximos pasos
Para comenzar con las colecciones de series de tiempo, consulta los tutoriales en las siguientes páginas: