我认为无论 NoSQL 聚合存储是键值、列族还是文档数据库,它都会支持值的版本控制。经过一番谷歌搜索,我得出的结论是这个假设是错误的,它只取决于 DBMS 的实现。这是真的?
我知道 Cassandra 和 BigTable 支持它(都是列族商店)。似乎 Hbase(列族)和 Riak(键值)可以,但 Redis 和 Hadoop(键值)没有。Mongo DB(文档)会做Couchbase,但 MongoDB 不会(文档存储)。我在这里看不到任何模式。有经验法则吗?(例如,“键值存储通常没有版本控制,而列族和文档数据库有”)
我正在尝试做的事情:我想创建一个从 URL 到 PNG 图像的网站截图数据库。我宁愿使用键值存储,因为除了版本控制之外,它是解决问题的最简单的解决方案。但是当网站更改或停用并且我更新我的数据库时,我不想丢失旧图像。即使我选择了一个具有版本控制的键值数据库,我也希望能够切换到不同的键值数据库,而不受许多键值数据库不支持版本控制的约束。因此,我试图了解在聚合 NoSQL 数据库的连续统一体中,版本控制在何种复杂程度成为数据模型隐含的功能。