Connaissez-vous le concept de paire clé / valeur? En supposant que vous maîtrisiez Java ou C #, le langage utilisé est une carte / un hachage / une date / KeyValuePair (le dernier s’applique à C #)
La façon dont cela fonctionne est démontrée dans ce petit exemple de tableau:
Color Red
Age 18
Size Large
Name Smith
Title The Brown Dog
Où vous avez une clé (à gauche) et une valeur (à droite) ... remarquez que cela peut être une chaîne, un int, ou similaire. La plupart des objets KVP vous permettent de stocker n'importe quel objet à droite, car il ne s'agit que d'une valeur.
Etant donné que vous aurez toujours une clé unique pour un objet particulier que vous souhaitez renvoyer, vous pouvez simplement interroger la base de données pour obtenir cette clé unique et obtenir les résultats de n'importe quel nœud contenant l'objet (c'est pourquoi il est bon pour les systèmes distribués, étant donné qu'il y a d'autres choses impliquées, telles que l'interrogation des n premiers nœuds pour renvoyer une valeur qui correspond aux autres nœuds).
Maintenant, mon exemple ci-dessus est très simple, alors voici une version légèrement meilleure du KVP
user1923_color Red
user1923_age 18
user3371_color Blue
user4344_color Brackish
user1923_height 6' 0"
user3371_age 34
Donc, comme vous pouvez le voir, la génération de clé simple consiste à mettre "utilisateur" le numéro d'utilisateur unique, un trait de soulignement et l'objet. Encore une fois, il s’agit d’une variation simple, mais je pense que nous commençons à comprendre que tant que nous pouvons définir la partie de gauche et la mettre en forme de manière cohérente, nous pouvons en extraire la valeur.
Notez qu'il n'y a aucune restriction sur la valeur de la clé (ok, il peut y avoir certaines limitations, telles que le texte uniquement) ou sur la propriété value (il peut y avoir une restriction de taille), mais je n'ai pas encore eu de système vraiment complexe. Essayons d'aller un peu plus loin:
app_setting_width 450
user1923_color Red
user1923_age 18
user3371_color Blue
user4344_color Brackish
user1923_height 6' 0"
user3371_age 34
error_msg_457 There is no file %1 here
error_message_1 There is no user with %1 name
1923_name Jim
user1923_name Jim Smith
user1923_lname Smith
Application_Installed true
log_errors 1
install_path C:\Windows\System32\Restricted
ServerName localhost
test test
test1 test
test123 Brackish
devonly
wonderwoman
value key
Vous avez l’idée ... tous ceux-ci seraient stockés dans une "table" massive sur les nœuds distribués (il y a des calculs derrière tout cela) et vous demanderiez simplement au système distribué la valeur dont vous avez besoin par nom.
À tout le moins, je comprends comment cela fonctionne. J'ai peut-être quelques erreurs, mais c'est l'essentiel.
Lien wikipedia obligatoire http://en.wikipedia.org/wiki/Associative_array