제 1 교시
6. NoSQL의 3가지 구조에 대하여 설명하시오.
두음
NoSQL 종류 : 키컬도그
- Key / Value Database (키-값 데이터 DB)
- Column Family Database (컬럼 기반 DB)
- Document based Database (문서 기반 DB)
- Graph based Database (그래프 기반 DB)
PACELC 기반 NoSQL 분류 : 몽볼카피 (Z 방향)
- MongoDB, VoltDB, Cassandra, PNUTS
128회 시험 대비를 위한 강의를 준비하면서
출제를 예상했던 토픽이 NoSQL 이었는데, 이번에 출제되어 개인적으로 뿌듯합니다.
124회부터 128회까지 NoSQL 은 최빈출 토픽이어서
아마 예비 기술사님들 모두 철저한 준비가 되어
실제 풀이를 하셨을 것으로 예상합니다.
다만, 3가지 구조라는 것에 대해 뭐지?? 하고 고민을 하셨을 것 같긴 하지만,
저장 구조 관점으로 풀이하셨다면 고득점이 예상됩니다.
NoSQL 관련 기출 문제만 봐도 다양한 두음이 존재하는데
기회가 될 때 포스팅 하겠습니다.
오늘은 “키컬도그 몽볼카피” 정도만 알고 계시면 될 듯 합니다.
풀이전략
☞ 1단락 : NoSQL 개념
☞ 2단락 : NoSQL의 3 가지 구조 설명
☞ 3단락 : RDBMS와 NoSQL 주요 특징 비교
2단락 NoSQL의 3가지 구조에 대해 설명할 때
저 같은 경우에는 무조건 가/나 세부 단락을 분리해서 작성하는데
가)를 3 가지 구조 관련 키워드로 도식화하고,
나)에서 3 가지 구조를 설명했을 듯 합니다.
그러나 개념도 그리는 것에 자신이 있다면
하나의 단락으로 3 가지 구조를 모두 설명하는 방향도 좋다고 생각합니다.
3단락 주제는 선택 사항인데
NoSQL 관련 추가 설명해 줘도 되고 (NoSQL 모델링 절차, CAP / PACELC 이론 등)
RDBMS와 비교해 줘도 좋을 듯 합니다.
1. BASE 기반 스키마리스 DB, NoSQL의 개념
- BASE 기반 스키마리스 구조로 유연한 데이터 저장 모델과 뛰어난 확장성을 제공하며,
저장 및 검색에 특화된 형태의 DBMS
2. NoSQL의 3 가지 구조 설명 (◁ 데이터 모델 관점의 구조)
구조 | 개념도 | 설명 |
Key/Value Store | Unique한 Key에 하나의 Value를 가지고 있는 형태 Key 안에 (Column, Value) 조합으로 된 여러개의 필드를 가진 Column Family 라는 개념으로 확장 사용 가능 |
|
Ordered Key/Value Store | Key/Value의 확장된 형태로 Key/Value Store와 데이터 저장 방식은 동일하나, 데이터가 내부적으로 Key를 순서로 Sorting되서 저장 | |
Document Key/Value Store | 저장되는 Value의 타입이 XML, JSON, YAML과 같이 구조화된 데이터 타입 |
3. RDBMS와 NoSQL 비교
구분 | RDBMS | NoSQL |
특징 | ACID (Atomicity, Consistency, Isolation, Durability) |
BASE (Basically Available, Soft-state, Eventually Consistent) |
목적 | 일관성 | 확장성 |
스키마 | 테이블마다 정의 | Schema-less |
종류 | Oracle, MySQL, PostgreSQL | MongoDB, Redis, Hbase, Cassandra |
장점 | SQL을 통해 데이터를 쉽게 처리할 수 있으며, 테이블 간의 조인이 용이 | Scale-Out이 용이하며 빠르게 대량의 데이터를 처리 |
단점 | 대량 데이터 처리시 NoSQL 대비 성능 저하 | 데이터 일관성 보장 미흡 조인 미지원 |
- 비정형 데이터 및 빅데이터가 증가하면서 NoSQL의 도입이 늘어나 RDBMS와 공존
[참고] NoSQL 유형 설명
두음: 키컬도그
유형 | 설명 | 주요 DB |
Key Value Store | - Unique 한 Key에 하나의 Value - 단순한 구조로 속도가 빠르며 분산 저장 시 용이 |
- Memcached - Redis - Dynamo DB |
Column Store | - Key안에 Column, value 조합으로 된 여러 개의 필드로 구성 | - Cassandra - Hbase - Google BigTable |
Document Store | - 데이터는 키와 도큐먼트(Document)의 형태로 저장 - 질의의 결과가 JSON 이나 XML 형태로 출력 |
- MongoDB - CouchDB - MarkLogic |
Graph Store | - 데이터를 노드로 표현하며, 노드 사이의 관계를 엣지로 표현 | - Neo4j - Blazegraph - OrientDB |
- 대용량 데이터 처리를 위해 RDBMS와 NoSQL의 장점을 융합한 NewSQL이 등장
[참조] CAP / PACELC 이론
두음: 몽볼카피
CAP 이론 한계
1) 완벽한 CP, AP 시스템은 사용할 수 없다
2) 대부분 분산 시스템은 CP와 AP의 중간 어디쯤이다.
3) 모든 분산 시스템이 파티션을 사용하진 않는다.
PACELC 이론
- 기존 CAP 이론의 한계를 극복하기 위해 파티션(Partition) 상황과
그 외(Else) 상황을 나누어 일관성과 가용성을 분산 시스템을 분류하는 이론
두음 및 연상 스토리 설명
기출 문제
(관리 127-1-8)
MongoDB
(관리 126-1-7)
CAP 이론의 한계와 PACELC(Partition Availability Consistency Else Latency Consistency) 이론
(관리 124-3-3)
NoSQL 모델링 패턴 3가지 및 NoSQL 모델링 절차를 설명하시오.
(관리 117-1-9)
NoSQL
참고 자료
https://code-lab1.tistory.com/53
'정보관리기술사 > ★ 128회 기출문제 풀이 ★' 카테고리의 다른 글
(128 관리 1-8) 빅데이터 분석에서 상관관계(Correlation)와 인과관계 (0) | 2022.07.11 |
---|---|
(128 관리 1-7) 소프트웨어 아키텍처 평가모델 CBAM (0) | 2022.07.08 |
(128 관리 1-5) 소프트웨어 개발 프로젝트의 품질비용 항목 (0) | 2022.07.07 |
(128 관리 1-4) 기계학습 모델링과 모델옵스(ModelOps) (0) | 2022.07.06 |
(128 관리 1-3) POP (0) | 2022.07.05 |
댓글