NoSQL Not only SQL Database - PowerPoint PPT Presentation

jamuna
nosql not only sql database n.
Skip this Video
Loading SlideShow in 5 Seconds..
NoSQL Not only SQL Database PowerPoint Presentation
Download Presentation
NoSQL Not only SQL Database

play fullscreen
1 / 64
Download Presentation
NoSQL Not only SQL Database
243 Views
Download Presentation

NoSQL Not only SQL Database

- - - - - - - - - - - - - - - - - - - - - - - - - - - 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