Druid es un almacén de datos distribuido , de código abierto y orientado a columnas , escrito en Java . Druid está diseñado para ingerir rápidamente grandes cantidades de datos de eventos y proporcionar consultas de baja latencia sobre esos datos. [ 3 ] El nombre Druid proviene de la clase Druida, que cambia de forma, en muchos juegos de rol , para reflejar que la arquitectura del sistema puede adaptarse para resolver diferentes tipos de problemas de datos.
Druid se usa comúnmente en aplicaciones de inteligencia empresarial ( OLAP) para analizar grandes volúmenes de datos históricos y en tiempo real . [ 4 ] Druid se usa en producción por empresas tecnológicas como Alibaba , [ 4 ] Airbnb , [ 4 ] Nielsen , [ 4 ] Cisco , [ 5 ] [ 4 ] eBay , [ 6 ] Lyft , [ 7 ] Netflix , [ 8 ] PayPal , [ 4 ] Pinterest , [ 9 ] Reddit , [ 10 ] Twitter , [ 11 ] Walmart , [ 12 ] Wikimedia Foundation [ 13 ] y Yahoo . [ 14 ]
Historia
Druid fue creado en 2011 por Eric Tschetter, Fangjin Yang, Gian Merlino y Vadim Ogievetsky [ 15 ] para impulsar el producto analítico de Metamarkets . El proyecto se publicó como código abierto bajo la licencia GPL en octubre de 2012, [ 16 ] [ 17 ] [ 18 ] y pasó a una licencia Apache en febrero de 2015. [ 19 ] [ 20 ]
Arquitectura

Una vez desplegado por completo, Druid funciona como un clúster de procesos especializados (llamados nodos en Druid) para admitir una arquitectura tolerante a fallos [ 21 ] donde los datos se almacenan de forma redundante y no hay un único punto de fallo. [ 22 ] El clúster incluye dependencias externas para la coordinación ( Apache ZooKeeper ), almacenamiento de metadatos (por ejemplo, MySQL , PostgreSQL o Derby ) y una instalación de almacenamiento profundo (por ejemplo, HDFS o Amazon S3 ) para copias de seguridad permanentes de los datos.
Gestión de consultas
Las consultas de los clientes llegan primero a los nodos intermediarios, que las reenvían a los nodos de datos correspondientes (históricos o en tiempo real). Dado que los segmentos de Druid pueden estar particionados, una consulta entrante puede requerir datos de múltiples segmentos y particiones (o fragmentos ) almacenados en diferentes nodos del clúster. Los intermediarios pueden identificar qué nodos contienen los datos necesarios y, además, fusionar los resultados parciales antes de devolver el resultado agregado.
Gestión de clústeres
Las operaciones relacionadas con la gestión de datos en los nodos históricos son supervisadas por nodos coordinadores. Apache ZooKeeper se utiliza para registrar todos los nodos, gestionar ciertos aspectos de las comunicaciones entre nodos y facilitar la elección de líderes.
Características
- Ingesta de datos de baja latencia (streaming).
- Exploración de datos mediante segmentación y análisis arbitrarios.
- Consultas analíticas en fracciones de segundo.
- Cálculos aproximados y exactos.
Actuación
En 2019, los investigadores compararon el rendimiento de Hive , Presto y Druid utilizando un benchmark de esquema de estrella desnormalizado basado en el estándar TPC-H . Druid se probó utilizando una configuración "Druid Best" con tablas con particiones hash y una configuración "Druid Suboptimal" que no utiliza particiones hash. [ 23 ]
Las pruebas se realizaron ejecutando las 13 consultas TPC-H utilizando un factor de escala TPC-H de 30 (una base de datos de 30 GB), un factor de escala de 100 (una base de datos de 100 GB) y un factor de escala de 300 (una base de datos de 300 GB).
El rendimiento de Druid se midió como al menos un 98 % más rápido que Hive y al menos un 90 % más rápido que Presto en cada escenario, incluso cuando se utilizaba la configuración suboptimizada de Druid.
Véase también
Referencias
- ↑ "Apache Druid en GitHub" . github.com . Consultado el 4 de mayo de 2021 .
- ↑ . 8 de mayo de 2026 https://github.com/apache/druid/releases/tag/druid-37.0.0 .
{{cite web}}: Falta o está vacío|title=( ayuda ) - ↑ Hemsoth, Nicole. ""El druida invoca su fuerza en tiempo real"" . Archivado del original el 27-02-2013 . Recuperado el 07-02-2014 .Datanami , 8 de noviembre de 2012
- 1 2 3 4 5 6 druid. "Druid | Powered by Druid" . druid.apache.org . Consultado el 29 de junio de 2016 .
- ↑ Butler, Brandon (20 de junio de 2016). "Bajo el capó de la plataforma Tetration Analytics de Cisco" . Archivado del original el 26 de abril de 2024. Recuperado el 23 de junio de 2016 .
- ^ "Druida en Pulsar - ebay的专栏 - 博客频道 - CSDN.NET" . blog.csdn.net . Consultado el 23 de junio de 2016 .
- ↑ Streaming SQL and Druid por Arup Malakar , 23 de agosto de 2018 , consultado el 29 de enero de 2020.
- ↑ "El blog de tecnología de Netflix: Anuncio de Suro: Columna vertebral del flujo de datos de Netflix" . techblog.netflix.com . Consultado el 23 de junio de 2016 .
- ↑ Pinterest: Potenciando el análisis de anuncios con Apache Druid , 23 de octubre de 2019 , consultado el 29 de enero de 2020.
- ↑ "Escalando los informes en Reddit - Votado positivamente" . www.redditinc.com . 26 de febrero de 2021. Consultado el 13 de septiembre de 2022 .
- ↑ "Análisis interactivo en MoPub: consulta de terabytes de datos en segundos" . blog.twitter.com . Consultado el 29 de enero de 2020 .
- ↑ Nayak, Amaresh (23 de febrero de 2018). "Análisis de flujo de eventos en Walmart con Druid" . Medium . Recuperado el 29 de enero de 2020 .
- ↑ "Conferencias - O'Reilly Media" .
- ↑ "Complementando Hadoop en Yahoo: Análisis interactivo con Druid" . Consultado el 23 de junio de 2016 .
- ↑ "Druid: Un almacén de datos analíticos en tiempo real" (PDF) .
- ↑ Tschetter, Eric. ""Presentando a Druida"" . Archivado del original el 08-02-2022 . Recuperado el 12-06-2019 ., druid.apache.org , 24 de octubre de 2012
- ↑ Higginbotham, Stacey. ""Metamarkets libera el código fuente de Druid, su base de datos en memoria"." . Archivado del original el 18-09-2021 . Recuperado el 07-02-2014 .GigaOM , 24 de octubre de 2012
- ↑ "Metamarkets publica el código fuente de Druid, un almacén de datos en tiempo real con transmisión en directo" . Yahoo News . 24 de octubre de 2012. Consultado el 24 de julio de 2023 .
- ↑ Harris, Derrick (2015-02-20). "La base de datos en tiempo real Druid pasa a una licencia Apache" . Archivado del original el 22 de agosto de 2015. Recuperado el 4 de agosto de 2015 .
- ↑ "Druid se vuelve más de código abierto bajo la licencia Apache" . Consultado el 4 de agosto de 2015 .
- ↑ "Documentación del proyecto Druid" .
- ^ Yang, Fangjin; Schetter, Eric; Léauté, Xavier; Rayo, Nelson; Merlino, Gian; Ganguli, Profundo. ""Druid: Un sistema de almacenamiento de datos analíticos en tiempo real"" (PDF) .Metamarkets , consultado el 6 de febrero de 2014.
- ↑ Correia, José; Costa, Carlos; Santos, Maribel Yasmina (2019). "Desafiando el rendimiento de SQL en Hadoop con Apache Druid" . En Abramowicz, Witold; Corchuelo, Rafael (eds.). Sistemas de información empresarial . Notas de clase sobre procesamiento de información empresarial. Vol. 353. Cham: Springer International Publishing. pp. 149–161 . doi : 10.1007/978-3-030-20485-3_12 . hdl : 1822/66785 . ISBN 978-3-030-20485-3. S2CID 190005302 .
Enlaces externos
- Sitio web oficial
- Proyectos de la Apache Software Foundation
- Almacenes de datos distribuidos
- Almacenamiento estructurado
- NoSQL
- Sistemas de gestión de bases de datos gratuitos