Geekflare recibe el apoyo de nuestra audiencia. Podemos ganar comisiones de afiliación de los enlaces de compra en este sitio.
En Base de datos Última actualización: 25 de septiembre de 2023
Compartir en:
Escáner de seguridad de aplicaciones web Invicti - la única solución que ofrece verificación automática de vulnerabilidades con Proof-Based Scanning™.

Hablemos de la base de datos de series temporales de supervisión distribuida

Una base de datos de series temporales está optimizada para datos de marcas de tiempo o series temporales. Por datos de series temporales se entienden las mediciones o eventos que se rastrean, supervisan, recopilan o agregan durante un periodo de tiempo. Podrían ser datos recogidos de los latidos del corazón de sensores de seguimiento del movimiento, métricas de la JVM de las aplicaciones java, datos de operaciones de mercado, datos de red, respuestas de la API, tiempo de actividad de los procesos, etc.

Las bases de datos de series temporales están completamente personalizadas con datos con marca de tiempo, que están indexados y escritos de forma eficiente para que pueda insertar datos de series temporales. Puede consultar esos datos de series temporales mucho más rápido que como lo haría en una base de datos relacional o NoSQL

Últimamente, ha ganado mucha popularidad. ¿Y por qué no? Hace un trabajo fantástico para la supervisión de las operaciones empresariales y de TI. La buena noticia es que hay muchas opciones entre las que elegir, y la mayoría son de código abierto

InfluxDB

InfluxDB es una de las bases de datos de series temporales más populares entre los DevOps, que está escrita en Go. InfluxDB fue diseñada desde cero para proporcionar un motor de ingestión y almacenamiento de datos altamente escalable. Es muy eficiente a la hora de recopilar, almacenar, consultar, visualizar y tomar medidas sobre flujos de datos de series temporales, eventos y métricas en tiempo real

Proporciona muestreo descendente y políticas de retención de datos para apoyar el mantenimiento de los datos de alto valor y alta precisión en la memoria, y los datos de menor valor en el disco. Está construido de forma nativa en la nube para proporcionar escalabilidad a través de múltiples topologías de despliegue, incluyendo la nube en las instalaciones y entornos híbridos

InfluxDB es una solución de código abierto y preparada para la empresa. Utiliza InfluxQL, que es muy similar a un lenguaje de consulta de estructuras, para interactuar con los datos. La última versión ofrece agentes, cuadros de mando, consultas y tareas en un conjunto de herramientas. Es una herramienta todo en uno para la creación de cuadros de mando, la visualización y las alertas

Características

  • Alto rendimiento para datos de series temporales con alta ingesta total y consultas en tiempo real
  • InfluxQL para interactuar con los datos, que es un lenguaje de consulta tipo SQL
  • Componente central de la pila TICK (Telegraf, InfluxDB, Chronograf y Kapacitor).
  • Soporte de plugins para protocolos como collectd, Graphite, OpenTSDB para la ingestión de datos
  • Puede manejar millones de puntos de datos en sólo 1 segundo
  • Políticas de retención para eliminar automáticamente los datos obsoletos

Dado que es de código abierto, puede descargarlo y ponerlo en marcha en su servidor. Sin embargo, ofrecen InfluxDB Cloud en AWS, Azure y GCP

Prometeo

Prometeo es una solución de monitorización de código abierto que se utiliza para comprender las percepciones de los datos métricos y enviar las alertas necesarias. Cuenta con una base de datos local de series temporales en disco que almacena los datos en un formato personalizado en disco

El modelo de datos de Prometheus es multidimensional basado en series temporales; almacena todos los datos como flujos de valores con marca de tiempo. Resulta muy útil cuando se trabaja con series temporales totalmente numéricas. Recopilar datos de microservicios y consultarlos es uno de los puntos fuertes de Prometheus

Se integra estrechamente con Grafana para la visualización y si usted es un novato, entonces lea este artículo de introducción a Prometheus y Grafana

Características

  • Tiene un modelo multidimensional que utiliza el nombre de las métricas y pares clave-valor (etiquetas)
  • PromQL para consultar datos de series temporales para generar tablas, alertas y gráficos Adhoc
  • Utiliza el modo pull HTTP para recopilar datos de series temporales
  • Utiliza pasarela intermediaria para empujar series temporales

Prometheus dispone de cientos de exportadores para exportar los datos de Windows, Linux, Java, Base de datos, APIs, Sitio web, Hardware de servidor, PHP, Mensajería y más. Para monitorizar Linux, consulte esta configuración de Prometheus Grafana

TimescaleDB

TimescaleDB es una base de datos relacional de código abierto que hace que SQL sea escalable para datos de series temporales. Esta base de datos está construida sobre PostgreSQL

Ofrece dos productos - la primera opción es una edición comunitaria, de uso gratuito que puede instalar en su servidor. La segundo opción es TimescaleDB Cloud, donde obtendrá una infraestructura totalmente alojada y gestionada en la nube para sus necesidades de despliegue

Se puede utilizar para la supervisión de DevOps, la comprensión de las métricas de las aplicaciones, el seguimiento de los datos de los dispositivos IoT, la comprensión de los datos financieros, etc. Puede medir registros, eventos de Kubernetes, métricas de Prometheus e incluso métricas personalizadas

Para los propietarios de productos, puede utilizarlo para comprender el rendimiento de un producto a lo largo del tiempo, lo que ayuda a tomar decisiones estratégicas para el crecimiento

Características

  • Ejecuta consultas 10-100X más rápido que PostgreSQL, MongoDB
  • Puede escalar a petabytes horizontalmente y escribir millones de puntos de datos por segundo
  • Muy similar a PostgreSQL, por lo que es fácil de manejar para desarrolladores y administradores
  • Combina funcionalidades de bases de datos relacionales y de series temporales para crear aplicaciones potentes.
  • Incorpora algoritmos y funciones de rendimiento para ahorrar muchos costes.

Grafito

Grafito es una solución todo en uno para almacenar y visualizar eficazmente datos de series temporales en tiempo real. Graphite puede hacer dos cosas, almacenar datos de series temporales y renderizar gráficos bajo demanda. Pero no recopila datos por usted; para eso, puede utilizar herramientas como collectd, Ganglia, Sensu, telegraf, etc

Tiene tres componentes: Carbono, Susurro y Grafito-Web. Carbon recibe los datos de series temporales, los agrega y los persiste en el disco. Whisper es la base de datos de series temporales que almacena los datos. Graphite-Web es el front-end para crear cuadros de mando y visualizar los datos

grafito

Características de grafito

  • El formato métrico en el que se presentan los datos es sencillo.
  • API completa para representar los datos y crear cuadros de mando, paneles y gráficos
  • Proporciona un rico conjunto de funciones de renderizado transformadoras y de biblioteca estadística
  • Encadena múltiples funciones de renderizado para construir una consulta de destino.

QuestDB

QuestDB es una base de datos relacional orientada a columnas que puede realizar análisis en tiempo real de datos de series temporales. Funciona con SQL y algunas extensiones para crear un modelo relacional para datos de series temporales. QuestDB se ha codificado desde cero y no tiene dependencias, lo que mejora su rendimiento

QuestDB soporta uniones relacionales y de series temporales, lo que ayuda a correlacionar los datos. La forma más sencilla de empezar a utilizar QuestDB es desplegarlo dentro de un contenedor Docker

Características de QuestDB

  • Consola interactiva para importar datos mediante arrastrar y soltar y consultarlos
  • Soportado en la nube nativa (AWS, Azure, GCP), en las instalaciones o integrado
  • Proporciona integración empresarial con funciones como directorio activo, alta disponibilidad, seguridad empresarial, agrupación en clústeres
  • Proporciona información en tiempo real mediante análisis operativos y predictivos

AWS Timestream

¿Cómo es posible que AWS no esté en la lista?

AWS Tim estream es un servicio de base de datos de series temporales sin servidor que es rápido y escalable. Se utiliza principalmente para aplicaciones IoT para almacenar miles de millones de eventos en un día y 1000 veces más rápido con 1/10 del coste de las bases de datos relacionales.

Gracias a su motor de consulta específico, puede consultar simultáneamente datos recientes y datos históricos almacenados. Ofrece múltiples funciones integradas para analizar datos de series temporales y encontrar perspectivas útiles

flujo de tiempo de aws

Características de Amazon Timestream

  • Sin servidores que administrar ni instancias que aprovisionar; todo se gestiona automáticamente.
  • Rentable, sólo paga por lo que ingiere, almacena y consulta.
  • Capaz de ingerir miles de millones de eventos diarios sin merma del rendimiento
  • Capacidad de análisis integrada con funciones SQL estándar, interpolación y suavizado para identificar tendencias, patrones y anomalías
  • Todos los datos se cifran utilizando el sistema de administración de claves (KMS) de AWS con claves gestionadas por el cliente (CMK)

OpenTSDB

OpenTSDB es una base de datos de series temporales escalable que se ha escrito sobre HBase. Es capaz de almacenar billones de puntos de datos a millones de escrituras por segundo. Puede conservar los datos en OpenTSDB para siempre con su marca de tiempo original y su valor preciso, por lo que no perderá ningún dato.

Dispone de un demonio de series temporales (TSD) y de utilidades de línea de comandos. El demonio de series temporales se encarga de almacenar los datos en HBase o de recuperarlos de él. Puede hablar con el TSD mediante la API HTTP, telnet o la sencilla interfaz gráfica de usuario incorporada. Necesita herramientas como flume, collectd, vacuumetrix, etc., para recopilar datos de diversas fuentes en OpenTSDB

opentsdb

Características de OpenTSBD

  • Puede agregar, filtrar y reducir la muestra de métricas a una velocidad vertiginosa
  • Almacena y escribe datos con una precisión de milisegundos
  • Se ejecuta en Hadoop y HBase y se escala fácilmente añadiendo nodos al clúster
  • Utiliza GUI para generar gráficos

Conclusión

Dado que en la actualidad se utilizan cada vez más dispositivos IoT/Smart, se genera un enorme tráfico en tiempo real en los sitios web con millones de eventos en un día, aumenta el comercio en el mercado, ¡y la base de datos de series temporales ha llegado! Las bases de datos de series temporales son imprescindibles en su pila de producción para la monitorización

La mayoría de las bases de datos de series temporales mencionadas están disponibles para autoalojarse, así que adelante, consiga una VM en la nube y pruébelas para ver qué le funciona.

  • Avi
    Autor
    Avi es un entusiasta de la tecnología con experiencia en tecnologías de tendencia como DevOps, Cloud Computing, Big Data y muchas más. Le apasiona aprender tecnologías de vanguardia y compartir sus conocimientos con los demás a través de... Seguir leyendo
Gracias a nuestros patrocinadores
Más lecturas sobre bases de datos
Potencia tu negocio
Algunas de las herramientas y servicios que le ayudarán a hacer crecer su negocio.
  • Invicti utiliza el Proof-Based Scanning™ para verificar automáticamente las vulnerabilidades identificadas y generar resultados procesables en tan solo unas horas.
    Pruebe Invicti
  • Web scraping, proxy residencial, gestor de proxy, desbloqueador web, rastreador de motores de búsqueda, y todo lo que necesita para recopilar datos web.
    Pruebe Brightdata
  • Monday.com es un sistema operativo de trabajo todo en uno que te ayuda a gestionar proyectos, tareas, trabajo, ventas, CRM, operaciones, flujos de trabajo y mucho más.
    Prueba Monday
  • Intruder es un escáner de vulnerabilidades en línea que encuentra puntos débiles de ciberseguridad en su infraestructura, para evitar costosas violaciones de datos.
    Prueba Intruder