2023 02 23
2023-02-23¶
NoSQL¶
- 등장 배경
- 데이터 패러다임의 변화: 복잡+소규모 -> 단순+대규모
- 기존 RDB와 다른 DB의 필요성이 대두됨
- 특징
- 대용량
- 분산
- No Relation, No Schema
- No SQL, Not Only SQL
- 종류
- Key-Value: Redis
- Document: MongoDB
- Wide-Column: Hbase
- Graph: neo4j
MongoDB¶
- 계층 구조
- Database > Collections(rdb의 table) > Documents(rdb의 row) > Fields(rdb의 column)
- Schema 구조
- Query 형태
- MQL(MongoDB Query Language)
MongoDB¶
- Index
- Regular Index: 일반적으로 사용하는 인덱스
- Geospatial Index: 지구 공간 정보 저장
- Text Index: 문자열 내용에 대한 텍스트 검색 쿼리 지원
- Hashed Index: 해싱된 값 저장
- Multikey Index: 배열의 각 요소에 대한 검색 지원
- TTL Index: 보관 기간 지난 도큐먼트 자동 삭제
- Architecture
- Dynamic Document Schema: 스키마 저장
- Native Language Drivers: MQL 이해할 수 있도록
- High Availability: 레플리카셋
- High Performance: 데이터 지역성, 인덱스, RAM 사용
- Horizontal Scalability: 샤딩
- Sharding
- 분산시스템의 꽃