🔻Computer Science/Database

[Database] RDBMS vs NoSQL

_니지 2024. 9. 14. 10:01

❗ RDBMS이란?

  • Relational Database Management System
  • RDBMS는 관계형 데이터베이스에서 데이터를 관리하고 조작하는 시스템
  • 데이터는 테이블(스키마)에 저장되며, 각 테이블은 고정된 컬럼과 데이터 타입을 정의
  • SQL은 RDBMS에서 데이터를 질의하고 처리하는 표준 언어
  • 예시: MySQL, PostgreSQL, Oracle, MS SQL Server

 

✏️특징

  • 정형화된 스키마: 데이터를 삽입하기 전에 미리 정의된 스키마(테이블 구조)가 있어야 하며, 데이터는 이 구조를 따라야 함
  • 관계: 테이블 간의 관계가 중요하며, 이를 외래 키(Foreign Key)로 연결하여 데이터 무결성을 보장
  • ACID: 데이터베이스 트랜잭션은 원자성(Atomicity), 일관성(Consistency), 고립성(Isolation), 지속성(Durability)을 보장하는 ACID 속성을 따름
  • 쿼리 언어: 데이터 질의에 사용되는 SQL(Structured Query Language)이 표준화되어 있어 데이터 관리가 편리

 

 

 

❗NoSQL이란?

  • Not Only SQL
  • NoSQL은 비관계형 데이터베이스
  • 스키마가 없거나 유연하며 데이터는 문서, 키-값, 그래프 등 다양한 형태로 저장될 수 있음
  • 예시: MongoDB, Cassandra, Redis, Couchbase, Neo4j.

 

✏️특징:

  • 유연한 스키마: 미리 정의된 스키마가 필요 없으며, 각 레코드는 다른 구조를 가질 수 있음. 데이터를 필요에 따라 자유롭게 추가하고 변경 가능
  • 확장성: 수평적 확장이 용이하며 클러스터를 통해 대규모 데이터를 처리할 수 있음
  • CAP 이론: 일관성(Consistency), 가용성(Availability), 분산 허용성(Partition Tolerance) 중 두 가지를 보장하는 것이 일반적임
  • 다양한 데이터 모델: NoSQL 데이터베이스는 키-값(Key-Value), 문서(Document), 그래프(Graph), 컬럼(Column) 기반으로 데이터를 저장할 수 있음

 

 

 

❗ RDBMS과 NoSQL의 차이점

특징 RDBMS NoSQL
데이터 저장 구조 정형화된 테이블 구조(행과 열) 유연한 데이터 저장(문서, 키-값, 그래프, 컬럼 등)
스키마 고정된 스키마를 사용하여 데이터 구조를 미리 정의 스키마가 유연하거나 필요 없음
확장성 수직적 확장(서버 성능 향상) 수평적 확장(서버를 추가하여 빠른 확장)
트랜잭션 지원 ACID 속성을 지원 대부분의 NoSQL은 CAP이론을 따르며 일관성을 일부 포기할 수 있음
관계 테이블 간 관계를 중요시함 관계보다는 데이터 중복을 허용하여 성능을 중시함
데이터 유형 정형화된 데이터, 트랜잭션이 중요한 애플리케이션 비정형 데이터, 대용량 데이터, 빠른 성능이 필요한 애플리케이션
쿼리 표준화된 SQL 사용 다양한 쿼리 언어 또는 API 사용(데이터베이스에 따라 다름)

 

 

 

❗하이브리드 데이터베이스

  • 일부 데이터베이스는 SQL과 NoSQL의 특성을 혼합하여 사용하는 데이터베이스
  • 예시: Cassandra는 NoSQL 기반이지만 CQL(Cassandra Query Language)이라는 SQL 유사한 쿼리 언어를 사용함

 

 

 

 

 

 

728x90
반응형