Question

J'essaie de comprendre les magasins Key-Value comme CouchDB et Cassandra. Je comprends leur utilité, mais je ne comprends pas comment ils remplacent un SGBDR comme MySQL.

Disons que c’est ce que j’ai besoin de stocker:

{123456: {'model' : 'Ford'
          'color': 'blue'
          'MPG': 23}}

Ensuite, je dois trouver toutes les voitures bleues.

Comment le magasin Key-Value interroge-t-il les clés à l'aide de la valeur? J'ai lu quelques endroits où cette réduction de carte peut être utilisée, mais en regardant la source de quelques projets, je ne trouve pas d'exemple.

Faites-moi savoir si je pose la bonne question.

Était-ce utile?

La solution

Lorsque vous utilisez des magasins de clé-valeur, vous créez une base de données à partir des mêmes composants qu'une base de données relationnelle en interne. Le but est d’avoir plus de contrôle et de flexibilité sur la mise à l’échelle et les performances, ou simplement pour des raisons de simplicité.

Dans ce cas, vous devez stocker l'équivalent des lignes de la table et l'index sous forme de deux éléments distincts. Donc, si vous voulez indexer sur la couleur, vous devez stocker

{'blue': {123456}}

dans l'équivalent d'une table d'index.

Bien sûr, certains magasins de valeurs-clés fournissent des mécanismes d’indexation et de recherche. Il n’existe donc pas de règle générale qui convienne à tous.

Autres conseils

Vous souhaitez conserver un magasin clé / valeur distinct qui est essentiellement un index. Il aurait " bleu " en tant que clé, puis une liste de tous les ID du "principal" magasins de voitures qui sont bleus.

Oui, il s’agit de dupliquer la fonctionnalité d’indexation d’un rdbms normal.

C’est un bon article sur la façon dont l’équipe FriendFeed a abordé ce problème et a opté pour cette solution, ainsi que son raisonnement (je sais, un peu étrange puisqu’elle utilisait un SGBDR comme magasin de clés / valeur, mais théorie du son):
http://bret.appspot.com/entry/how-friendfeed-uses- mysql

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top