4.3. 数据库管理¶
4.3.1. 创建数据库¶
这将创建一个数据库 3
复制品和 8
碎片。
curl -X PUT "http://xxx.xxx.xxx.xxx:5984/database-name?n=3&q=8" --user admin-user
数据库在 data/shards
. 环顾所有的节点,你会发现所有的部分。
如果您不指定 n
和 q
将使用默认值。默认值是 3
复制品和 8
碎片。
4.3.2. 删除数据库¶
curl -X DELETE "http://xxx.xxx.xxx.xxx:5984/database-name --user admin-user
4.3.3. 在特定节点上放置数据库¶
在couchdb2.0集群功能的前身bigcuch中,有分区的概念。couchdb2.0通过集群放置规则实现了这一点。
警告
使用 placement
辩论会 覆盖 碎片副本基数的标准逻辑(由指定 [cluster] n
)
首先,每个节点都必须使用zone属性进行标记。这将定义每个节点所在的区域。您可以通过在系统中编辑节点的文档来完成此操作 _nodes
数据库,通过 GET /_node/_local/_nodes/{{node-name}}
端点。
添加窗体的键值对:
"zone": "metro-dc-a"
对集群中的所有节点执行此操作。
在配置文件中 (local.ini
或 default.ini
)在每个节点上,定义一致的群集范围设置,如:
[cluster]
placement = metro-dc-a:2,metro-dc-b:1
在本例中,它将确保一个shard的两个副本将托管在zone属性设置为的节点上 metro-dc-a
并且一个复制副本将托管在一个新的分区属性设置为 metro-dc-b
.
请注意,您还可以使用此系统来确保群集中的某些节点不承载主机 any 为新创建的数据库提供一个区域属性,该属性不会出现在 [cluster]
放置字符串。