【发布时间】:2016-02-19 04:02:07
【问题描述】:
我正在使用 mongoDB 通过 Spring Web 应用程序存储和查询近 5000 万条记录(没有固定模式的大型 Json 文件)。简单的基于 K-V 对的查找查询会在几秒钟内运行。我正在寻找将搜索时间缩短到
由于所存储文件的性质,索引对我不起作用。我正在寻找替代方案并遇到了分片。但是,我没有找到很好的教程来解释如何为我现有的 spring-mongo 应用程序设置分片。
有人可以为我指出一个很好的解释吗? 也欢迎任何其他优化搜索时间的建议!
编辑
根据评论,我将现有的 Mongo 数据库转换为具有 1 个配置服务器、1 个查询服务器和 2 个分片的分片数据库。以前我的(spring-boot)application.properties 文件看起来像这样:
...
spring.data.mongodb.database=pam
spring.data.mongodb.host=localhost
spring.data.mongodb.port=27017
spring.data.mongodb.repositories.enabled=true
spring.data.mongodb.uri=mongodb://localhost:27017/pam
...
现在如何修改以适应分片数据库,同名?
【问题讨论】:
-
仅供参考。没有“为 spring 设置分片”之类的东西,但只有“设置分片”。这纯粹是关于数据库配置,您的应用程序(除了设置中的分片键选择之外)并没有真正受到影响,并且如果它连接到单个服务器或分片集群,它也不会在意。所以这里根本不涉及编程。选择一个片键对你想要的访问模式有效是另一回事。
-
关于设置分片,看手册"Sharded Cluster Tutorials"
-
你在主机/帖子属性中提供了什么?
-
您可以在更改后发布您的 application.properties 吗?我遇到了完全相同的问题。
标签: spring mongodb sharding spring-mongo