[SQL] DBMS

켈로그·2025년 6월 10일

SQL

목록 보기
1/20

DBMS 개념

DBMS(Database Management System) : 데이터베이스를 생성·관리·운영하기 위한 소프트웨어

  • 대량의 구조화된 데이터를 효율적으로 저장하고, 사용자·애플리케이션이 요청한 데이터를 조회·수정·삭제 등의 연산을 수행하도록 지원

  • e.g. 회계 시스템, 인사 관리 시스템, 고객 지원 시스템 => DBMS 위에서 동작하는 애플리케이션

DBMS 종류

DBMS (Database Management System)
├── RDBMS (Relational DBMS)   👈 표 형태 / 정형 데이터 중심
├── NoSQL                     👈 비정형 데이터 / 유연한 구조
├── NewSQL                   👈 RDBMS + NoSQL 장점 융합

1. RDBMS (Relational DBMS, 관계형 데이터베이스)

데이터를 “표(table)” 형태로 저장
컬럼(열) = 속성, 로우(행) = 데이터 1건
SQL 사용 (SELECT, JOIN 등)

  • 정형 데이터에 적합 (예: 고객명, 주문일자, 금액 등)
  • 스키마가 엄격함 (미리 구조를 정의해야 함)

대표 제품 : MySQL, PostgreSQL, Oracle, Microsoft SQL Server, IBM Db2

2. NoSQL (Not Only SQL)

비정형 데이터 / 유연한 구조 / 고속 읽기-쓰기에 강함

  • 다양한 데이터 구조를 지원:
	문서형(Document) → MongoDB (JSON 저장)
	키-값(Key-Value) → Redis
	열(Column) → Cassandra
	그래프(Graph) → Neo4j
  • 스키마 없이도 저장 가능 (변화 많은 데이터에 유리)
  • SQL 대신 자체 쿼리 언어 또는 API 사용

대표 제품 : MongoDB (문서형), Redis (캐시/키-값 저장소), Cassandra (분산 시스템), Neo4j (그래프 DB)

3. NewSQL (신형 관계형 DB)

RDBMS + NoSQL의 장점 융합

  • SQL 지원

  • 수평 확장 가능

  • 높은 처리 성능

대표 제품: Google Spanner, CockroachDB, TiDB

주요 RDBMS(관계형 DBMS)

DB 엔진 순위 (출처 : https://db-engines.com/en/ranking)

순위DBMS 이름종류라이선스특징 요약
1OracleRDBMS상용대기업용, 보안·신뢰성 강력
2MySQLRDBMS오픈소스(Oracle 소유)가볍고 빠름, 웹 백엔드에 최적
3Microsoft SQL ServerRDBMS상용 (MS)Windows 서버에 최적화
4PostgreSQLRDBMS오픈소스기능 완전, 표준 준수 우수
5MongoDBNoSQL (문서형)오픈소스 + 상용JSON 기반, 유연한 스키마
6RedisNoSQL (키-값)오픈소스빠른 캐시, 실시간 처리
7IBM Db2RDBMS상용금융, 보험에 강함
8Elasticsearch검색 엔진오픈소스로그, 검색 데이터 최적
9SQLiteRDBMS오픈소스초경량, 모바일 앱 내장용
10MariaDBRDBMS오픈소스 (MySQL fork)MySQL과 호환, 커뮤니티 주도


DBMS 선택 기준

용도와 환경 따라 달라짐

1. 비용

  • 무료/오픈소스: MySQL, PostgreSQL, SQLite, MongoDB, Redis 등

  • 유료/상용: Oracle, MS SQL Server, IBM Db2 등
    → 기업용/보안이 중요한 곳은 Oracle, 개인/스타트업/학습용은 MySQL, PostgreSQL이 적합

2. 데이터 구조

  • 관계형 데이터(RDBMS): 정형 데이터, 표 형태 → MySQL, Oracle, PostgreSQL

  • 비관계형 데이터(NoSQL): 문서/JSON, 유동적 구조 → MongoDB, Firebase, Cassandra

3. 확장성 (Scale-Out)

  • 수평 확장이 필요하면: MongoDB, Cassandra, DynamoDB

  • 단일 서버 성능이 중요하면: PostgreSQL, Oracle

4. 호환성/생태계

  • 웹 개발: MySQL, PostgreSQL

  • 모바일: SQLite

  • Microsoft 생태계: SQL Server

  • 대기업/금융: Oracle, Db2

5. 사용 목적별

목적추천 DBMS
학습/입문용MySQL, PostgreSQL, SQLite
대규모 트랜잭션 처리Oracle, PostgreSQL
실시간 캐시Redis
JSON 기반 문서 저장MongoDB
모바일 앱SQLite
로그 수집/검색Elasticsearch
profile
호랑이기운

0개의 댓글