开发者社区> 问答> 正文

MongoDB数据库性能问题

假设在一个数据库中,类如mongodb。
我可能有20亿条同样结构的数据,我能把这些数据分成10000类,可以把这些数据分到10000个不同的库或表中吗?事实上大部分时候我确实是按这些分类进行查询的,查询的时候这么多库和表会不会很慢?还是使用一个大的单表。
不知道是否有给库与表建立索引,操作系统会不会有限制。每个服务最多可以有几个数据库,每个库最多有几个表。

展开
收起
落地花开啦 2016-02-18 16:57:14 2565 0
1 条回答
写回答
取消 提交回答
  • 喜欢技术,喜欢努力的人

    mongodb默认一个数据库可以保存7000个左右的collection,对于不同的业务,不同的查询需求,需要我们对表和数据库进行个性化设计,以便于得到最高的性能。
    在你这个案例中,如果所有的查询都是基于一个分类的,那确实可以分表保存不同类型的数据;如果有相当一部分查询是跨分类查询,那么保存在一个表也未尝不可,但是需要使用shards集群,并对这个大表进行分片设置,将同类的数据尽量保存在一个chunk上(也就是保存到一个replica set上 )。
    建议你多花时间看一下mongodb的文档,结合你的实际场景,制定一个最优的方案。

    2019-07-17 18:44:11
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
开源数据库 MongoDB 专场 MongoDB疑难杂症分析及优化 立即下载
阿里云MongoDB云服务构建 立即下载
饿了么高级架构师陈东明:MongoDB是如何逐步提高可靠性的 立即下载

相关镜像