본문 바로가기
DATABASE

NoSQL 기술적 특성과 분류

by GREEN MANGO 2022. 10. 7.

NoSQL 기술적 특성

1. 스키마가 없다(NO SCHEMA)

키 값을 이용해서 다양한 형태의 데이터를 저장하고 접근이 가능하다. 데이터 저장 방식은 열, 값, 문서, 그래프 등에 따라 구분한다. 

2. 탄력성(ELASTICITY)

시스템 일부에 장애가 발생해도 클라이언트가 시스템에 접근이 가능하다. 질의 또는 요청이 많아지면 이에 대응할 수 있는 시스템 규모와 성능 확장이 가능하며, 입출력 부하가 발생해도 여러 노드들을 통해 이 부하를 분산시킬 수 있다. 

3. 질의(QUERY)

수천 대 규모까지 구성된 시스템에서도 데이터 특성에 맞는 검색과 처리가 가능한 질의 언어와 처리 기술 그리고 API를 제공한다. 

4. 캐싱(CACHING)

대규모 질의에도 고성능 응답속도를 제공하는 메모리 기반 캐싱 기술을 적용시키는 것이 중요하다. 

 

 

 

 

NoSQL 분류

1. KEY-VALUE 저장구조(ex. Amazon Dynamo DB, Amazon S3 *Simple Storage Service 등)

가장 간단한 모델이라서 속도가 빠르며 분산 저장에 유리하다. 하지만, 쿼리 질의 사용에는 한계가 있으며 응용 프로그램 모델링이 복잡하다. 

2. DOCUMENT 저장구조(ex. Amazon Simple DB, Apache Couch DB, MongoDB 등)

문서에는 서로 다른 스키마가 있는데 테이블의 스키마가 유동적이기 때문이다. 레코드 간에 관계 설명이 가능하다. 트리형 구조의 레코드를 검색 및 저장하는 데에 효과적이다. 

3. COLUMN 기반 저장 구조(ex. Apache Cassandra, Hbase 등)

 행마다 각 키와 값을 저장하기 때문에 다른 수의 스키마를 갖는다. 연관 데이터 위주를 읽는데 유리한 강점이 있어서 반대로 생각해보면 하나의 레코드를 변경하려면 여러 곳을 수정해야 하는 번거로움이 있다. 동일 도메인의 열 값이 연속되므로 압축 효율이 높다. 질의 범위가 크다. 

 

 

반응형

댓글