草庐IT

分片键

全部标签

spring - 使用 Spring Data MongoDB 指定分片集合

我正在使用SpringBoot和SpringDataMongoDB来连接底层的分片MongoDB集群。我的SpringBoot应用程序通过mongos路由器访问集群。使用SpringDataMongoDB,您可以通过@Document(collection="nameOfCollection")指定对象持久化到的集合,或者默认为类名(首字母小写)。这些集合不需要预先存在;它们可以在运行时创建。要在MongoDB中对集合进行分片,您需要1-在数据库上启用分片:sh.enableSharding("myDb")2-在分片数据库上分片集合:sh.shardCollection("myDb.m

java - Spring Boot 无法更新 azure cosmos db(MongoDb) 上的分片集合

我在数据库中有一个集合“documentDev”,分片键为“dNumber”示例文档:{"_id":"12831221wadaee23","dNumber":"115","processed":false}如果我尝试使用类似命令的任何查询工具更新此文档-db.documentDev.update({"_id":ObjectId("12831221wadaee23"),"dNumber":"115"},{$set:{"processed":true}},{multi:false,upsert:false})}`它正确地更新了文档。但是如果我确实使用springboot的mongorepo

mongodb - 分片配置帮助

我是mongo-db的新手,我尝试按照mongo-db网站中的过程配置分片。但是我遇到了一些错误......我将描述我的步骤接下来是配置分片……我试过在windows-os中分片……第一步:*)在第一台机器上,我在以下路径中创建了两个文件夹c:/data/db/a;c:/data/db/config*)现在我打开命令提示符并使用以下命令配置分片服务器......C:/ProgramFiles/mongodb-win32-i386-1.6.2/bin/mongod--shardsvr--dbpathc:/data/db/a--port10000第2步:*)在第二台机器上,我在以下路径中创

mongodb - 分片在集群中不均衡

我有2个碎片。一个是独立服务器,另一个是副本集:mongos>db.runCommand({listshards:1}){"shards":[{"_id":"shard0000","host":"mongo3:10001"},{"_id":"set1","host":"set1/mongo1:10001,mongo2:10001"}],"ok":1}我已经插入了大约3000万条记录。据我所知,mongo应该平均平衡分片之间的数据,但它并没有发生:mongos>db.stats(){"raw":{"set1/mongo1:10001,mongo2:10001":{"db":"my_gin

Mongodb - 分片 - 同时添加多个分片

我有一个带有4x分片的生产mongodb部署(3.6),它运行良好。我想向集群中添加4倍以上的分片。一次添加多个分片是否可以,或者这会引起戏剧性事件吗?我发现添加分片是一项昂贵的操作,在我看来,同时添加分片可以避免来回传输数据,从而提高性能。谢谢, 最佳答案 当您添加分片时,所有分片集合都需要重新平衡它们的数据,这意味着移动block直到所有分片具有大致相同数量的block。过去(3.4之前)在block迁移方面没有并行性,但是现在集群上可以发生的并行迁移的数量与集群中的分片数量直接相关。来自3.4补丁说明:forashardedc

php - 如何使用 PHP 配置 MongoDB 分片?

我正致力于在EC2上设置MongoDB副本集。我想配置自动分片,以便我的节点可以轻松地启动和关闭。是否可以使用原生的PHP驱动来触发分片和添加/删除节点?如果是,怎么办? 最佳答案 假设您与mongos的连接正确,您可以使用MongoDB::command()方法:$mongo->selectDB('admin')->command(array('addshard'=>'hostname:port')); 关于php-如何使用PHP配置MongoDB分片?,我们在StackOverflo

mongodb - 如何对 mongoDB 上的集合进行分片?

我在mongodb上创建了一个集合,该集合在错误的键上进行了分片。我想删除我的集合并重建它,以便它在正确的键上进行分片。不幸的是,执行db.removeCollection('mycollection')会删除数据,但不会删除一些元数据信息。db.printShardingStatus仍然显示我错误地用于mycollection的分片信息,如果我再次创建该集合,我将无法使用新的好key对其进行分片,因为它显示“已经分片”。有什么解决办法吗?谢谢托马斯 最佳答案 如果您查看此JIRA票证,其中有关于如何在mongoDB中安全地取消分片

mongodb 分片 - block 的大小不同

我刚接触mongodb。由于我必须存储+-5000万份文档,我不得不设置一个带有两个副本集的mongodb分片集群文档看起来像这样:{"_id":"predefined_unique_id","appNr":"abcde","modifiedDate":ISODate("2016-09-16T13:00:57.000Z"),"size":NumberLong(803),"crc32":NumberLong(538462645)}分片键是appNr(之所以选择是因为出于查询性能的原因,所有具有相同appNr的文档都必须留在一个block中)。通常多个文档具有相同的appNr。加载大约20

mongoDB 分片示例

在Windows上使用mongo2.0.132位的新手尝试测试分片如下:(4)processes:2shards+configsrver+mongoswtinychunksizemongod.exe--shardsvr--port10001--dbpath>shard1.logmongod.exe--shardsvr--port10002--dbpath>shard2.logmongod.exe--configsvr--port20000--dbpath>config.logmongos.exe--configdblocalhost:20000--chunkSize1>mongos.l

ruby-on-rails - MongoDB 中的受控数据分片

我是MongoDB的新手,我对它的分片概念有非常基本的了解。但是我想知道是否可以自己控制数据拆分?例如,一部分记录将存储在一个特定的分片上?这将与Rails应用程序一起使用。 最佳答案 您可以关闭平衡器以停止自动平衡:sh.setBalancerState(false)如果您知道要拆分的键的范围,您还可以presplit您的数据范围到所需的服务器,请参阅PreSplittingexample.分片的管理将通过javascriptshell完成,而不是通过您的Rails应用程序。您应该注意不要让任何分片获得更多负载(变热),这就是默认