jjzjj

sharding

全部标签

计划中的 MongoDB SHARDING_FILTER

我在ShardedCluster上有问题。我正在测试性能以比较Sharded和ReplicaSet。我在没有mongos的情况下直接向Shard1插入数据,然后通过聚合查询查询它,但我找不到它。我检查了解释计划,该计划在主分片的阶段显示“SHARDING_FILTER”,但在我检查解释计划时在辅助分片中没有。控制它的配置是什么?MongoDB版本:3.0.12 最佳答案 IhaveinserteddatatoShard1directlywithoutmongosandthenqueryitbyaggregatequerybutIca

MongoDB 3.4 分片错误。 "Cannot accept sharding commands if not started with --shardsvr"

我在centOS7.2机器上安装了mongoDB3.4.5。我在独立模式下配置分片。我遵循的步骤:对于副本集:mongod--replSetrs0--dbpath/data/srd/rs0--logpath/data/srd/rs0/log.rs0--port27000--fork--logappend--smallfiles--oplogSize50&mongod--replSetrs0--dbpath/data/srd/rs1--logpath/data/srd/rs1/log.rs1--port27001--fork--logappend--smallfiles--oplogSi

MongoDB - 通过自定义 _id 字段上的散列索引进行分片收集

问题:如何根据自定义_id字段的散列索引对集合进行分片?问题描述:我需要在MongoDB中存储url=>my_value对网址必须是唯一的我将执行大量查询来检查,如果我已经通过匹配{_id:md5(url_to_check)}拥有具有此类url的文档集合会很大(数十亿对url=>my_value),所以我想按url对它进行分片。解决方案,我认为:创建包含这些字段的集合:_id:md5(url)网址:网址值:我的值我不创建任何索引。_id默认由mongo索引问题:我想按_id对集合进行分片。散列共享key是完美的,但我是否必须创建散列分片key或者我可以按常规_idkey分片?我插入到_

mongodb - 我应该如何配置我的 Mongodb 集群?

我正在运行一个分片的mongodb环境-3个mongod分片、1个mongod配置、1个mongos(无复制)。我想使用mongoimport将csv数据导入数据库。我在210个csv文件中以500,000条为增量存储了1.05亿条记录。我知道mongoimport是单线程的,我读到我应该运行多个mongoimport进程以获得更好的性能。但是,我试过了并没有加快速度:当并行运行3个mongoimports时,每个进程每秒获得约6k插入(因此18ki/s)与运行1个mongoimport时,我获得约20k插入/秒。由于这些进程是通过单个mongod配置和mongos路由的,我想知道这是

内存中的 MongoDB 索引与分片

坊间传言,如果您不能将正在使用的索引保存在内存中,MongoDB会变慢。这如何与分片一起工作?分片是只在内存中保留自己的BTree,还是每个分片都需要在内存中保留整个集合的索引? 最佳答案 DoesashardedonlykeepitsownBTreeinmemory...?是的,每个分片管理自己的索引。ThewordonthestreetisthatMongoDBgetsslowifyoucan'tkeeptheindexesyou'reusinginmemory.在使用分片和二级索引时,您实际上可以预料到更糟的情况。关键问题是路

mongodb - 在不关闭现有 mongo 实例的情况下进行 Mongo 分片

我需要在不关闭的情况下进行分片,或者在端口27017中重启现有的mongo实例。我尝试了以下操作,(当默认端口正在运行和mongo实例时)mongod--shardsvr--dbpath/var/lib/mongodb/dba--port10001>/var/log/mongodb/shardlog/sharda.log&mongod--shardsvr--dbpath/var/lib/mongodb/dbb--port10002>/var/log/mongodb/shardlog/shardb.log&mongod--configsvr--dbpath/var/lib/mongodb

mongodb - MongoDB 中好的分片键

摘自《扩展MongoDB》一书:ThegeneralcaseWecangeneralizethistoaformulaforshardkeys:{coarseLocality:1,search:1}所以我的问题是,这样正确吗?不应该是更好的写作的对立面吗?也来自本书:Thispatterncontinues:everythingwillalwaysbeaddedtothe“last”chunk,meaningeverythingwillbeaddedtooneshard.Thisshardkeygivesyouasingle,undistributablehotspot.也就是说,我的

config - MongoDB - 在生产中添加新的配置服务器

我一直在使用mongodb和分片进行一些测试,有时我尝试将新的配置服务器添加到我的mongos路由器(当时,我只使用一个配置服务器)。但是我找不到有关如何执行此操作的任何信息。有没有人试过做这样的事情? 最佳答案 不幸的是,您将需要关闭整个系统。关闭所有进程(mongod、mongos、configserver)。将数据子目录(dbpath树)从配置服务器复制到新的配置服务器。启动配置服务器。使用新的--configdb参数重新启动mongos进程。重启mongod进程。发件人:http://www.mongodb.org/disp

java - Mongodb:在 Java(和 JavaScript)中调用 db.printShardingStatus()/sh.status()

在我的Java代码中进行分片后,我需要获取一个block列表。我的代码很简单,看起来像这样:Mongom=newMongo("localhost",27017);DBdb=m.getDB("admin");Objectcr=db.eval("db.printShardingStatus()",1);调用eval()返回错误:Exceptioninthread"main"com.mongodb.CommandResult$CommandFailure:commandfailed[$eval]:{"serverUsed":"localhost/127.0.0.1:27017","errno

MongoDB-使用三个值的复合分片键

我正在创建一个使用MongoDB存储JSON对象的集合。我被困在分片部分。对于集合中的每条记录,我都有一个案例ID、客户ID和位置案例ID是一个10位数字(只有数字,没有字母)。CustomerID是客户名称和案例ID的组合。位置是一个2dsphere值,我期望位置具有不同的不同值。除此之外,我还记录了客户名称和案例描述。我所有的搜索查询都有案例ID、客户ID或位置的搜索条件。在这种情况下,我可以根据所有这三个值(CaseID、CustomerID和位置)创建复合键吗?我相信这提供了高基数并且易于检索记录。任何人都可以建议我这是否是一种好方法,因为我没有找到包含三个值的复合分片键。感谢