Comme pas mal d'autres chercheurs en bases de données, j'ai développé avec le temps une schizophrénie certaine. J'enseigne les bases de données relationnelles et je parle aux élèves de la beauté du calcul relationnel (First-order logic, les petits!), de l'algèbre relationnelle, et de notre standard SQL. Et à coté, j'aligné la recherche sur des données N1NF, des données déductives, des données objet, des données semistructurées; autant d'agressions contre le dogme relationnel. Et si on trouvait toujours quelqu'un pour nous dire que ça ne servait rien, que le monde était relationnel, ça ne nous a jamais empêché de vivre.
Et puis est arrivé XML qui est devenu un standard pour les données, plus standard que le standard relationnel. A l'occasion, on en a profité pour réaliser que maintenant que tout le monde programmait en objet, les bases de données objets s'imposaient sans combat. Même la déduction qui revevait à la mode! Mais elle était où la mode?
Une rumeur venue des US: Le monde devient NoSQL!
Késako NoSQL? Pour les prudents: cela veut dire "not only SQL". Donc c'est juste une platitude car tout le monde sait qu'il n'y a pas que des tableaux à deux dimensions dans la vie. Alors du pipeau? Non! C'est comme Web 2.0, c'est scientifiquement indéfinissable, mais c'est un état d'esprit, un mouvement, presqu'un art de vivre (ouf: je vais me faire chambrer). En tous cas, NoSQL ça doit être cool car même Mike Stonebraker se met tirer à dessus.
Bienvenue dans le monde fascinant de la gestion de données à l'échelle du Web avec ses DHT, ses map-reduce, et ses annotations sémantiques! Enfin de la techno qui décoiffe. [Voir le livre là-dessus "Web Data Management and Distribution", Pub (*).]
Un avis personnel, on peut voir dans NoSQL deux aspects principaux :
- On peut faire de la gestion de données avec un opérateur scan, un index clé/valeur et basta!
- On peut faire de la gestion de données en utilisant massivement la distribution.
D'un point de vue logiciel, ça conduit à plein de logiciels souvent libres. (NoSQL, c'est un peu "A bas les serveurs relationnels d'Oracle, IBM et Microsoft".) Notamment:
- Des systèmes autour de Map-Reduce comme Hadoop.
- Des bases de données objet comme db4o.
- Des bases de données XML comme eXist.
- Des systèmes de stockage massif de documents.
- Des systèmes de clé/valeur autour d'une DHT comme Dynamo.
Oulà un peu raide le message, même pour un informaticien (quoique ignare des BD). Limite private joke, Je te lâche un mail pour avoir le password du bouquin.
RépondreSupprimerTu as raison Daniel. C'est un peu trop technique pour un blog qui vise un très large public. J'espère que cela te donneras envie d'apprendre un peu ce qui se passe en gestion de données.
RépondreSupprimer