mirror of
https://github.com/cotes2020/chirpy-starter.git
synced 2025-06-08 09:10:19 +10:00
add rdbms.md
This commit is contained in:
parent
b3c34f0d08
commit
6ecbe107f1
63
_posts/Database/2025-05-09-RDBMS.md
Normal file
63
_posts/Database/2025-05-09-RDBMS.md
Normal file
@ -0,0 +1,63 @@
|
||||
---
|
||||
published: true
|
||||
layout: post
|
||||
title: "RDBMS"
|
||||
categories: [Database]
|
||||
tags: [RDBMS]
|
||||
---
|
||||
|
||||
## RDBMS란?
|
||||
|
||||
**RDBMS(Relational Database Management System)**는 데이터를 행(row)과 열(column)로 구성된 **테이블(table)** 형태로 저장하고, 테이블 간 **관계(Relation)**를 설정하여 데이터를 효율적으로 관리하는 시스템
|
||||
|
||||
대표적인 RDBMS에는 **MySQL**, **PostgreSQL**, **Oracle**, **SQL Server** 등이 있음
|
||||
|
||||
### 주요 특징
|
||||
|
||||
- **테이블 기반 구조**: 데이터를 행과 열로 구성된 표 형식의 테이블에 저장
|
||||
- **SQL 사용**: 데이터를 정의하고 조회하는 데 **SQL(Structured Query Language)** 사용
|
||||
- **정규화**: 중복을 줄이고 일관성을 높이기 위해 데이터 구조를 나누는 방식
|
||||
- **ACID 트랜잭션 보장**:
|
||||
- **A**tomicity (원자성)
|
||||
- **C**onsistency (일관성)
|
||||
- **I**solation (고립성)
|
||||
- **D**urability (지속성)
|
||||
- **스키마 기반 구조**: 데이터의 구조(열 이름, 데이터 타입 등)를 미리 정의해야 함
|
||||
|
||||
### RDBMS 장점
|
||||
|
||||
- 데이터 정합성과 무결성 보장
|
||||
- 복잡한 관계형 데이터 모델링 가능
|
||||
- 트랜잭션 처리 신뢰성 확보 (ACID 지원)
|
||||
- 성숙한 생태계와 도구, 문서 지원
|
||||
|
||||
### RDBMS 단점
|
||||
|
||||
- **스키마 변경이 어려움**: 구조가 고정되어 있음
|
||||
- **수평 확장 어려움**: 서버 스펙을 올리는 방식(수직 확장)이 주가 됨
|
||||
- **비정형/대규모 데이터 처리에 불리함**
|
||||
|
||||
## RDBMS vs NoSQL
|
||||
|
||||
| 항목 | RDBMS (Relational DB) | NoSQL (Not Only SQL) |
|
||||
|------|------------------------|-----------------------|
|
||||
| **데이터 구조** | 테이블(행-열) 기반 | 문서, 키-값, 컬럼, 그래프 등 |
|
||||
| **스키마** | 고정 스키마 필요 | 유연한 스키마, 자유로운 구조 |
|
||||
| **확장성** | 수직 확장 중심 (서버 성능 업그레이드) | 수평 확장 중심 (노드 추가) |
|
||||
| **쿼리 언어** | SQL (표준 쿼리 언어) | 시스템별 쿼리 방식 (예: MongoDB DSL) |
|
||||
| **정합성** | ACID 트랜잭션 보장 | BASE 모델 (가용성 중심) |
|
||||
| **성능** | 복잡한 쿼리에 강함 | 실시간 처리, 대규모 데이터에 강함 |
|
||||
| **적합한 사례** | 금융, ERP, 인사, 회계 등 | 로그 수집, 채팅, 캐시, IoT 등 |
|
||||
|
||||
### NoSQL 장점
|
||||
|
||||
- 스키마 자유로움 → 구조 변경이 쉬움
|
||||
- 수평 확장 용이 → 고성능 분산 시스템 구성 가능
|
||||
- 대용량 데이터에 강함
|
||||
- Redis처럼 메모리 기반인 경우 **초고속 응답**
|
||||
|
||||
### NoSQL 단점
|
||||
|
||||
- 복잡한 JOIN, 트랜잭션 처리에 제약
|
||||
- 데이터 정합성 보장 어려움
|
||||
- 표준 쿼리 언어 부재 (학습 비용)
|
Loading…
x
Reference in New Issue
Block a user