mongodb sharding config 데이터베이스 집합 소개
전체적으로 말 하면 config 데이터베이스 에 있 는 모든 데 이 터 를 직접 수정 해 서 는 안 됩 니 다. 특수 한 경 우 를 제외 하고 수 정 된 데 이 터 를 제외 하고 모든 mongos 서버 를 다시 시작 해 야 효 과 를 볼 수 있 습 니 다.
1.config.shards
shards 집합 은 집합 내의 모든 분 편 정 보 를 기록 했다.
mongos> db.shards.find()
{ "_id" : "shard0000", "host" : "mongodb2:27017", "tags" : [ ] }
{ "_id" : "shard0001", "host" : "mongodb3:27017" }
2.config.databases
databases 집합 은 클 러 스 터 내 모든 데이터베이스 정 보 를 추적 하 였 으 며, 필름 이 있 든 없 든 간 에.
mongos> db.databases.find()
{ "_id" : "test", "primary" : "shard0000", "partitioned" : true }
{ "_id" : "suq", "primary" : "shard0001", "partitioned" : false }
데이터베이스 에 블록 버스터 가 열 리 면 enableSharding 이 실 행 됩 니 다. 이 곳 의 partitioned 는 true. primary 입 니 다. 데이터베이스 의 새 집합 은 기본적으로 이 블록 버스터 에 생 성 됩 니 다.
3.config.collections
collections 집합 은 모든 분 편 집합 정 보 를 기록 합 니 다.
mongos> db.collections.find().pretty()
{
"_id" : "test.users",
"lastmodEpoch" : ObjectId("57693855f43b00b3956fed50"),
"lastmod" : ISODate("1970-02-19T17:02:47.296Z"),
"dropped" : false,
"key" : {
"i" : 1,
"username" : 1
},
"unique" : false,
"noBalance" : false
}
그 중:
_id: 집합 네 임 스페이스
키: 키
유 니 크: 조각 키 가 유일한 색인 인지 아 닌 지 를 표시 합 니 다.
4.config.chunks
chunks 집합 은 집합 중의 모든 블록의 정 보 를 기록 했다.
mongos> db.chunks.findOne()
{
"_id" : "test.users-i_MinKeyusername_MinKey",
"lastmod" : Timestamp(28, 0),
"lastmodEpoch" : ObjectId("57693855f43b00b3956fed50"),
"ns" : "test.users",
"min" : {
"i" : { "$minKey" : 1 },
"username" : { "$minKey" : 1 }
},
"max" : {
"i" : 1,
"username" : "user1"
},
"shard" : "shard0001"
}
그 중:
_id: 블록 의 유일한 표 지 는 보통 kongj, 조각 키 와 블록 이라는 하 경계 조합 이 있 습 니 다.
ns: 블록 이 속 한 네 임 스페이스
최소 값
max: 블록의 최대 값
shard: 소속 분 편.
5.config.changelog
changelog 집합 은 클 러 스 터 의 작업 을 추적 하 는 데 사 용 됩 니 다. 이 집합 은 모든 분할 과 이전 작업 을 기록 합 니 다.
mongos> db.changelog.find({"_id":"mongodb2-2016-06-21T20:58:36.881+0800-576939fc0ad1e00c69efc8ac"}).pretty()
{
"_id" : "mongodb2-2016-06-21T20:58:36.881+0800-576939fc0ad1e00c69efc8ac",
"server" : "mongodb2",
"clientAddr" : "192.168.56.81:59114",
"time" : ISODate("2016-06-21T12:58:36.881Z"),
"what" : "multi-split",
"ns" : "test.users",
"details" : {
"before" : {
"min" : {
"i" : { "$minKey" : 1 },
"username" : { "$minKey" : 1 }
},
"max" : {
"i" : { "$maxKey" : 1 },
"username" : { "$maxKey" : 1 }
}
},
"number" : 1,
"of" : 15,
"chunk" : {
"min" : {
"i" : { "$minKey" : 1 },
"username" : { "$minKey" : 1 }
},
"max" : {
"i" : 1,
"username" : "user1"
},
"lastmod" : Timestamp(1, 1),
"lastmodEpoch" : ObjectId("57693855f43b00b3956fed50")
}
}
}
details 필드 에서 문서 가 분리 되 기 전과 분 리 된 내용 을 볼 수 있 습 니 다.
6.config.tags
tags 집합 은 탭 을 만 들 때 발생 합 니 다. 모든 탭 은 하나의 블록 범위 와 연 결 됩 니 다.
mongos> db.tags.find().pretty()
{
"_id" : {
"ns" : "test.users",
"min" : {
"i" : 50072,
"username" : "user50072"
}
},
"ns" : "test.users",
"min" : {
"i" : 50072,
"username" : "user50072"
},
"max" : {
"i" : 100048,
"username" : "user100048"
},
"tag" : "first"
}
7.config.settings
이 집합 은 현재 이퀄 라이저 설정 과 블록 크기 의 문서 정 보 를 포함 하고 있 습 니 다.
mongos> db.settings.find()
{ "_id" : "chunksize", "value" : NumberLong(64) }
{ "_id" : "balancer", "stopped" : false }
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
레코드를 업데이트하고 업데이트 전에 동일한 레코드를 삭제하는 방법(nest js & mongoDB)ID로 레코드를 업데이트하고 싶지만 업데이트 전에 동일한 레코드에 이전에 저장된 데이터를 삭제하고 싶습니다. 프로세스는 무엇입니까? 컨트롤러.ts 서비스.ts 나는 이것을 해결하기 위해 이런 식으로 노력하고 있습니다...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.