이것저것
NOSQL 에 대하여 본문
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