[DB] 관계형 DB vs 비관계형 DB

박소미·2024년 7월 23일

✅데이터베이스 (DB)란?

데이터베이스는 전자적으로 저장되는 체계적인 데이터 모음이다. 데이터베이스에는 단어, 숫자, 이미지, 비디오 및 파일을 포함한 모든 유형의 데이터가 포함될 수 있다. 데이터베이스는 데이터를 효율적으로 저장, 관리, 검색하기 위해 설계되었다.

✅관계형 데이터베이스 (RDB)란?

관계형 데이터베이스는 데이터 항목 간에 사전 정의된 관계가 있을 때 데이터 항목들의 모음을 가리킨다. 이 항목들은 열과 행으로 이루어진 테이블 집합으로 구성된다.

  • 테이블: 데이터는 테이블 형태로 저장된다. 각 테이블은 열과 행으로 구성된다.

  • 행 (Row): 테이블의 각 행은 하나의 데이터 항목을 나타내며, 고유 식별자인 기본키(Primary Key)로 표시할 수 있다.

  • 열 (Column): 테이블의 각 열은 데이터 항목의 속성을 나타낸다.

  • 기본키 (Primary Key): 테이블의 각 행을 고유하게 식별하는 키이다.

  • 외래키 (Foreign Key): 다른 테이블과의 관계를 나타내는 키로, 한 테이블의 기본키가 다른 테이블의 외래키로 사용될 수 있다.

✅비관계형 데이터베이스 (NoSQL)란?

비관계형 데이터베이스는 특정 데이터 모델에 맞추어 구축되는 데이터베이스로서, 유연한 스키마를 갖추고 있다.

  • 유연한 스키마: 스키마가 정해져 있지 않으며, 데이터를 자유롭게 추가할 수 있다.

  • 다양한 데이터 모델: 문서(Document), 키-값(Key-Value), 그래프(Graph), 컬럼(Column) 등의 다양한 데이터 모델을 지원한다.

  • 큰 데이터 볼륨: 대량의 데이터를 효율적으로 저장하고 처리할 수 있다.

  • 짧은 지연 시간: 빠른 읽기/쓰기 성능을 제공한다.

  • 유연한 데이터 모델: 다양한 데이터 구조를 지원하여 특정 애플리케이션에 최적화할 수 있다.

✅관계형 데이터베이스 vs 비관계형 데이터베이스

  1. 데이터 저장 방식:
  • 관계형 데이터베이스: 데이터를 행과 열이 있는 테이블 형식으로 저장한다. 각 테이블은 기본키와 외래키를 통해 상호 연결될 수 있다.
  • 비관계형 데이터베이스: 데이터를 다양한 데이터 모델을 사용하여 저장한다. 유연한 스키마를 갖추고 있어 데이터 구조를 자유롭게 정의할 수 있다.
  1. 스키마:
  • 관계형 데이터베이스: 정해진 스키마를 가지고 있어 데이터 구조를 사전에 정의해야 한다.
  • 비관계형 데이터베이스: 유연한 스키마를 가지고 있어 데이터 구조를 사전에 정의하지 않아도 된다.
  1. 확장성:
  • 관계형 데이터베이스: 수직적 확장(더 강력한 하드웨어로 업그레이드)을 통해 확장된다.
  • 비관계형 데이터베이스: 수평적 확장(더 많은 서버를 추가)을 통해 확장된다.
  1. 데이터 일관성:
  • 관계형 데이터베이스: ACID(Atomicity, Consistency, Isolation, Durability) 속성을 지원하여 강력한 데이터 일관성을 보장한다.
  • 비관계형 데이터베이스: CAP 이론(Consistency, Availability, Partition Tolerance)에 따라 일관성 대신 가용성과 파티션 내구성을 선택할 수 있다.

📌요약

  • 관계형 데이터베이스 (RDB): 데이터를 행과 열이 있는 테이블 형식으로 저장하며, 각 행은 기본키로 식별되고 외래키를 통해 테이블 간에 상호 연결될 수 있다. 정해진 스키마와 강력한 데이터 일관성을 제공한다.

  • 비관계형 데이터베이스 (NoSQL): 특정 데이터 모델에 맞추어 유연한 스키마로 데이터를 저장한다. 큰 데이터 볼륨과 짧은 지연 시간, 유연한 데이터 모델을 필요로 하는 애플리케이션에 최적화되어 있다. 데이터 일관성 제한을 일부 완화하여 높은 가용성과 성능을 제공한다.

0개의 댓글