saltar al contenido

Base de datos de series temporales: qué es y cómo funciona

¿Qué es una base de datos de series temporales (TSBD)? 

Una base de datos de series de tiempo (TSDB) está diseñada especialmente para manejar datos de series de tiempo o datos con marcas de tiempo. Los datos de series de tiempo se pueden recopilar a partir de una variedad de eventos o métricas, pero siempre se realiza en períodos de tiempo del servidor en lugar de eventos individuales. 

 Puede usar datos de series de tiempo para monitorear, agregar, reducir el muestreo y rastrear comportamientos a lo largo del tiempo. Una TSDB se puede utilizar para una variedad de datos y propósitos, incluido el monitoreo del rendimiento de la aplicación, el almacenamiento de métricas de servidor y datos de red, el análisis de datos de sensores, el seguimiento de eventos, las operaciones de mercado, los clics y más. 

 Los sistemas TSDB están diseñados para medir cambios a lo largo de períodos de tiempo. Esto significa que la arquitectura de una TSDB suele ser diferente de otras bases de datos, especialmente en lo que respecta al resumen y la gestión del ciclo de vida de los datos. 

 

En este artículo, aprenderá: 

¿Qué es una base de datos de series temporales (TSBD)? 

¿Cómo funciona una base de datos de series temporales?  

¿Para qué se utiliza una base de datos de series temporales? 

Requisitos para una base de datos de series temporales 

Base de datos de series temporales con Raima  

¿Cómo funciona una base de datos de series temporales? 

Una TSDB captura un conjunto de valores fijos y valores dinámicos. Por ejemplo, en una aplicación web, un conjunto de puntos de datos pueden ser acciones realizadas por un grupo de visitantes. Los valores dinámicos son el número de acciones deseadas, como compras de comercio electrónico, realizadas por los visitantes a lo largo del tiempo. Al analizar las compras a lo largo del tiempo, la organización puede comprender el valor de cada grupo de usuarios y priorizar la actividad de marketing para diferentes segmentos de clientes. 

Idealmente, los registros de series de tiempo deben escribirse en un repositorio en un formato que permita escrituras y lecturas rápidas basadas en el tiempo. Debido a que los registros tienen una marca de tiempo, el orden de los puntos de datos se convierte en un aspecto nativo de los datos. Luego, puede usar esta orden para entregar los datos a un motor de procesamiento de flujo, que luego puede tratar los datos ordenados como un flujo de datos. Al aprovechar un motor de procesamiento de flujo rápido, puede asegurarse de que su TSDB sea rápida. 

¿Para qué se utiliza una base de datos de series temporales? 

Internet de las cosas (IoT) 

Las tecnologías de IoT generan y utilizan cantidades masivas de datos de series de tiempo. Por ejemplo, dispositivos móviles, aplicaciones de comercio electrónico, automóviles y sistemas para la gestión de inventarios, todos los datos con marca de tiempo de acuerdo con los eventos. La ingesta rápida de datos de series temporales es fundamental para garantizar que los dispositivos y las métricas de IoT puedan capturar datos de forma continua y almacenarlos para su análisis. 


Análisis de seguimiento
 

Los datos de series de tiempo se utilizan a menudo para monitorear las métricas del sistema informático. Este proceso funciona mediante la lectura de datos de los sistemas informáticos de los usuarios que han acordado permitir que otros supervisen el sistema informático. Por lo general, las métricas incluyen el recuento de procesos y la utilización de la memoria, que ayudan a verificar la utilización de los recursos informáticos y a evaluar si los recursos deben reasignarse. 


Indicadores clave de rendimiento (KPI)
 

Los KPI están orientados al tiempo y se muestrean repetidamente y se ajustan fácilmente a los datos de series de tiempo. Algunos ejemplos de estos KPI pueden incluir ganancias, ingresos, costo, tasa de conversión, número de transacciones y valor promedio del pedido. Una vez que se recopila y almacena esta información, se puede utilizar para crear paneles de control.

 

Detección de anomalías 

La detección de anomalías ayuda a detectar desviaciones inesperadas en los datos de series de tiempo. Los datos de series de tiempo capturan un valor cada vez que se produce un cambio en el sistema. Las organizaciones pueden usar estos valores para medir el cambio, descubrir formas en las que ocurrieron cambios en el pasado, monitorear lo que está sucediendo actualmente y aprovechar estos datos acumulados para predecir eventos futuros. 

 La virtualización es un factor principal para lograr la detección de anomalías. Un gráfico de series de tiempo, por ejemplo, proporciona la visualización que las personas a menudo necesitan para detectar valores atípicos. La detección automatizada de anomalías es otra forma, que a menudo acelera el proceso, ofreciendo información en tiempo real. Esto puede permitirle correlacionar rápidamente los valores atípicos. 

Requisitos para una base de datos de series temporales 

Las bases de datos que almacenan datos de series de tiempo deben proporcionar las siguientes capacidades:
 

  • En memoria para alertas de valor—Los datos ingresados deben compararse inmediatamente con todos los valores configurados para activar alertas. 
  • En memoria para alertas de tendencias—Los datos ingresados también deben compararse con los valores anteriores, para verificar si hay alarmas de tendencia. Cuando todos los registros relevantes de la evaluación de tendencias se guardan en la memoria, la comparación se puede lograr rápidamente. El sistema también puede capturar valores altos y bajos relevantes de registros anteriores. 
  • En memoria para aplicaciones y paneles: Las aplicaciones realizan acciones de acuerdo con los valores de los datos y se requieren paneles para mostrar los valores actualizados. Para lograr estos objetivos, las aplicaciones necesitan datos en vivo en la memoria (porque permiten una acción rápida) y los paneles de control necesitan actualizaciones de visualización continuas. 
  • Acceso rápido para aprendizaje automático (ML), inteligencia artificial (IA) y análisis en tiempo real—Los sistemas de inteligencia empresarial (BI), las consultas ad-hoc, los algoritmos de aprendizaje automático, el software de inteligencia artificial y las herramientas de generación de informes, todos necesitan un acceso rápido a los almacenes de datos. Para proporcionar este nivel de velocidad, es posible que los datos deban almacenarse en caché en gran cantidad, mantenerse en la memoria o acceder a ellos de manera eficiente desde cualquier combinación de recursos de memoria y disco. 
  • Alta simultaneidad para análisis en tiempo real: Los datos de series de tiempo representan la lectura de datos más reciente. Las partes interesadas de diversos intereses a menudo necesitan acceder a estos datos al mismo tiempo. Esto significa que pueden llegar muchos inicios de sesión y consultas simultáneamente, y el sistema debería poder manejar estas demandas. 
  • Alta capacidad—Para manejar cantidades masivas de datos, una TSDB debe ser rápida y escalable. A menudo, se requiere una base de datos de series de tiempo para escanear y comparar datos en la entrada de alertas. El sistema también necesita almacenar datos de forma accesible y responder a consultas sobre grandes conjuntos de datos. 
  • Funciones SQL estándar—SQL es uno de los lenguajes más utilizados en los procesos de datos. Para garantizar la funcionalidad clave y el uso de bases de datos de series de tiempo, las funciones de SQL deben funcionar al máximo rendimiento. 
  • Funciones personalizadas de series de tiempo—Además de la funcionalidad SQL, las bases de datos de series de tiempo necesitan una funcionalidad extendida para su desempeño. Puede incluir, por ejemplo, funciones para devolver solo los registros con las lecturas más alta y más baja de un gran conjunto de registros. 

Base de datos de series temporales con Raima 

La última versión de Raima ha introducido un potente soporte para el almacenamiento y la agregación de datos de series de tiempo. RDM ahora tiene la capacidad de generar una interfaz C / C ++ basada en una definición de serie temporal junto con un conjunto completo de llamadas API de soporte de Fast Fourier Transformation. Las llamadas FFT admiten escalado, valor absoluto y cálculos reales junto con un diseño modular de modo que un desarrollador puede intercambiar la biblioteca Raima FFT con cualquier otra biblioteca personalizada o de terceros para satisfacer sus necesidades. El código de la serie temporal admite cálculos aritméticos, geométricos y de medias armónicas automáticos junto con la reducción de la resolución y la división de datos.

Descargue una versión de prueba ahora.