Aujourd’hui je vous présente Apache Avro.
Définition rapide
Apache Avro est un framework qui permet de sérialiser les données en binaire afin de faire des échanges entre systèmes. La définition des données est en JSON.
Le binaire
C’est lors de la sérialisation des données qu’Apache Avro les converti en binaire afin de réduire la taille des fichiers et donc d’améliorer les performances.
Schéma inclu
Les définition des données est un schéma inclu dans le fichier avro. Cela permet au consommateur de la donnée de les interpréter et donc de reconstruire l’objet d’origine.
Les langages compatibles
Il est possible d’utiliser Apache Avro avec plusieurs langages comme :
- Java
- Python
- C++
- Ruby
- Et d’autres
Schéma dynamique
Un autre avantage est qu’Avro gère les changements de schéma sans casser la compatibilité avec les anciennes versions.
Concrètement, les nouvelles versions du schéma peuvent lire des données écrites avec les anciens schémas.
Intégrations
Apache Avro est initialement utilisé dans l’écosystème Haddop comme Apache Hive, Pig et MapReduce.
Néanmoins, on peut aussi l’utiliser dans Apache Kafka pour le streaming des données ou Apache Spark.
Merci de votre lecture !