1 / 64

NoSQL Not only SQL Database

NoSQL Not only SQL Database. 진용준 , 박군제 | 마이황 / UNTOC | 2012.05.11. NoSQL Not only SQL Database. 작성자 진용준 , 박군제 소속팀 / 상위부서 기부천사 / UNTO 작성년월일 2012.05.11 문서분류 대외비. Chapter 1. DataBase Trend ?. 문서의 제목. Trend?. NoSQL :. 인터넷과 하드웨어의 발전 -> 검색 서비스 , 소셜 네트워크 서비스 ,

jamuna
Download Presentation

NoSQL Not only SQL Database

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. NoSQLNot only SQL Database 진용준, 박군제| 마이황/ UNTOC| 2012.05.11

  2. NoSQLNot only SQL Database 작성자 진용준, 박군제 소속팀 / 상위부서 기부천사 / UNTO 작성년월일2012.05.11 문서분류 대외비

  3. Chapter 1 DataBase Trend ? 문서의 제목

  4. Trend? NoSQL: 인터넷과 하드웨어의 발전 -> 검색 서비스, 소셜 네트워크 서비스, Dataware Housing 같은 Service의 출현. • 4

  5. Trend? 기존의 데이터에 대한 강한 수준의 정합성이나 견고성 보다는 손쉬운 확장성,고가용성이 더 중요. BASE속성을 가짐. NoSQL: • 5

  6. BASE 속성? NoSQL: BAsically Available. Soft state. Eventually consistent. • 6

  7. Chapter 2 NoSQL 문서의 제목

  8. Relational Database? RDBMS: 정형화된 Table로 구성된 데이터 항목들의 집합체. 사용자와 Relational Database를 연결시켜 주는 검색 언어를 SQL이라고 함. Relational DataBase에서는 ACID속성에 집중. • 8

  9. ACID 속성? RDBMS: Atomicity(원자성) Consistency(일관성) Isolation (고립성) Durability (지속성) • 9

  10. NoSQL? NoSQL: SQL(Structured Query Language) 을 사용하지 않는다. ACID를 보장하지 않는다. 분산, 내고장성(fault tolerance)구조 이다. • 10

  11. Chapter 3 WHY NoSQL ?

  12. Why? NoSQL: 왜 비 관계형 이어야 하는가? RDB는 확장하기가 어렵다. • 12

  13. Why? NoSQL: Replication - 복제에 의한 확장 M-S 구조 Read는 빠르지만 Write에서는 병목현상 발생. Partitioning(sharding) - 분할에 의한 확장 RDB의 가치는 관계! 파티션은 이 관계를 깬다. • 13

  14. ?

  15. Chapter 4 CAP Theorem ?

  16. CAP Theorem? NoSQL: Consistency (일관성) : 모든 사용자는 항상 동시에 같은 데이터를 조회 • 17

  17. CAP Theorem? NoSQL: Availability(유효성) : 모든 사용자는 항상 Read/Write 할 수 있다. 장애시에 다른 노드들이 작동. • 18

  18. CAP Theorem? NoSQL: Partition Tolerance(파티션 허용) :물리적 네트워크 분할에도 시스템은 잘 작동해야한다. • 19

  19. CAP Theorem? NoSQL: Consistency (일관성) Availability(유효성) Partition Tolerance(파티션 허용) • 20

  20. CAP Theorem? NoSQL: RDBMS = C + A (Critical Transaction 보장) NoSQL = C + P or A + P (성능 보장형, 비동기SNS) • 21

  21. Data의 분산방식? NoSQL: Meta-Data 방식 P2P 방식 • 23

  22. Meta-Data 방식? NoSQL: Master 서버에 Data의 배치정보 저장. Master 서버를 경유하여 실제 Data를 처리할 서버로 접속. 정보를 중앙에서 관리 MapReduce도 쉽다. • 24

  23. P2P방식? NoSQL: Hash 함수를 이용해서 특정 키를 서비스하는 서버를 찾는 방식 장애가 지역적인 Key 영역에서 나타남 분석 작업시Meta 보다 어렵다. • 25

  24. Chapter 5 Google Bigtable을 통한NoSQL알기 ?

  25. Bigtable? NoSQL: A Bigtable is a sparse, distributed, persistent multidimensional sorted map. • 27

  26. Bigtable? NoSQL: A Bigtable is a sparse, distributed, persistent multidimensional sorted map. • 28

  27. NoSQL? NoSQL: Map이다. 유일한 Key 와 그것에 관련된 하나의 Value를 가진 자료형. • 29

  28. Map? NoSQL: {"zzzzz" : "woot","xyz" : "hello","aaaab" : "world","1" : "x","aaaaa" : "y"} • 30

  29. Bigtable? NoSQL: A Bigtable is a sparse, distributed, persistent multidimensional sorted map. • 31

  30. Sorted? NoSQL: Sorted 이다. 일부 NoSQL (Hbase, BigTable)이 가지고 있는 기능. • 32

  31. Bigtable? NoSQL: A Bigtable is a sparse, distributed, persistent multidimensional sorted map. • 33

  32. Multidimensional? NoSQL: 다차원 적이다. 다차원 적인 Map을 제공한다 . Map의 Map을 지원. • 34

  33. Multidimensional? {"1" : {"A" : "x","B" : "z"},"aaaaa" : { "A" : "y","B" : "w"}, "aaaab" : {  "A" : "world",  "B" : "ocean" } NoSQL: ,"xyz" : {"A" : "hello","B" : "there"},"zzzzz" : {"A" : "woot","B" : "1337"}} • 35

  34. Bigtable? NoSQL: A Bigtable is a sparse, distributed, persistent multidimensionalsorted map. • 36

  35. Persistent? NoSQL: 영구적이다. 당연히 데이터는 어느 정도 이상은 영구적이어야 한다. 다만 메모리 기반의 noSQL의 경우 이 특성이 조금 떨어진다. • 37

  36. Bigtable? NoSQL: A Bigtable is a sparse, distributed, persistent multidimensionalsorted map. • 38

  37. ditrubuted? NoSQL: 분산 기반이다. 기존의 RDB가 확장성에 대한 제약이 심했기 때문에 설계 초기부터 분산에 기반을 두게됨. • 39

  38. Bigtable? NoSQL: A Bigtable is a sparse, distributed, persistent multidimensionalsorted map. • 40

  39. Sparse? NoSQL: 드물다. ( 구조가) 기존의 RDB가 명확한 스키마 기반이었다면 유연성을 제공하는 스키마. • 41

  40. NoSQL특징 NoSQL: 관계형 데이터 모델이 아닌 키-값 데이터 모델 데이터는 분산된 노드에 파티션 복제되어 저장 정합성보다는 단절내성 • 42

  41. RDB가 버려야 할 것들 NoSQL: UPDATE 와 DELETE JOIN ACID Transaction 고정 스키마 • 43

  42. NoSQL에 기대 되는 특성 원자성 NoSQL: 확장성 높은 성능 Availability 결과적 일관성 배포, 모델링, 쿼리의 유연성 데이터의 지속성 • 44

  43. Chapter 6 다이나모Dynamo:Amazon, BigData Service 문서의 제목

  44. Dynamo? 키-값 쌍을 저장할 수 있는 분산 데이터 관리 시스템 Dynamo: • 고 가용성이 필요한 경우 • 설계원칙 데이터 방식 분산 배치 -P2P 분산 기법,DHT 알고리즘 이용 Data의 신뢰성 -일관성의 문제 • 46

  45. 설계원칙 Dynamo: • Incremental scalability • Symmetry • Decentralization • Heterogeneity • 47

  46. 분산 배치 p2p 분산 기법 이용 Dynamo: • hash(k)와 hash(node id)의 값을 동일한 주소 공간으로 맵핑해 관리하는 DHT기법 사용 • DHT 기법을 이용해 데이터를 partitioning한다 • 48

  47. DHT 알고리즘 키 공간분할(keyspace partition) 오버레이 네트워크(overlay network) Dynamo: • 장점 : 룩업에 성능이 좋다. • 명령이 자동으로 이뤄질 수 있게 구성. • 단점 : 복잡한 쿼리의 사용이 힘들다. N2 Hash(N3) > N1 <= hash(N1) Hash(N1) > N2 <= hash(N1) Hash(N3) > N1 <= hash(N1) <키 공간 분할> N1 N3 • 49

  48. 데이터 신뢰성 Dynamo: 데이터 를 여러 노드에 복제 낙관적 정책을 사용 • 장점 : 가용성을 보장 • 단점 : 일관성에 문제 발생 • 50

More Related