NoSQL(CAP 이론) [NoSQL] RDBMS 한계를 벗어나, 고용량의 비정형 데이터를 효율적으로 처리할 수 있는 구조와 유연성을 가진 분산DBMS
[CAP이론] 분산시스템이 갖출 수 있는 일관성,가용성, 부분결함허용 3가지 특성 중 2가지만 선택 가능하다는이론
CAP(일관성(Consistency), 가용성(Availability), 단절내성(Partition Tolerance))
BASE(Basically Available, Soft state, Eventually Consistency) 속성
[모델구조] Key-Value 모델, 열 지향 모델, 문서 데이터베이스 모델, 그래프 모델
[모델링패턴] 비정규화, Aggregation, Application Side Join, Atomic Aggregate, Index Table Composite Key Table
Big Data 키컬도그
 
 
토픽 이름 NOSQL이론(CAP이론)
분류 데이터베이스 > DB유형 > NoSQL(CAP 이론)
키워드(암기) 유연성, 확장성, 간단, 비관계형, 조회성능향상, CAP이론(2가지선택), BASE
암기법(해당경우) 유형: Key Value, Column Family, Document, Graph(키컬도그)

 

기출문제

번호 문제 회차
1 11. Column Family 데이터베이스 123.관리.1.11
1 9. NoSQL 117.관리.1.9
2 NoSQL특징, 데이터 모델링 패턴 데이터 모델링 절차에 대하여 설명하시오. 관리114.3.1
3 NoSQL(Not only Structured Query Language) 대해 설명하시오. 컴시응.110.1.9
4 NOSQL CAP Theorem 대하여 설명하시오 관리93.1.8
5 3. NoSQL 특징인 BASE 설명하시오. 모의_2018.01.응용.1
6 3. 다음 제시된 조건에 따라 관계형 E-R모델과 NoSQL 모델을 제시하시오.
-----------------------------------------------------
[주제] 영화평론
[업무내용]
- 영화평론가는 영화를 보고 영화평론을 쓴다.
- 영화평론가는 이름과 블로그 주소를 관리한다.
-----------------------------------------------------
합숙_2019.08-공통- Day5

 

I. RDBMS 복잡도와 용량 한계 극복, NoSQL 개요

. NoSQL(Not Only SQL) 정의

- RDBMS 한계를 벗어나, 고용량의 비정형 데이터를 효율적으로 처리할 수 있는 구조와 유연성을 가진 분산 DBMS

. NoSQL 특징

 

II. NoSQL 데이터 모델 구조(유형)

유형 설명
Document
기반


-데이터를 key/value pair 저장하지만 value 부분에 문서(json, xml 포멧 같은) 저장되는 데이터베이스 유형.
- 관계형 데이터베이스의 경우, 보유한 열과 기타 열을 알아야 하지만, 문서 기반 데이터베이스는 저장소에 JSON object 있어서 별도로 찾아가지 않아도 .


) Amazon SimpleDB, CouchDB, MongoDB, Riak, Lotus Notes
활용) CMS, 블로깅 플랫폼, 실시간 분석 & e-commerce app.
, 복잡한 트랜잭션이나 쿼리가 수행되는 구조에는 사용X
Key-Value
기반

- 데이터가 key/value pairs 저장되는 NoSQL DB 가장 기본적인 데이터베이스 유형
- 많은 양의 Data 부하를 처리할 있도록 설계되었음.
- 저장소에는 Key 고유한 Hash table이며, Value에는 Json, BlOB(binary large objects), string 값이 있음


활용) 컬렉션, 연관배열 등에 사용. schema-less 데이터를 저장. Shopping cart 컨텐츠에 적합
Column
기반







- Google BigTable paper 기반으로 Column에서 작동하는 데이터베이스 유형.
- 컬럼명을 Columns 속성에 데이터로 저장하고, Value 속성에는 해당 컬럼의 값을 저장
- 유연성 극대화
- 단점은 테이블과 조인이 안 됨, 조인이 필요한 데이터는 하나의 테이블에 중복으로 관리하여 처리 속도 향상 (관리 어려움)


) HBase, Cassandra, HBase, Hypertable
활용) data warehouses, business intelligence, CRM, Library card catalogs
Graph
기반

Node: 동그라미(Entities), Edge: relations

- Entities Entities 간의 관계(relations) 저장하는 데이터베이스 유형
- 테이블이 느슨하게 연결된 RDBMS 비교할 , Graph 기반 DB 본질적으로 다중 관계형 DB.
- 모든 Node(Vertex) Edge 고유 식별자가 부여됨.
- Traversing relationship 이미 DB 저장되어 있어서 추가적인 계산이 필요 없기 때문에 검색 속도가 빠름.


) Neo4J, Infinite Graph, OrientDB, FlockDB
활용) 소셜 네트워크, logistics, spatial data

- NoSQL 관계형, 구조적 데이터 저장 위해 Shared Nothing 기반의 분산저장과 수평확장이 가능한 DB

 

III. NoSQL 데이터 모델링 패턴과 데이터 모델링 절차

  1. NoSQL 데이터 모델링

 

. NoSQL 데이터 모델링 절차

 

IV. NoSQL 데이터 모델링 예시

. 관계형 모델

- 영화평 ER 모델로 평론가는 여러 영화를 한줄 영화평을 작성할 있고 영화도 여러 평론가에 의하여 한줄 영화평이 작성될 수 있을 경우 다음과 같이 표현

. NoSQL 모델

- 기본적인 nested 엔티티로 구성할 있고 요구사항에 따라 아래와 같이 테이블을 변경해서 설계 가능

 

[참고] Brewer CAP 이론과 Base 이론 비교

 

 

반응형

'정보관리기술사 > DB_데이터분석' 카테고리의 다른 글

앙상블 학습/모델  (0) 2023.08.21
빅데이터 분석 기법(알고리즘)  (0) 2023.08.20
5차 정규화  (0) 2023.08.18
4차 정규화  (0) 2023.08.17
BNCF(3.5NF)  (0) 2023.08.16

+ Recent posts