728x90
반응형
MongoDB는 NoSQL 데이터 베이스 중 하나로 "도큐먼트 스토어" 이다.
도큐먼트 스토에서는 주로 데이터 처리의 유연성을 목적으로 한다.
👩💻 MongoDB(NoSQL) vs MySQL(DBMS)
DBMS에 대표적인 MySQL 과의 비교해보자.
MongoDB | MySQL | |
Structure | Schemaless | Fixed Structure |
Data Representation | JSON Document | Table |
Sharding | Auto-Sharding | Manual |
Transaction | X | O |
MongoDB의 장점과 단점에 대해서도 간략히 정리해보면
➕ 스키마 없이 사용 가능
➕ write 성능이 좋음
➕ read 시 파일의 index를 메모리에 로딩해놓고 찾는다. (memory mapped file)
➖ Join 이나 Transaciton 처리 불가
➖ 디스크에 쓰기가 비동기식으로 이루어진다. 때문에 데이터 유실될 가능성이 있다.
🚀 MongoDB 데이터 저장 구조
참고: https://bcho.tistory.com/746
MongoDB는 메모리 크기가 DB 성능에 아주 중요한 요인이 된다. MongoDB는 기본적으로 Memory Mapped File 을 사용한다.
MongoDB는 데이타를 write할때, 논리적으로 memory 공간에 write하고,
일정 주기에 따라서, 이 메모리 block들을 주기적으로 disk로 write하는데,
이 디스크 writing 작업은 OS에 의해서 이루어 진다.
자주 엑세스 되는 Hot Data 들이 집중되서 메모리에 올라갈 수 있도록 설계하는 것이 핵심이다. 이 부분이 중요한 것 같다.
👩💻 MongoDB vs ElasticSearch
두 db 모두 document-oriented database 이다. 로그를 저장하고 조회할 때 자주 사용되는 플랫폼이다.
다양한 데이터 타입을 저장하고 사용한다면 MongoDB가 좋고
기본 text log 만 조회하고 저장한다면 ElasticSearch 가 훨씬 성능이 빠르고 좋다.
https://tv.kakao.com/channel/3693125/cliplink/414072595
📖 추후 더 정리하고 싶은 것
- HBase 는 무엇이고 MongoDB와의 차이점
- BigTable과 BigQuery 의 차이점
- GCP 에 있는 여러 DB 관련 제품 Comparing
728x90
반응형
'Data > DB' 카테고리의 다른 글
[DB] Clustering vs Replication vs Sharding 에 대해 알아보자 | LIM (0) | 2023.03.12 |
---|---|
[DB] Dirty Read, Non-Repeatable Read, Phantom Read 예시 및 Snapshot Isolation Level | LIM (1) | 2023.02.17 |
[DB] DML, DDL, DCL | LIM (0) | 2023.02.12 |
Apache Druid 정의와 장단점 및 ES 와의 비교 | LIM (0) | 2022.12.30 |
[DATABASE] OLAP vs OLTP | LIM (0) | 2022.12.25 |
댓글