본문 바로가기
정보/라이프

RDBMS와 NOSQL의 데이터베이스 차이점

데이터베이스

데이터베이스 RDBMS vs NOSQL 차이점

RDBMS는 관계형 데이터베이스 시스템으로, 데이터를 테이블 형태로 저장하고 SQL을 사용해 데이터를 관리합니다. 테이블 간의 관계를 표현하는 것이 중요하며, 데이터의 일관성과 정확성을 보장하는 ACID 트랜잭션을 지원합니다. 주로 정형 데이터를 다루는데 적합하며, 일반적으로 데이터의 일관성과 무결성이 중요한 경우에 사용됩니다.

 

NoSQL은 관계형 데이터베이스와는 다른 형태의 데이터 저장 및 처리 방식을 지원하는 데이터베이스 시스템입니다. NoSQL은 대규모 데이터를 빠르게 처리할 수 있으며, 데이터의 확장성이 뛰어나고, 반정형 데이터를 다룰 수 있습니다. 대표적인 예로는 MongoDB, Cassandra 등이 있습니다. NoSQL은 분산 컴퓨팅, 클라우드 컴퓨팅, 빅데이터 등과 같은 현대적인 데이터 처리 분야에서 널리 사용됩니다.

 

시스템 모두 장단점이 있으며, 사용자의 요구사항에 따라 적절한 시스템을 선택해야 합니다. RDBMS 정형화된 데이터를 다루는데 강점이 있으며, 데이터의 일관성과 무결성을 보장합니다. 반면 NoSQL 대규모 반정형 데이터 처리에 효과적이며, 확장성이 높습니다.

 

MongoDB란

MongoDB는 JSON과 비슷한 형식인 BSON(Binary JSON) 형식으로 데이터를 저장합니다. BSON은 JSON의 확장된 형태로, 이진 데이터를 사용하여 더 빠르고 효율적인 데이터 처리를 지원합니다. MongoDB는 컬렉션(Collection)과 문서(Document)라는 개념으로 데이터를 구성합니다. 문서는 MongoDB에서 저장하는 가장 기본적인 단위이며, 컬렉션은 여러 문서의 집합입니다.

 

데이터는 컬렉션 단위로 저장되며, 각 컬렉션은 하나 이상의 문서로 구성됩니다. MongoDB는 JSON 형태의 문서를 저장할 수 있으며, 이 문서는 필드(Field)와 값(Value)의 쌍으로 구성됩니다. 필드는 문서 내에 포함된 데이터의 속성을 나타내며, 값은 실제 데이터 값을 의미합니다. 이러한 문서들은 BSON 형식으로 디스크에 저장됩니다.

 

또한, MongoDB 샤딩(Sharding)이라는 분산 데이터베이스 기술을 지원하여 대규모 데이터를 처리할 있습니다. 샤딩은 데이터를 여러 서버에 분산하여 저장하고 처리하는 방식으로, 서버는 일부 데이터만을 담당합니다. 이를 통해 데이터베이스의 처리 성능과 확장성을 높일 있습니다.

 

샤딩 :데이터를 수평으로 분할하여 분산 처리하도록 하는 기술로, MongoDB Atlas에서는 자동으로 샤딩 구성 관리를 제공하여 나은 확장성과 가용성을 제공합니다. 이를 통해 대규모 데이터베이스 애플리케이션을 쉽게 관리하고 확장할 있습니다.

댓글