SlideShare a Scribd company logo
1 of 12
Download to read offline
NoSQL
4장.분산모델
          양충현
데이터 분산 방법
• 복제(replication)
  – 같은 데이터를 복사해 여러 노드에 분산.
  – 복제 방식은 master-slave와 peer to peer
    방식.
• 샤딩
  – 다른 데이터를 각 노드에 넣는것.
단일 서버
• 가장 단순한 방법
• 데이터 저장소에 대한 읽기 와 쓰기를 하
  나의 장비에서 처리.
• 복잡성이 사라지고 운영이 쉬움
• 그래프 DB는 단일 서버 환경에서 잘돌아감.
샤딩
                A    B

   ABCD

                C    D


• 데이터의 다른 부분을 다른 부분에 다른 서버에
  두어 수평확장을 지원.
• 과거에는 샤딩을 애플리케이션 레벨에서 제
  어,NoSQL은 자동 샤딩 제공.
이상적인 샤딩
• 특정 집합의 대한 접근을 물리적 위치(요
  청자 위치)에 기반.
• 서버의 부하를 노드간 균등하게 분배.
• 복제(cache)를 사용하면 읽기 성능 업.
샤딩의 단점
• 샤딩만 단독으로 사용하는 경우 복원력
  zero.
• 단일 서버에서 시작해서 샤딩으로 이동 할
  경우 까다로움.
master-slave 복제
                   ABCD   ABCD

      ABCD    복제


                   ABCD   ABCD


•   여러 노드에 데이터를 복제.
•   노드 하나가 master(primary) 노드로 선정.
•   쓰기는 master, 읽기는 master/slave
•   master는 수동 자동으로 지정 가능.
master-slave 복제 장점
• 읽기가 많이 발생하는 데이터 집합을 가진 경우
  큰 도움.
 – 쓰기는 master, 읽기는 slave에서만 처리.
• 읽기 복원력
 – master가 읽기 실패 하더라도, slave에서 읽기 처리.
• 노드의 확장이 필요하지 않은 경우도 유용하게
  사용가능.
 – 모든 읽기/쓰기는 master에서 처리, slave는 핫백업
   용으로 사용.
master-slave 복제 단점
• 모든 slave에 복제가 되기전에 이전 값을
  읽어 올 수 있음.
• 핫 백업 용도로만 사용시 문제점.
 – master가 실패 하면 백업으로 전달되지 않은
   데이터 손실.
peer-to-peer 복제
          ABCD   ABCD




          ABCD   ABCD


•   master를 두지 않는 구조.
•   모든 복제본의 가중치는 똑같다.
•   모든 노드에서 쓰기/읽기 처리.
•   노드중 어느것이 실패 하더라도 다른 노드
    에 접근 가능.
peer-to-peer 복제 문제점
• 서로 다른 사람이 동일한 레코드(노드는
  다르지만)를 수정 시 쓰기 충돌 위험.(영
  구적)
• 읽기에서 비 일관성도 문제(일시적).
요점
• 데이터를 분산하는 형식은 두가지
 – 샤딩
   • 여러서버에 데이터를 나누어 분산.
   • 각 서버는 전체 데이터의 부분집합을 저장하며 같은 데이터는 한
     서버에서만 찾을 수 있다.
 – 복제
   • 여러서버에 데이터를 복사, 같은 데이터를 여러곳에서 찾을 수
     있다.
• 복제는 두가지 형태.
 – master-slave 복제
   • master는 데이터의 원본 출처가 되어 쓰기를 처리 slave는
     master와 데이터를 동기화 하고 읽기를 처리한다.
 – peer-to-peer 복제
   • 모든 노드에 쓰기를 허용.
   • 노드는 데이터를 복사를 동기화 하기 위해 조율.

More Related Content

Viewers also liked

Apache Spark Overview part2 (20161117)
Apache Spark Overview part2 (20161117)Apache Spark Overview part2 (20161117)
Apache Spark Overview part2 (20161117)Steve Min
 
NoSQL distilled.그래프 데이터베이스
NoSQL distilled.그래프 데이터베이스NoSQL distilled.그래프 데이터베이스
NoSQL distilled.그래프 데이터베이스Choonghyun Yang
 
제2회 사내기술세미나-no sql(배표용)-d-hankim-2013-4-30
제2회 사내기술세미나-no sql(배표용)-d-hankim-2013-4-30제2회 사내기술세미나-no sql(배표용)-d-hankim-2013-4-30
제2회 사내기술세미나-no sql(배표용)-d-hankim-2013-4-30Donghan Kim
 
Maven build for 멀티프로젝트 in jenkins
Maven build for 멀티프로젝트 in jenkins Maven build for 멀티프로젝트 in jenkins
Maven build for 멀티프로젝트 in jenkins Choonghyun Yang
 
Api design for c++ ch3 pattern
Api design for c++ ch3 patternApi design for c++ ch3 pattern
Api design for c++ ch3 patternjinho park
 
정보사회학
정보사회학정보사회학
정보사회학Il-woo Lee
 
NoSQL 모델링
NoSQL 모델링NoSQL 모델링
NoSQL 모델링Hoyong Lee
 
Node Js와 Redis를 사용한 구조화된 데이터
Node Js와 Redis를 사용한 구조화된 데이터Node Js와 Redis를 사용한 구조화된 데이터
Node Js와 Redis를 사용한 구조화된 데이터jinho park
 
파이콘 한국 2017 키노트 : Back to the Basic
파이콘 한국 2017 키노트 : Back to the Basic파이콘 한국 2017 키노트 : Back to the Basic
파이콘 한국 2017 키노트 : Back to the BasicHyun-woo Park
 
NoSQL 분석 Slamdata
NoSQL 분석 SlamdataNoSQL 분석 Slamdata
NoSQL 분석 SlamdataPikdata Inc.
 
개인정보 비식별화 기술 동향 및 전망
개인정보 비식별화 기술 동향 및 전망 개인정보 비식별화 기술 동향 및 전망
개인정보 비식별화 기술 동향 및 전망 Donghan Kim
 
No sql 5장 일관성
No sql 5장   일관성No sql 5장   일관성
No sql 5장 일관성rooya85
 
NoSQL 동향
NoSQL 동향NoSQL 동향
NoSQL 동향NAVER D2
 
NoSQL distilled 왜 NoSQL인가
NoSQL distilled 왜 NoSQL인가NoSQL distilled 왜 NoSQL인가
NoSQL distilled 왜 NoSQL인가Choonghyun Yang
 
[NoSQL] 2장. 집합적 데이터 모델
[NoSQL] 2장. 집합적 데이터 모델[NoSQL] 2장. 집합적 데이터 모델
[NoSQL] 2장. 집합적 데이터 모델kidoki
 
NoSQL Database
NoSQL DatabaseNoSQL Database
NoSQL DatabaseSteve Min
 

Viewers also liked (20)

Apache Spark Overview part2 (20161117)
Apache Spark Overview part2 (20161117)Apache Spark Overview part2 (20161117)
Apache Spark Overview part2 (20161117)
 
Git
Git Git
Git
 
NoSQL distilled.그래프 데이터베이스
NoSQL distilled.그래프 데이터베이스NoSQL distilled.그래프 데이터베이스
NoSQL distilled.그래프 데이터베이스
 
제2회 사내기술세미나-no sql(배표용)-d-hankim-2013-4-30
제2회 사내기술세미나-no sql(배표용)-d-hankim-2013-4-30제2회 사내기술세미나-no sql(배표용)-d-hankim-2013-4-30
제2회 사내기술세미나-no sql(배표용)-d-hankim-2013-4-30
 
Maven build for 멀티프로젝트 in jenkins
Maven build for 멀티프로젝트 in jenkins Maven build for 멀티프로젝트 in jenkins
Maven build for 멀티프로젝트 in jenkins
 
Big data
Big dataBig data
Big data
 
Api design for c++ ch3 pattern
Api design for c++ ch3 patternApi design for c++ ch3 pattern
Api design for c++ ch3 pattern
 
정보사회학
정보사회학정보사회학
정보사회학
 
TRIZ
TRIZTRIZ
TRIZ
 
NoSQL 모델링
NoSQL 모델링NoSQL 모델링
NoSQL 모델링
 
Node Js와 Redis를 사용한 구조화된 데이터
Node Js와 Redis를 사용한 구조화된 데이터Node Js와 Redis를 사용한 구조화된 데이터
Node Js와 Redis를 사용한 구조화된 데이터
 
파이콘 한국 2017 키노트 : Back to the Basic
파이콘 한국 2017 키노트 : Back to the Basic파이콘 한국 2017 키노트 : Back to the Basic
파이콘 한국 2017 키노트 : Back to the Basic
 
NoSQL 분석 Slamdata
NoSQL 분석 SlamdataNoSQL 분석 Slamdata
NoSQL 분석 Slamdata
 
개인정보 비식별화 기술 동향 및 전망
개인정보 비식별화 기술 동향 및 전망 개인정보 비식별화 기술 동향 및 전망
개인정보 비식별화 기술 동향 및 전망
 
No sql 5장 일관성
No sql 5장   일관성No sql 5장   일관성
No sql 5장 일관성
 
NoSQL 동향
NoSQL 동향NoSQL 동향
NoSQL 동향
 
NoSQL distilled 왜 NoSQL인가
NoSQL distilled 왜 NoSQL인가NoSQL distilled 왜 NoSQL인가
NoSQL distilled 왜 NoSQL인가
 
[NoSQL] 2장. 집합적 데이터 모델
[NoSQL] 2장. 집합적 데이터 모델[NoSQL] 2장. 집합적 데이터 모델
[NoSQL] 2장. 집합적 데이터 모델
 
Express 프레임워크
Express 프레임워크Express 프레임워크
Express 프레임워크
 
NoSQL Database
NoSQL DatabaseNoSQL Database
NoSQL Database
 

Similar to No sql 분산모델

The nosql echossytem
The nosql echossytemThe nosql echossytem
The nosql echossytem종석 박
 
Redis trouble shooting
Redis trouble shootingRedis trouble shooting
Redis trouble shootingDaeMyung Kang
 
오픈소스 성능 최적화 보고서 ch07. Infinispan
오픈소스 성능 최적화 보고서 ch07. Infinispan오픈소스 성능 최적화 보고서 ch07. Infinispan
오픈소스 성능 최적화 보고서 ch07. InfinispanHyeonSeok Choi
 
Hadoop Introduction (1.0)
Hadoop Introduction (1.0)Hadoop Introduction (1.0)
Hadoop Introduction (1.0)Keeyong Han
 
Spark overview 이상훈(SK C&C)_스파크 사용자 모임_20141106
Spark overview 이상훈(SK C&C)_스파크 사용자 모임_20141106Spark overview 이상훈(SK C&C)_스파크 사용자 모임_20141106
Spark overview 이상훈(SK C&C)_스파크 사용자 모임_20141106SangHoon Lee
 
Mongo db 복제(Replication)
Mongo db 복제(Replication)Mongo db 복제(Replication)
Mongo db 복제(Replication)Hyosung Jeon
 
Spark 의 핵심은 무엇인가? RDD! (RDD paper review)
Spark 의 핵심은 무엇인가? RDD! (RDD paper review)Spark 의 핵심은 무엇인가? RDD! (RDD paper review)
Spark 의 핵심은 무엇인가? RDD! (RDD paper review)Yongho Ha
 
Hybrid & Logical Data Warehouse
Hybrid & Logical Data WarehouseHybrid & Logical Data Warehouse
Hybrid & Logical Data WarehouseHeungsoon Yang
 
Bottled water 요약 설명 20151114
Bottled water 요약 설명 20151114Bottled water 요약 설명 20151114
Bottled water 요약 설명 20151114Daeyong Shin
 
LevelDB 간단한 소개
LevelDB 간단한 소개LevelDB 간단한 소개
LevelDB 간단한 소개종빈 오
 
Nodejs 발표자료
Nodejs 발표자료Nodejs 발표자료
Nodejs 발표자료shanka2
 
AWSKRUG DS - 데이터 엔지니어가 실무에서 맞닥뜨리는 문제들
AWSKRUG DS - 데이터 엔지니어가 실무에서 맞닥뜨리는 문제들AWSKRUG DS - 데이터 엔지니어가 실무에서 맞닥뜨리는 문제들
AWSKRUG DS - 데이터 엔지니어가 실무에서 맞닥뜨리는 문제들Woong Seok Kang
 
NoSQL 간단한 소개
NoSQL 간단한 소개NoSQL 간단한 소개
NoSQL 간단한 소개Wonchang Song
 
[스마트스터디]MongoDB 의 역습
[스마트스터디]MongoDB 의 역습[스마트스터디]MongoDB 의 역습
[스마트스터디]MongoDB 의 역습smartstudy_official
 
FullStack 개발자 만들기 과정 소개 (Android + MEAN Stack + Redis 다루기)
FullStack 개발자 만들기 과정 소개  (Android + MEAN Stack + Redis 다루기) FullStack 개발자 만들기 과정 소개  (Android + MEAN Stack + Redis 다루기)
FullStack 개발자 만들기 과정 소개 (Android + MEAN Stack + Redis 다루기) YoungSu Son
 

Similar to No sql 분산모델 (20)

Redis acc 2015
Redis acc 2015Redis acc 2015
Redis acc 2015
 
The nosql echossytem
The nosql echossytemThe nosql echossytem
The nosql echossytem
 
System+os study 5
System+os study 5System+os study 5
System+os study 5
 
Redis trouble shooting
Redis trouble shootingRedis trouble shooting
Redis trouble shooting
 
오픈소스 성능 최적화 보고서 ch07. Infinispan
오픈소스 성능 최적화 보고서 ch07. Infinispan오픈소스 성능 최적화 보고서 ch07. Infinispan
오픈소스 성능 최적화 보고서 ch07. Infinispan
 
Hadoop Introduction (1.0)
Hadoop Introduction (1.0)Hadoop Introduction (1.0)
Hadoop Introduction (1.0)
 
Spark overview 이상훈(SK C&C)_스파크 사용자 모임_20141106
Spark overview 이상훈(SK C&C)_스파크 사용자 모임_20141106Spark overview 이상훈(SK C&C)_스파크 사용자 모임_20141106
Spark overview 이상훈(SK C&C)_스파크 사용자 모임_20141106
 
Hadoop발표자료
Hadoop발표자료Hadoop발표자료
Hadoop발표자료
 
Mongo db 복제(Replication)
Mongo db 복제(Replication)Mongo db 복제(Replication)
Mongo db 복제(Replication)
 
Spark 의 핵심은 무엇인가? RDD! (RDD paper review)
Spark 의 핵심은 무엇인가? RDD! (RDD paper review)Spark 의 핵심은 무엇인가? RDD! (RDD paper review)
Spark 의 핵심은 무엇인가? RDD! (RDD paper review)
 
Hybrid & Logical Data Warehouse
Hybrid & Logical Data WarehouseHybrid & Logical Data Warehouse
Hybrid & Logical Data Warehouse
 
AWS RDS, DYNAMO
AWS RDS, DYNAMOAWS RDS, DYNAMO
AWS RDS, DYNAMO
 
Bottled water 요약 설명 20151114
Bottled water 요약 설명 20151114Bottled water 요약 설명 20151114
Bottled water 요약 설명 20151114
 
LevelDB 간단한 소개
LevelDB 간단한 소개LevelDB 간단한 소개
LevelDB 간단한 소개
 
Nodejs 발표자료
Nodejs 발표자료Nodejs 발표자료
Nodejs 발표자료
 
3장
3장3장
3장
 
AWSKRUG DS - 데이터 엔지니어가 실무에서 맞닥뜨리는 문제들
AWSKRUG DS - 데이터 엔지니어가 실무에서 맞닥뜨리는 문제들AWSKRUG DS - 데이터 엔지니어가 실무에서 맞닥뜨리는 문제들
AWSKRUG DS - 데이터 엔지니어가 실무에서 맞닥뜨리는 문제들
 
NoSQL 간단한 소개
NoSQL 간단한 소개NoSQL 간단한 소개
NoSQL 간단한 소개
 
[스마트스터디]MongoDB 의 역습
[스마트스터디]MongoDB 의 역습[스마트스터디]MongoDB 의 역습
[스마트스터디]MongoDB 의 역습
 
FullStack 개발자 만들기 과정 소개 (Android + MEAN Stack + Redis 다루기)
FullStack 개발자 만들기 과정 소개  (Android + MEAN Stack + Redis 다루기) FullStack 개발자 만들기 과정 소개  (Android + MEAN Stack + Redis 다루기)
FullStack 개발자 만들기 과정 소개 (Android + MEAN Stack + Redis 다루기)
 

More from Choonghyun Yang

데이터 모델링
데이터 모델링데이터 모델링
데이터 모델링Choonghyun Yang
 
Spring boot 5장 cli
Spring boot 5장 cliSpring boot 5장 cli
Spring boot 5장 cliChoonghyun Yang
 
Spring boot 공작소(1-4장)
Spring boot 공작소(1-4장)Spring boot 공작소(1-4장)
Spring boot 공작소(1-4장)Choonghyun Yang
 
자료구조 – 트리 (Tree)
자료구조 – 트리 (Tree)자료구조 – 트리 (Tree)
자료구조 – 트리 (Tree)Choonghyun Yang
 
자바병렬프로그래밍 9.gui 애플리케이션
자바병렬프로그래밍 9.gui 애플리케이션자바병렬프로그래밍 9.gui 애플리케이션
자바병렬프로그래밍 9.gui 애플리케이션Choonghyun Yang
 
그림으로 공부하는 오라클 구조
그림으로 공부하는 오라클 구조그림으로 공부하는 오라클 구조
그림으로 공부하는 오라클 구조Choonghyun Yang
 
Http 완벽가이드(3장 http 메시지)
Http 완벽가이드(3장 http 메시지)Http 완벽가이드(3장 http 메시지)
Http 완벽가이드(3장 http 메시지)Choonghyun Yang
 
Http 완벽 가이드(2장 url과 리소스)
Http 완벽 가이드(2장 url과 리소스)Http 완벽 가이드(2장 url과 리소스)
Http 완벽 가이드(2장 url과 리소스)Choonghyun Yang
 
아꿈사.C++ api 디자인.20140315 a
아꿈사.C++ api 디자인.20140315 a아꿈사.C++ api 디자인.20140315 a
아꿈사.C++ api 디자인.20140315 aChoonghyun Yang
 
다중성 확보, 시스템 안정화
다중성 확보, 시스템 안정화다중성 확보, 시스템 안정화
다중성 확보, 시스템 안정화Choonghyun Yang
 

More from Choonghyun Yang (20)

Git
GitGit
Git
 
데이터 모델링
데이터 모델링데이터 모델링
데이터 모델링
 
Spring boot actuator
Spring boot   actuatorSpring boot   actuator
Spring boot actuator
 
Spring boot 5장 cli
Spring boot 5장 cliSpring boot 5장 cli
Spring boot 5장 cli
 
Spring boot 공작소(1-4장)
Spring boot 공작소(1-4장)Spring boot 공작소(1-4장)
Spring boot 공작소(1-4장)
 
자료구조 – 트리 (Tree)
자료구조 – 트리 (Tree)자료구조 – 트리 (Tree)
자료구조 – 트리 (Tree)
 
자료구조 큐
자료구조 큐자료구조 큐
자료구조 큐
 
연결 자료구조
연결 자료구조연결 자료구조
연결 자료구조
 
자바병렬프로그래밍 9.gui 애플리케이션
자바병렬프로그래밍 9.gui 애플리케이션자바병렬프로그래밍 9.gui 애플리케이션
자바병렬프로그래밍 9.gui 애플리케이션
 
그림으로 공부하는 오라클 구조
그림으로 공부하는 오라클 구조그림으로 공부하는 오라클 구조
그림으로 공부하는 오라클 구조
 
Http 완벽가이드(3장 http 메시지)
Http 완벽가이드(3장 http 메시지)Http 완벽가이드(3장 http 메시지)
Http 완벽가이드(3장 http 메시지)
 
Http 완벽 가이드(2장 url과 리소스)
Http 완벽 가이드(2장 url과 리소스)Http 완벽 가이드(2장 url과 리소스)
Http 완벽 가이드(2장 url과 리소스)
 
게이트단의 보안
게이트단의 보안게이트단의 보안
게이트단의 보안
 
Bootstrap
BootstrapBootstrap
Bootstrap
 
아꿈사.C++ api 디자인.20140315 a
아꿈사.C++ api 디자인.20140315 a아꿈사.C++ api 디자인.20140315 a
아꿈사.C++ api 디자인.20140315 a
 
하둡관리
하둡관리하둡관리
하둡관리
 
Hadoop io part2
Hadoop io part2Hadoop io part2
Hadoop io part2
 
Atom
AtomAtom
Atom
 
다중성 확보, 시스템 안정화
다중성 확보, 시스템 안정화다중성 확보, 시스템 안정화
다중성 확보, 시스템 안정화
 
Http method
Http methodHttp method
Http method
 

No sql 분산모델

  • 2. 데이터 분산 방법 • 복제(replication) – 같은 데이터를 복사해 여러 노드에 분산. – 복제 방식은 master-slave와 peer to peer 방식. • 샤딩 – 다른 데이터를 각 노드에 넣는것.
  • 3. 단일 서버 • 가장 단순한 방법 • 데이터 저장소에 대한 읽기 와 쓰기를 하 나의 장비에서 처리. • 복잡성이 사라지고 운영이 쉬움 • 그래프 DB는 단일 서버 환경에서 잘돌아감.
  • 4. 샤딩 A B ABCD C D • 데이터의 다른 부분을 다른 부분에 다른 서버에 두어 수평확장을 지원. • 과거에는 샤딩을 애플리케이션 레벨에서 제 어,NoSQL은 자동 샤딩 제공.
  • 5. 이상적인 샤딩 • 특정 집합의 대한 접근을 물리적 위치(요 청자 위치)에 기반. • 서버의 부하를 노드간 균등하게 분배. • 복제(cache)를 사용하면 읽기 성능 업.
  • 6. 샤딩의 단점 • 샤딩만 단독으로 사용하는 경우 복원력 zero. • 단일 서버에서 시작해서 샤딩으로 이동 할 경우 까다로움.
  • 7. master-slave 복제 ABCD ABCD ABCD 복제 ABCD ABCD • 여러 노드에 데이터를 복제. • 노드 하나가 master(primary) 노드로 선정. • 쓰기는 master, 읽기는 master/slave • master는 수동 자동으로 지정 가능.
  • 8. master-slave 복제 장점 • 읽기가 많이 발생하는 데이터 집합을 가진 경우 큰 도움. – 쓰기는 master, 읽기는 slave에서만 처리. • 읽기 복원력 – master가 읽기 실패 하더라도, slave에서 읽기 처리. • 노드의 확장이 필요하지 않은 경우도 유용하게 사용가능. – 모든 읽기/쓰기는 master에서 처리, slave는 핫백업 용으로 사용.
  • 9. master-slave 복제 단점 • 모든 slave에 복제가 되기전에 이전 값을 읽어 올 수 있음. • 핫 백업 용도로만 사용시 문제점. – master가 실패 하면 백업으로 전달되지 않은 데이터 손실.
  • 10. peer-to-peer 복제 ABCD ABCD ABCD ABCD • master를 두지 않는 구조. • 모든 복제본의 가중치는 똑같다. • 모든 노드에서 쓰기/읽기 처리. • 노드중 어느것이 실패 하더라도 다른 노드 에 접근 가능.
  • 11. peer-to-peer 복제 문제점 • 서로 다른 사람이 동일한 레코드(노드는 다르지만)를 수정 시 쓰기 충돌 위험.(영 구적) • 읽기에서 비 일관성도 문제(일시적).
  • 12. 요점 • 데이터를 분산하는 형식은 두가지 – 샤딩 • 여러서버에 데이터를 나누어 분산. • 각 서버는 전체 데이터의 부분집합을 저장하며 같은 데이터는 한 서버에서만 찾을 수 있다. – 복제 • 여러서버에 데이터를 복사, 같은 데이터를 여러곳에서 찾을 수 있다. • 복제는 두가지 형태. – master-slave 복제 • master는 데이터의 원본 출처가 되어 쓰기를 처리 slave는 master와 데이터를 동기화 하고 읽기를 처리한다. – peer-to-peer 복제 • 모든 노드에 쓰기를 허용. • 노드는 데이터를 복사를 동기화 하기 위해 조율.