Apache Druid
Druid est une base de donnĂ©es distribuĂ©e, orientĂ©e colonnes et open source, Ă©crite en Java. Druid est conçu pour ingĂ©rer rapidement dâĂ©normes quantitĂ©s de donnĂ©es dâĂ©vĂ©nement et renvoyer les donnĂ©es avec un faible temps de latence[2]. Le nom Druid fait rĂ©fĂ©rence aux druides de nombreux jeux de rĂŽle, par analogie Ă l'aptitude de l'architecture du systĂšme Ă se mĂ©tamorphoser pour rĂ©soudre diffĂ©rents types de problĂšmes de donnĂ©es.
Druid est couramment utilisé dans les applications d'informatique décisionnelle et de traitement analytique en ligne pour analyser de gros volumes de données historiques et en temps réel[3]. Druid est utilisé en production par les sociétés technologiques telles que Alibaba, Airbnb, Cisco[4], eBay[5], Netflix[6], PayPal, Yahoo[7] et Wikimedia Foundation[8].
Historique
Druid a été lancé en 2011 pour alimenter le produit d'analyse de la société Metamarkets. Le projet a été open source sous licence GPL en [9] - [10] et est passé à une licence Apache en [11] - [12].
Au fil du temps, un certain nombre dâorganisations et de sociĂ©tĂ©s ont intĂ©grĂ© Druid dans leur back office[3] et des committers de nombreuses organisations diffĂ©rentes ont Ă©tĂ© ajoutĂ©s[13].
En , la société commerciale Imply a été lancée pour fournir un produit d'entreprise construit autour de Druid[14].
En , Spicule Ltd a publié une version prise en charge de Druid sur la plate-forme Juju de Canonical[15].
Architecture
EntiĂšrement dĂ©ployĂ©, Druid s'exĂ©cute en tant que cluster de processus spĂ©cialisĂ©s (appelĂ©s nĆuds dans Druid) afin de prendre en charge une architecture tolĂ©rante aux pannes[16] les donnĂ©es sont stockĂ©es de maniĂšre redondante et en l'absence de point de dĂ©faillance unique[17]. Le cluster inclut des dĂ©pendances externes pour la coordination (Apache ZooKeeper), le stockage de mĂ©tadonnĂ©es (par exemple MySQL, PostgreSQL ou Derby) et une installation de stockage profond (par exemple HDFS ou Amazon S3) pour la sauvegarde permanente des donnĂ©es.
Gestion des requĂȘtes
Les requĂȘtes du client sont dâabord envoyĂ©es aux nĆuds broker, qui les transfĂšrent ensuite aux nĆuds appropriĂ©s (historiques ou en temps rĂ©el). Comme les segments Druid peuvent ĂȘtre partitionnĂ©s, une requĂȘte entrante peut nĂ©cessiter des donnĂ©es provenant de plusieurs segments et partitions stockĂ©s sur diffĂ©rents nĆuds du cluster. Les brokers peuvent savoir quels nĆuds ont les donnĂ©es requises et fusionner ensuite des rĂ©sultats partiels avant de renvoyer le rĂ©sultat agrĂ©gĂ©.
Gestion de cluster
Les opĂ©rations relatives Ă la gestion des donnĂ©es dans les nĆuds historiques sont supervisĂ©es par des nĆuds de coordination. Apache ZooKeeper est utilisĂ© pour enregistrer tous les nĆuds, gĂ©rer certains aspects des communications entre nĆuds et organiser des Ă©lections d'un leader.
Caractéristiques
- Ingestion de données à faible latence (streaming)
- Exploration de données arbitraire sur les tranches
- RequĂȘtes analytiques en moins d'une seconde
- Calculs approximatifs et exacts
Articles connexes
Références
- « Release 26.0.0 », (consulté le )
- (en) Nicole Hemsoth, « Druid Summons Strength in Real-Time » [« Druid appelle la force en temps-réel »], sur Datanami, (consulté le ).
- (en) druid, « Druid | Powered by Druid », druid.io (consulté le ).
- (en) Butler, « Under the hood of Ciscoâs Tetration Analytics platform » (consultĂ© le ).
- (en) « Druid at Pulsar - ebayçäžæ - ććźąéąé - CSDN.NET », blog.csdn.net (consultĂ© le ).
- (en) « The Netflix Tech Blog: Announcing Suro: Backbone of Netflix's Data Pipeline », techblog.netflix.com (consulté le ).
- (en) « Complementing Hadoop at Yahoo: Interactive Analytics with Druid » (consulté le ).
- (en) Andrew Otto et Fangjin Yang, « Analytics at Wikipedia: Big data conference: Strata Data Conference, September 25 - 28, 2017, New York, NY » (consulté le ).
- Tschetter, Eric. "Présentation du druide" , Druid.io , 24 octobre 2012.
- Higginbotham, Stacey. "Metamarkets open sources Druid, sa base de données en mémoire" , GigaOM , 24 octobre 2012.
- Harris, « The Druid real-time database moves to an Apache license », (consulté le ).
- « Druid Gets Open Source-ier Under the Apache License » (consulté le ).
- druid, « Druid | Druid Community », druid.io (consulté le ).
- Novet, Jordanie. "Imply lance 2 M $ pour commercialiser le magasin de données open source Druid" , VentureBeat , 19 octobre 2015.
- Downie, Stephen. "L'entreprise de données Spicule met la puissance du magasin d'analyse utilisé par Netflix entre les mains des clients" , EIN Presswire , 7 novembre 2018.
- Documentation du projet druide.
- Yang, Fangjin; Tschetter, Eric; Léauté, Xavier; Ray, Nelson; Merlino, Gian; Ganguli, Deep. "Druide: un magasin de données analytiques en temps réel" , Metamarkets , extrait le 6 février 2014.