2017-09-27 88 views
-1

我的问题可能非常广泛,但我真的需要问这个问题。我打算使用Key Value NoSQL数据库,并且我在NoSQL世界中是全新的。我正在浏览维基百科页面https://en.wikipedia.org/wiki/Key-value_database不同类型的Key Valye数据库之间的区别

根据Wiki KV数据库分为4类以下类别。

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

我无法理解它们之间的确切区别。如果任何人能向我解释这将是伟大的。

回答

1

这种类型是有趣的,也许有点误导。我可以对其中一些发表评论:

内存 - 我已经与Redis合作过,所以我说的将适用于该数据库。 Redis旨在将信息保存在RAM中,而不是在光盘上。基本上,如果关闭数据,那么它的缓存比数据库更多。它可以将配置为保存光盘上的数据,但其设计并非如此。

最终一致 - 我与Cassandra合作过。 EC意味着读操作不能保证提供最新的值。他们最终会返回最新的,但不会在更新后立即返回。在Cassandra中,您可以指定需要哪种级别的一致性 - 这会影响您读/写的速度。较少的一致性==更快(其折衷)。与redis不同,cassandra保存到光盘。

固态驱动器或旋转磁盘 - 我曾与couchbase。 Couchbase保存到光盘,并保证始终保持一致(在读取操作的键,但不是视图/索引)。所以当你从CB读取密钥时,你知道它始终是最新的值。我认为这个类别的名字有点误导。其他数据库(如cassandra)也保存到光盘,因此名称有点偏离。

希望这有助于。

+0

很好的解释和非常有帮助。进一步说,我决定去与最终一致的数据库。所以我喜欢Dynamo,Cassandra和Riak。现在我应该评估这些数据库并找到最适合我的参数? –

相关问题