Make the MongoDB docs better! We value your opinion. Share your feedback for a chance to win $100.
Click here >
Docs Menu
Docs Home
/
Manual de base de datos

Time Series

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 que rara vez cambia. Los metadatos se almacenan en un metaField. No se puede añadir un campo de metaField a un documento de serie de tiempo después de crearlo. Los metadatos también se conocen como source.

  • 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.

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.

En comparación con las colecciones normales, almacenar datos de series de tiempo en colecciones de series de tiempo mejora la eficiencia de las queries y reduce el uso de disco para datos de series de tiempo y índice secundario.

Las colecciones de series temporales utilizan un formato de almacenamiento columnar subyacente y almacenan datos en orden temporal con un índice agrupado creado automáticamente. El formato de almacenamiento columnar proporciona 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

La colección de series de tiempo se comporta como colecciones normales. Puedes insertar y query tus datos como normalmente lo harías.

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.

Cuando consultas colecciones de series temporales, operas sobre un documento por cada medición. Las consultas sobre colecciones de series temporales aprovechan el formato de almacenamiento interno optimizado y devuelven los resultados más rápidamente.

Tip

Para mejorar el rendimiento de la query, puedes agregar manualmente índices secundarios en los campos de métricas o en cualquier campo de tu colección de series de tiempo.

Importante

Característica 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.

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.

Cuando creas una colección de series de tiempo, MongoDB crea automáticamente un índice agrupado interno en el campo de tiempo. Este índice mejora la eficiencia de las query y reduce el uso de disco. Para aprender más sobre los beneficios de rendimiento de los índices agrupados, consulta Colección con índice clusterizado.

El índice interno no se muestra cuando ejecutas listIndexes.

Nota

Si se inserta un documento en una colección con un valor timeField antes del 1970-01-01T00:00:00.000Z o después del 2038-01-19T03:14:07.000Z, MongoDB registra una advertencia e impide que ciertas optimizaciones de query aprovechen el índice interno. Crear un índice secundario en el timeField para restaurar el rendimiento de la query y resolver la advertencia del registro.

Para comenzar con las colecciones de series de tiempo, se puede consultar Crear y hacer queries a una colección de series de tiempo.

Volver

Referencia

En esta página