RDBMS 와 NoSql DB 의 차이

이동명·2023년 6월 2일
0
post-thumbnail

RDB (관계형 데이터베이스)와 NoSQL DB (비관계형 데이터베이스)는 데이터를 저장하고 관리하는 데에 사용되는 두 가지 주요한 데이터베이스 유형입니다. 이들은 데이터 구조, 일관성, 확장성 등의 측면에서 다른 특징을 가지고 있습니다.

데이터 구조:

  • RDB: RDB는 테이블 형태로 데이터를 구조화합니다. 데이터는 행과 열의 형태로 저장되며, 각 테이블은 정의된 스키마에 따라 구조화됩니다.

  • 테이블 간에 관계를 설정하여 데이터를 조인하고 연결할 수 있습니다.

  • NoSQL DB: NoSQL DB는 다양한 형태의 데이터 모델을 사용할 수 있습니다. 가장 일반적인 NoSQL 데이터 모델은 Key-Value, Document, Column-Family, Graph 형태입니다. 이러한 모델은 유연성과 확장성을 제공하며, 데이터 간의 관계를 명시적으로 정의하지 않습니다.

일관성:

RDB: RDB는 ACID (원자성, 일관성, 격리성, 지속성) 원칙을 준수하여 데이터 일관성을 보장합니다. 트랜잭션 처리를 통해 데이터의 무결성과 일관성을 관리합니다.

NoSQL DB: NoSQL DB는 범위 일관성 (eventual consistency)을 강조합니다. 즉, 데이터의 일관성이 시간적으로 보장되지 않을 수 있습니다. 이는 분산 환경에서의 확장성을 향상시키기 위해 선택된 접근 방식입니다.

확장성:

  • RDB: RDB는 수직적 확장만 지원합니다. 즉, 단일 서버의 성능을 향상시켜야 합니다. 추가적인 처리 능력을 얻기 위해서는 더 강력한 하드웨어로 업그레이드해야 합니다.

  • NoSQL DB: NoSQL DB는 수평적 확장을 지원합니다. 여러 서버에 데이터를 분산하여 처리하고 저장할 수 있습니다. 따라서 시스템을 필요에 따라 쉽게 확장할 수 있습니다.

유연성:

  • RDB: RDB는 정해진 스키마에 따라 데이터를 저장하기 때문에, 데이터 구조의 변경이 어려울 수 있습니다. 테이블의 스키마를 수정하려면 기존 데이터를 변경해야 합니다.

  • NoSQL DB: NoSQL DB는 스키마가 유연합니다. 데이터 모델이 변경되어도 기존 데이터에 영향을 주지 않고 새로운 필드를 추가하거나 기존 필드를 삭제할 수 있습니다.

용도

  • RDB: RDB는 정형화된 데이터와 강력한 일관성 요구사항이 있는 경우에 적합합니다. 트랜잭션 처리와 데이터 일관성이 필요한 은행 시스템, 주문 처리 시스템 등에 주로 사용됩니다.

  • NoSQL DB: NoSQL DB는 비정형화된 데이터와 대용량 데이터 처리, 그리고 높은 확장성 요구사항이 있는 경우에 적합합니다. 웹 애플리케이션 로그, 센서 데이터, 소셜 미디어 데이터 등을 처리하는 데에 주로 사용됩니다.

  • 요약하자면, RDB는 구조화된 데이터와 강력한 일관성을 요구하는 시스템에 적합하며, NoSQL DB는 비정형 데이터와 확장성이 필요한 시스템에 적합합니다. 각각의 장단점과 사용 사례를 고려하여 데이터베이스를 선택해야 합니다.

profile
Web Developer

0개의 댓글