我刚刚完成了一个包含3个节点的CouchDB集群。现在我试图对我的数据进行分片以扩展数据库,这就是我创建一个包含2个分片和2个副本的数据库:
使用命令
创建数据库$ curl -X PUT "http://username:login@myhost:5984/test?q=2&r=1&w=1&n=2
收到了真实的信息。
在数据库“test”中创建50个文档
然而,当我检查所有三个节点时,我发现每个节点都有一份完整的50个文件的副本。当我从节点1删除其中一个文档时,该文档在所有三个节点的测试数据库中被删除。似乎集群工作正常,但不是我想要的方式。
在我看来,如果我将分片设置为2并将副本设置为2,则数据库将分为两部分,每个部分将保存在两个节点中。例如,我得到了一个列表[1,2,3,4]。我打算将它存储在刚刚创建的数据库中,有可能
node1具有:
node2具有:
node3具有:
。
但在三个节点中分别不是[1,2,3,4] [1,2,3,4] [1,2,3,4]。我是对的吗?
如果没有,为什么我的数据库没有分区我的50个文件?我的目标是扩展和可靠性。它似乎根本没有扩展我的存储空间。