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 cantidades masivas de datos de eventos y proporcionar consultas de baja latencia además de los datos. [2] El nombre Druid proviene de la clase Druid que cambia de forma en muchos juegos de rol , para reflejar el hecho de que la arquitectura del sistema puede cambiar para resolver diferentes tipos de problemas de datos.
![]() | |
Autor (es) original (es) | Metamercados |
---|---|
Desarrollador (es) | Fundación de software Apache |
Lanzamiento estable | 0.21.0 / 27 de abril de 2021 |
Repositorio | github.com/apache/druid |
Escrito en | Java |
Sistema operativo | Multiplataforma |
Tipo | |
Licencia | Licencia Apache 2.0 |
Sitio web | druida |
Druid se usa comúnmente en aplicaciones de inteligencia empresarial / OLAP para analizar grandes volúmenes de datos históricos y en tiempo real . [3] Druid es utilizado en la producción por empresas de tecnología como Alibaba , [3] Airbnb , [3] Cisco , [4] [3] eBay , [5] Lyft , [6] Netflix , [7] PayPal , [3 ] Pinterest , [8] Twitter , [9] Walmart , [10] Wikimedia Foundation [11] y Yahoo . [12]
Historia
Druid se inició en 2011 para impulsar el producto de análisis de Metamarkets. El proyecto fue de código abierto bajo la licencia GPL en octubre de 2012, [13] [14] y pasó a una licencia Apache en febrero de 2015. [15] [16]
Con el tiempo, varias organizaciones y empresas han integrado Druid en su tecnología de backend, [3] y se han agregado colaboradores de numerosas organizaciones diferentes. [17]
Arquitectura
![Architecture of a Druid cluster](http://wikiimg.tojsiabtv.com/wikipedia/commons/thumb/d/df/Apache_Druid_Architecture.svg/520px-Apache_Druid_Architecture.svg.png)
Completamente implementado, Druid se ejecuta como un grupo de procesos especializados (llamados nodos en Druid) para soportar una arquitectura tolerante a fallas [18] donde los datos se almacenan de manera redundante y no hay un solo punto de falla. [19] 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 la copia de seguridad de datos permanente.
Gestión de consultas
Las consultas de los clientes primero llegan a los nodos del intermediario, que las reenvían a los nodos de datos apropiados (ya sea en tiempo real o histórico). Dado que los segmentos de druida se pueden particionar, una consulta entrante puede requerir datos de múltiples segmentos y particiones (o fragmentos ) almacenados en diferentes nodos del clúster. Los corredores pueden saber qué nodos tienen los datos requeridos y también fusionar 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 los nodos coordinadores. Apache ZooKeeper se utiliza para registrar todos los nodos, administrar ciertos aspectos de las comunicaciones entre los entrenudos y proporcionar elecciones de líderes.
Características
- Ingestión de datos de baja latencia (transmisión)
- Exploración arbitraria de datos de cortes y dados
- Consultas analíticas de menos de un segundo
- Cálculos aproximados y exactos
Ver también
- Lista de DBMS orientados a columnas
Referencias
- ^ "Apache Druid en GitHub" . github.com . Consultado el 4 de mayo de 2021 .
- ^ Hemsoth, Nicole. "Druid Summons Strength in Real-Time" Archivado el27 de febrero de 2013en la Wayback Machine , Datanami , el 8 de noviembre de 2012
- ^ a b c d e f druida. "Druid | Desarrollado por Druid" . druid.apache.org . Consultado el 29 de junio de 2016 .
- ^ Mayordomo, Brandon. "Bajo el capó de la plataforma Tetration Analytics de Cisco" . Consultado 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 , consultado el 29 de enero de 2020
- ^ "El blog de tecnología de Netflix: anunciando Suro: columna vertebral de la canalización de datos de Netflix" . techblog.netflix.com . Consultado el 23 de junio de 2016 .
- ^ Pinterest: Powering Ad Analytics with Apache Druid , consultado el 29 de enero de 2020
- ^ "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). "Event Stream Analytics en Walmart con Druid" . Medio . Consultado el 29 de enero de 2020 .
- ^ https://conferences.oreilly.com/strata/strata-ny/public/schedule/detail/60986
- ^ "Complementando Hadoop en Yahoo: Análisis interactivo con Druid" . Consultado el 23 de junio de 2016 .
- ^ Tschetter, Eric. "Introducing Druid" , druid.apache.org , 24 de octubre de 2012
- ^ Higginbotham, Stacey. "Metamarkets open sources Druid, its in-memory database" , GigaOM , 24 de octubre de 2012
- ^ Harris, Derrick (20 de febrero de 2015). "La base de datos en tiempo real de Druid se traslada a una licencia de Apache" . Consultado el 4 de agosto de 2015 .
- ^ "Druid obtiene un código abierto bajo la licencia de Apache" . Consultado el 4 de agosto de 2015 .
- ^ druida. "Druida | Comunidad Druida" . druid.apache.org . Consultado el 23 de junio de 2016 .
- ^ Documentación del proyecto Druid
- ^ Yang, Fangjin; Tschetter, Eric; Léauté, Xavier; Ray, Nelson; Merlino, Gian; Ganguli, profundo. "Druid: A Real-time Analytical Data Store" , Metamarkets , consultado el 6 de febrero de 2014
enlaces externos
- Página web oficial