새발블로그
DBMS 개념 본문
1. 개념 정리
| 용어 | 설명 |
| DB (Database) | 데이터를 구조화하여 저장한 집합. 텍스트 파일, CSV, JSON, 테이블 등 다양한 형태가 있음 |
| DBMS (Database Management System) | DB를 관리하는 소프트웨어 시스템. 데이터를 효율적으로 저장, 조회, 수정, 삭제할 수 있음 |
| RDBMS (Relational DBMS) | DBMS의 한 종류로, 데이터를 테이블(관계형 모델) 형태로 저장하고 SQL을 사용하여 조작 |
| NoSQL | 관계형 모델이 아닌 데이터 저장 시스템. 비정형 데이터, 대용량 처리, 유연한 스키마 구조에 강점 |
2. 상세 비교표
| 항목 | DB | DBMS | RDBMS | NoSQL |
| 의미 | 데이터 저장소 | DB를 관리하는 시스템 | 테이블 기반 DBMS | 비관계형 DBMS |
| 구조 | 다양한 구조 (파일 등) | 구현 방식 다양 | 테이블(Row-Column 구조) | 문서, 키-값, 그래프, 컬럼 등 |
| 관계 지원 | X | DBMS마다 다름 | O (외래 키 등) | X (필요 시 애플리케이션에서 구현) |
| 스키마 | 없음 | 있음 (유형에 따라 다름) | 고정 스키마 | 유연한 스키마 또는 없음 |
| 트랜잭션 | 없음 | 일부 지원 | ACID 보장 | 일부는 BASE 보장 (Eventually consistent 등) |
| 쿼리 언어 | 없음 | SQL 또는 자체 쿼리 | SQL | 자체 쿼리 (ex: Mongo Query, CQL 등) |
| 확장성 | 없음 | 제한적 | 수직 확장 위주 | 수평 확장 유리 |
| 성능 | 단순 저장 | 관리 목적 | 정합성/무결성 중요 | 속도/확장성 중요 |
| 예시 | CSV, 엑셀, JSON | MongoDB, SQLite | MySQL, PostgreSQL, Oracle | MongoDB, Redis, Cassandra, DynamoDB |
3. RDBMS vs NoSQL 핵심 차이
| 항목 | RDBMS | NoSQL |
| 데이터 저장 방식 | 행과 열로 구성된 테이블 | 문서, 키-값, 그래프, 컬럼 등 |
| 스키마 | 고정 스키마 필요 | 유연한 스키마 또는 스키마 없음 |
| 관계 설정 | 테이블 간 관계 명시 가능 (외래 키) | 직접 관리해야 함 (관계 없음이 기본) |
| 트랜잭션 | ACID 보장 | BASE 지향 (일관성보다 가용성 우선) |
| 사용 예 | 은행, ERP, 회계 등 정합성이 중요한 시스템 | SNS, IoT, 로그 저장 등 대용량/빠른 처리 요구 시스템 |
4. 예시 요약
| 분류 | 기술 |
| DBMS | MySQL, Oracle, SQLite, MongoDB 등 |
| RDBMS | MySQL, PostgreSQL, Oracle, MariaDB, SQL Server |
| NoSQL | MongoDB (문서형), Redis (키-값형), Cassandra (컬럼형), Neo4j (그래프형) |
'Server > DB' 카테고리의 다른 글
| [DB] MongoDB (0) | 2025.06.25 |
|---|---|
| [DB] 인덱스 , 쿼리 최적화, 트랜잭션 (0) | 2025.06.25 |
| [SQL] 테이블, 뷰 (1) | 2025.06.25 |
| [SQL] SQL 심화 명령어 (0) | 2025.06.25 |
| [SQL] SQL 기본 명령어 (0) | 2025.06.25 |