Відповіді:
Ключ-значення магазин забезпечує найпростішу модель даних , і саме те , що підказує назва: це система зберігання даних , яка зберігає значення індексується з допомогою ключа. Ви обмежені запитом за ключем, і значення непрозорі , магазин не знає нічого про них. Це дозволяє дуже швидко читати і записувати (простий доступ до диска), і я розглядаю цю модель як своєрідний енергонезалежний кеш (тобто добре підходить, якщо вам потрібен швидкий доступ за ключем до довговічних даних).
Бази даних документ-орієнтований розширює попередню модель і значення зберігаються в структурованому форматі (документ, звідси і назва) , що база даних може зрозуміти. Наприклад, документом може бути публікація в блозі, а також коментарі та теги, що зберігаються денормалізованим способом. Оскільки дані прозорі , магазин може зробити більше роботи (наприклад, поля індексації документа), і ви не обмежуєтесь запитом за ключем. Як я натякав, такі бази даних дозволяють отримувати дані цілої сторінки за допомогою одного запиту і добре підходять для програм, орієнтованих на контент (саме тому великі сайти, такі як Facebook чи Amazon люблять їх).
Інші види баз даних NoSQL включають в себе колоноорієнтовані сховища , бази даних графіків і навіть бази даних об'єктів . Але це виходить за рамки питання.
Ну, я сам досліджував NoSQL останній місяць або близько того. Я думаю, що це взагалі можна було б констатувати щось подібне
База даних, орієнтована на документи, або сховище документів, призначена для зберігання, вилучення та управління документами, орієнтованими на документи, що є напівструктурованими даними. Сховище ключів-цінностей є спадщиною бази даних, орієнтованої на документи. Різниця полягає в способі обробки даних; у сховищі ключових значень дані вважаються непрозорими для бази даних, тоді як система, орієнтована на документ, покладається на внутрішню структуру в документі для отримання метаданих, які двигун бази даних використовує для подальшої оптимізації.
Якщо ми маємо справу про різницю між MOngoDb та Cassandra. MongoDB подібно до реляційної бази даних. Його модель даних складається з бази даних на верхньому рівні, потім колекцій, які є як таблиці в MySQL (наприклад), а потім документів, що містяться в колекції, як рядки в MySQL. Кожен документ має поле та значення, де це аналогічно стовпцям та значень у MySQL. Поля можуть бути простими ключами / значеннями, наприклад {'name': 'David Mytton'}, але вони можуть містити й інші документи, наприклад {'name': {'first': David, 'last': 'Mytton'}}. У Кассандрі документи відомі як "стовпчики", які насправді є лише одним ключем і значенням. наприклад, {'key': 'name', 'value': 'David Mytton'}. Також є поле часової позначки, яке призначене для внутрішньої реплікації та послідовності. Значення може бути одним значенням, але може містити ще один "стовпець". Ці колонки тоді існують у сімействах стовпців, які впорядковують дані на основі певного значення у стовпцях, на яке посилається ключ.
Але, на верхньому рівні є простір клавіш, схожий на базу даних MongoDB.