Les principales différences sont le modèle de données et les capacités d'interrogation.
Clé-valeur des magasins
Le premier type est très simple et n'a probablement pas besoin de plus d'explication.
Modèle de données: plus de clé-valeur des magasins
Bien qu'il existe certains debat sur le nom correct pour les bases de données telles que Cassandra, je tiens à appeler de la colonne de la famille magasins. Bien que les paires clé-valeur sont une partie essentielle de Cassandra, il n'est pas limité à cela. Il vous permet d'imbriquer des paires clé-valeur, donc une clé peut se référer à plusieurs sous-paires clé-valeur.
Vous ne pouvez pas imbriquer les paires clé-valeur indéfiniment. Vos limité à trois niveaux (des familles de la colonne) ou quatre niveaux d'imbrication (super-familles de la colonne). Dans le cas où le terme famille de colonne ne sonne pas une cloche, voir le WTF est un SuperColumn l'article, c'est une bonne explication de Cassandra modèle de données.
Document de bases de données, tels que CouchDB et MongoDB stocker l'ensemble des documents sous la forme d' objets JSON. Vous pouvez penser à ces objets imbriqués les paires clé-valeur. Contrairement à Cassandra, vous pouvez imbriquer des paires clé-valeur autant que vous le souhaitez. JSON prend également en charge les tableaux et comprend différents types de données, tels que des chaînes, des nombres et des valeurs booléennes.
L'interrogation
Je crois que la colonne de la famille magasins ne peut être interrogé par la clé, ou par écrit map-reduce fonctions. Vous ne pouvez pas interroger les valeurs comme vous le feriez dans une base de données SQL. Si votre application a besoin de plus de requêtes complexes, votre demande devra créer et maintenir des index pour l'accès aux données souhaitées.
Document de bases de données les requêtes d'aide par clé et la carte-réduire fonctions en tant que bien, mais vous permettent également d'effectuer des requêtes de base par valeur, comme "Donnez-moi tous les utilisateurs avec plus de 10 postes". Document de bases de données sont de plus de souplesse dans cette voie.