프로젝트

일반

사용자정보

NoSQL (Not Only SQL) » 이력 » 버전 1

이태훈, 2022/08/02 08:16

1 1 이태훈
h1. NoSQL (Not Only SQL)
2
3
* NoSQL은 Not Only SQL의 약자로 기본 RDBMS의 한계를 극복하기 위해 만들어진 새로운 형태의 데이터베이스입니다.
4
5
h2. 1) RDBMS의 한계
6
7
* 스키마 문제 : 빅데이터를 RDB의 스키마에 맞춰 변경해서 넣으려면 매우 긴 시간의 down time이 발생
8
* 스케일업의 한계 : RDBMS는 애초부터 Scale-out(분산 환경)을 염두 해 두고 설계되지 않아 관계 모델과 트랜젝션의 연산, 일관성, 속성을 유지하면서 분산 환경에서 RDBMS를 조작하는 것이 어렵다.
9
10
h2. 2) 특징
11
12
* 반정형화, 비정형화된 데이터에 적합하다
13
* 'ACID(Atomicity, Consistency, Isolation, Durability)'대신 Eventual Consistency'를 허용한다.
14
* 대용량의 데이터 저장에 더 유리하다.
15
* 특정 도메인의 문제해결에 뛰어나다
16
* 데이터를 질의하는 API가 다양하다.
17
* 데이터 모델이 매우 다양하다.
18
* 분산형 컴퓨팅에 최적화되어 있고 확장성이 뛰어나다
19
20
h2. 3) 장점
21
22
* 스키마가 없기 때문에 언제든지 저장된 데이터를 조정하고, 새로운 필드 추가 가능
23
* 데이터의 저장은 앱이 필요한 부분에 유동적으로 저장
24
* 수직, 수평 확장이 가능
25
26
h2. 4) 단점
27
28
* 중복된 데이터가 변경된 경우 여러개의 콜렉션에서 데이터를 바꿔야한다.
29
* 스키마가 존재하지 않기에 명확한 데이터 구조를 보장하지 않으며 데이터 구조를 결정하기 어려울 수 있다.
30
31
h2. 5) NoSQL 종류
32
33
# Document 방식
34
35
 * MongoDB
36
 * CouchDB
37
# Key-Value 방식
38
39
 * Redis
40
 * memchached
41
# Big Table DB
42
43
 * HBase
44
 * Cassandra
45
 * Hypertable
46
 * ScyllaDB