Web

MongoDB

필립 2024. 5. 14. 22:54

MongoDB는 문서 지향 데이터 모델을 사용하는 NoSQL 데이터베이스 관리 시스템이다. 

정형 및 비정형 데이터를 보다 쉽고 빠르게 통합할 수 있다는 장점이 있다. 

 

MongoDB를 사용하는 이유 ?

  • 저장. MongoDB는 대규모 정형 및 비정형 데이터 볼륨을 저장할 수 있으며 수직 및 수평으로 확장 가능하다.
  • Index 지원. 다양한 조건으로 빠르게 데이터를 검색할 수 있다. 다양한 형태의 인덱스를 제공하며 필요한 필드에 필요한 만큼 생성할 수 있다.
  • 복잡한 데이터 구조 설명 . 문서 데이터베이스를 사용하면 중첩된 구조(구조 내의 구조)를 설명하는 문서를 삽입할 수 있으며 데이터의 변화를 허용할 수 있다.
  • 로드 밸런싱. MongoDB를 사용하여 여러 서버에서 실행할 수 있습니다.

MongoDB의 특징

  • 신뢰성. 서버 장애에도 서버가 유동적으로 분담하여 서비스는 계속 동작을 유지한다. Primary와 Secondry로 구성된 ReplicaSet 구조로 고가용성을 지원한다. ReplicaSet는 기본 서버와 보조 서버로 구성되며, 기본 MongoDB 서버는 모든 읽기 및 쓰기 작업을 수행하는 반면 Secondry 데이터 복사본을 유지한다. Primary 서버에 문제가 생기면  Secondry가 Primary로 전환되어 서버를 계속 유지시킨다. 
  • 확장성. MongoDB는 수직 및 수평 확장을 지원한다. MongoDB에 데이터가 증가하여 더 이상 하나의 ReplicaSet에 담을 수 없게 되면, 데이터를 샤딩하여 분산시켜 줄 수 있다. 만약 특정 샤드에 데이터가 몰리면 다른 샤드로 데이터를 이동시켜, 전반적으로 모든 샤드가 균등하게 데이터를 저장할 수 있도록 해준다. 이러한 동작을 밸런싱이라고 한다. 
  • 유연성. 여러가지 형태의 데이터를 손쉽게 저장할 수 있다. 행과 열 대신 키-값 쌍을 사용하여 문서에 저장되므로 SQL 데이터베이스와 비교할 때 데이터가 더 유연하다고 볼 수 있다. 다양한 종류의 데이터가 추가되어도 스키마 변경 과정 없이 필요한 데이터를 저장하고 읽을 수 있다. 
  • 로드 밸런싱. MongoDB는 수직 또는 수평 확장을 통해 별도의 전용 로드 밸런서 없이 로드 밸런싱을 처리합니다.
  • 비정형화 스키마 구조. 미리 스키마를 선언하지 않고 동적 스키마로 생성한다.

JSON - BSON

BSON이란 Binary JSON를 뜻한다. JSON과 동일한 구조지만 Binary 형태로 변경된 구조를 말한다. 

MongoDB는 화면에 출력할 때는 JSON의 형태를 가지며, 저장할 때나 네트워크로 전송할 때에는 BSON 형태로 만들어 

동작을 수행한다. 

 

'Web' 카테고리의 다른 글

Joi 라이브러리  (0) 2024.05.17
2진법  (0) 2024.05.15
Express.js와 미들웨어  (0) 2024.05.13
IPv6  (0) 2024.05.10
IP와 포트.  (0) 2024.05.08