DB/[이론]

NoSQL

씩씩한 IT블로그 2022. 3. 11. 22:17
반응형

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
시스템 측면 성능 엄격한 데이터 관리
효율성 쿼리 디자인 테이블 디자인
반응형