관계형 데이터 베이스(RDBMS)와 NoSQL 데이터 베이스

KIM YONG GU·2023년 11월 11일
0

JAVA Knowledge

목록 보기
38/40

MongoDB란?

MongoDB는 관계형 데이터베이스(RDBMS)가 아닌 NoSQL 데이터베이스입니다. RDBMS와 NoSQL 데이터베이스는 데이터를 저장하고 관리하는 방식에서 중요한 차이를 가지고 있습니다.

RDBMS는 관계형 모델에 기반한 데이터베이스로, 데이터를 테이블 형태로 구조화하고 이들 테이블 간에 관계를 설정합니다. SQL(Structured Query Language)을 사용하여 데이터를 조작하고 쿼리합니다. 주요 RDBMS의 예로는 MySQL, PostgreSQL, Oracle, SQL Server 등이 있습니다.

MongoDB는 NoSQL 데이터베이스로, 비관계형 데이터 모델을 사용합니다. 데이터는 BSON(Binary JSON) 형식의 문서로 저장되며, 컬렉션(Collection)이라 불리는 테이블과 비슷한 개체에 문서를 저장합니다. MongoDB는 JSON 형태의 쿼리 언어를 사용하며, 동적인 스키마를 허용하여 다양한 데이터 형식을 저장할 수 있습니다. NoSQL 데이터베이스의 특징 중 하나는 스키마의 유연성과 확장성입니다.

따라서 MongoDB는 대량의 비정형 데이터나 동적인 데이터 모델이 필요한 경우에 적합한 선택지가 될 수 있습니다.

RDBMS와 NoSQL DB의 차이점

RDBMS(관계형 데이터베이스 관리 시스템)와 NoSQL(비관계형 데이터베이스) 데이터베이스는 여러 측면에서 차이를 가지고 있습니다. 여기에는 주요한 몇 가지 차이점이 포함되어 있습니다:

  1. 데이터 모델:
  • RDBMS: 정해진 스키마를 가지고 있으며, 데이터는 테이블에 행과 열의 형태로 저장됩니다.
  • NoSQL: 동적인 스키마를 가지고 있거나 스키마가 필요 없는 경우가 많으며, 주로 문서, 키-값 쌍, 열 지향 등 다양한 형태로 데이터를 저장합니다.
  1. 스키마의 유연성:
  • RDBMS: 정적인 스키마를 사용하므로 데이터를 추가하거나 수정할 때 스키마를 변경해야 할 수 있습니다.
  • NoSQL: 보다 유연한 스키마를 가지고 있어, 데이터 모델이 변경되어도 기존 데이터에 영향을 덜 받습니다.
  1. 트랜잭션과 일관성:
  • RDBMS: ACID 특성(원자성, 일관성, 고립성, 지속성)을 지향하여 데이터 일관성을 유지하며 트랜잭션을 처리합니다.
  • NoSQL: 일관성과 성능 간의 트레이드오프를 고려하는 경우가 많아, ACID 특성보다는 CAP 이론의 일부나 BASE 모델에 더 가깝게 설계될 수 있습니다.
  1. 확장성:
  • RDBMS: 주로 수직적 확장(Vertical Scaling)에 의존하며, 성능 향상을 위해 서버 자체의 성능을 높입니다.
  • NoSQL: 주로 수평적 확장(Horizontal Scaling)에 의존하며, 여러 대의 서버로 분산 처리 및 처리 능력을 향상시킵니다.
  1. 용도:
  • RDBMS: 정형화된 데이터와 복잡한 관계를 다루는 데 적합하며, 전통적인 업무용 애플리케이션에서 많이 사용됩니다.
  • NoSQL: 대용량 및 빠른 속도로 변경되는 데이터, 비정형 데이터, 그리고 확장성이 중요한 경우에 사용됩니다.

이러한 차이로 인해 각각의 데이터베이스 유형이 특정 사용 사례에 더 적합할 수 있습니다. 선택은 프로젝트의 요구 사항, 확장성, 일관성 등을 고려하여 이루어집니다.

profile
Engineer, Look Beyond the Code.

0개의 댓글