320x100
320x100

관계형 데이터베이스 (RDB, Relational Database)

빠른 업데이트가 필요할 때 사용

ACID 트랜잭션을 지원하기 때문에 '모두 성공하거나, 하나라도 실패하면 취소'라는 원칙을 철저하게 지킬 수 있다

그러나 데이터가 지나치게 커지거나 분석 쿼리를 자주 돌려야하는 경우에는 속도가 떨어질 수 있다

MySQL, PostgreSQL, Oracle DB, Ms SQL 등

 

 

 

 

열 데이터베이스 (Columnar Database)

빅데이터 분석에 유리

열단위로 데이터를 저장하기 때문에 대규모 데이터 분석에 유리

한 속성에 대해서 대규모로 계산하는 것은 쉽지만, 여러 속성에 대한 대규모 계산은 RDB보다 느림

데이터를 자주 수정하는 경우에도 RDB보다 불리

Apache HBase, Amazon Redshift, Click House 등

 

 

 

 

문서형 데이터베이스 (Document Database)

유연한 데이터 구조가 필요할 때 사용

JSON 형태의 문서를 유연하게 저장할 수 있다

객체지향 언어로 개발할 때도 객체 형태로 만든 정보를 바로 JSON으로 변환해 저장할 수 있어 편리하다

Mongo DB 등

 

 

 

그래프 데이터베이스 (Graph Database)

복잡한 관계를 쉽게 표현 할 때 유리 (추천 시스템, 소셜 네트워크 분석 등)

노드와 엣지라는 개념으로 데이터의 관계를 저장하는 방식

RDB에서 JOIN을 통해 관계를 찾을 수 있지만 그래프 데이터베이스는 훨씬 직관적으로 복잡한 관계를 추적할 수 있게 해줌

ArangoDB, Neo4j 등

 

 

 

벡터 데이터베이스 (Vector Database)

다양한 형태의 데이터를 저장할 때 유리 (AI)

텍스트, 이미지, 음성, 동영상 등 다양한 형태의 데이터를 임베딩 기법으로 숫자 백터로 변환하여 저장

Pinecone, Milvus, Weaviate 등

 

 

 

키-값 데이터베이스 (Key-Value Database)

단순함이 필요할 때 유리 (실시간성이 중요한 서비스, 캐싱 및 세션 관리)

키와 값 쌍으로 데이터를 보관

Memcached, Redis 등

 

 

 

 

시계열 데이터베이스 (Time Series Database)

시계열 데이터 처리 (예약 수, 접속량, 매 시간 기온 등)

time stamped 데이터를 처리하기에 최적화된 데이터베이스

InfluxDB 등

 

 

 

 

 

 

 

Reference

 

언제, 어떤 DB를 써야 할까? 데이터베이스 개념 정리 | 요즘IT

데이터베이스는 말 그대로 정보를 저장하는 창고 같은 곳입니다. 우리가 원하는 정보를 빠르고 정확하게 꺼내 올 수 있어야 하고, 동시에 저장 용량이 커도 처리에 무리가 없어야 하죠. 오늘은

yozm.wishket.com

 

300x250
728x90