반응형 MonGo6 [MongoDB] Ch14 - 샤딩 소개 Ch14 샤딩 소개 샤딩과 클러스터 구성 요소 소개 샤딩 구성 방법 샤딩과 애플리케이션의 상호작용 기본 14.1 샤딩이란 샤딩은 여러 장비에 걸쳐 데이터를 분할하는 과정이다 (파티셔닝이라고도 불린다) 각 장비에 데이터 서브셋을 넣음으로써, 더 많은 수의 덜 강력한 장비로 더 많은 데이터를 저장하고 더 많은 부하를 처리할 수 있다 또한, 더 자주 접근하는 데이터를 성능이 좋은 서버에 배치할 수 있다 몽고DB는 애플리케이션에서 구조를 추상화하고 시스템 관리를 간단하게 하는 자동 샤딩을 지원한다 운영 측면에서 몽고DB가 샤드에 걸쳐 데이터 분산을 자동화하므로 용량을 추가하고 제거하기가 쉽다 샤딩은 몽고DB를 구성하는 가장 어렵고 복잡한 방법이다 모니터링할 구성 요소가 많고, 클러스터에서 데이터가 자동으로 옮겨.. 2022. 2. 21. [MongoDB] Ch13 - 관리 복제 셋 관리를 살펴보자 개별 멤버에 유지 보수 수행하기 다양한 환경에서 복제 셋 구성하기 사용자 oplog 정보를 얻고 크기 조정하기 좀 더 색다른 복제 셋 구성하기 마스터/슬레이브 구조에서 복제 셋으로 전환하기 13.1 독립 실행형 모드에서 멤버 시작 쓰기와 관련된 많은 유지보수 작업은 세컨더리에서 수행할 수 없고 애플리케이션 성능에 영향을 미치므로 프라이머리에서 수행도 어렵다 독립 실행형 모드에서 멤버를 시작하려면 먼저 명령행 인수를 확인해야 한다 replSet 옵션 없이 서버를 재시작한다 다른 멤버들이 서버를 발견하지 못하도록 서버가 다른 포트로 수신하게 된다 dbpath는 그대로 유지한다 유지 보수 수행을 마치면, 서버를 종료하고 원래 옵션으로 재시작한다 13.2 복제 셋 구성 복제 셋 구성은 .. 2022. 1. 28. [MongoDB] Ch11 - 복제 셋 구성 요소 복제 셋 조각들이 어떻게 조합되는지 살펴보자 복제 셋 멤버가 새로운 데이터를 복제하는 방법 새로운 멤버를 영입하는 방법 선출이 작동하는 방법 발생할 수 있는 서버 및 네트워크 오류 시나리오 11.1 동기화 복제는 여러 서버에 걸쳐 복사본을 보관하는 데 관련 있다 몽고DB는 프라이머리가 수행한 쓰기를 모두 포함하는 로그, 즉 oplog를 보관함으로써 복제를 수행한다 oplog : 프라이머리의 로컬 데이터베이스에 있는 제한 컬렉션 각 세컨더리는 프라이머리로부터 복제한 작업을 각각 기록하는 oplog를 보관한다 동기화 소스로 사용되도록 한다 세컨더리 서버가 종료되었다 다시 시작되면 oplog에 있는 마지막 연산과 동기화한다 일반적으로 oplog는 기본 크기면 충분하다 oplog를 만들기 전에 oplogSize.. 2022. 1. 21. [MongoDB] Ch10 - 복제 몽고DB의 고가용성 시스템인 복제 셋을 소개하며 아래와 같은 내용을 다뤄보자 복제 셋의 정의 복제 셋을 설정하는 방법 복제 셋 멤버 구성 옵션 10.1 복제 소개 서버를 단일로 사용하면 매우 위험하다 복제는 데이터의 동일한 복사본을 여러 서버상에서 보관하는 방법이며 실제 서비스를 배포할 때 권장된다 한 대 또는 그 이상의 서버에 이상이 발생하더라도, 복제는 애플리케이션이 정상적으로 동작하게 하고 데이터를 안전하게 보존한다 몽고DB를 사용하면 복제 셋을 생성함으로써 복제를 설정할 수 있다 복제 셋은 클라이언트 요청을 처리하는 프라이머리 서버 한 대와, 프라이머리 데이터의 복사본을 갖는 세컨더리 서버 여러 대로 이루어진다 프라이머리 서버에 장애가 발생하면 세컨더리 서버는 자신들 중에서 새로운 프라이머리 서버.. 2022. 1. 18. [MongoDB] Ch8 - 트랜잭션 몽고DB는 여러 작업, 컬렉션, DB, 도큐먼트 및 샤드에서 ACID 호환 트랜잭션을 지원한다 8.1 트랜잭션 소개 트랜잭션은 읽기나 쓰기 작업이 가능한 데이터베이스 작업을 하나 이상 포함하는 데이터베이스의 논리적 처리 단위다 트랜잭션의 중요한 특징은 작업이 성공하든 실패하든 부분적으로는 완료되지 않는다는 점이다 트랜잭션을 사용하려면 몽고DB 버전 4.2 이상이어야 한다 1. ACID의 정의 ‘진정한’ 트랜잭션이 되려면 ACID라는 속성을 충족해야 한다 원자성(Atomicity), 일관성(Consistency), 고립성(Isolation), 영속성(Durablity)의 약어다 ACID 트랜잭션은 정전 등 오류가 발생할 때도 데이터와 데이터베이스 상태의 유효성을 보장한다 원자성(Atomicity) 트랜잭션.. 2022. 1. 4. [MongoDB] Ch7 - 집계 프레임워크 몽고DB는 집계 프레임워크를 사용해 분석을 실행하기 위한 강력한 지원이 제공됩니다 집계 프레임워크 집계 단계 집계 표현식 집계 누산기 7.1 파이프라인, 단계 및 조정 기능 항목 집계 프레임워크는 몽고DB 내 분석 도구 모음으로, 하나 이상의 컬렉션에 있는 도큐먼트에 대한 분석을 수행하게 해준다 집계 파이프라인은 배시와 같은 리눅스 셸 파이프라인과 매우 유사한 개념이며, 단계마다 특정 작업을 수행한다 집계 파이프라인의 개별 단계는 데이터 처리 단위다 한 번에 입력 도큐먼트 스트림을 하나씩 가져와서, 각 도큐먼트를 하나씩 처리하고, 출력 도큐먼트 스트림을 하나씩 생성한다 각 단계는 knobs 또는 tunables 셋을 제공한다 이러한 tunables은 일반적으로 필드를 수정하거나, 산술 연산을 수행하거나,.. 2022. 1. 4. 이전 1 다음 반응형