검색
회원가입로그인

1장: NoSQL과 MongoDB 개요

NoSQL과 MongoDB의 개요

최근 다양한 데이터 유형과 대규모 처리 수요가 증가하면서 전통적인 데이터베이스 방식만으로는 대응이 어려워졌습니다. 이때 주목받는 것이 바로 NoSQL입니다. NoSQL은 rigid한 테이블 구조와 엄격한 스키마에 의존하는 관계형 DB와 달리, 보다 자유롭고 유연한 구조를 제공합니다. 이런 특성 덕분에 형태가 정해지지 않은 데이터나 구조 변경이 잦은 프로젝트에서 강점을 발휘합니다.

MongoDB는 NoSQL 데이터베이스 중에서도 대표적인 문서 지향 Document Database입니다. MongoDB에서 데이터는 테이블이 아닌 컬렉션(Collection), 그리고 행이 아닌 도큐먼트(Document)라는 단위로 저장됩니다. 각 도큐먼트는 JSON과 거의 유사한 방식의 BSON(Binary JSON) 포맷을 사용합니다. 이는 복잡한 계층 구조와 다양한 필드를 가진 데이터를 손쉽게 저장하고, 필요에 따라 유연하게 확장·변경할 수 있음을 의미합니다.

MongoDB의 가장 큰 장점은 데이터 스키마 없이, 언제든지 새로운 필드나 중첩 구조를 기존 도큐먼트에 즉시 추가할 수 있다는 데 있습니다. 이로 인해 서비스 개발이나 비즈니스 요구가 빠르게 변할 때에도 데이터베이스 구조를 손쉽게 조정할 수 있습니다.

또한 MongoDB는 대용량 트래픽과 데이터를 처리하기 위해 뛰어난 수평 확장성과 자동 복제, 장애 대비 기능(ReplicaSet, Sharding 등)을 갖추고 있습니다. 실제로 웹, 모바일, IoT 등 다양한 분야에서 효율적으로 활용되고 있습니다. 이러한 특성은 단일 서버에 종속되지 않고 다수의 노드로 손쉽게 확장할 수 있게 해줍니다.

RDBMS와의 구조적 차이도 명확합니다. RDB가 데이터의 정합성과 ACID(원자성, 일관성, 고립성, 지속성) 특성에 집중한다면, MongoDB는 "최종적 일관성(Eventual Consistency)"에 기반하여 높은 처리량과 빠른 개발을 지향합니다. 각 컬렉션의 도큐먼트는 각각 고유한 구조를 가질 수 있어, 서비스 초기 설계 및 추후 확장에도 유연하게 대응할 수 있습니다.

요약하자면 MongoDB는 유연한 데이터 모델, 손쉬운 확장, 뛰어난 성능, 그리고 실시간 변화에 강한 대처력까지 갖춘 현대적 데이터베이스 솔루션입니다. 이제부터 본격적으로 MongoDB의 실전 사용법과 실제 적용법을 본 책을 통해 한 걸음씩 익혀볼 것입니다.

공유하기
카카오로 공유하기
페이스북 공유하기
트위터로 공유하기
url 복사하기
조회수 : 16
heart