40 votes

En quoi consiste exactement NoSQL?

En quoi consiste exactement NoSQL? S'agit-il de systèmes de base de données qui fonctionnent uniquement avec des paires {clé: valeur}?

A ma connaissance, MemCache est l’un de ces systèmes de base de données, n’ai-je pas raison?

Quelles sont les autres bases de données NoSQL populaires et où sont-elles utiles?

Merci, Boda Cydo.

20voto

Cross Points 442

Je ne suis pas d'accord avec les réponses que je vois, même si c'est vrai que les solutions NoSQL tend à rompre l'ACIDE règles, tous ne sont pas créés à partir de cette approche.

Je pense que tu dois d'abord définir ce qu'est une requête SQL Solution et alors vous pouvez mettre le "Non" en face d'elle, qui seront définition plus précise de ce qu'est une solution NoSQL.

Avec cette approche à l'esprit:

Les bases de données SQL sont un moyen de regrouper toutes les banques de données qui sont accessibles à l'aide de Structured Query Language comme le principal (et la plupart du temps la seule) façon de communiquer avec eux, ce qui signifie qu'il exige que le support de base de données les structures qui sont communs à ces systèmes comme des "tables", "colonnes", "lignes", "relations", etc.

Maintenant, mettez le "Non" à l'avant-dernière phrase, et vous obtiendrez une définition de ce que signifie "NoSQL", NoSQL groupes de tous les magasins créé comme une tentative de résoudre des problèmes qui ne peuvent pas s'insérer dans la table/colonne/lignes de structures, la plupart d'entre eux signifie que ces bases de données ne prendra pas en charge les relations, ils sont l'abandon de la bien connue des structures tout simplement parce que les problèmes ont changé depuis leur conception.

Si vous disposez d'un fichier texte, et de vous créer une API pour stocker/récupérer/organiser cette information, alors vous avez une base de données NoSQL dans vos mains.

L'ensemble de ces signifie qu'il existe plusieurs solutions pour stocker l'information de manière traditionnelle des systèmes SQL ne permettra pas de réaliser de grandes performances, la flexibilité, etc etc. Chaque NoSQL fournisseur essaie de résoudre un autre problème et c'est pourquoi vous ne serez pas en mesure de comparer les deux solutions différentes, par exemple:

  • djondb (http://djondb.com) est une banque de document créé pour être utilisé comme NoSQL solution d'entreprise à l'appui des opérations, de la cohérence, etc. mais sacrifier la performance de ses homologues.
  • mongodb (http://www.mongodb.com) est une banque de document (similaire à djondb) qui réalisent de grandes performances, mais certains métiers de la Les propriétés ACID pour atteindre cet objectif.
  • couchdb (http://apache.couchdb.com) est un autre magasin de documents qui résout les requêtes légèrement différentes, offrant des vues à récupérer le de l'information sans faire une requête complète à chaque fois. ....

Comme vous le remarqué j'ai seulement parlé du document magasins, c'est parce que je veux vous montrer que 3 des documents dans différents magasins de la mise en œuvre a des approches différentes et vous devez garder la règle d'or de la NoSQL magasins "Utiliser le bon outil pour le bon travail".

Je suis le créateur de djondb et j'ai fait beaucoup de recherche avant même d'essayer de démarrer ma propre NoSQL mise en œuvre.

19voto

Justin Ethier Points 57486

De wikipedia:

Le NoSQL est un terme générique pour un vaguement défini classe de données non relationnelles magasins en rupture avec une longue histoire de bases de données relationnelles et de l'ACIDE garanties. Les banques de données qui relèvent de ce terme ne peut pas exiger fixe schémas de table, et l'habitude d'éviter les opérations de jointure. Le terme a été popularisé au début de 2009.

La motivation pour une telle architecture a été une grande évolutivité, à l'appui des sites tels que Facebook, advertising.com, etc...

7voto

Nathan Hurst Points 938

Pour vous familiariser rapidement avec les systèmes NoSQL, consultez mon Guide visuel des systèmes NoSQL . Essentiellement, les systèmes NoSQL sacrifient la cohérence ou la disponibilité au profit de la tolérance aux partitions réseau.

1voto

davek Points 12514

1voto

John Knoeller Points 20754

J'ai utilisé quelque chose qui s'appelle la Raima Gestionnaire de Données de plus d'une douzaine d'années, qui se qualifie de NoSQL. Il appelle lui-même un "Ensemble de Base de données Orientée" ce n'est pas basée sur des tables, et il n'ya pas de requête de "langue", juste une API C de la demande de sous-ensembles.

C'est rapide et plus facile à travailler en C/C++ et SQL, il n'y a pas de construire des chaînes de passer à une requête et interprète les données revient comme un objet énumérable plutôt que comme un tableau. de taille variable dossiers sont normales et ne pas perdre de l'espace. Je n'ai jamais vu dans le code source, mais il y avait quelques conseils à l'interface en interne, le code utilisé des pointeurs beaucoup.

Je ne suis pas sûr que le produit que j'ai utilisé est même plus vendu, mais la société est encore à autour de.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X