분류로 보는 DBMS
RDB (Relational Database)
- MySQL
: 웹 애플리케이션에서 가장 많이 사용되는 DBMS 중 하나
: 경제적인 비용과 빠른 구축 속도로 인해 많은 스타트업 및 중소기업에서 사용
- Oracle
: 대규모 DBMS가 필요한 금융, 통신, 제조, 공공 부문과 같은 엔터프라이즈 시스템에서 주로 사용
: 고성능, 확장성 및 보안 요구를 충족시키는데 강점이 있다
: 금융 및 온라인 거래 플랫폼에서 신뢰성 높은 데이터 처리가 필요한 경우 사용
- PostgreSQL
: 데이터 분석 및 과학 분야에서 자주 사용
: 복잡한 쿼리와 고급 데이터 분석 기능을 필요로 하는 경우에 적합
: 확장 가능성과 공간 데이터 처리 능력이 좋아 지리 정보 시스템 (GIS) 및 공간 분석 애플리케이션에서 널리 사용
- SQL Server
: 비즈니스 인텔리전스 툴과의 통합성이 뛰어나며, 대시보드, 보고서 및 분석을 위한 데이터 웨어하우스 환경에서 사용
: MS 제품군과의 원활한 통합이 가능하여 Windows 기반의 애플리케이션과 함께 사용
Distribute SQL (No-SQL)
: 데이터를 여러 서버 또는 노드에 분산하여 저장하는데 중점을 둔 DBMS
: 분산 시스템을 구축하고 운용하는데에 있어 기본 도구만 이용해도 커버가 가능
- MongoDB
: 문서 지향적인 방식으로, 다양한 형태의 데이터를 BSON (Binary JSON) 형식의 문서로 저장하며, 스키마의 유연성을 가짐
: 복잡한 데이터 구조를 다루는 경우나, 스키마의 변동성이 크거나 예측 불가능한 경우에 유용
: 웹 애플리케이션, 블로그, 컨텐츠 관리 시스템에 활용
: 확장이 쉬우며, 다양한 쿼리가 가능하면서 레플리케이션 및 샤딩을 지원하나, Join 연산이 어려우며 복잡한 쿼리의 경우 성능 문제가 있다
- Couchbase
: Key-Value 및 문서 데이터 모델을 지원하며, 메모리 기반 캐싱을 지원
: 실시간 분석, 게임 서버, 세션 관리등에 유용하며, 데이터의 높은 처리량과 낮은 지연 시간을 필요로 하는 애플리케이션에 적합
: 뛰어난 확장성과 자동 장애 복구, 인메모리 캐싱, NoSQL 및 SQL 쿼리의 결합이 가능하나, 복잡한 쿼리에 대한 지원이 적으며, 보편적이지 않다
- Cassandra
: 대규모 분산 데이터 저장에 강하며, 높은 가용성과 확장성을 필요로 하는 애플리케이션에 적합
: 로그 및 이벤트 데이터 저장, 센서 데이터 수집, 소셜 미디어 분석 등에서 유용
: 고 가용성, 자동 복제, 분산 확장성, 빠른 읽기/쓰기 속도가 장점이나, 복잡한 쿼리 및 트랜잭션 처리에 약하며, 데이터 모델링이 상대적으로 복잡하다
In-Memeory DB
: 데이터베이스를 메모리에 저장하고 처리하는 DBMS
- Redis
: 매우 빠른 읽기 및 쓰기 성능을 제공
: 문자열, 해시, 리스트, 집합 등 자양한 데이터구조를 지원
: pub/sub 메커니즘을 통한 실시간 이벤트 처리가 가능하며 데이터를 디스크에 저장할 수 있음
: 복제와 고가용성 설정이 복잡하며, 단일 스레드 모델을 사용하기 때문에 병렬처리에 제한이 존재
Metric DB
: 시계열 데이터를 다루기에 적합한 DBMS
- Influx DB
: 고성능을 자랑하며 SQL과 유사한 influxSQL이라는 질의 언어를 제공해 사용성이 편함
: 그러나 오픈소스 버전의 경우 몇가지 제약이 존재
- Prometheus
: promQL이라는 강력한 쿼리언어를 통해 복잡한 모니터링이 가능
: 쿠버네티스 및 도커와 같은 컨테이너 환경에서 모니터링을 위한 네이티브를 지원
: 데이터 장기 보존에 대한 추가적인 솔루션 필요
GraphDB
: 그래프 데이터를 저장하기 위한 DBMS
- Neo4j
: 가장 많이 사용하는 그래프 데이터베이스
: 복잡한 관계를 효과적으로 모델링하고 조회
- Amazon Neptune
: AWS에서 제공하는 완전 관리형 그래프 데이터베이스
: 네트워크, 지리, 소셜 관계와 같은 복잡한 데이터를 저장하고 분석하기에 유용
Embeded DB
: 응용 프로그램 내 데이터베이스 엔진이 내장되어 있는 DBMS
: 서버나 애플리케이션의 내장 디비, 캐시용도로 사용
- SQLite
: IOS 앱에서 가장 많이 사용하는 DB
Reference
분류로 살펴보는 DBMS 이야기
다양한 DB 설명 및 각각의 장단점과 어떤 때 쓰면 좋을지를 살펴봅니다.
f-lab.kr