Trzy typy baz danych NoSQL, o których czytałem, to klucz-wartość, zorientowana na kolumny i zorientowana na dokument.
Klucz-wartość jest dość prosty - klucz o zwykłej wartości.
Widziałem bazy danych zorientowane na dokumenty opisane jako klucz-wartość, ale wartością może być struktura, taka jak obiekt JSON. Każdy „dokument” może mieć wszystkie, niektóre lub żaden z tych samych kluczy.
Zorientowany na kolumny wydaje się być bardzo podobny do zorientowanego na dokument, ponieważ nie określa się struktury.
Jaka jest więc różnica między tymi dwoma i dlaczego miałbyś używać jednego nad drugim?
Specjalnie przyjrzałem się MongoDB i Cassandrze. Zasadniczo potrzebuję dynamicznej struktury, która może się zmieniać, ale nie wpływa na inne wartości. Jednocześnie muszę mieć możliwość wyszukiwania / filtrowania określonych kluczy i generowania raportów. W przypadku CAP najważniejsze jest dla mnie AP. Dane można „ostatecznie” zsynchronizować między węzłami, o ile nie występuje konflikt lub utrata danych. Każdy użytkownik otrzyma własną „tabelę”.