Présentation des bases de données NoSQL
L’acronyme NoSQL a été inventé en 1998. Beaucoup de gens considèrent NoSQL comme un terme péjoratif utilisé pour se moquer de SQL. En fait, le terme signifie plus que juste SQL. L’idée est que les deux technologies peuvent coexister et ont chacune leurs utilisations. Le mouvement NoSQL fait l’actualité depuis quelques années, car de nombreux leaders du Web 2.0 ont adopté les technologies NoSQL. Des entreprises comme Facebook, Twitter, Digg, Amazon, LinkedIn et Google utilisent toutes NoSQL de différentes manières. Décomposons NoSQL afin que vous puissiez l’expliquer à votre CIO ou même à vos collègues.
NoSQL est né
stockage de données: Les données numériques stockées dans le monde se mesurent en exaoctets. Un exaoctet équivaut à un milliard de gigaoctets (Go) de données. Selon Internet.com, la quantité de nouvelles données stockées ajoutées en 2006 était de 161 exaoctets. À peine 4 ans plus tard, en 2010, la quantité de données stockées approchera les 1 000 ExaBytes, soit une augmentation de plus de 500 %. En d’autres termes, il y a beaucoup de données stockées dans le monde, et elles continueront de croître.
Données connectées : Les données sont de plus en plus connectées. Les hyperliens facilitent la création du Web, les blogs ont des pingbacks et tous les principaux systèmes de réseaux sociaux ont des balises qui relient les choses. Les principaux systèmes sont construits pour se connecter les uns aux autres.
Structures de données complexes : NoSQL peut facilement gérer des structures de données imbriquées hiérarchiquement. Pour accomplir la même chose en SQL, vous auriez besoin de plusieurs tables relationnelles avec différentes clés. De plus, il existe une relation entre les performances et la complexité des données. Les performances des SGBDR traditionnels peuvent souffrir lorsque nous stockons les grandes quantités de données requises par les applications de réseaux sociaux et le Web sémantique.
Qu’est-ce que NoSQL ?
Je pense qu’une façon de définir NoSQL est de penser à ce qu’il n’est pas. Ce n’est pas SQL, et ce n’est pas relationnel. Comme son nom l’indique, il ne s’agit pas d’un remplacement d’un SGBDR, mais d’un complément à celui-ci. NoSQL est conçu pour le stockage de données distribué pour les besoins de données à très grande échelle. Pensez à Facebook avec 500 millions d’utilisateurs ou à Twitter qui accumule des téraoctets de données chaque jour.
Dans les bases de données NoSQL, il n’y a pas de schémas fixes ni de jointures. Les SGBDR « évoluent » avec un matériel de plus en plus rapide et une mémoire accrue. NoSQL, en revanche, peut tirer parti de la « scale-out ». La mise à l’échelle fait référence à la répartition de la charge sur de nombreux systèmes de produits de base. C’est le composant de NoSQL qui en fait une solution peu coûteuse pour les grands ensembles de données.
Catégorie NoSQL
Le monde NoSQL actuel peut être divisé en 4 catégories de base.
- magasin de valeur clé Principalement basé sur Amazon Dynamo Paper écrit en 2007. L’idée principale est qu’il existe une table de hachage avec une clé unique et un pointeur vers un élément de données spécifique. Ces mappages sont souvent accompagnés de mécanismes de mise en cache pour optimiser les performances.
- magasin familial Créé pour stocker et traiter de grandes quantités de données réparties sur de nombreuses machines. Il existe toujours des clés, mais elles pointent vers plusieurs colonnes. Dans le cas de BigTable (modèle Column Family NoSQL de Google), les lignes sont identifiées par une clé de ligne par laquelle les données sont triées et stockées. Les colonnes sont organisées par famille de colonnes.
- base de données de documents Inspiré de Lotus Notes, similaire à un magasin clé-valeur. Le modèle est essentiellement un document versionné, une collection d’autres collections clé-valeur. Les documents semi-structurés sont stockés dans des formats tels que JSON.
- base de données graphiques est construit avec des nœuds, des relations entre les annotations et des attributs de nœuds. Au lieu de tableaux de lignes et de colonnes et de la structure rigide de SQL, il utilise un modèle de graphe flexible qui peut évoluer sur de nombreuses machines.
Principaux acteurs NoSQL
Les principaux acteurs du NoSQL sont apparus principalement grâce aux organisations qui les ont adoptés. Certaines des plus grandes technologies NoSQL incluent :
- dynamo: Dynamo, créé par Amazon.com, est la base de données NoSQL Key-Value la plus connue. Amazon avait besoin d’une plate-forme distribuée hautement évolutive pour son activité de commerce électronique. Ils ont donc développé Dynamo. Amazon S3 utilise Dynamo comme mécanisme de stockage.
- Cassandre : Open source de Facebook, Cassandra est une base de données NoSQL orientée colonnes.
- Grand tableau : BigTable est la base de données exclusive orientée colonnes de Google. Google autorise l’utilisation de BigTable, mais uniquement sur Google App Engine.
- Base de données simplifiée : SimpleDB est une autre base de données Amazon. Pour Amazon EC2 et S3, qui fait partie d’Amazon Web Services et est facturé en fonction de l’utilisation.
- Base de données des canapés : CouchDB et MongoDB sont des bases de données NoSQL open source orientées document.
- Néo4J : Neo4j est une base de données de graphes open source.
queryNoSQL
La question de savoir comment interroger les bases de données NoSQL intéresse la plupart des développeurs. Après tout, les données stockées dans une énorme base de données ne servent à rien si vous ne pouvez pas les récupérer et les afficher à un utilisateur final ou à un service Web. Les bases de données NoSQL ne fournissent pas de langage de requête déclaratif avancé comme SQL. Au lieu de cela, l’interrogation de ces bases de données est spécifique au modèle de données.
De nombreuses plates-formes NoSQL autorisent les interfaces RESTful avec les données. Autre API de requête de devis. Plusieurs outils de requête ont été développés pour tenter d’interroger plusieurs bases de données NoSQL. Ces outils s’appliquent généralement à une seule catégorie NoSQL. Un exemple est SPARQL. SPARQL est une spécification de requête déclarative conçue pour les bases de données de graphes. Voici un exemple de requête SPARQL qui récupère l’URL d’un blogueur spécifique (fourni par IBM) :
préfixe mousse :
choisir?URL
de
Où {
Contributeur foaf:name « Jon Foobar » .
? Contributeur foaf:weblog ?url.
}
datatype= »code »>
L’avenir de NoSQL
Les organisations ayant des besoins massifs de stockage de données envisagent sérieusement NoSQL. Apparemment, ce concept ne reçoit pas autant d’attention dans les petites organisations. Selon une enquête menée par Information Week, 44 % des professionnels de l’informatique d’entreprise n’ont pas entendu parler de NoSQL. De plus, seulement 1 % des personnes interrogées ont déclaré que NoSQL faisait partie de leur orientation stratégique. De toute évidence, NoSQL a sa place dans notre monde connecté, mais il doit continuer à évoluer pour gagner l’attrait de masse que beaucoup pensent qu’il pourrait avoir.
Merci de nous en informer!
Recevez chaque jour les dernières actualités technologiques
abonnement
Dites-nous pourquoi !
D’autres ne sont pas assez détaillés pour comprendre