Les trois types de bases de données NoSQL dont j'ai entendu parler sont les bases de données clé-valeur, les bases de données orientées colonnes et les bases de données orientées documents.
Le principe de la clé-valeur est assez simple : une clé avec une valeur simple.
J'ai vu des bases de données orientées documents décrites comme étant de type clé-valeur, mais la valeur peut être une structure, comme un objet JSON. Chaque "document" peut avoir toutes, certaines ou aucune des mêmes clés qu'un autre.
L'orientation par colonne semble très proche de l'orientation par document, en ce sens que l'on ne spécifie pas de structure.
Quelle est donc la différence entre les deux et pourquoi utiliser l'un plutôt que l'autre ?
J'ai particulièrement étudié MongoDB et Cassandra. J'ai besoin d'une structure dynamique qui peut changer, mais qui n'affecte pas les autres valeurs. En même temps, j'ai besoin de pouvoir rechercher/filtrer des clés spécifiques et d'exécuter des rapports. Avec CAP, AP est le plus important pour moi. Les données peuvent "éventuellement" être synchronisées entre les nœuds, à condition qu'il n'y ait pas de conflit ou de perte de données. Chaque utilisateur aurait sa propre "table".