我的问题可能非常广泛但我真的需要问这个问题。我打算使用Key Value NoSQL数据库,我在NoSQL世界中是全新的。我正在阅读维基百科页面https://en.wikipedia.org/wiki/Key-value_database
根据Wiki KV数据库分为以下4个类别。
KV – eventually consistent
KV – ordered
KV – RAM
KV – solid-state drive or rotating disk
我无法理解它们之间的确切差异。如果任何人能向我解释这将是伟大的。
答案 0 :(得分:1)
这种类型很有趣,可能有点误导。我可以评论其中一些:
RAM - 我曾与Redis合作,所以我所说的将适用于该数据库。 Redis旨在将信息保存在RAM中,而不是光盘上。基本上,如果你将其关闭,数据就会消失,所以它的缓存比db更多。 可以配置为保留光盘上的数据,但不是为此而设计的。
最终一致 - 我和Cassandra一起工作过。 EC意味着不保证读操作提供最新的值。他们最终将返回最新的,但不会立即返回更新。在Cassandra中,您可以指定所需的一致性级别 - 这会影响您能够读/写的速度。较低的一致性==更快(它的权衡)。与redis不同,cassandra保存到光盘。
固态驱动器或旋转磁盘 - 我使用过couchbase。 Couchbase保存到光盘并保证始终保持一致(在读取操作键时,但不在视图/索引上)。因此,当您从CB读取密钥时,您知道它始终是最新的值。我认为这个类别的名称有点误导。其他数据库(如cassandra)也保存到光盘,因此名称稍微偏离。
希望这会有所帮助。