✅ CDB (Container Database)
도입 배경: Oracle 12c부터 도입된 아키텍처로, 클라우드 환경 및 다중 테넌시를 지원하기 위한 구조입니다.
특징:
- 컨테이너 기반 구조:
- 하나의 CDB 안에 여러 개의 **PDB (Pluggable Database)**를 담을 수 있음.
- 논리적으로 독립된 DB를 하나의 인스턴스에서 운영 가능.
- 구성 요소:
- CDB$ROOT: 전체 DB 인프라를 담당.
- SEED: PDB 생성을 위한 템플릿 역할.
- PDBs: 실제 사용자 데이터가 저장되는 논리 DB.
- 장점:
- 멀티 테넌트 환경에 적합.
- 자원 절약 및 관리 용이.
- 하나의 패치로 모든 PDB에 적용 가능.
- 관리:
- CDB 레벨에서 인스턴스 시작/정지, 백업/복구 가능.
- PDB 레벨에서 사용자, 스키마, 데이터 개별 관리.
- 적용 예시: 클라우드 환경(AWS RDS), SaaS 구조에 적합.
✅ RDB (Relational Database)
기본 개념: 전통적인 관계형 데이터베이스 아키텍처.
특징:
- 단일 데이터베이스 구조:
- 하나의 인스턴스에 하나의 DB가 존재.
- 모든 스키마 및 사용자 데이터가 같은 DB 안에 존재.
- 구성 요소:
- 데이터파일, 컨트롤파일, 로그파일 등으로 구성.
- 전통적인 방식으로 사용자/스키마 관리.
- 장점:
- 구조가 단순하고 익숙함.
- 초기 학습과 관리가 용이.
- 제약:
- 다중 고객 환경을 하나의 DB로 분리 운영하기 어려움.
- 버전별 기능 확장이 제한적.
🔍 Oracle 11g vs Oracle 23ai 기준
항목 |
Oracle 11g |
Oracle 23ai (또는 12c 이상) |
CDB 지원 |
❌ 미지원 |
✅ 기본 제공 |
구조 |
RDB 단일 구조 |
CDB + PDB 멀티테넌트 |
장점 |
단순함, 익숙함 |
효율적 자원 활용, 다중 DB 관리 |
적용 대상 |
전통적 단일 시스템 |
클라우드, 다중 환경 관리 |