¿Qué es?

Apache Druid es un proyecto Open Source y forma parte de la Fundación Apache desde 2015. Es una  base de datos analítica en tiempo real para grandes volúmenes de datos, donde el rendimiento y la alta disponibilidad destacan en esta solución.

Se suele utilizar en:

  • Streaming de eventos (Analítica web).
  • Analítica de RRSS (monitorización).
  • Métricas de servidores.
  • IoT.
  • Datos Financieros.
  • Y en general cualquier tipo de datos cuyo hilo central sea el tiempo.

Druid está diseñado para ingerir rápidamente cantidades masivas de datos de eventos y proporcionar consultas de baja latencia además de los datos. El nombre de Druid se utiliza para reflejar el hecho de que la arquitectura del sistema puede cambiar para resolver diferentes tipos de problemas de datos.

Se usa comúnmente en aplicaciones de inteligencia empresarial/OLAP para analizar grandes volúmenes de datos históricos en tiempo real.

Funcionalidades

Druid convierte los datos almacenados en las tecnologías fuentes, como HDFS, a un formato optimizado para la lectura mediante un proceso de indexación. El resultado de este proceso de conversión se denomina segmentos de Druid. También se aplican mecanismos de compresión para optimizar el espacio utilizado.

En ocasiones, Druid también puede pre-agregar los datos a medida que se ingestan. Esta operación permite reducir el espacio empleado, ya que se reduce el número de registros para cada dato.

Además, Druid realiza replicación de datos y backups periódicos a sistemas externos.

¿Por qué elegir Druid?

Entre sus principales características podemos destacar:

  • Base de datos por columnas o almacenamiento columnar.
  • Sistema escalable y distribuido.
  • Esquemas flexibles.
  • Búsquedas indexadas.
  • Procesamiento paralelo a través de cluster.
  • Consumo en tiempo real (streaming) y batch.
  • Auto balanceo y auto recuperación.
  • Soporte de almacenamiento de segmentos en HDFS o S3.
  • Partición por tiempo o de datos temporales.
  • Agregaciones en tiempo de consumo.
  • Soporte SQL.
  • Business intelligence/OLAP.

Ventajas de Druid

Algunas ventajas del producto Druid:

  • Capacidad de realizar consultas de datos muy rápidas en un sistema de datos escalable de forma columnar.
  • Mayor rapidez en la ingesta de datos (tanto en streaming como por lotes).
  • La velocidad de agregación de los datos es muy superior a sistemas de bases de datos tradicionales RDBMS como MySQL o PostgreSQL.
  • Preagregaciones de datos optimizada.
  • Búsqueda y filtrado rápidos, para cortar y cortar rápidamente.
  • Diseño de esquema mínimo y soporte nativo para datos anidados y semiestructurados.
  • Funcionalidad “lista para usar” con Apache Kafka, AWS Kinesis, HDFS, AWS S3 y más.

Si estás interesado en implantar un sistema de Analítica Avanzada o ya tienes Druid en tu empresa, y necesitas una consultoría y desarrollo