상세 컨텐츠

본문 제목

[매일메일] NoSQL 데이터베이스의 유형에는 어떤 것들이 있나요?

본문

내가 아는 NoSQL DB는 말 그대로 데이터베이스 저장 형식이 자유로운 것으로 알고 있다.

RDB나 벡터 디비처럼 어떤 연관성을 갖는 데이터를 관리하는 것이 아닌, 자신이 데이터를 정의하고 그 안에서 저장하고 사용할 수 있는 것으로 알고 있다. (예시 type:Graph)

 

매일메일의 설명으로는,

NoSQL 데이터베이스의 유형은 키-값, 문서-지향, 열 지향, 그래프, 시계열이 있다고 한다.

 

키 - 값 데이터베이스

: 키를 고유한 식별자로 하는 키 - 값 쌍의 형태로 저장 (Redis, Dynamo DB)

 

문서 지향

: JSON, BSON, XML 등의 형식으로 데이터 저장 (MongoDB, CouchDB)

 

열 지향

: 대량의 데이터를 처리하는데 적합, 행마다 각기 다른 수의 열과 여러 데이터 유형을 가질 수 있음 (Apache Cassandra, HBase)

- 대규모 데이터 분석, 로그 수집 등

 

그래프

: 노드, 엣지 구조로 구성된 그래프로 데이터를 저장 (Neo4j, Amazon Neptune)

- 소셜 네트워크 분석, 추천 시스템

 

시계열

: 시간에 따라 변화 데이터 저장, 타임스탬프가 있는 메트릭, 이벤트 등을 처리하기 위해 사용 (InfluxDB, Prometheus, TimescaleDB)

- IoT 데이터 수집, 금융 데이터 분석 등 사용 가능

 

만약 실시간 채팅 앱에 적합한 NoSQL을 사용한다면?

:

실시간 메시지 전송 - Redis의 Pub / Sub 기능을 사용 (낮은 지연 시간으로 사용자 간 메시지를 브로드 캐스트)

실제 메시지를 영구 저장 시, MongDB 사용

MongoDB는 샤딩 기능으로 수평 확장이 가능하기 때문에 사용자 수가 증가하거나 메시지 양이 많아져도 성능 저하 없이 안정적으로 확장할 수 있음.

관련글 더보기