mongodb sharding config 데이터베이스 집합 소개

60435 단어 mongodbconfigsharding
클 러 스 터 의 잔소리 입 니 다. 어떤 설정 정 보 는 설정 서버 의 config 데이터 집합 에 저장 되 어 있 습 니 다. 이 데이터 베 이 스 를 직접 방문 할 수 있 습 니 다. 그러나 셸 은 보조 함 수 를 제공 합 니 다. 이 함수 들 을 통 해 정 보 를 읽 기 에 더욱 적합 하지만 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 }

좋은 웹페이지 즐겨찾기