이것저것

NOSQL 에 대하여 본문

Database

NOSQL 에 대하여

nays111 2021. 4. 17. 23:24

RDBMS 과 NOSQL의 차이란?

가장 큰 차이는 RDBMS(관계형 데이터베이스)에는 "TABLE(테이블)"이 존재한다는 점이다. 테이블을 통해 데이터의 종속성을 관계로 표현한다는 것이 RDBMS의 가장 큰 특징이다!
반면, NOSQL은 행과 열로 이루어진 테이블 형식 스키마를 사용하지 않는다. 즉, 고정된 테이블 스키마가 필요하지 않다는 것이 NOSQL의 가장 큰 특징이다.

NOSQL 의 장점

- 가장 큰 장점이라면 NOSQL에서는 JOIN 연산을 사용할 수 없기 때문에, 스케일 아웃을 통한 노드 확장이 용이하다. (수평적 확장 가능)

- 또한, 고정적인 테이블 스키마가 필요 없기 때문에 가변적인 구조로 데이터를 저장할 수 있기 때문에 유연성이 높다.

NOSQL 의 단점

- 다양하고 복잡한 쿼리의 사용이 불가능하고 일관성을 항상 보장할 수 없다.

- 인덱스를 사용하여 검색하지 않고 key를 사용한다.

NOSQL 의 특성

soft-state -노드의 상태는 내부에 포함된 정보에 의해 결정되는 것이 아니라 외부에서 전송된 정보를 통해 결정되는 속성
-특정 시점에서는 데이터의 일관성이 보장되지 않는다.
eventually consistency -일정 시간이 지나면 데이터의 일관성이 유지되는 속성
-일관성을 중시하고 지향
basically available -언제든지 데이터는 접근할 수 있어야 하는 속성
-분산 시스템이기 때문에 항상 가용성을 중시

 

NOSQL의 유형

column family store -key 안에 (column, value) 조합으로 된 여러 개의 필드를 갖는 DB
-테이블 기반, 조인 미지원, 컬럼 기반, 구글의 bigtable기반으로 구현
ex) HBase, Cassandra
document store -value의 데이터 타입인 document라는 타입을 사용하는 DB -document타입은 xml, json, yaml 과 같이 구조화된 데이터 타입으로, 복잡한 계층 구조를 표현할 수 있음
ex) MongoDB, Counchbase
graph store -시맨틱웹과 온톨로지 분야에서 활용되는 그래프로 데이터를 표현하는 DB
ex) Neo4j, AllgroGraph
key-value store -unique한 key에 하나의 value를 가지고 있는 형태
-키 기반 GET/PUT/DELETE 제공하는 빅데이터 처리 가능 DB
ex) Redis, Dynamo DB

'Database' 카테고리의 다른 글

Locking (로킹)  (0) 2021.04.19
DB 동시성 제어  (0) 2021.04.17
Transaction - ACID  (0) 2021.02.17
2PL  (0) 2021.01.10
DBCP  (0) 2021.01.10
Comments