根据documentation主索引(文档密钥上的索引)在Couchbase中是可选的。 Couchbase如何有效地确保没有索引的文档密钥的唯一性?
答案 0 :(得分:1)
文档引用的主要索引仅适用于N1QL查询,与执行唯一性无关。
相反,键/值数据服务强制执行唯一性。来自"Data" overview documentation:
每个值(二进制或JSON)由唯一键标识,由 保存项目时的用户或应用程序。关键是一成不变的: 保存该项目后,键将无法更改。
我不是Couchbase内部专家,但是唯一密钥是Couchbase如何存储/检索/分片数据的基础。请查看Understanding vBuckets了解更多信息(“ vBucket”类似于“ shard”)。这是一个片段:
通过CRC32将项目写入vBucket和从vBucket中检索项目 哈希算法,该算法应用于商品的密钥,因此产生了 项目所在的vBucket的编号。