RDBMS

기술노트
Admin (토론 | 기여)님의 2025년 9월 6일 (토) 05:05 판 (Gemini 벌크 업로더로 자동 업로드)
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)

🗃️ RDBMS (관계형 데이터베이스)

RDBMS관계형 데이터 모델에 기반을 둔 데이터베이스 관리 시스템(DBMS)입니다. 모든 데이터는 정해진 스키마에 따라, 행(Row)과 열(Column)으로 구성된 테이블(Table)에 저장됩니다.

테이블 간의 관계(Relationship)를 통해 데이터를 효율적으로 관리하고, SQL(Structured Query Language)을 사용하여 데이터를 조작합니다. 수십 년간 데이터 관리의 표준으로 자리 잡아 왔으며, 여전히 대부분의 시스템에서 핵심적인 역할을 하고 있습니다.


🧐 RDBMS의 특징

  • 엄격한 스키마 : 데이터를 저장하기 전에 테이블의 구조(각 열의 데이터 타입, 제약 조건 등)를 명확하게 정의해야 합니다.
  • 데이터 무결성 보장 : 기본 키(Primary Key), 외래 키(Foreign Key)와 같은 제약 조건을 통해 데이터의 일관성과 정확성을 유지합니다.
  • 트랜잭션(Transaction) 지원 : ACID(원자성, 일관성, 고립성, 지속성) 원칙을 따르는 트랜잭션을 통해 데이터의 안정적인 처리를 보장합니다.
  • SQL 사용 : 표준 질의 언어인 SQL을 사용하여 복잡한 데이터 조회 및 조작이 가능합니다.

🆚 NoSQL과의 비교

구분 RDBMS NoSQL
데이터 모델 관계형 모델 (테이블) 다양한 모델 (Key-Value, Document 등)
스키마 엄격함 (Schema-on-write) 유연함 (Schema-on-read)
확장성 주로 수직 확장 (Scale-up) 주로 수평 확장 (Scale-out)
데이터 일관성 강한 일관성 (Strong Consistency) 최종 일관성 (Eventual Consistency)
대표 제품 MySQL, Oracle, PostgreSQL, MS-SQL MongoDB, Redis, Cassandra

💡 개발자 핵심 Point

  • RDBMS는 데이터의 일관성과 안정성이 매우 중요한 서비스에 적합합니다. (예: 금융, 결제, 예약, 회원 정보 관리 등)
  • 정해진 스키마와 트랜잭션 기능은 데이터의 신뢰도를 높여주지만, 비정형 데이터를 다루거나 급격한 스키마 변경이 필요한 경우에는 유연성이 떨어질 수 있습니다.
  • 백엔드 개발자는 서비스의 특징에 맞춰 적절한 데이터베이스를 선택해야 합니다. 정형화된 데이터와 트랜잭션이 중요하다면 RDBMS를, 대용량 비정형 데이터와 수평적 확장이 중요하다면 NoSQL을 고려해볼 수 있습니다.