데이터베이스의 종류에는 여러가지가 있다.
그 중 NoSQL에 대해 알아보려고 한다.
NoSQL이란?
"Not Only SQL"의 약자로 관계형 데이터베이스 모델 이외의 다양한 데이터베이스를 지칭하는 용어이다.
특징으로는
유연한 스키마 : 동적 스키마로 데이터 구조를 자유롭게 변경하고 확장
분산 데이터베이스 : 대부분 수평 확장성을 갖추어, 대규모 데이터 처리와 분산 우수
비정형 데이터 지원 : 비정형 및 반정형 데이터를 저장하는데 적합하여 다양한 데이터 유형 처리
NoSQL 방식의 데이터베이스의 종류와 특징
| 구분 | MongoDB | Redis |
|---|---|---|
| 종류 | 문서 지향 데이터베이스 | 키-값 데이터베이스 |
| 저장 방식 | JSON이나 BSON과 같은 문서 형식으로 저장 | 키와 값의 쌍으로 데이터를 저장 |
| 용도 | 대용량의 문서 기반 데이터 | 빠른 응답이 필요할 때 |
| 예 | 웹 애플리케이션, 블로그, 컨텐츠 관리 시스템 | 캐싱, 세션관리, 실시간 리더보드, 메시지 큐 |
| 장점 | 다양한 쿼리 작성 및 인덱싱을 지원하여 데이터 검색 용이 | 데이터를 메모리에 저장, 빠른 읽기/쓰기를 제공하여 높은 처리량 보장 |
요약
MongoDB는 대용량의 문서 데이터를 저장하고 검색하는데 적합하며,
Redis는 빠른 응답 시간과 다양한 데이터 구조를 제공하여 캐싱, 세션 관리 등의 용도로 사용된다
많이 사용되는 NoSQL 알아보기
MongoDB 와 Cassandra의 아키텍처에 대해 알아보자
시스템이나 소프트웨어의 전체적인 구조나 설계를 의미한다. 이는 어떻게 구성되고 동작하는지를 결정하는 중요한 요소이다.
| 구분 | MongoDB | Cassandra |
|---|---|---|
| 아키텍처 구조 | 문서 지향 데이터베이스로, JSON 형식의 문서를 저장하며 클라이언트-서버 아키텍처를 기반으로 하며, 여러 노드로 구성된 복제 세트를 통해 고가용성을 제공 | 분산형 데이터베이스로, P2P 네트워크를 기반으로 모든 노드가 동등하게 운영됨. 각 노드는 데이터의 일부를 저장하고, 자동 파티셔닝을 통해 데이터를 분산 저장한다. |
| 장점 | • 유연한 데이터 모델 • 쉬운 확장성 • 다양한 쿼리 및 인덱싱 | • 높은 가용성과 확장성 • 선형적인 성능 향상 • 빠른 쓰기 속도 제공 |
| 사용 사례 | ![]() ![]() | ![]() ![]() |
멋져요!