RDB vs NoSQL

김도현·2024년 4월 8일
0

RDB(Relational Database)

관계형 데이터베이스는 테이블 형식을 사용하여 데이터를 저장하고 관리하는 시스템이다러한 데이터베이스는 엄격한 스키마(structure)에 따라 구성되며, 테이블 간의 관계를 통해 데이터를 연결한다. 대표적인 예로 MySQL, PostgreSQL, Oracle, SQL Server 등이 있다.

RDB의 장점

  • 구조화된 데이터 관리: 명확한 스키마를 가지고 있어 데이터의 일관성과 정확성을 유지하기 쉽습니다.
  • 복잡한 질의 처리: SQL(Structured Query Language)을 사용하여 복잡한 쿼리를 통한 데이터 검색과 조작이 가능합니다.
  • 무결성과 보안: 트랜잭션 관리, ACID(Atomicity, Consistency, Isolation, Durability) 속성 지원으로 데이터의 정합성을 유지합니다.

RDB의 단점

  • 확장성: 수직적 확장(서버 업그레이드)은 가능하지만, 수평적 확장(여러 서버 분산)이 어렵습니다.
  • 유연성 부족: 미리 정의된 스키마로 인해 구조 변경이 어렵고, 다양한 데이터 타입의 처리가 제한적일 수 있습니다.

NoSQL

NoSQL 데이터베이스는 비관계형 데이터베이스로, 스키마가 없거나 유연한 데이터 저장 방식을 제공한다. 이는 다양한 데이터 형식을 수용할 수 있도록 설계되었고, 분산 시스템에 적합하다. 대표적인 예로 MongoDB, Cassandra, Redis, Couchbase 등이 있다.

NoSQL의 장점

  • 유연성: 스키마리스(Schema-less) 또는 유연한 스키마를 제공하여 다양한 형태의 데이터를 손쉽게 저장하고 변경할 수 있다.
  • 수평적 확장: 데이터를 여러 서버에 분산하여 저장하는 것이 자연스럽고, 클러스터링을 통한 확장성이 뛰어나다.
  • 빠른 처리 속도: 단순한 구조를 사용하여 대량의 트랜잭션 처리에 효율적이며, 읽기/쓰기 작업이 빠르다.

NoSQL의 단점

  • 표준화 부족: NoSQL 데이터베이스마다 사용하는 기술과 쿼리 언어가 다양하여 표준화가 부족하다.
  • 데이터 무결성과 일관성: 대부분의 NoSQL 데이터베이스는 ACID 속성을 완벽히 지원하지 않아 무결성과 일관성 유지가 어려울 수 있다.
profile
Just do it

0개의 댓글