키-값 데이터베이스
- 구조 단순
- 빠른 읽기 및 쓰기 성능 제공
- Redis, Amazon, DynamoDB
문서 지향 데이터베이스
- JSON, BSON, XML등의 형식으로 데이터 저장
- 유연한 스키마
- 복잡한 데이터 구조를 쉽게 표현
- MongoDB, CouchDB
- ex. 콘텐츠 관리 시스템, 사용자 프로필 저장
열 지향 데이터베이스
- 대량의 데이터 처리에 적합
- 행마다 각기 다른 수의 열와 여러 데이터 유형을 가질 수 있음
- Apache Cassandra, HBass
그래프 데이터베이스
- 복잡한 관계 표현
- 레이블(그룹화된 노드)을 통해 쿼리를 쉽게 작성, 효율적으로 실행
- ex. 소셜 네트워크 분석, 추천 시스템
시계열 데이터베이스
- 시간에 따라 변화하는 데이터 저장
- 타임스탬프가 있는 매트릭, 이벤트 처리 등을 위해 활용
- InfluxDB, Promethus, TimescaleDB
- IoT데이터 수집, 금융 데이터 분석
Q. 실시간 채팅 앱에 적합한 NoSQL을 사용한다면 어떻게 구성?
빠르게 주고받는 처리 속도, 유연하고 수평 확장이 가능한 저장 구조가 가장 중요한 포인트라고 생각한다.
- 실시간 전송 -> Redis Pub/Sub기능 사용(낮은 지연 시간으로 사용자 간 메시지를 브로드캐스트 가능)
- 저장 구조 -> MongoDB(문서지향 데이터베이스로 채팅 메시지나 사용자 정보 등을 JSON형식으로 유연하게 저장 가능/ 샤딩 기능을 토해 수평 확장이 가능하기 때문에 사용자 수가 증가하거나 메시지 양이 많아져도 성능 저하 없이 안정적으로 확장 가능)
'cs(with 매일메일)' 카테고리의 다른 글
| [260306금] SQL 인젝션에 대해 설명해주세요. (0) | 2026.03.06 |
|---|---|
| [260305목] 테스트 격리란 무엇인가요? (0) | 2026.03.05 |
| [260303화] 템플릿 메서드 패턴이란 무엇인가요? (0) | 2026.03.03 |
| [260302월] 논리 삭제와 물리 삭제의 차이점은 무엇인가요? (0) | 2026.03.03 |
| [260227금] 어떤 예외가 발생하면 트랜잭션을 롤백하나요? (0) | 2026.02.27 |