Чи знайомі ви з концепцією пари ключ / цінність? Припускаючи, що ви знайомі з Java або C #, це мовою як карта / хеш / дані / KeyValuePair (останнє у випадку C #)
Те, як це працює, продемонстровано в цій маленькій вибірковій діаграмі:
Color Red
Age 18
Size Large
Name Smith
Title The Brown Dog
Там, де у вас є ключ (зліва) та значення (праворуч) ... зауважте, це може бути рядок, int тощо. Більшість об’єктів KVP дозволяють зберігати будь-який об’єкт праворуч, оскільки це лише значення.
Оскільки у вас завжди буде унікальний ключ для певного об'єкта, який ви хочете повернути, ви можете просто запитувати базу даних для цього унікального ключа і отримувати результати від того об'єкта, який має об’єкт (саме тому це добре для розподілених систем, оскільки є інші речі, такі як опитування для перших n вузлів, щоб повернути значення, яке відповідає іншим поверненням.
Зараз мій приклад вище дуже простий, тож ось трохи краща версія KVP
user1923_color Red
user1923_age 18
user3371_color Blue
user4344_color Brackish
user1923_height 6' 0"
user3371_age 34
Отже, як ви бачите, проста клавіша генерації - це поставити "користувачеві" число userunique, підкреслення та об'єкт. Знову ж таки, це проста версія, але я думаю, ми починаємо розуміти, що до тих пір, поки ми можемо визначити частину зліва та мати її послідовний формат, ми можемо витягнути значення.
Зауважте, що немає обмеження на значення ключа (нормально, можуть бути деякі обмеження, наприклад, лише для тексту) або щодо властивості значення (можливо обмеження розміру), але поки що у мене не було дійсно складних систем. Спробуємо і підемо трохи далі:
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
Ви розумієте, що всі вони зберігатимуться в одній масивній "таблиці" на розподілених вузлах (за цим стоїть математика), і ви просто запитаєте в розподіленій системі значення, яке вам потрібно по імені.
Принаймні, це моє розуміння того, як це все працює. У мене можуть помилятися кілька речей, але це основи.
обов'язкове посилання на wikipedia http://en.wikipedia.org/wiki/Associative_array