오늘의 주제

RDBMS란?

minkhinformation 2025. 5. 12. 09:20

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

 

어제 우연히 데이터베이스에서 다양한 유형의 관계에 대한 주제를 작성하다가 관계형 데이터베이스(RDBMS)에 대해서 간략하게 알아보았다.

관계형 데이터베이스(Relational Database)란? 데이터가 열과 행의 테이블(또는 '관계') 하나 이상의 저장되는 사전 정의된 관계로 데이터를 구성하는 정보 모음으로, 이를 사용하면 서로 다른 데이터 구조가 어떻게 서로 연관되어 있는지 쉽게 확인하고 이해할 수 있다. 관계는 이러한 테이블 간의 상호작용을 기반으로 설정되어 여러 테이블 간의 논리적 연결이다.

속성(열)에서는 데이터 유형은 지정하며 각 레코드(행)에는 구체적인 데이터 유형의 값이 포함된다. 관계형 데이터베이스의 모든 테이블에는 행의 고유 식별자인 기본 키라는 속성이 있으며 각 행은 다른 기존 테이블의 기본 키에 대한 참조인 외래 키를 사용하여 서로 다른 테이블 간의 관계를 만드는 데 사용될 수 있다.

 

RDBMS의 특징

1. 데이터를 테이블 형식으로 저장데이터는 행과 열로 구성된 테이블 형태로 저장된다. 각 테이블은 하나의 주제를 표현하고, 각 행은 하나의 데이터 항목, 각 열은 속성을 의미한다.

 

2.  관계를 통한 데이터 연결테이블 간의 관계를 외래 키로 정의하여 데이터의 정합성과 연결성 유지

 

3. SQL 사용데이터를 조회(SELECT), 추가(INSERT), 수정(UPDATE), 삭제(DELETE) 하기 위해 SQL을 사용한다.

 

4. 무결성과 일관성 보장(ACID 특성) RDBMS는 데이터 무결성과 신뢰성을 보장하기 위해 ACID 원칙을 따른다.

네 가지 중요한 속성은 관계형 데이터베이스 트랜잭션(원자, 일관성, 격리 및 내구성)을 정의한다. 이를 ACID라고 한다.
원자성은 완전한 데이터베이스 트랜잭션을 구성하는 모든 요소를 정의한다.
일관성은 트랜잭션 후 데이터 포인트를 올바른 상태로 유지하기 위한 규칙을 정의한다.
고립성은 혼란을 피하기 위해 트랜잭션이 커밋될 때까지 트랜잭션의 효과가 다른 사람에게 보이지 않게 해 준다.

 

5. 스키마 기반 구조데이터는 정해진 스키마에 따라 저장된다. 즉, 테이블의 열, 데이터 타입 등이 고정되어 있다. 장점: 구조화된 데이터 관리 가능단점: 스키마 변경 시 제약이 따른다.(유연성이 낮다.)

 

6. 데이터 무결성 제약조건 제공 PRIMARY KEY: 고유한 값을 갖는 컬럼, 각 행을 식별 FOREGIN KEY: 다른 테이블의 키를 참조 UNIQUE, NOT NULL, CHECK 등 다양한 제약 조건을 통해 데이터 오류 방지

 

7. 트랜잭션 관리 및 동시성 제어 여러 사용자가 동시에 접근하더라도 데이터가 손상되지 않도록 락(Lock), Isolation Level  등을 통해 동시성 제어 지원

 

8. 보안과 사용자 권한 관리사용자마다 접근 권한을 설정할 수 있어, 중요한 데이터에 대한 보안 관리 가능

 

9. 백업 및 복구 기능장애 발생 시 데이터를 복원할 수 있도록 백업 및 복구 기능 내장

 

RDBMS의 장단점

장점 설명
데이터 무결성 보장 ACID 특성을 통해 일관성과 신뢰성 있는 데이터 관리 가능
표준화된 쿼리(SQL) SQL 언어를 통해 다양한 데이터 조작 가능
정형 데이터에 강함 테이블 구조로 정형화된 데이터를 효율적으로 저장
관계 설정 가능 외래 키 등을 통해 테이블 간 관계 설정, 중복 최소화
오랜 역사와 커뮤니티 안정적이며 다양한 문서와 기술 지원 가능

 

단점 설명
스키마 유연성 부족 테이블 구조(스키마)가 고정되어 구조 변경이 번거로움
수평 확장(분산처리) 어려움 대규모 데이터 확장 시 수직 확장 위주로 처리
비정형 데이터 처리 어려움 이미지, JSON, 로그 등 비정형 데이터에 비효율적
초기 설계 복잡성 정규화, 관계 설정 등 설계가 복잡할 수 있음

 

항목 RDBMS (관계형 DB) NoSQL (비관계형 DB)

데이터 구조 테이블(행/열) 기반 문서, 키-값, 컬럼, 그래프 등 다양한 형태
스키마 고정된 스키마 유연한 스키마(없거나 자유로운 구조)
언어 SQL 자체 쿼리 언어 또는 API
확장성 수직 확장 중심 (Scale-up) 수평 확장 용이 (Scale-out)
무결성 보장 ACID (높은 신뢰성) BASE (유연하고 느슨한 일관성)
성능 특화 트랜잭션, 정형 데이터 처리에 강함 대용량 분산 처리, 비정형 데이터에 강함
예시 DBMS Oracle, MySQL, PostgreSQL 등 MongoDB, Redis, Cassandra, DynamoDB 등
용도 전통적인 기업 시스템, 금융, ERP 소셜미디어, IoT, 실시간 로그, 대규모 웹서비스

 

 

RDBMS를 사용하는 이유는?

정확하고 일관된 데이터 처리, 구조화된 저장 방식, 표준 SQL사용이라는 점에서 많은 기업과 개발자들이 RDBMS를 선택하고 사용한다.

'오늘의 주제' 카테고리의 다른 글

MVC 패턴  (0) 2025.05.12
트랜잭션과 4가지 특징  (0) 2025.05.12
데이터베이스에서 다양한 유형의 관계  (1) 2025.05.07
JOIN이란?  (0) 2025.05.07
정규화(Normalization)  (1) 2025.04.30