Un article technique

Traitement et Analyse de données : Clickhouse & Apache Superset®

introduction

Le flux de données collectées de nos jours est de plus en plus conséquent, c’est indéniable. Nous pouvons dire assez aisément que la data est le nouvel or noir de notre siècle. Grâce à elle, nous pouvons anticiper, améliorer, personnaliser, automatiser, etc… les “possibilités” semblent infinies !

Mais alors que faire lorsque nous nous retrouvons submergés par celle-ci ?
Car c’est le mot oui : submergé, littéralement.
Le flot de données est tel qu’il devient désormais bien compliqué de les traiter comme il se doit. Cela est bien dommage puisque nous passons dans ces cas-là, à côté d’opportunités ou parfois même de “problèmes” que nous aurions pu anticiper.

C’est là qu’interviennent deux outils pour venir à notre rescousse :
Clickhouse et Apache Superset®.
Ces deux logiciels vont nous aider à dompter ce flux de data massif :
Tri, gestion, visualisation et mise à disposition aux utilisateurs concernés, le tout en open source et de façon très intuitive.

Nabil, membre de la Core Team OP-Rate a testé pour vous ces deux systèmes et nous détaille dans cet article les fonctionnalités de chacun, notre retour d’expérience et quelques cas d’usages.

"Data is everything, Everthing's data"

OVERVIEW

Comme énoncé précédemment, manipuler et visualiser la data est tout un art, et cela peut vite devenir un casse-tête lorsqu’elle s’accumule et que le data warehouse s’assimile plus à un fourre tout.
Clickhouse et Apache Superset® permettent de remédier à ce phénomène, découvrons comment avec un tour d’horizon sur leurs fonctionnalités respectives.

1. CLICKHOUSE

Tout d’abord, nous nous intéresserons à Clickhouse, car c’est avec lui que tout commence (ou presque). Notre but ici, est dans un premier temps, d’organiser la data, puis de la manipuler afin de la visualiser et la rendre lisible et exploitable du plus grand nombre.
La première étape étant l’organisation, c’est avec Clickhouse que nous commencerons.
Cloud native et accessible en open source, l’outil va nous permettre de collecter les données et de les organiser.

Schéma technique

L’une des particularités de Clickhouse est que son système est organisé en colonnes, contrairement aux bases de données classiques. Grâce à cette spécificité, le temps de traitement est environ 200 fois plus rapide que Hive, et environ 800 fois plus rapide que MySQL !​

Tech Team

Ce qui est très appréciable puisque cela permet un traitement des données en temps réel, par rapport à un traitement de données en ligne comme dans les bases de données conventionnelles.
De plus, Clickhouse permet de compresser les données avec un facteur de compression de 3 à 5 (voir étude), ce qui peut permettre de réduire les coûts de stockage de manière non négligeable.

À noter que ClickHouse peut également se connecter à d’autres bases comme sources de données (Kafka, MongoDB, PostgreSQL…).
Ce sont ces particularités qui le rendent aussi puissant et performant.

"Clickhouse permet de réduire les coûts jusqu’à 50 % "

2. APACHE SUPERSET®

Une fois notre donnée bien organisée et agrégée, il est temps de la visualiser. C’est là qu’interviennent Apache Superset® et ses templates.

Créé par Airbnb, le logiciel est également cloud native et open source.

La prise en main de l’interface en elle-même est très intuitive et s’apparente plus à du low code, ce qui permet une utilisation du plus grand nombre.
Un autre point très appréciable de Apache Superset®, est sa grande variété de templates différents :
graphiques en barres, nuages de points, courbes, diagrammes, cartes géographiques, heat map, 2D, 3D etc…
Vous le vouliez ? Apache Superset® l’a fait !

Schéma technique

Outre ses possibilités en termes de personnalisation, Apache Superset® propose un compromis très honnête en Dataviz : complexité abordable (maintenance et prise en main) et performance au rendez-vous, pour un prix tout à fait raisonnable.

En bref, un allié de choix

Tech Team

Notre expérience

INSTALLATION / PRISE EN MAIN

Clickhouse et Apache Superset® sont tous deux assez simples à prendre en main et la documentation disponible est très complète.
Pour ce qui est de l’installation justement, leur documentation permet d’être guidé pas à pas, en fonction de notre configuration et de l’endroit où l’on souhaite les installer (Docker, K8S, local…).

En ce qui concerne le système d’exploitation nécessaire, ils fonctionnent tous deux sous Linux, Mac OS X ou FreeBSD.
Pour démarrer il est tout à fait possible d’expérimenter en local, puis de scaler jusqu’à un cluster.
L’installation terminée, il est temps de configurer les clusters et de connecter les bases de données souhaitées.
Point très appréciable pour l’un comme pour l’autre, la plupart des bases de données sont compatibles.

"Apache Superset® est écrit en Python et JS, et Clickhouse est en C++."

Apache Superset® se connecte notamment avec toutes les bases de données supportées par l’ORM SQLAlchemy. . Autant dire qu’il y a le choix !

Tech Team

Les données sont désormais accessibles, il ne reste plus qu’à les organiser et créer nos dashboards.

Exemple de codage

REX OP-RATE

La valeur ajoutée de Clickhouse et Apache Superset® est aisément perceptible :

1. Performance

Comme nous avons pu le voir précédemment, Clickhouse propose l’un des moteurs les plus performants.

Couplé à la puissance de Apache Superset®, cela permet d’avoir une solution de BI efficace et intuitive.

2. Optimisation des coûts

Actionner les données de facturation permet également de mettre en exergue des problématiques FinOps non identifiées/identifiables jusqu’alors.

Contrairement à BigQuery ou des outils “serverless” du marché, le duo Clickouse/Apache Superset® permet d’avoir une facturation stable, sur un volume de données et de requêtes stable et une utilisation intensive.

La compression permet de réduire les coûts de stockage.

3. Accessibilité

La documentation proposée est vraiment complète.
L’utilisation de SQL comme moteur de requêtage permet de ne pas être dépaysé et de pouvoir s’y retrouver facilement.

4. Scale

Clickhouse et Apache Superset® font tous deux preuve d’une scalabilité à toute épreuve, ce qui est non négligeable.

USE CASES

Nous avons pu voir au travers de cet article, deux étapes majeures quant au traitement des données. Dans un premier temps, le stockage et l’agrégation puis dans un second temps, la visualisation.
C’est Clickhouse qui se charge de servir les données, puis quand vient le moment de la visualisation, c’est Apache Superset® qui intervient.
Mais concrètement, à quelles situations sont destinées ces deux logiciels ?
Nous vous avons concocté quelques cas d’usages qui pourront illustrer cet article.

1. LOGS TECHNIQUES

Analyser les logs relève souvent du défi tant il y a de données à exploiter. Ils représentent chaque événement effectué par une application ou un serveur, et il est important de garder une visibilité sur ces activités afin de :

  • Détecter les tentatives d’intrusion

“Il vaut mieux prévenir que guérir”, c’est bien connu !
La détection est primordiale et permettra ainsi de visualiser des failles qui, par exemple, seraient propices à des tentatives d’intrusion.

  • Monitorer

“Pas de nouvelles, bonne nouvelle”, … pas toujours !
Vos utilisateurs pourraient être confrontés à une fonctionnalité défaillante, visualiser les messages d’erreur permettra d’intervenir rapidement. Une bonne gestion fera ressortir les éléments les plus importants.

  • Analyser plus finement et Améliorer

Nettoyer, compresser, alléger le code… pour gagner en vitesse d’exécution et chargement.

2. DONNÉES USERS

Il en est de même pour les données utilisateurs, sur quoi se concentrer en priorité?
Quels éléments sont pertinents pour notre activité ?
Quelles données nous apportent le plus de valeur ?
Et surtout, comment les croiser pour en exploiter le plein potentiel ?

Voici des exemples de croisements de données possibles :

  • Données de connexion rapportées au CA généré ;
  • Visualisation géographique par produit du CA généré ;
  • Top des pages visitées rapportées au CA
  • Lien avec les campagnes publicitaires : ROI/campagne/source…

Pour un e-commerce, si la page “contact” est dans les pages les plus visitées, il y a peut-être des optimisations à prévoir dans le funnel de vente

Tech Team

Toutes ces données sont des leviers de croissance précieux à activer pour maximiser votre valeur. 

Ce sont là deux grands axes, mais ils sont déclinables à l’infini, car tant qu’il y a de la data il y a… de l’analyse !

Conclusion

Voici donc comment, dans un environnement full of data, il est possible (et même nécessaire !) de mettre un peu d’ordre dans tout ça.
Que doit-on retenir ?

  • Être noyé n’est pas une fatalité.
    Il existe des outils open source permettant de gérer des quantités astronomiques de données tout en évitant l’enfermement propriétaire ;
  • Organiser et visualiser la data permet de s’appuyer sur des faits chiffrés et non des spéculations. Que ce soit pour gérer les priorités, prendre une décision ou orienter une stratégie d’entreprise, l’analyse des données et la Dataviz sont essentielles ;
  • Cela s’applique à tous les secteurs d’activités.

Alors si vous souhaitez faire parler vos données, n’hésitez pas à en discuter avec nos experts !

Nous rejoindre

Faites partis de l’aventure OP-Rate en rejoignant une équipe avec des valeurs fortes de sens. Vous voulez en savoir plus sur nos offres, rdv juste ici 👇

ARTICLES

CONTACTER un expert