MongoDB 4

[MongoDB] SQL vs MQL

✅ SQL이란? 관계형 데이터베이스와 같은 경우에는 데이터를 테이블에 직관적으로 간단하게 나타내는 '관계형' 모델을 기반으로 한다. 우리가 익숙하게 알고있는 SQL(Structured Query Language)은 관계형 데이터베이스에 정보를 저장하고 처리하기 위한 프로그래밍 언어이다. 테이블의 열에는 데이터의 속성이 들어 있으며, 각 레코드에는 일반적으로 각 속성에 대한 값이 있으므로 데이터 포인트 간의 관계를 손쉽게 설정할 수 있다. ✅ MQL이란? MQL은 MongoDB Query Language로 몽고디비의 쿼리 언어이다. SQL이 테이블에 대한 모든 데이터를 조회할때 아래와 같이 문법을 작성한다면 select * from table; MQL은 아래와 같이 문법을 작성한다. MQL은 객체로서 데이..

Database/MongoDB 2023.03.28

[MongoDB] Replica Set vs Sharded Cluster

먼저 배포하기 전에 2가지를 고려해야한다. 1. 서비스의 요구사항 확인 -> 하루에 쌓이는 데이터양, 얼마나 보관하는지, 쓰기가 많은지 읽기가 많은지 등 2. 어떤 환경에서 배포하느냐 -> 내가 준비할 수 있는 서버의 스펙을 확인해야 한다. ✅ Replica Set vs Sharded Cluster 장단점 배포 형태 장점 단점 Replica Set - 운영이 쉽다. - 장애 발생시 문제 해결 및 복구가 쉽다. - 서버 비용이 적게 든다. - 성능이 좋다. - 개발 시 설계가 용이하다. - Read에 대한 분산이 가능하지만, Write에 대한 분산은 불가능하다. Sharded Cluster - Scale-Out이 가능하다. - Write에 대한 분산이 가능하다. - Replica Set의 모든 장점이 상대..

Database/MongoDB 2023.03.25

[MongoDB] Sharded Cluster

✅ Sharded Cluster 왼쪽의 A-Z는 Replica Set인데 만약 Replica Set에 감당할 수 없을 정도로 많은 데이터들이 유입이 된다면, 오른쪽처럼 Sharded Cluster로 배포하게 된다. 여기서 Sharding은 하나의 큰 데이터를 여러개로 분할하는 과정을 뜻하고, 분할되는 데이터 셋의 모음을 Shard라고 한다. Sharded Cluster는 분산을 위한 솔루션으로 Replica Set으로 데이터의 서브셋이 나뉜다. Sharding은 분산처리 즉, Scale-Out을 위한 솔루션이다. ✅ Sharded Cluster의 장단점 장점 단점 - 용량의 한계를 극복할 수 있다. - 데이터 규모와 부하가 크더라도 처리량이 좋다. - 고가용성을 보장한다. - 하드웨어에 대한 제약을 해결..

Database/MongoDB 2023.02.01

[MongoDB] Replica Set

✅ Replica Set Members Status Description Primary - Read / Write 요청 모두 처리할 수 있다. - Write를 처리하는 유일한 멤버이다. - Replica Set에 하나만 존재할 수 있다. Secondary - Read에 대한 요청만 처리할 수 있다. - 복제를 통해 Primary와 동일한 데이터 셋을 유지한다. - Replica Set에 여러개가 존재할 수 있다. ✅ Replica Set Election(Fail-Over) Replica Set으로 자동 Fail-Over가 가능하기 때문에 멈춤 없이 서비스를 지속적으로 운영할 수 있는 특징이 있다. 하지만 위의 그림처럼 Primary가 죽게 되면 Read에 대한 요청을 처리할 수 없고, 2개의 Second..

Database/MongoDB 2023.01.30
728x90