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] 放置字符串。