Après deux jours au Salon Big Data 2019 qui s'est tenu les 11 et 12 mars dernier, vous trouverez ci-dessous un résumé des conférences et des ateliers auxquels j'ai eu la chance d'assister.
1. Les meilleures citations
“Difference between machine learning and AI: If it is written in Python, it’s probably machine learning If it is written in PowerPoint, it’s probably AI” Mat Velloso
Python reste en 2019 le langage de choix des data scientists. On évoque le machine Learning dans la majorité des présentations. Il ne s’agit plus simplement de stocker des grandes quantités de données mais d’en tirer de la valeur. Au contraire, l’intelligence artificielle est surtout évoquée par les hommes politiques et dans des présentations parlant d’une cible lointaine à atteindre.
"By 2025, 80% of enterprises will have shut down their traditional data center, versus 10% today" David J. Cappuccio
Comment Veolia s'est transformé en entreprise "Zéro Datacenter" ?
Plusieurs présentations
insistent sur le fait que même si aujourd’hui la majorité des données restent
stockées dans des datacenters traditionnels, de plus en plus d’entreprises ont
commencé à migrer leurs données dans le Cloud. Les deux leaders du « on
premise » : HortonWorks et Cloudera ont dû fusionner en 2018, signe
d’une consolidation du secteur. Au contraire, AWS, Google Cloud Platform et
Microsoft Azure ont le vent en poupe.
Il existe aussi des solutions hybrides avec une partie des données dans un Cloud et une autre partie dans un datacenter privé. Pour des raisons de coûts, il peut par exemple être intéressant d’avoir un cluster en interne avec des GPUs pour faire du machine learning sur certaines données et d’avoir le reste dans le Cloud.
“Data is the new oil. It’s valuable, but if unrefined it cannot really be used. It has to be changed into gas, plastic, chemicals, etc to create a valuable entity that drives profitable activity; so must data be broken down, analyzed for it to have value.” Clive Humby
Le stockage des données semblant acquis dans la plupart des entreprises, les vendeurs de solutions insistent sur l’importance de préparer les données et de les analyser. Ils proposent donc des outils pour réaliser le pipeline complet de la récupération des données à leur analyse.
2. Big Data : un paysage fragmenté et en perpétuel évolution
Voyez-vous les technologies présentés dans l'image ci-dessous ? Non ? C'est normal ! Même en sélectionnant seulement les 10 meilleures solutions pour chaque domaine, le panorama doit être ouvert en haute résolution pour être lisible.
D'après une présentation réalisée par Oguri, voici un condensé des technologies à utiliser en 2019 :
Tout d'abord, l'incontournable Spark avec Python (PySpark) pour prototyper rapidement puis éventuellement avec Scala pour mettre en production.
En ce qui concerne les bases de données matures : Cassandra, MongoDB (plus rapide à mettre en place), Kafka (un bus de messages, incontournable, tout le monde en a), Elastic, LogStash, Kibana (ELK).
On Premise VS Cloud. Depuis l'année dernière, Oguri prévoit le déclin du "on premise" au profit du cloud.
Pour ce qui est du stockage de fichiers, HDFS est en déclin (remplacé par AWS S3, Avere vFXT…). Ensuite, Server Appliance (serveur spécialisé livré entièrement configuré avec un ensemble de logiciels) disparait au profit du Cloud. Enfin, AWS Data Pipeline est mentionné comme étant basé uniquement sur le fait que le nombre d'évolutions a fortement diminué - à prendre avec des pincettes.
Il est encore mentionné que
suite au merge entre Cloudera et Hortonworks, les versions existantes seront
supportées seulement 3 ans, il existe par ailleurs des problèmes de doublons
entre les deux solutions.
Du côté du cloud Amazon,
les technologies à utiliser sont Redshift, Spectrum, Athena, Amazon EMR, Hue,
AWS Lake Formation (the future).
AWS propose des services
REST ne nécessitant pas d’être Data Scientist pour faire de la traduction. Il
existe aussi des frameworks avancés pour mettre les mains dans le cambouis.
Même principe pour Google Cloud Plateform qui propose du machine learning en tant qu’API (traduction, langage naturel, text to speech, …) et les frameworks TensorFlow pour les datascientists, Big Query ML pour les développeurs et AutoML pour tous.
3. Un peu de technique avec Azure Cosmos DB
Dans le domaine des bases de données distribuées, Microsoft a expliqué le théorème CAP : on ne peut pas avoir en même temps la Cohérence, la disponibilité (Availability) et la tolérance au Partitionnement.
Comme on ne veut pas enlever la tolérance au partitionnement, il reste juste à choisir entre cohérence ou disponibilité.
Si on fait le choix de la cohérence, les performances seront bien moindres que si l'on fait le choix de la disponibilité.
Azure Cosmos DB donne le choix entre 5 niveaux de cohérence au lieu d'avoir un niveau fixe et extrême imposé par la base (cohérence forte pour MongoDB et cohérence à terme pour Cassandra).
Forte : les lectures retournent toujours la dernière version
Obsolescence limitée : les lectures effectuées dans différentes régions peuvent retourner une version obsolète. Néanmoins, le décalage entre la version retournée et la dernière version est limité à un certain nombre de versions ou à un certain intervalle de temps.
Session : la cohérence est assurée au sein d'une session mais pas globalement.
Préfixe cohérent : les lectures peuvent voir des versions obsolètes mais les écritures sont vues dans le bon ordre.
À terme : les lectures peuvent voir des versions incohérentes. En l'absence d'écriture, tous les réplicas aboutissent à la même version après un certain temps.
Conclusion
Le salon du Big Data aura été l’occasion d’assister à de nombreuses présentations autour du machine learning. Certains produits proposent maintenant d’interagir directement en langage naturel. Les distributeurs de Cloud proposent tous un ensemble d’APIs, de frameworks pour rendre le machine learning accessible à tous. Est-ce que pour autant toutes les entreprises sont prêtes à adopter ces nouvelles technologies ?