Kennen Sie das Konzept eines Schlüssel / Wert-Paares? Vorausgesetzt, Sie kennen sich mit Java oder C # aus, liegt dies in der Sprache Map / Hash / Datatable / KeyValuePair vor (das letzte ist bei C # der Fall).
Die Funktionsweise wird in diesem kleinen Beispieldiagramm veranschaulicht:
Color Red
Age 18
Size Large
Name Smith
Title The Brown Dog
Wenn Sie einen Schlüssel (links) und einen Wert (rechts) haben, kann dies ein String, ein Int oder dergleichen sein. Bei den meisten KVP-Objekten können Sie jedes Objekt auf der rechten Seite speichern, da es sich nur um einen Wert handelt.
Da Sie für ein bestimmtes Objekt, das Sie zurückgeben möchten, immer einen eindeutigen Schlüssel haben, können Sie einfach die Datenbank nach diesem eindeutigen Schlüssel abfragen und die Ergebnisse von dem Knoten abrufen, auf dem sich das Objekt befindet. da es andere Dinge gibt, wie das Abfragen der ersten n Knoten, um einen Wert zurückzugeben, der mit den Rückgaben anderer Knoten übereinstimmt).
Mein Beispiel oben ist sehr einfach. Hier ist eine etwas bessere Version des KVP
user1923_color Red
user1923_age 18
user3371_color Blue
user4344_color Brackish
user1923_height 6' 0"
user3371_age 34
Wie Sie sehen können, besteht die einfache Schlüsselerzeugung darin, die benutzerspezifische Nummer, einen Unterstrich und das Objekt "user" zu setzen. Auch dies ist eine einfache Variante, aber ich denke, wir beginnen zu verstehen, dass wir den Wert herausziehen können, solange wir den Teil auf der linken Seite definieren und konsistent formatieren können.
Beachten Sie, dass es keine Einschränkung für den Schlüsselwert (ok, es kann einige Einschränkungen geben, z. B. nur für Text) oder für die value-Eigenschaft (es kann eine Größenbeschränkung geben) gibt, aber ich hatte bisher keine wirklich komplexen Systeme. Lass uns versuchen, noch ein bisschen weiter zu gehen:
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
Sie bekommen die Idee ... all diese werden in einer massiven "Tabelle" auf den verteilten Knoten gespeichert (es steckt Mathematik dahinter) und Sie fragen das verteilte System einfach nach dem Wert, den Sie mit Namen benötigen.
Zumindest verstehe ich so, wie das alles funktioniert. Ich kann ein paar Dinge falsch machen, aber das sind die Grundlagen.
obligatorischer Wikipedia-Link http://en.wikipedia.org/wiki/Associative_array