MongoDB를 처음 사용하고 샤딩에 대한 기본적인 지식을 가지고 있습니다. 그러나 직접 데이터 분할을 제어 할 수 있는지 궁금합니다. 예를 들어, 기록의 일부가 특정 샤드에 저장됩니까? 이것은 레일 앱과 함께 사용됩니다.MongoDB에서 데이터 셔링 제어
답변
당신은 자동 밸런싱을 중지 균형을 해제 할 수 있습니다
sh.setBalancerState(false)
당신은 당신이 당신을 분할하는 키의 범위를 알고있는 경우에 할 수도 presplit 원하는 서버가 PreSplitting example을 볼 수있는 데이터가 다양하다. 샤드의 관리는 레일스 애플리케이션을 통하지 않고 자바 스크립트 셸을 통해 수행됩니다.
무료로 MMS과 같은 모니터링을 사용하면 샤드가 더 많은로드 (뜨거워 짐)를 얻지 못하여 기본적으로 자동 균형 조정이 이루어지는 것이므로주의해야합니다.
조각 결정은 복잡한 결정이며 많은 생각을해야합니다.
샤딩에 대해 알아야 할 것이 많습니다. 그 중 많은 부분이 분명하지 않습니다. 나는 다음 링크에서 정보를 검토하는 게 좋을 것 : 파편 클러스터의 맥락에서
을, 청크는 샤드 키의 연속 범위 특정 샤드에 지정된 값. 기본적으로 chunks은 64 메가 바이트입니다 (위에서 수정 한 경우 제외). 설정된 청크 크기를 초과하여 커지면 mongos는 청크를 두 개의 청크로 나눕니다. MongoDB 덩어리는 논리적이고 그 안에있는 데이터는 물리적으로 함께 있지 않습니다.
그러나 분산기가 청크를 움직이는 것으로 언급했지만 manually을 사용할 수 있습니다. balancer은 각 샤드의 청크 수 사이에 큰 차이 (최소 8 개)가있는 경우 청크 마이그레이션을 다시 요구하고 결정하도록 결정할 것입니다. 청크의 실제 이동은 "From"및 "To"Shard간에 조정되며이 작업이 끝나면 "From"샤드에서 원래 청크가 제거되고 구성 서버에 알려줍니다.
아주 많은 사람들이 사전 분할을했기 때문에 마이그레이션에 도움이됩니다. 자세한 내용은 here을 참조하십시오.
두 개의 조각 사이에 분할 된 문서를 보려면 첫 번째 조각에 여러 개의 청크를 채우기에 충분한 문서를 삽입해야합니다. 기본 청크 크기를 변경하지 않은 경우 데이터를 두 번째 청크로 마이그레이션하려면 최소 512MB의 데이터를 삽입해야합니다. 이것을 테스트하는 것이 좋습니다. 청크 크기를 1MB로 설정하고 10MB의 데이터를 삽입하여이 작업을 수행 할 수 있습니다. Here은이를 테스트하는 방법의 예입니다.
mongo DB가 자동으로 수행하는 경우 사용자가 직접 데이터를 분할하려는 이유 mongos가 모든 CRUD 작업에 대한 호출을 데이터가있는 위치로 라우팅하도록 레일스 응용 프로그램 계층을 mongos 인스턴스로 업그레이드 할 수 있습니다. 상주합니다. 이는 구성 서버를 사용하여 수행됩니다.
아마도 http://www.mongodb.org/display/DOCS/Tag+Aware+Sharding은 v2에서 요구 사항을 다룹니다.2
좋은 예를 보려면 Kristina Chodorow의 블로그 게시물을 확인하십시오. http://www.kchodorow.com/blog/2012/07/25/controlling-collection-distribution/
- 1. MongoDB에서 액세스 제어 모델링
- 2. Rabbitmq 큐 셔링
- 3. MongoDB에서 데이터 맵퍼를 사용합니까?
- 4. nodejs의 mongodb에서 데이터 가져 오기
- 5. MongoDB로 MongoDB에서 데이터 가져 오기
- 6. MongoDB에서 Pymongo (Python)를 통해 데이터 사용하기
- 7. 제어 인터넷 연결 데이터
- 8. 외부 데이터를 MongoDB에서 Oracle으로로드
- 9. Hadoop 데이터 분할 및 데이터 흐름 제어
- 10. SSIS 제어 흐름과 데이터 흐름
- 11. Hadoop 데이터 및 제어 흐름
- 12. 코어 데이터 및 버전 제어
- 13. MongoDB에서 파일을 만들었습니다.
- 14. mongodb에서 작업 일정을 잡으시겠습니까?
- 15. mongoDB에서 시퀀스 번호 생성
- 16. mongodb에서 내보내기에 실패했습니다.
- 17. 안드로이드와 MongoDB에서 동기화 된 SQLite
- 18. 두 번째 데이터베이스를 사용하여 MongoDB에서 무거운 데이터 쓰기
- 19. Ruby와 함께 사용되는 MongoDB에서 문자열 데이터 형식의 최대 길이는 얼마입니까?
- 20. 레일 3 : Node.js/MongoDB에서 사용자에게 실시간 데이터 표시
- 21. mongodb에서 데이터 집계,지도 축소 또는 다른 방법?
- 22. Twitter 데이터 - MongoDB에서 가장 많이 언급 된 사용자 찾기
- 23. 데이터를 비정규 화하여 mongodb에서 업데이트합니다.
- 24. MongoDB에서 토너먼트 브래킷 모델링하기
- 25. MongoDB에서 우정을 모델하는 방법?
- 26. 배열의 값을 MongoDB에서 업데이트하십시오.
- 27. mongodb에서 콘솔을 지우는 방법
- 28. MongoDB에서 부분적인 문서 캐싱
- 29. GridFS Chunksize를 MongoDB에서 구성하십시오.
- 30. MongoDB에서 여러 $ inc 업데이트
새 버전의 더 멋진 기능을 확인하려면이 웹 세미나에 참석하시는 것이 좋습니다. http://www.10gen.com/events/ 웹 세미나/mongodb-online-conference-sept –