MongoDB
-
[MongoDB] Sharded Cluster📚 개발 도서 2023. 9. 11. 09:20
ReplicaSet 배포형태에 이어 분산을 위한 배포 형태인 Sharded Cluster에 대해 알아보자. 용어부터 정리하면, 샤딩은 하나의 큰 데이터를 여러 장비에 걸쳐서 데이터를 분할하는 과정을 의미. 분할된 데이터셋의 모음을 샤드라고 한다. 분산이 되는 기준을 샤드키라고 하는데, 샤드키는 컬렉션의 필드에 생성된 인덱스를 이용해서 활성화한다. 각각 샤드는 레플리카셋으로도 관리 된다. "복제: for HA, 샤딩: for 분산처리(scale-out)" 장점 용량의 한계를 극복할 수 있다. 데이터 규모와 부하가 크더라도 처리량이 좋다. 고가용성을 보장한다. 하드웨어에 대한 제약을 해결할 수 있다. 단점 관리가 비교적 복잡하다. Replica Set과 비교해서 대체적으로 쿼리가 느리다. 요청이 들어왔을 때..
-
[MongoDB] Replica Set (레플리카셋)📖 개발 공부 2023. 9. 5. 23:36
Replica Set 구성 Replica Set의 사용 목적이 HA이기 때문에, 각 멤버들이 각 다른 서버에 위치해있어야 목적에 맞게 효과를 볼 수 있다. Status Description Primary • Read/Write 요청 모두 처리할 수 있다. • Write를 처리하는 유일한 멤버이다. • Replica Set에 하나만 존재할 수 있다. Secondary • Read에 대한 요청만 처리할 수 있다. • 복제를 통해 Primary와 동일한 데이터 셋을 유지한다. • Replica Set에 여러개가 존재할 수 있다. 아무런 설정없이 읽기/쓰기 요청을 하면 기본적으로 Primary가 처리한다. readPreference 옵션을 넣어 요청해야한다. Replica Set Election (Fail-Ov..
-
[MongoDB] MongoDB 배포형태 (Standalone/Replica Set/Shared Cluster)📖 개발 공부 2023. 9. 5. 00:17
Standalone study용 test용 의 배포 형태이다. 운영 환경에서 Standalone 배포 형태는 위험하다. 데이터베이스 점검을 하는 경우, 서비스 또한 중단이 되어야 하기 때문이다. Replica Set 동일한 데이터를 갖고있는 몽고 DB 서버를 여러 대 가지고 있는 형태이다. 한쪽으로 write를 하면 다른 서버에 데이터를 복제시킨다. 위의 그림을 예시로 들면, 3대 중에 1대가 죽더라도 나머지 2대가 살아있어서 점검이 있더라도 지속적으로 점검이 가능하다. 실제 현업에서 가장 많이 사용되는 배포 형태이다. → HA (High Availabilty) 고가용성 보장 하지만 갑자기 서비스의 인기가 급격히 늘어나서 데이터 쓰기양이 많아진다고 해보자. scale-up을 통해 서버의 스토리지를 계속해..