首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否有一种将新数据库创建限制在特定区域的方法?

是否有一种将新数据库创建限制在特定区域的方法?
EN

Database Administration用户
提问于 2017-09-21 01:12:12
回答 1查看 30关注 0票数 0

我们有一个共享的mongo集群,每个客户端模型都有一个数据库。考虑到许多大致相同大小的客户机,默认的db创建已经证明能够很好地均匀分配负载,同时避免多碎片查询。

到目前为止,所有的碎片都是基于SSD的统一部署,但是现在,我们正在尝试添加异构的、更大但更慢的基于HDD的碎片--因此每个客户端可以有很少的大型批量集合位于那里(而它们的主碎片则保留在SSD上)。这在分区方法(2个区域、hdd和ssd)中很容易实现--如果有一个问题的话,它会很好地工作:

TL;DR:是否有任何方法来限制新的数据库创建只发生在SSD碎片上?

我所知道的唯一方法是让DB创建,然后检查它是在哪里创建的,如果它在错误的区域使用movePrimary。这方面的问题是,过程是手动的,涉及到搜索和重新启动每一个mongos路由器-因为movePrimary的设计并不完全准备好生产.

EN

回答 1

Database Administration用户

发布于 2017-09-21 08:05:26

答案是是和不是。集群系统将DB的主位置标记为分割数据库数量较少的数据库。因此,自动不能定义该位置。

如果您直接登录到特定的副本集并在那里创建DB,那么这就是DB的主要位置。

但是,如果移动movePrimary集合,则可以使用该命令(不需要mongos重新启动)。您可以分割不存在的集合,将不存在的集合移动到需要的位置,然后“丢弃”该集合。DB有了新的主位置,所有的mongos现在都知道了新的位置。;-)

票数 0
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/186489

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档