1.1 NoSQL 개념
- 기하급수적으로 늘어나고 있는 데이터 양을 관리하기 위해 등장한 새로운 데이터 저장 관리 기술
- 클라우드 컴퓨팅과 클라이언트/서버 플랫폼 모두를 기반으로 함
- 기존 SQL 기능 뿐만 아니라 SQL 이 할 수 없는 영역의 기술도 제공하는 대체기술/보완기술
- NoSQL 은 대부분 오픈소스 라이선스/엔터프라이즈 라이선스 2개의 듀얼 라이선스를 제공하기 때문에 비용 절약 가능
(RDBMS 는 분산 시스템을 구축해야 할 때도 라이센스를 여러개 구매 해야하는 단점이 존재)
- NoSQL 의 데이터 저장구조: 비정형 구조
1) 컬렉션 (Collection)
2) 테이블 (Table)
3) 노드 (Node)
1.2 NoSQL 종류
1.2.1 NoSQL 제품
NoSQL 은 4가지 유형의 데이터 구조 제공
=> 데이터의 유용성, 일관성, 지속성으로 분류
1) 키-밸류(key-value) DB
ex) Redis
2) 컬럼-패밀리(Column-Family) DB
3) 도큐먼트(Document) DB
ex) MongoDB
4) 그래프(Graph) DB
1.2.2 빅데이터 데이터 모델링을 위한 가이드라인
- 초당 45만 건 이상의 데이터가 발생하는가? N ---------RDBMS
- 트랜잭션 제어가 필요한가? N ---------------------------hadoop
- 무결성이 요구되는 데이터인가? N ----------------------Key-Value, ColumnFamily DB
primary key, foreign key, not null, check, unique 와 같은 제약 조건이 있어야 하는가?
- 수평적 DataSets 구조인가? N ---------------------------Document DB
2차원 테이블 구조인지?
- 계층형 데이터 구조인가? N -----------------------------Graph DB