Présentation des bases de données NoSQL

Table des matières:

Présentation des bases de données NoSQL
Présentation des bases de données NoSQL
Anonim

L'acronyme NoSQL a été inventé en 1998. Beaucoup de gens pensent que NoSQL est un terme péjoratif créé pour attaquer SQL. En réalité, le terme signifie Not Only SQL. L'idée est que les deux technologies peuvent coexister et chacune a sa place. Le mouvement NoSQL a fait l'actualité ces dernières années, car de nombreux leaders du Web 2.0 ont adopté une technologie NoSQL. Des entreprises comme Facebook, Twitter, Digg, Amazon, LinkedIn et Google utilisent toutes NoSQL d'une manière ou d'une autre. Décomposons NoSQL afin que vous puissiez l'expliquer à votre CIO ou même à vos collègues.

Image
Image

NoSQL est né d'un besoin

Stockage de données: Les données numériques stockées dans le monde sont mesurées en exaoctets. Un exaoctet équivaut à un milliard de gigaoctets (Go) de données. Selon Internet.com, la quantité de 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 sera de près de 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 ça va continuer à croître.

Données interconnectées: Les données sont de plus en plus connectées. La création du Web a favorisé les hyperliens, les blogs ont des pingbacks et chaque système de réseau social majeur a des balises qui lient les choses ensemble. Les principaux systèmes sont conçus pour être interconnectés.

Structure de données complexe: NoSQL peut facilement gérer des structures de données imbriquées hiérarchiques. Pour accomplir la même chose en SQL, vous auriez besoin de plusieurs tables relationnelles avec toutes sortes de clés. De plus, il existe une relation entre la performance et la complexité des données. Les performances peuvent se dégrader dans un SGBDR traditionnel car nous stockons les énormes quantités de données requises dans les applications de réseaux sociaux et le Web sémantique.

Qu'est-ce que NoSQL ?

Je suppose qu'une façon de définir NoSQL est de considérer ce qu'il n'est pas. Ce n'est pas SQL et ce n'est pas relationnel. Comme son nom l'indique, il ne remplace pas un SGBDR mais le complète. NoSQL est conçu pour les magasins de données distribués pour les besoins de données à très grande échelle. Pensez à Facebook avec ses 500 000 000 utilisateurs ou à Twitter qui accumule des térabits de données chaque jour.

Dans une base de données NoSQL, il n'y a pas de schéma fixe ni de jointure. Un SGBDR "évolue" en obtenant un matériel de plus en plus rapide et en ajoutant de la mémoire. NoSQL, d'autre part, peut tirer parti de la "mise à l'échelle". 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égories NoSQL

Le monde NoSQL actuel se divise en 4 catégories de base.

  1. Les magasins de valeurs-clés sont basés principalement sur le Dynamo Paper d'Amazon qui a été écrit en 2007. L'idée principale est l'existence d'une table de hachage où il y a une clé unique et un pointeur vers un élément de données particulier. Ces mappages sont généralement accompagnés de mécanismes de cache pour optimiser les performances.
  2. Column Family Stores ont été créés pour stocker et traiter de très grandes quantités de données réparties sur de nombreuses machines. Il y a encore 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 avec les données triées et stockées par cette clé. Les colonnes sont organisées par famille de colonnes.

  3. Document Databases ont été inspirés par Lotus Notes et sont similaires aux magasins clé-valeur. Le modèle est essentiellement constitué de documents versionnés qui sont des collections d'autres collections clé-valeur. Les documents semi-structurés sont stockés dans des formats tels que JSON.
  4. Graph Databases sont construits avec des nœuds, des relations entre les notes et les propriétés des nœuds. Au lieu de tableaux de lignes et de colonnes et de la structure rigide de SQL, un modèle de graphe flexible est utilisé, qui peut évoluer sur de nombreuses machines.

Acteurs majeurs de 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 a été créé par Amazon.com et est la base de données NoSQL clé-valeur la plus importante. Amazon avait besoin d'une plate-forme distribuée hautement évolutive pour ses activités de commerce électronique. Ils ont donc développé Dynamo. Amazon S3 utilise Dynamo comme mécanisme de stockage.
  • Cassandra: Cassandra a été open source par Facebook et est une base de données NoSQL orientée colonne.
  • BigTable: BigTable est la base de données orientée colonne propriétaire de Google. Google autorise l'utilisation de BigTable, mais uniquement pour Google App Engine.
  • SimpleDB: SimpleDB est une autre base de données Amazon. Utilisé pour Amazon EC2 et S3, il fait partie d'Amazon Web Services qui facture des frais en fonction de l'utilisation.
  • CouchDB: CouchDB et MongoDB sont des bases de données NoSQL orientées document open source.
  • Neo4J: Neo4j est une base de données de graphes open source.

Interroger NoSQL

La question de savoir comment interroger une base de données NoSQL est ce qui intéresse la plupart des développeurs. Après tout, les données stockées dans une énorme base de données ne font aucun bien à personne si vous ne pouvez pas les récupérer et les montrer aux utilisateurs finaux ou des services Web. Les bases de données NoSQL ne fournissent pas de langage de requête déclaratif de haut niveau comme SQL. Au lieu de cela, l'interrogation de ces bases de données est> PREFIX foaf:

SELECT ?url

FROM

WHERE {

?contributor foaf:name "Jon Foobar".

?contributeur foaf:weblog ?url.

}

L'avenir de NoSQL

Les organisations qui ont d'énormes besoins de stockage de données envisagent sérieusement NoSQL. Apparemment, le concept n'a pas autant de succès dans les petites organisations. Dans une enquête menée par Information Week, 44 % des professionnels de l'informatique d'entreprise n'ont jamais entendu parler de NoSQL. De plus, seulement 1 % des répondants ont indiqué que NoSQL faisait partie de leur orientation stratégique. De toute évidence, NoSQL a sa place dans notre monde connecté, mais devra continuer à évoluer pour obtenir l'attrait de masse que beaucoup pensent qu'il pourrait avoir.

Conseillé: