25 novembre 2015

BIG DATA : Théorème de CAP

Ce billet compare l'approche décisionnelle classique (BI) à l'approche Big Data.
En premier lieu, il est important de comprendre que si les fins de chacune de ces approchent sont similaires (Prévision, optimisation, Risque,...), L'espace temps d'application n'a plus rien à voir. Un peu comme si l'on comparait l'équation d'attraction universelle de Newton et l'approche relativiste d'Einstein. Cette dernière tend vers la première pour des vitesses négligeables par rapport à la célérité de la lumière.
Ainsi ceux qui prédisent la mort de la BI traditionnelle au profit de BigData s'enflamment un peu vite où se trompent partiellement. Des systèmes comme par exemple le SI Comptable, impose une consistance absolue qu'il n'est pas envisageable de traiter avec du Big Data.

NOSQL vs SGBDR
Avec des base de données NOSQL, comme MongoDB, Cassandra, HBASE, BigTable, Dynamo, un langage universel de requête comme SQL n'existe pas (Hive est un outil de requête avec une interface SQL adaptée). Cette fonctionnalité est obtenu ad'hoc par programmation en Java ou en Pithon, en utilisant les API. L'importance du schéma des données, formalisé en Data Définition Language (DDL), n'est plus le sujet côté NOSQL, et les forte contraintes relationnelles (index, clés primaire, jointures,...) sont justement volontairement bannies pour traiter massivement les données. On raisonne plutôt par liste par composition de colonnes ou documents, bannissant ainsi la nécessaire intégrité référentielle en 3eme forme normale et plus.

Mais alors, que faire avec des données suspectées par construction d'être "éventuellement intègres" ?
Ci-dessous, différents éléments de réponses théoriques.

ACID
Atomicité
Une transaction s'exécute complètement ou pas du tout. Si une partie de l'opération échoue, la totalité de la transaction échoue.
Consistance
Le système est dans un état cohérent à chaque instant, avant et après une transaction.
Isolation
2 transactions "simultanées" sont indépendantes. Elles n'interfèrent pas l'une sur l'autre.
Durabilité
Le système est capable de se remettre dans un état cohérent après une perte ou une panne.

BASE
 - Basically Available
 - Soft - state
 - Eventual consistency

 BA : se réfère à la disponibilité perçue des données distribués. Si un nœud échoue, une partie des données ne sera pas disponible, mais la couche de données entière reste opérationnel.
 
S : État mou: Les données ont besoin d'une période de rafraîchissement (asynchronisme). Sans un rafraîchissement, les données seront expirer ou être supprimé.

E : La cohérence éventuelle signifie que les mises à jour finiront par se répercuter sur tous les serveurs, étant donné le temps de rafraîchissement .

Basically Available
Consistency
Cohérence : Tous les nœuds du système voient exactement les mêmes données au même moment.
Available
Disponibilité : garantie que toutes les requêtes reçoivent une réponse.
Partition-Tolerance
Tolérance au partitionnement : aucune panne moins importante qu'une coupure totale du réseau ne doit empêcher le système de répondre correctement (ou encore : en cas de morcellement en sous-réseaux, chacun doit pouvoir fonctionner de manière autonome).

Le Théorème de CAP nous dit qu'il est impossible pour un système informatique de calcul distribué de garantir en même temps ces 3 contraintes. On ne peut en garantir que 2 à la fois, selon 3 combinaisons distinctes à un instant t : {CA ; CP ; AP}.

CALM :  - Consistency As Logical Monotonicity
 Une application cliente doit elle même compenser l'éventuelle inconsistance de la base NOSQL qu'elle requête, ce qui peut s'avérer complexe et sources d'erreurs. Une solution de contournement est de considérer une base de données CALM, C'est à dire une base ou les faits massivement volumineux jouissent d'une totale invariance, c'est-à-dire, pas d'opération UPDATE et DELETE atomique. C'est le cas par exemple  des logs que produisent les systèmes de surveillance et d'alertes, et plus généralement toute information produite par une machine, un robot ou un objet connecté.


FLUCTUAT NEC MERGITUR

24 novembre 2015

Pourquoi Le BigData fascine-t-il autant ?

Quand on parle de BIG DATA, incontestablement, nos yeux brillent, nos neurones se donnent la main, et se connectent, pour entrer dans la danse de cette nouvelle technologie si prometteuse.

Bien que cette technologie existe depuis maintenant 10 ans pour répondre aux problèmes de valorisation de l’information massive, nous n'avons aujourd'hui en Nov. 2015 en France, qu'un spectre relatif d'usage concret.

En janvier 2013, Dan Ariely écrivait dans FB, "Big data is like teenage sex: everyone talks about it, nobody really knows how to do it, everyone thinks everyone else is doing it, so everyone claims they are doing it..." Heureusement en France, nous sommes décidés et très motivé pour perdre notre pucelage. Nos amis américains, comme toujours sont les précurseurs, et fidèles à leur devise "Just do it", ils se lancent. Ce n'est pas parfait au premier coup, mais c'est pas grave, on sera meilleur la prochaine fois. A la différence, nous français, nous voulons que la nuit de noce soit parfaite, alors on prend le temps de la réflexion et de la préparation avant de se lancer, en lisant au passage les expériences plus ou moins réussites des autres. Cette différence fondamentale se vérifie dans la mise en œuvre de nos processus, et de notre gouvernance, etc.. Heureusement cette état d'esprit bien qu'ayant aussi des avantages, tend vers plus de flexibilité et d'agilité, afin de gouter plus rapidement au fruit convoité, et de profiter de ces retombées. La vie est trop courte...

Flexibilité, Agilité, hier, mais tout va très vite et aujourd'hui, c'est Volume, Variété, Vitesse. La belle n'attend plus, Elle a beaucoup à donner à ceux qui la mérite, et ces charmes sont innombrables et multi formes.

Plus sérieusement, La technologie Big Data fascine car elle est simple, basée sur le parallélisme de stockage (CAP) et d'exécution (Programmation distribuée), pas chère à mettre en œuvre, sur des serveur basics et pleine de promesse business. Elle est boostée par le pragmatisme des formats de données élémentaires (listes, documents, colonnes), quitte à opérer quelques entorses à la sacro-sainte ACIDité pour plus de disponibilité, pourvu qu'on assèche le lac de données en temps fini. Elle permet de transformer un temps d'analyse, exponentiel en un temps d'analyse linéaire. Ainsi, les phénomènes traditionnellement appréhendés par de l'échantillonnage statistique, trouvent maintenant un écho puissant et pas cher avec le Big Data, sur un spectre de donnée beaucoup plus grand, et dont la récolte promet des investigations futures encore inconnues. Notre médaille Field, Cédric Villani, nous rappelle aussi, que mathématicien est le meilleur métier du monde.

Le prédictif, comme dans une boule de Cristal ? Ça aussi ça passionne autant que ça effraie. Un des exemples les plus incroyables en terme de prévision et l'usage qu'en fait la police de Memphis, qui a fait baisser sa délinquance de 36%, et en réorganisant le planning des rondes et des interventions, par un ordinateur, selon les plus fortes probabilités de risque de crimes à un instant données. On est plus à l'échelle d'une gare qui étudie des flux de personnes ou d'un magasin qui analyse l'appétence de ses clients pour un paquet de lessive sur une campagne de 1 mois, mais à l'échelle d'une grande ville, où l'on croise simultanément, les historiques d'interpellation, la météo, les voitures volées, etc.., le tout en temps réel.   "That is Big Data"...


Résistance Paris Bataclan : FLUCTUAT NEC MERGITUR