Connect with us

Hi, what are you looking for?

BLOG

¿Qué son las Bases de Datos de Series Temporales?

En este artículo, presentaremos la historia y el desarrollo de las bases de datos de series temporales (TSDB) y discutiremos las aplicaciones de TSDB.

¿Qué son las Bases de Datos de Series Temporales?

El tiempo siempre ha sido un concepto intrigante a lo largo de la historia humana. A menudo, vemos aplicaciones interesantes en ciencia y tecnología que implican el tiempo de uso. En la era de los datos, el tiempo se ha combinado con bases de datos, lo que ha dado lugar a la popular base de datos de series temporales.

Una base de datos de series de tiempo es esencialmente una base de datos vertical con propiedad de marca de tiempo. Desde 2014, DB-Engines, un sitio web de clasificación de popularidad de bases de datos, ha clasificado y contado las bases de datos de series de tiempo como un directorio independiente, y la tasa de crecimiento de las bases de datos de series de tiempo en los últimos años ocupa el primer lugar en todas las clasificaciones de bases de datos (ver figura a continuación).

clasificaciones de bases de datos

Bases de datos de series temporales

Una base de datos de series de tiempo (TSDB) es un sistema de software que está optimizado para manejar datos de series de tiempo, matrices de números indexados por tiempo (un intervalo de fecha / hora)

Lo anterior es la definición de la base de datos de series temporales en Wikipedia. Se puede dividir en tres aspectos: características de series temporales, características de datos y características de bases de datos.

Características de series de tiempo:

  • Marca de tiempo: en escenarios comerciales generales, la marca de tiempo alcanza principalmente el nivel de precisión de segundos y milisegundos. Sin embargo, en algunos escenarios de recolección de alta frecuencia, como la teledetección, la marca de tiempo puede alcanzar el nivel de nanosegundos.
  • Frecuencia de muestreo: en general, hay dos frecuencias de muestreo disponibles. Uno es la frecuencia de muestreo de tiempo periódico, como las métricas de resumen periódico relacionadas con el rendimiento del servidor. El otro es el muestreo discreto, como el acceso al sitio web.

Características de los datos:

  • Los datos se agregan en secuencia.
  • Los datos pueden ser multidimensionales correlacionados.
  • Normalmente se accede a los datos calientes a altas frecuencias.
  • Los datos en frío deben reducirse en tamaño y archivarse.
  • Los datos cubren principalmente valores, estados y eventos.

Características de la base de datos (CRUD):

  • La velocidad de escritura es estable y mucho mayor que la velocidad de lectura.
  • Acceda a los datos por ventana de tiempo.
  • Una base de datos de series de tiempo tiene pocas actualizaciones y algunas sobrescribe en una ventana de tiempo.
  • Una base de datos de series de tiempo habilita la función de eliminación por lotes.
  • Una base de datos de series temporales presenta alta disponibilidad, confiabilidad y escalabilidad de bases de datos de uso general.
  • En general, no se requiere capacidad de transacción.

Una breve historia de desarrollo de bases de datos de series temporales

Una breve historia de desarrollo de bases de datos de series temporales

El sistema de almacenamiento de datos de la serie temporal de primera generación

Aunque las bases de datos relacionales de propósito general pueden almacenar datos de series de tiempo, no pueden procesar datos de series de tiempo de manera muy eficiente debido a la falta de optimizaciones para el tiempo, como almacenar y recuperar datos por intervalos de tiempo.

Los datos de la serie temporal de primera generación generalmente se derivan del campo de monitoreo. Las herramientas de almacenamiento simples basadas en archivos planos son el almacenamiento preferido para este tipo de datos.

Los sistemas como RRDTool y Whisper generalmente procesan modelos de datos simplex y tienen una capacidad independiente limitada. Estos sistemas generalmente están integrados en escenarios de monitoreo y alerta.

Base de datos de series temporales basadas en almacenamiento de uso general

Con el desarrollo de Big Data y Hadoop, el volumen de datos de series temporales comienza a crecer rápidamente, y los servicios del sistema imponen más requisitos para procesar datos de series temporales, por ejemplo, una mayor escalabilidad.

Comenzaron a aparecer bases de datos dedicadas de series temporales basadas en almacenamiento de uso general. Las bases de datos de series temporales pueden almacenar y procesar eficientemente datos de series temporales por intervalos de tiempo. Estas bases de datos incluyen OpenTSDB y KairosDB.

Estas bases de datos de series temporales heredan las ventajas de las bases de datos de uso general y utilizan las características para evitar las desventajas del almacenamiento de uso general. Además, estas bases de datos tienen muchas innovaciones dirigidas a series de tiempo en modelos de datos y análisis agregado.

Por ejemplo, OpenTSDB hereda la amplia tabla de HBase, presenta el diseño de un modelo de almacenamiento offset para series de tiempo y usa sal para aliviar el problema del punto caliente.

Sin embargo, también tiene muchas deficiencias, como el mecanismo ineficiente de UID global, la carga incontrolable de datos agregados y la incapacidad para procesar consultas de etiquetas de alta cardinalidad.

Nacimiento de bases de datos de series temporales verticales

Con el desarrollo de Docker, Kubernetes, microservicios y otras tecnologías, las expectativas de desarrollo de IoT son cada vez más fuertes.

A medida que los datos crecen continuamente con el tiempo, los datos de series temporales son uno de los tipos de datos de más rápido crecimiento.

Se desarrolló la base de datos de series temporales verticales de alto rendimiento y bajo costo. Los motores de almacenamiento de datos con características de series temporales (InfluxDB es un ejemplo típico) están emergiendo y creciendo en importancia en el mercado.

Estas bases de datos de series temporales generalmente tienen capacidades de procesamiento de datos más avanzadas, algoritmos de compresión más eficientes y motores de almacenamiento que cumplen más con las características de los datos de series temporales.

Por ejemplo, InfluxDB presenta el almacenamiento TSMT basado en el tiempo, la compresión Gorilla y funciones de ventana como p99, rate y rollup automático.

Al mismo tiempo, debido a la separación de la indexación en la arquitectura, estas bases de datos aún enfrentan muchos desafíos en líneas de tiempo expandidas, desorden u otros escenarios similares.

El status quo del desarrollo de las bases de datos de series temporales

Actualmente, DB-Engines recopila y clasifica las bases de datos de series de tiempo por separado. La siguiente figura muestra la clasificación de las bases de datos de series temporales por popularidad en 2018 y las tendencias cambiantes en los últimos cinco años.

DB-Engines

Nube pública

  • AWS Timestream
  • Amazon anunció Timestream (versión preliminar) en AWS re: Invent en noviembre de 2018. Timestream es aplicable en escenarios como IoT y operaciones de aplicaciones. 
    Proporciona un motor de procesamiento de consultas adaptativo para analizar rápidamente datos, resumir, retener, estratificar y comprimir datos automáticamente. Los usuarios de Timestream se facturan por separado por las escrituras, los datos almacenados y los datos escaneados por consultas y pueden lograr una administración eficiente con este servicio sin servidor.

Azure Series Insights

  • En abril de 2017, Microsoft lanzó Time Series Insight (vista previa), que proporciona una solución de consulta y almacenamiento de extremo a extremo totalmente administrada para datos de escala IoT altamente contextualizados y optimizados para series temporales. Su potente visualización permite el análisis de datos ad-hoc interactivo y la información de datos basada en activos. 
    Además, este servicio admite análisis de datos cálidos y análisis de datos sin procesar por tipos de datos. Se factura a los usuarios por separado por el almacenamiento y las consultas utilizadas.

Proyectos de código abierto

  • OpenTSDB 
    OpenTSDB es una base de datos distribuida y escalable de series de tiempo. Esta base de datos presenta conceptos como métricas y etiquetas, y diseña un conjunto de modelos de datos para escenarios de series de tiempo. Utiliza HBase como almacenamiento en la capa subyacente y adopta el diseño especial de clave de fila basado en características de escenarios de series de tiempo para mejorar las capacidades de agregar y consultar datos de series de tiempo.
  • Prometheus 
    Prometheus almacena todos los datos de muestra recopilados en la base de datos de memoria por series de tiempo y guarda regularmente los datos en el disco duro. Se requiere almacenamiento remoto para garantizar confiabilidad y escalabilidad.
  • InfluxDB 
    InfluxDB es una base de datos de series de tiempo independiente de código abierto escrita en Go. InfluxDB es fácil de usar y tiene cero dependencias de entorno especiales. Utiliza la estructura única de TSMT para implementar lecturas y escrituras de alto rendimiento. El soporte distribuido está disponible en la versión comercial.
  • TimescaleDB 
    TimescaleDB es una base de datos SQL de series de tiempo que presenta un esquema específico y gestiona fragmentos de tabla por tiempo. La capa subyacente de TimescaleDB se basa en PostgreSQL.

Bases de datos académicos.

  • BTrDB 
    BTrDB está diseñado para almacenar datos de series de tiempo de alta precisión y utiliza la estructura de datos del “árbol de copia en escritura anotada con versión de partición de tiempo” que crea un árbol para cada línea de tiempo. BTrDB usa el control de versiones para procesar datos en escenarios fuera de orden.
  • Confluo 
    Confluo presenta una nueva estructura de datos: Atomic MultiLog, y utiliza conjuntos de directivas atómicas compatibles con el hardware moderno de la CPU. Simultáneamente admite escrituras simultáneas de alto rendimiento de millones de puntos de datos, consultas en línea en escalas de tiempo de milisegundos y consultas ad-hoc eficientes en CPU.
  • ChronixDB 
    ChronixDB proporciona almacenamiento de series de tiempo basado en Solr e implementa algoritmos únicos de compresión sin pérdidas. ChronixDB se puede integrar con Spark para permitir capacidades de análisis de series temporales ricas.

Bases de datos comerciales e industriales.

  • PI 
    PI es una base de datos en tiempo real a gran escala desarrollada por la compañía de software OSI. Es ampliamente utilizado en energía, química y otras industrias. PI adopta el algoritmo patentado SDT (Swinging Door Trending) y la exclusiva tecnología de filtro secundario para comprimir de manera más eficiente los datos en una base de datos de PI y ahorrar significativamente espacio en el disco duro.
  • kdb 
    kdb es una base de datos de series de tiempo desarrollada por Kx System que se utiliza principalmente para procesar datos relacionados con transacciones. kdb admite la computación de flujo y memoria, análisis en tiempo real de miles de millones de registros y acceso rápido a datos históricos de nivel TB.
  • Gorilla 
    Gorilla es una base de datos de series temporales basada en memoria de Facebook, que adopta un nuevo algoritmo de compresión de series temporales.

Este algoritmo puede comprimir 16 bytes en un promedio de 1,37 bytes, que es una reducción de tamaño 12x. Gorilla también tiene estructuras de datos de memoria para el algoritmo de compresión. Gorilla permite un escaneo rápido y eficiente de todos los datos al tiempo que proporciona la capacidad de buscar datos en una sola serie de tiempo por períodos de tiempo.

Al escribir datos de series de tiempo en hosts en diferentes regiones, Gorilla tolera fallas de un solo nodo, conmutadores de red e incluso fallas en un centro de datos completo.

  • Mercado de inversiones
  • En 2018, las nuevas empresas de bases de datos de series temporales lograron dos inversiones famosas en el mercado de inversiones.

Análisis de bases de datos típicas de series temporales

Las bases de datos de series temporales han experimentado un rápido desarrollo en los últimos dos años. Los principales fabricantes mundiales de nubes ya han comenzado a centrarse en diferentes aspectos del ecosistema de series temporales, forman soluciones únicas y comienzan a obtener la ventaja de ser los primeros en moverse.

Las excelentes bases de datos de series temporales como Facebook Gorilla van más allá de satisfacer sus propias necesidades de desarrollo empresarial. Académicamente, han surgido muchas tecnologías avanzadas en el campo de la base de datos de series temporales, llevando las tecnologías de datos de series temporales a un nivel superior.

El equipo de Alibaba TSDB ha aplicado gradualmente su base de datos de series temporales en sus servicios internos como DBPaaS y Sunfire desde la implementación de su primera versión de TDSB en 2016. Después de la prueba beta pública a mediados del mes de 2017, Alibaba TSDB se comercializó al final de marzo de 2018.

Durante todo el proceso, Alibaba TSDB ha absorbido continuamente varias fortalezas de otras bases de datos de series temporales, abriendo la puerta a bases de datos de series temporales de desarrollo propio en China.

Publicado originalmente en alibabacloud.com .

Click to comment

Leave a Reply

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Vea también:

BLOG

Un sistema de punto de venta no solo es una parte esencial del funcionamiento de cualquier tienda exitosa en el mundo de hoy, sino...

BLOG

A medida que el negocio crece la carga de trabajo de los gerentes crece. En una pequeña empresa, los administradores pueden funcionar con hojas...

BLOG

¿Cuál es el corazón de un negocio minorista? El sistema de punto de venta, caja registradora o punto de venta (POS). Si bien muchos...

BLOG

La mala comunicación hace que las empresas estadounidenses pierdan 400.000 millones de dólares al año . El impacto de este problema se puede sentir de diferentes...

BLOG

La próxima década bien podría ver una revolución en el tratamiento y diagnóstico de las enfermedades. Aquí les presentamos algunos de los avances del...

BLOG

A continuación, les presento un listado de 299 nombres de empresas de Tecnologías de la Información que operan en Chile, una fracción de las...

BLOG

Un navegador web (comúnmente conocido como navegador) es una aplicación de software para recuperar, presentar y atravesar recursos de información en la World Wide...

Advertisement
https://edificioemprendedores.cl

Copyright © 2020 - 2021 Tienda.Digital | Derechos Reservados.