SlideShare a Scribd company logo
1 of 9
Download to read offline
NoSQL
                 Part 8. Key-Value Database




13년	 4월	 6일	 토
Key-Value Database
                     RDB(Oracle)             Riak

                   Database Instance      Riak Cluster

                         Table              Bucket

                         Row               Key-Value

                        RowID                 Key

                 * Java 의 HashMap 과 동일함

13년	 4월	 6일	 토
What’s the Key-Value
                      Database
                     <Bucket = userData>
                      <Key = sessionID>
                       <Value = Object>
                                 UserProfile

                                 SessionData

                          Shopping Cart
                                 Cart Item1

                                 Cart Item2




13년	 4월	 6일	 토
What’s the Key-Value
                        Database
                 <Bucket = userData>
                  <Key = sessionID_userProfile>
                   <Value = UserProfileObject>
                                                   세션아이디_객체명
                  <Key = sessionID_sessionData>    으로 한 버킷 내에서
                   <Value = SessionDataObject>
                                                   다른 타입과의 충돌을
                  <Key = sessionID_shoppingCart>   회피할 수 있다.
                   <Value = ShoppingCartObject>




13년	 4월	 6일	 토
Consistency

                 • 1. 한 키에 대해 값을 얻거나 저장, 삭제 연산.
                 • 2. 일관성은 한 키에 대한 연산에만 적용가능.
                 • 3. 결과적 일관성으로 구현되어있음.
                 • 4. 쓰기 정족수, 복제 정족수 로 일관성을 제공.

13년	 4월	 6일	 토
Transaction


                 • 1. 트랜잭션에 대한 보장이 없음.
                 • 2. 쓰기 정족수를 이용함.


13년	 4월	 6일	 토
Inquiry

                 • 1. Key-Value Database 는 Key로 조회한다.
                 • 2. Key 를 모를 때 Riak 은 Riak Search 를 제
                   공.

                 • 3. Key 는 사용자가 정의한 것으로 사용된다.
                   예로 세션아이디, 타임스탬프 등으로 사용. 일
                   반적으로 세션아이디를 사용한다.



13년	 4월	 6일	 토
Extendability
                 •   1. 샤딩을 이용한 확장.

                 •   2. CAP 정리를 통한 확장성 제어 가능.

                     •   N : 복제 정족수

                     •   R : 읽기 정족수

                     •   W : 쓰기 정족수

                         •   총 노드 수 : 5

                         •   N : 3 = 최소 3개의 노드에 복제가 되어야 복제 성공

                         •   R : 3 = 최소 3개의 노드에서 데이터를 읽어야 읽기 성공

                         •   W : 3 = 최소 3개의 노드에 데이터를 써야 쓰기 성공

                 •   3. CAP 정리를 통해 가용성의 높낮이를 조절 할 수 있다.




13년	 4월	 6일	 토
Tip
                 •   1. Key-Value 를 적절히 사용할 수 있는 기능

                     •   세션 정보 저장.

                     •   사용자 프로파일 설정

                     •   장바구니

                 •   2. Key-Value 가 맞지 않는 기능

                     •   데이터간의 관계가 존재 하는 경우

                     •   다중 연산 트랜잭션을 사용하는 경우

                     •   데이터로 조회하는 경우

                     •   집합에 의한 연산이 이루어지는 경우



13년	 4월	 6일	 토

More Related Content

Similar to 키 값 데이터베이스

NDC 2016, [슈판워] 맨땅에서 데이터 분석 시스템 만들어나가기
NDC 2016, [슈판워] 맨땅에서 데이터 분석 시스템 만들어나가기NDC 2016, [슈판워] 맨땅에서 데이터 분석 시스템 만들어나가기
NDC 2016, [슈판워] 맨땅에서 데이터 분석 시스템 만들어나가기Wonha Ryu
 
Spark overview 이상훈(SK C&C)_스파크 사용자 모임_20141106
Spark overview 이상훈(SK C&C)_스파크 사용자 모임_20141106Spark overview 이상훈(SK C&C)_스파크 사용자 모임_20141106
Spark overview 이상훈(SK C&C)_스파크 사용자 모임_20141106SangHoon Lee
 
LevelDB 간단한 소개
LevelDB 간단한 소개LevelDB 간단한 소개
LevelDB 간단한 소개종빈 오
 
자바 직렬화 (Java serialization)
자바 직렬화 (Java serialization)자바 직렬화 (Java serialization)
자바 직렬화 (Java serialization)중선 곽
 
Spark machine learning & deep learning
Spark machine learning & deep learningSpark machine learning & deep learning
Spark machine learning & deep learninghoondong kim
 
A review of zookeeper 2010.12
A review of zookeeper 2010.12A review of zookeeper 2010.12
A review of zookeeper 2010.12HoJin Ha
 
객체지향 프로그래밍.pptx
객체지향 프로그래밍.pptx객체지향 프로그래밍.pptx
객체지향 프로그래밍.pptxssuser9eebcf
 
그림으로 공부하는 오라클 구조
그림으로 공부하는 오라클 구조그림으로 공부하는 오라클 구조
그림으로 공부하는 오라클 구조Choonghyun Yang
 
고성능 빅데이터 수집 및 분석 솔루션 - 티맥스소프트 허승재 팀장
고성능 빅데이터 수집 및 분석 솔루션 - 티맥스소프트 허승재 팀장고성능 빅데이터 수집 및 분석 솔루션 - 티맥스소프트 허승재 팀장
고성능 빅데이터 수집 및 분석 솔루션 - 티맥스소프트 허승재 팀장eungjin cho
 
Object-Oriented Programming.pptx
 Object-Oriented Programming.pptx Object-Oriented Programming.pptx
Object-Oriented Programming.pptxssuserda17f6
 
데이터 수집부터 시각화까지
데이터 수집부터 시각화까지데이터 수집부터 시각화까지
데이터 수집부터 시각화까지용호 최
 
4팀_객체지향 프로그래밍.pptx
4팀_객체지향 프로그래밍.pptx4팀_객체지향 프로그래밍.pptx
4팀_객체지향 프로그래밍.pptxssuser40c239
 
객체지향 프로그래밍.pptx
객체지향 프로그래밍.pptx객체지향 프로그래밍.pptx
객체지향 프로그래밍.pptxPark Doil
 
DDD 구현기초 (거의 Final 버전)
DDD 구현기초 (거의 Final 버전)DDD 구현기초 (거의 Final 버전)
DDD 구현기초 (거의 Final 버전)beom kyun choi
 
[215]네이버콘텐츠통계서비스소개 김기영
[215]네이버콘텐츠통계서비스소개 김기영[215]네이버콘텐츠통계서비스소개 김기영
[215]네이버콘텐츠통계서비스소개 김기영NAVER D2
 
Oracle Server Architecture
Oracle Server ArchitectureOracle Server Architecture
Oracle Server Architectureguest468e16
 

Similar to 키 값 데이터베이스 (20)

Druid+superset
Druid+supersetDruid+superset
Druid+superset
 
NDC 2016, [슈판워] 맨땅에서 데이터 분석 시스템 만들어나가기
NDC 2016, [슈판워] 맨땅에서 데이터 분석 시스템 만들어나가기NDC 2016, [슈판워] 맨땅에서 데이터 분석 시스템 만들어나가기
NDC 2016, [슈판워] 맨땅에서 데이터 분석 시스템 만들어나가기
 
NoSQL
NoSQLNoSQL
NoSQL
 
Spark overview 이상훈(SK C&C)_스파크 사용자 모임_20141106
Spark overview 이상훈(SK C&C)_스파크 사용자 모임_20141106Spark overview 이상훈(SK C&C)_스파크 사용자 모임_20141106
Spark overview 이상훈(SK C&C)_스파크 사용자 모임_20141106
 
LevelDB 간단한 소개
LevelDB 간단한 소개LevelDB 간단한 소개
LevelDB 간단한 소개
 
자바 직렬화 (Java serialization)
자바 직렬화 (Java serialization)자바 직렬화 (Java serialization)
자바 직렬화 (Java serialization)
 
Spark machine learning & deep learning
Spark machine learning & deep learningSpark machine learning & deep learning
Spark machine learning & deep learning
 
A review of zookeeper 2010.12
A review of zookeeper 2010.12A review of zookeeper 2010.12
A review of zookeeper 2010.12
 
Gpg1
Gpg1Gpg1
Gpg1
 
객체지향 프로그래밍.pptx
객체지향 프로그래밍.pptx객체지향 프로그래밍.pptx
객체지향 프로그래밍.pptx
 
그림으로 공부하는 오라클 구조
그림으로 공부하는 오라클 구조그림으로 공부하는 오라클 구조
그림으로 공부하는 오라클 구조
 
고성능 빅데이터 수집 및 분석 솔루션 - 티맥스소프트 허승재 팀장
고성능 빅데이터 수집 및 분석 솔루션 - 티맥스소프트 허승재 팀장고성능 빅데이터 수집 및 분석 솔루션 - 티맥스소프트 허승재 팀장
고성능 빅데이터 수집 및 분석 솔루션 - 티맥스소프트 허승재 팀장
 
Object-Oriented Programming.pptx
 Object-Oriented Programming.pptx Object-Oriented Programming.pptx
Object-Oriented Programming.pptx
 
Hibernate5.x
Hibernate5.xHibernate5.x
Hibernate5.x
 
데이터 수집부터 시각화까지
데이터 수집부터 시각화까지데이터 수집부터 시각화까지
데이터 수집부터 시각화까지
 
4팀_객체지향 프로그래밍.pptx
4팀_객체지향 프로그래밍.pptx4팀_객체지향 프로그래밍.pptx
4팀_객체지향 프로그래밍.pptx
 
객체지향 프로그래밍.pptx
객체지향 프로그래밍.pptx객체지향 프로그래밍.pptx
객체지향 프로그래밍.pptx
 
DDD 구현기초 (거의 Final 버전)
DDD 구현기초 (거의 Final 버전)DDD 구현기초 (거의 Final 버전)
DDD 구현기초 (거의 Final 버전)
 
[215]네이버콘텐츠통계서비스소개 김기영
[215]네이버콘텐츠통계서비스소개 김기영[215]네이버콘텐츠통계서비스소개 김기영
[215]네이버콘텐츠통계서비스소개 김기영
 
Oracle Server Architecture
Oracle Server ArchitectureOracle Server Architecture
Oracle Server Architecture
 

키 값 데이터베이스

  • 1. NoSQL Part 8. Key-Value Database 13년 4월 6일 토
  • 2. Key-Value Database RDB(Oracle) Riak Database Instance Riak Cluster Table Bucket Row Key-Value RowID Key * Java 의 HashMap 과 동일함 13년 4월 6일 토
  • 3. What’s the Key-Value Database <Bucket = userData> <Key = sessionID> <Value = Object> UserProfile SessionData Shopping Cart Cart Item1 Cart Item2 13년 4월 6일 토
  • 4. What’s the Key-Value Database <Bucket = userData> <Key = sessionID_userProfile> <Value = UserProfileObject> 세션아이디_객체명 <Key = sessionID_sessionData> 으로 한 버킷 내에서 <Value = SessionDataObject> 다른 타입과의 충돌을 <Key = sessionID_shoppingCart> 회피할 수 있다. <Value = ShoppingCartObject> 13년 4월 6일 토
  • 5. Consistency • 1. 한 키에 대해 값을 얻거나 저장, 삭제 연산. • 2. 일관성은 한 키에 대한 연산에만 적용가능. • 3. 결과적 일관성으로 구현되어있음. • 4. 쓰기 정족수, 복제 정족수 로 일관성을 제공. 13년 4월 6일 토
  • 6. Transaction • 1. 트랜잭션에 대한 보장이 없음. • 2. 쓰기 정족수를 이용함. 13년 4월 6일 토
  • 7. Inquiry • 1. Key-Value Database 는 Key로 조회한다. • 2. Key 를 모를 때 Riak 은 Riak Search 를 제 공. • 3. Key 는 사용자가 정의한 것으로 사용된다. 예로 세션아이디, 타임스탬프 등으로 사용. 일 반적으로 세션아이디를 사용한다. 13년 4월 6일 토
  • 8. Extendability • 1. 샤딩을 이용한 확장. • 2. CAP 정리를 통한 확장성 제어 가능. • N : 복제 정족수 • R : 읽기 정족수 • W : 쓰기 정족수 • 총 노드 수 : 5 • N : 3 = 최소 3개의 노드에 복제가 되어야 복제 성공 • R : 3 = 최소 3개의 노드에서 데이터를 읽어야 읽기 성공 • W : 3 = 최소 3개의 노드에 데이터를 써야 쓰기 성공 • 3. CAP 정리를 통해 가용성의 높낮이를 조절 할 수 있다. 13년 4월 6일 토
  • 9. Tip • 1. Key-Value 를 적절히 사용할 수 있는 기능 • 세션 정보 저장. • 사용자 프로파일 설정 • 장바구니 • 2. Key-Value 가 맞지 않는 기능 • 데이터간의 관계가 존재 하는 경우 • 다중 연산 트랜잭션을 사용하는 경우 • 데이터로 조회하는 경우 • 집합에 의한 연산이 이루어지는 경우 13년 4월 6일 토