오늘은 데이터베이스 종류 중 하나인 MongoDB에 대해 알아보자!
목차
- MongoDB 개념
- MongoDB 특징
- MongoDB vs MySQL
- MongoDB 사용 사례
01. MongoDB의 개념
MongoDB는 NoSQL 데이터베이스로, 관계형 데이터베이스와는 다른 유연한 모델을 제공한다.
- 문서: MongoDB의 기본 단위, JSON 형식으로 데이터를 표현
- 컬렉션: 문서의 그룹으로, 관련된 문서들을 함께 저장
- 동적 스키마: 사전에 정의하지 않고도 데이터 저장 가능
02. MongoDB만의 특징
- 유연한 데이터 모델: 다양한 유형의 데이터를 저장할 수 있어 데이터 구조를 쉽게 조정하고 확장할 수 있다.
- 확장성: 수평적으로 확장이 가능한 아키텍처를 가지고 있어 대규모 데이터 처리에 적합하다. 클리스터를 구성하여 데이터베이스 용량을 증가시키고 처리량도 늘릴 수 있다.
- 높은 가용성: 자동으로 데이터 복제를 지원하며 시스템의 가용성을 높일 수 있다. 또한 장애 발생 시에도 데이터의 손실 없이 서비스를 계속할 수 있다.
03. MongoDB vs MySQL
MongoDB | MySQL | |
데이터 모델 | 데이터를 JSON 문서에 저장한 다음 컬렉션으로 구성 | 데이터를 열과 행에 저장, 테이블 형식, 관계형 |
확장성 | 복제와 샤딩을 사용하여 수평적으로 확장 | 수직 확장과 읽기 전용 복제본을 사용해 대규모로 성능을 개선 |
쿼리 언어 | MongoDB 쿼리 언어 사용 | SQL 사용 |
성능 | 많은 수의 레코드를 삽입하거나 업데이트하는 데 탁월 | 많은 수의 레코드를 선택할 때 더 빠름 |
유연성 | 스키마가 없으므로 유연성 향상, 비정형, 반정형, 정형 데이터와 함께 작동 가능 | 정형 데이터와 함께 잘 작동하는 엄격한 스키마 존재 |
보안 | Kerberos, X.509, LDAP 인증서를 사용하여 사용자 인증 | 내장된 인증 방법 사용 |
04. MongoDB의 사례
- 모바일 애플리케이션
- 실시간 분석:
- 컨텐츠 관리 시스템
- 엔터프라이즈 데이터 웨어하우스