2017-09-27 5 views
-1

Ma question peut être très large mais j'ai vraiment besoin de demander cela. Je prévois d'utiliser une base de données NoSQL Key Value et je suis complètement nouveau dans le monde NoSQL. Je passais par Wikipedia Page https://en.wikipedia.org/wiki/Key-value_databaseDifférence entre les différents types de bases de données Key Valye

Comme par Wiki KV les bases de données sont classées dans 4 catégories ci-dessous.

KV – eventually consistent 
KV – ordered 
KV – RAM 
KV – solid-state drive or rotating disk 

Je ne suis pas capable de comprendre les différences exactes entre eux. Si quelqu'un peut me l'expliquer, ce serait génial.

Répondre

1

Cette typologie est intéressante et peut-être un peu trompeuse. Je peux commenter sur certains d'entre eux:

RAM - J'ai travaillé avec Redis, donc ce que je dis va s'appliquer à cette base de données. Redis est conçu pour conserver les informations dans la RAM, pas sur le disque. Fondamentalement, si vous l'éteignez, les données ont disparu, donc c'est plus un cache qu'un db. Il Can peut être configuré pour conserver les données sur le disque, mais il n'est pas conçu pour le faire.

finalement cohérent - J'ai travaillé avec Cassandra. EC signifie que les opérations de lecture ne sont pas garanties pour fournir la valeur la plus à jour. Ils finiront par retourner le plus à jour, mais pas immédiatement après la mise à jour. Dans Cassandra, vous spécifiez le niveau de cohérence dont vous avez besoin - et cela affecte la vitesse à laquelle vous pourrez lire/écrire. moins de cohérence == plus rapide (c'est un compromis). Contrairement à Redis, Cassandra enregistre sur disque. SSD ou disque rotatif - J'ai travaillé avec couchbase. Couchbase enregistre sur le disque et est garanti pour toujours être cohérent (sur les opérations de lecture des touches, mais pas sur les vues/index). Ainsi, lorsque vous lisez une clé de CB, vous savez qu'elle est toujours la plus à jour. Je pense que le nom de cette catégorie est un peu trompeur. D'autres bases de données (comme Cassandra) enregistrent aussi sur disque, donc le nom est un peu éteint.

espérons que cela aide.

+0

Bonne explication et très utile. Aller plus loin disons que j'ai décidé d'aller avec la base de données éventuellement cohérente. Donc j'ai eu comme Dynamo, Cassandra et Riak. Maintenant sur quels paramètres je devrais évaluer ces bases de données et trouver le meilleur pour moi? –