问题描述
我有3个节点的arango群集(社区版)。 我创建了一个数据库,其中writeConcern = 3,replicationFactor = 3,以及一个分片为3,replicationFactor = 3的集合。 我在该集合的字段上有一个哈希索引,其唯一属性设置为true。但是,我仍然可以创建具有相同字段值的不同文档。
我想知道是否有一些策略可以确保集群中集合字段的唯一性。
解决方法
Arango文档中的Indexes On Shards部分内容如下:
仅当用于确定分片键的字段也包含在索引的属性路径列表中时,才允许分片集合上的唯一索引(哈希,跳过列表,持久性)
其背后的原因很简单-如果不能保证所有x
值相同的文档,则确保属性x
的唯一性将非常昂贵。存储在同一节点上。