假设在一个数据库中,类如mongodb。
我可能有20亿条同样结构的数据,我能把这些数据分成10000类,可以把这些数据分到10000个不同的库或表中吗?事实上大部分时候我确实是按这些分类进行查询的,查询的时候这么多库和表会不会很慢?还是使用一个大的单表。
不知道是否有给库与表建立索引,操作系统会不会有限制。每个服务最多可以有几个数据库,每个库最多有几个表。
mongodb默认一个数据库可以保存7000个左右的collection,对于不同的业务,不同的查询需求,需要我们对表和数据库进行个性化设计,以便于得到最高的性能。
在你这个案例中,如果所有的查询都是基于一个分类的,那确实可以分表保存不同类型的数据;如果有相当一部分查询是跨分类查询,那么保存在一个表也未尝不可,但是需要使用shards集群,并对这个大表进行分片设置,将同类的数据尽量保存在一个chunk上(也就是保存到一个replica set上 )。
建议你多花时间看一下mongodb的文档,结合你的实际场景,制定一个最优的方案。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。