<aside>
💡 NoSQL = Not Only SQL
다른 여러가지 해석이 있긴한데 통용되는게 이거라고함
</aside>
특징
- 관계형 데이터베이스보다 더 유연한 데이터 모델을 제공
- 대량의 데이터를 빠르게 처리할 수 있음
- 스케일아웃 방식을 지원하여 시스템의 확장성이 용이함
- 데이터의 저장 및 검색에 최적화된 다양한 데이터 구조를 제공
- 대표적인 NoSQL: Redis, Dynamo, CouchDB, MongoDB
MongoDB
- JSON 형태의 document 저장
- 데이터의 스키마가 고정되지 않아 유연성이 높음
- 높은 병렬처리 및 분산처리가 가능하여 대용량 데이터 처리에 적합함
- 기본적으로 샤딩, 복제 등의 기능을 지원하여 가용성과 확장성이 뛰어남
쿼리 예시
db.user.insertOne({uid: 'admin', upw: 'secretpassword'})
db.inventory.find(
{ $and: [
{ status: "A" },
{ qty: { $lt: 30 } }
]}
)
Redis
- 키-값(Key-Value)의 쌍을 가진 데이터를 저장
- 메모리 기반으로 빠름 → 임시 캐시로 많이 사용
- 데이터 구조를 여러 가지 타입을 지원 (String, Set, Sorted Set, Hash 등)