반응형
NoSQL이란
- 기존의 관계형 데이터베이스의 한게를 벗어나 비정형, 초고용량 데이터 처리를 위해 만들어짐
- 쓰기속도에 중점을 둠
- 다수 서버에 데이터 복제,분산,저장 등 수평적 확장이 가능
NoSQL특징
1. 대용량 데이터 처리 : 페타바이터 수준의 데이터 처리 수용 가능
2. 유연한 스키마 사용
3. 저렴한 클러스터 구성 : 다수 서버를 통한 수평적인 확장 및 데이터 복제 및 분산 저장 가능
4. 높은 가용성 제공
5. 탄력성 : 시스템 일부 장애에도 불구하고 시스템에 접근하는 클라이언트, 응용시스템의 다운타임이 없도록 함
6. 질의가능 : 수십 대에서 수천 대 규모로 구성된 시스템에서도 데이터의 특성에 맞게 효율적으로 데이터를 검색/처리 할 수 있음
7. 높은 확장성
NoSQL종류
1. Key-Value : 단순하고 빠른 get, put delete기능(Redis)
2. Column Family : 관계형 데이터베이스의 테이블에 대응되는 칼럼 패밀리에 행으로 데이터를 저장하는 형태
3. Document : XML, JSON, 등의 문서를 Key-Value데이터베이스의 Value부분에 저장하는 형태 (mongodb)
4. Graph : 관계형 데이터베이스에서 엔트리 속성을 노드로, 관계를 노드간 엣지로 표현하는 형태
NOSQL(BASE)과 RDBMS(ACID)의 차이
BASE | ACID | |
적용분야 | NOSQL | RDBMS |
범위 | 시스템 전체에 대한 특성 | 트랜잭션에 한정 |
일관성 측면 | 약한 일관성 | 강한 일관성 |
중점사항 | Availability | Commit |
시스템 측면 | 성능 | 엄격한 데이터 관리 |
효율성 | 쿼리 디자인 | 테이블 디자인 |
반응형