我有一个3节点的Arango集群(社区版)。我创建了一个writeConcern=3和replicationFactor=3的数据库,以及一个shards=3和replicationFactor=3的集合。我在该集合的一个字段上创建了一个哈希索引,并将唯一属性设置为true。但是,我仍然可以使用相同的字段值创建不同的文档。我想知道是否有一些策略来确保集群中集合字段的唯一性。
flvlnr441#
Arango文档中的片段索引一节说明了以下内容:仅当用于确定分片键的字段也包含在索引的属性路径列表中时,才允许对分片集合建立唯一索引(哈希索引、跳过列表索引、持久索引其原因很简单-如果不能保证所有具有相同x值的文档都存储在同一节点上,那么确保属性x的唯一性将是 * 非常 * 昂贵的。
x
1条答案
按热度按时间flvlnr441#
Arango文档中的片段索引一节说明了以下内容:
仅当用于确定分片键的字段也包含在索引的属性路径列表中时,才允许对分片集合建立唯一索引(哈希索引、跳过列表索引、持久索引
其原因很简单-如果不能保证所有具有相同
x
值的文档都存储在同一节点上,那么确保属性x
的唯一性将是 * 非常 * 昂贵的。