IT 세계에 있으면 다양한 DB를 접하게 되는데,
어떤 상황, 작업, 프로젝트에 적합한 DB인지 잘 모르곘더라...
따라서, 각 RDBMS의 특징을 큰 그림으로 바라보며 대략의 기준을 세우려고 작성해봅니다.
데이터베이스를 선택할 때 고려해야 할 주요 기준은 다음과 같습니다.
RDBMS | 라이선스 | 주요 특징 | 추천 사용 사례 |
---|---|---|---|
Oracle | 상용(유료) | - 대기업/금융권에서 많이 사용 - 강력한 트랜잭션 처리 및 보안 - PL/SQL 지원 | 금융, ERP, 대형 엔터프라이즈 시스템 |
MySQL | 오픈소스 / 상용 | - 가볍고 빠름 - 읽기 성능이 뛰어나며, 웹서비스에 적합 | 웹서비스, 스타트업, SaaS |
PostgreSQL | 오픈소스 | - 강력한 ACID 준수 - JSON, GIS 등 다양한 데이터 타입 지원 | 데이터 무결성이 중요한 시스템, GIS, 분석 |
MSSQL (SQL Server) | 상용(유료) / 무료버전 있음 | - MS 생태계(.NET)와 강력한 연동 - BI 및 데이터 분석 지원 우수 | MS 기술 기반 기업, BI/OLAP 시스템 |
MariaDB | 오픈소스 | - MySQL 호환, 성능 개선 - 오픈소스 기업들이 선호 | MySQL 대체, 비용 절감 |
IBM Db2 | 상용(유료) | - 대형 기업용 RDBMS, 강력한 트랜잭션 처리 | 대기업, 금융, 메인프레임 연동 |
CockroachDB | 오픈소스 / 상용 | - PostgreSQL 기반 분산형 DB - 자동 샤딩 및 복제 | 글로벌 서비스, 대규모 트랜잭션 |
TiDB | 오픈소스 | - MySQL 호환 분산형 DB - 대규모 데이터 처리를 위한 NewSQL | 대규모 OLTP, 빅데이터 |
Amazon Aurora | 클라우드 서비스 (AWS) | - MySQL 및 PostgreSQL 호환 - 자동 확장 및 고가용성 | 클라우드 네이티브 애플리케이션 |
Google Cloud Spanner | 클라우드 서비스 (GCP) | - 글로벌 분산 트랜잭션 지원 - 강력한 확장성 | 멀티 리전 분산 시스템, 글로벌 서비스 |
SQLite | 오픈소스 | - 파일 기반 경량 DB - 설치가 간단하며 모바일/임베디드 시스템에 적합 | 모바일 앱, IoT, 로컬 데이터 저장 |
Teradata | 상용(유료) | - 대형 데이터 분석 최적화 (MPP 기반) - 엔터프라이즈급 DW/BI 지원 | 대규모 데이터 웨어하우스 (DW), BI |
Snowflake | 클라우드 서비스 (SaaS) | - 클라우드 네이티브 DWH - 스토리지 & 컴퓨팅 분리, 자동 확장 | 클라우드 기반 데이터 웨어하우스 (DWH), BI, ML |
즉, "모든 RDBMS가 같아 보이지만, 실제로는 목적과 환경에 따라 최적의 선택이 달라진다" 라고 볼 수 있습니다.