Veille technologique
Nous devons réaliser une veille technologique sur le NoSQL.
Le NoSQL
NoSQL signifie “Not Only SQL”. Ce terme désigne l’ensemble des bases de données qui s’opposent à la notion relationnelle des SGBDR.
Avec l'explosion de la taille des données à gérer que connaissent certaines sociétés, les bases de données traditionnelles n'arrivent pas à fournir un temps de réponse satisfaisant, alors deux solutions sont envisageables.
- Scalabilité verticale
- Scalabilité horizontale.
Mais les clusters ont certains défauts.
C'est suite à ce constat que les bases de données NoSQL ont émergé, ces bases se caractérisant par l'abandon des jointures et des transactions au profit d'un temps de réponse court.
Caratéristiques du NoSQL
Le premier besoin fondamental auquel répond NoSQL est la performance. En effet, ces dernières années, les géants du Web comme Google et Amazon ont vu leurs besoins en termes de charge et de volumétrie de données croître de façon exponentielle. Et c’est pour répondre à ces besoins que ses solutions ont vu le jour.
Des entreprises comme Facebook, Twitter ont migré une partie de leurs données sur des bases NoSQL. Cette adoption croissante des bases NoSQL conduit à une multiplication et une amélioration des offres Open Source des moteurs.
Il y a 4 types de familles pour les solutions NoSQL :
-Clé / valeur :
Chaque objet est identifié par une clé unique constituant la seule manière de le requêter.
Utilise une exploitation de données basée sur le CRUD :
- Create : crée un objet à partir d'une clé -> Create(key, value).
- Read : lit un objet à partir de sa clé -> read(key).
- Update : met à jour une valeur à partir de sa clé -> update(key, value).
- Delete : supprime un objet à partir de sa clé -> delete(key).
Avantage : Requêtage très simple.
Inconvénient : Requêtage TROP simple.
Exemple de logiciels : Voldemort, Riak...
-Orienté colonne :
Ce modèle ressemble à première vue à une table dans un SGBDR à la différence qu’avec une BD NoSQL orientée colonne, le nombre de colonnes est dynamique. Il est pratique pour le stockage de listes : message, commentaire.
Possibilité d'ajouter des colonnes dans des colonnes.
Avantage : Flexibilité, traitement massif.
Inconvénient : Exige énormement de maintenance (Suppression, modification...).
Exemple de logiciels : HBase, Cassandra...
-Orienté document :
Ce modèle ce base sur les documents de type XML. L’avantage est de pouvoir récupérer, via une seule clé, un ensemble d’informations structurées de manière hiérarchique. La même opération dans le monde relationnel impliquerait plusieurs jointures.
Avantage : Modèle de données simple mais puissant (Structures imbriquées).
Inconvénient : Lent pour les grandes requêtes.
Exemple de logiciels : MongoDBn, CouchDB...
-Orienté graphe :
Ce modèle de représentation des données se base sur la notion de noeuds. Ce modèle facilite la représentation du monde réel, ce qui le rend adapté au traitement des données des réseaux sociaux.
Avantage : Rapide pour les données liées.
Inconvénient : Sharding.
Exemple de logiciels : Neo4j, OrientDB...
Le NOSQL dans l'actualité 2014 :
- NoSql, c’est plus facile pour démarrer.
- Avec NoSql, pas besoin de réfléchir à son modèle de données.
- NoSql, c’est plus performant.
- NoSQL remplace le SQL.
Conclusion :
Le NoSQL est une technique efficace pour le BigData mais surtout un effet de mode beaucoup critiqué par les experts en SQL.
Les recherches
Afin de réaliser cette veille nous avons utilisé des outils :
- Google alerte. Il permet de nous alerter via un email, sur un sujet auquel nous nous sommes inscrits.
- Navigateur internet. Nous avons recherché des documents simples, concrets et récents si possible.
Voici le lien du Pearltrees : www.pearltrees.com/sio_baptiste