Я читал о трех типах баз данных NoSQL: «ключ-значение», ориентированных на столбцы и ориентированных на документы.
Пары "ключ-значение" довольно просты - ключ с простым значением.
Я видел документно-ориентированные базы данных, описанные как ключ-значение, но значение может быть структурой, например, объектом JSON. Каждый «документ» может иметь все, некоторые или ни один из тех же ключей, что и другой.
Ориентация на столбцы очень похожа на документ, ориентированный на то, что вы не указываете структуру.
Итак, в чем разница между этими двумя и почему вы должны использовать одно вместо другого?
Я специально посмотрел на MongoDB и Cassandra. Мне в основном нужна динамическая структура, которая может изменяться, но не влияет на другие значения. В то же время мне нужно иметь возможность искать / фильтровать определенные ключи и создавать отчеты. С CAP для меня важнее всего AP. Данные могут «в конечном итоге» синхронизироваться между узлами при условии отсутствия конфликта или потери данных. У каждого пользователя будет своя «таблица».