MiNiFi: Scalabilité de la données & de l’intérêt de commencer petit

MiNiFi: Scalabilité de la données & de l’intérêt de commencer petit

Ce poste fait partie de notre série sur le Dataworks Summit 2017 (ex-Hadoop Summit)

Conférence d’Aldrin Piri d’Hortonworks

Aldrin nous a rapidement présenté Apache NiFi puis expliqué d’où est venu MiNiFi: un agent NiFi à déployer sur en embarqué afin d’amener la donnée à pipeline d’un cluster NiFi (ex: IoT).

Voici les points principaux de la présentation.

Apache NiFi

Apache NiFi est un système répondant à la question suivante :

Dans un monde connecté ou tout appareil peut être producteur de données, comment amène-t-on la donnée au consommateur ?

Il permet de collecter la données depuis de multiples sources, y appliquer une ou plusieurs logiques et opérations et enfin de la rendre disponible à d’autres ou la pousser dans système de fichiers.

Ses fonctionnalités clés sont :

  • Assurance de livraison (guaranteed delivery)
  • Mise en mémoire tampon
  • Priorisation des files
  • Qualité de service spécifique à un flux (latence vs débit, tolérance à la perte)
  • Provenance de la donnée
  • Reprise / enregistrement d’un log continue avec un historique détaillé
  • Commandes et contrôles visuels
  • Templates de flux
  • Sécurité multi-rôle / pluggable
  • Pensé pour les extensions
  • Clustering

NiFi utilise le format FlowFiles pour transporter la donnée. C’est un format stockant la donnée au format binaire associée à des métadonnées, comme le fait HTTP, permettant de retracer l’origine du fichier et les opérations appliquées.

Le format FlowFile permet à NiFi d’être agnostique à la donnée, cependant le système est pensé pour l’intégration de plugins pour ajouter des opérations spécifique à un format de donnée.

Apache MiNiFi

NiFi est un bel outil néanmoins il requiert beaucoup de puissance de calcul pour fonctionner ce qui le limite généralement aux DataCenters. Cela signifie que l’historique de la donnée au sein de NiFi est limitée aux points d’entrée du DataCenter.

Avec ce point en tête, l’équipe NiFi a exporté les librairies de format FlowFile, support de tagging, protocole site-to-site et enregistrement de la provenance de la donnée, sans le framework de traitement, le serveur web et l’interface utilisateur. Associé à cela, ils ont développé deux clients :

  • Un en Java, bien moins consommateur que le service NiFi original
  • Un en C++, plus petit que la version Java

La première implémentation est basée sur le service NiFi original tandis que la version C++ est une réécriture complète pour optimiser les performances, et est bien adapté à un réseau de capteurs.

Il reste enfin l’option la plus optimale : développer soi-même un client spécifique à la plateforme cible (iOS / Android, …) avec les librairies exportées de NiFi.

Tout cela forme MiNiFi, un client NiFi embarqué permettant d’avoir un la provenance de la données directement depuis le producteur.

L’écosystème NiFi

Afin d’agrandir les possibilités de Nifi, les composants suivant sont en développement :

  • Gestion de configuration des flux et versionning
  • Dépôt centralisé d’extension
  • Base de registre

Conclusion

Avec l’annonce de MiNiFi, l’équipe Apache NiFi veut se placer comme le meilleur ETL pour le nouveau monde de l’IoT.

By | 2017-07-24T21:37:13+00:00 July 8th, 2017|Blog, Évènements|0 Comments

About the Author:

Consultant Big Data @ Adaltas depuis 2015, j'aime découvrir de nouvelles choses et expérimenter avec les nouvelles technologies en plus de mon métier de tous les jours

Leave A Comment

Time limit is exhausted. Please reload the CAPTCHA.