NoSQL
- Not Only SQL : 기존의 관계형 DBMS가 가지고 있는 특성뿐만 아니라 다른 특성들을 부가적으로 지원한다.
- 기존의 RDBMS가 가진 특성: ACID
- Atomic
- Consistency
- Integrity
- Durablity
특징
- 기존의 관계형 데이터베이스보다 더 융통성 있는 데이터 모델 사용
- 데이터의 저장 및 검색을 위해 특화된 매커니즘 제공
- 단순 검색 및 추가 작업에 최적화된 키 값 저장 기법 사용
- 응답속도, 처리효율에 뛰어난 성능
관계형 DB와의 차이
- 관계형 모델 x, 테이블간 조인 기능 없음
- 여러 대의 데이터베이스 서버를 묶어서 하나의 데이터베이스를 구성 (클러스터링)
- Data 처리 완결성 (Transaction ACID 지원) 미보장
- 데이터의 스키마와 속성들의 다양하게 수용함, 동적 정의
- 데이터베이스의 중단 없는 서비스, 자동 복구 기능 지원
- Open Source 다수
- 확장성, 가용성, 높은 성능
NoSQL의 종류
- Key Value DB : Key - Value 쌍으로 데이터가 저장된다.
-
Wide Columnar Store (Big Table DB) : Key - Value에서 발전된 형태의 Column Family 데이터 모델 사용 ex) HBase, Cassandra
-
Documnet DB : Json, Xml과 같은 Collection 데이터 모델 구조 채택 ex) MongoDB
- Graph DB : Nodes, Relationship, Key - Value 데이터 모델 채택