no sql database study

23
NoSQL Database Study

Upload: seunghyun-song

Post on 07-Jan-2017

79 views

Category:

Software


2 download

TRANSCRIPT

Page 1: No sql database study

NoSQL Database Study

Page 2: No sql database study

Introduction

Page 3: No sql database study

01

클라우드 컴퓨팅의 발전 속도

Intro-duction

Introduc-tion

Cloud Comput-ing

Transac-tion Pro-cessing

NoSQL Databases

Page 4: No sql database study

01 Intro-duction

Data-IntensiveApplication

FutureArchitecture

Introduc-tion

Cloud Comput-ing

Transac-tion Pro-cessing

NoSQL Databases

Page 5: No sql database study

01 Intro-duction

But,

Business Application 을 위한 전통적인 미들웨어Þ Cloud Computing 으로 전환

Application Life-Cycle 에 막대한 영향

Introduc-tion

Cloud Comput-ing

Transac-tion Pro-cessing

NoSQL Databases

Page 6: No sql database study

01 Intro-duction

Vertical Scaling (Scale–Up)But, 높은 수준의 기술 요구신뢰성을 상실 가능성

Introduc-tion

Cloud Comput-ing

Transac-tion Pro-cessing

NoSQL Databases

Page 7: No sql database study

01 Intro-duction

Horizontal Scaling (Scale–Out)저렴하고 효과적인 방식으로 확장성 보장

Introduc-tion

Cloud Comput-ing

Transac-tion Pro-cessing

NoSQL Databases

Page 8: No sql database study

01 Intro-duction

NoSQL Database

Web 2.0 Application & Social Networking

Þ Assert NoSQL Database

Horizontal Scaling (Scale–Out) 을 달성하기 위해일반적인 데이터베이스의 특성을 완화기존 DBMS 보다 더 나은 솔루션

Introduc-tion

Cloud Comput-ing

Transac-tion Pro-cessing

NoSQL Databases

Page 9: No sql database study

Cloud Computing

Page 10: No sql database study

01

불가분의 관계Cloud Com-

puting

Grid Computing SOA Virtualization

Introduc-tion

Cloud Comput-ing

Transac-tion Pro-cessing

NoSQL Databases

Page 11: No sql database study

01

공급자 관점 문제Cloud Com-

puting

Data Consistency

Availability

Predicable Performance

Scalable and High Performance Storage

Introduc-tion

Cloud Comput-ing

Transac-tion Pro-cessing

NoSQL Databases

Page 12: No sql database study

01

사용자 관점 문제Cloud Com-

puting Data

Model

Enterprise System(Well-Defind)

Our System(Structured & Unstruc-tured Data, Multimedia,

Metadata .. etc)

Introduc-tion

Cloud Comput-ing

Transac-tion Pro-cessing

NoSQL Databases

Page 13: No sql database study

01

데이터베이스 관점Cloud Com-

puting

기본 인프라 + 데이터베이스 = PaaS (Platform-as-a-Service)

Introduc-tion

Cloud Comput-ing

Transac-tion Pro-cessing

NoSQL Databases

Page 14: No sql database study

Transaction Process-ing

Page 15: No sql database study

01

Database 기술의 기본 특징ACID Prop-

erties

Atomicity : Each Transaction is “All or Nothing”

Consistency : Data should be valid according to all defined rules

Isolation : Transactions do not affect each other

Durability : Committed data would not be lost

Consis-tency

AvailabilityScalability

Introduc-tion

Cloud Comput-ing

Transac-tion Pro-cessing

NoSQL Databases

Page 16: No sql database study

01

새로운 요구사항CAP Proper-

ties

Consistency : Databases will always see the latest version data

Availability : Always can expect that each operation terminate

Partition Tolerance : Database still can be read from and written

to when parts of it are completely inaccessible

Introduc-tion

Cloud Comput-ing

Transac-tion Pro-cessing

NoSQL Databases

Page 17: No sql database study

01

새로운 요구사항CAP Proper-

ties

Brewer 정리

Introduc-tion

Cloud Comput-ing

Transac-tion Pro-cessing

NoSQL Databases

Page 18: No sql database study

NoSQL Database

Page 19: No sql database study

02

01

03

04

NoSQL Databases

Query Language

특징

대부분의 NoSQL Database 에서는 Query Language 로 SQL을 사용하지 않음NoSQL = “Not Only SQL”

RDBMS 에서 발생하는 Overhead 를 단순화하거나 제한 종종 테이블로 구성되고 기본 키를 통해 액세스 JOIN 및 ORDER BY 를 지원하지 않음 => 행 데이터 분할이 수평적으로 이루어지기 때문

Introduc-tion

Cloud Comput-ing

Transac-tion Pro-cessing

NoSQL Databases

Page 20: No sql database study

03

04

02

01 Data Model

저장 방식 Couple (Key, Value) 조합이 일반적으로 많이 쓰임 Key : RDBMS 의 Attribute Name / SQL 의 Column Name

일반적으로 Index 가 있는 Semi-Structured Document

그래서 , 때로는 Document-Oriented NoSQL Database 라고 불림 JSON 은 일반적으로 맵 , 날짜 , 데이터 유형 목록의 데이터

구조를 표현하는데 쓰이는 데이터 모델 NULL 값이 필요하지 않음 , 스키마가 존재하지 않기 때문

Introduc-tion

Cloud Comput-ing

Transac-tion Pro-cessing

NoSQL Databases

Page 21: No sql database study

04

02

01

03

Querying

전형적인 API

Get(Key) : 주어진 Key 의 값을 추출 Put(Key, Value) : 주어진 Key 값을 생성하거나 업데이트 Delete(Key) : 주어진 Key 와 값을 제거 Execute(Key, Operations, Parameters) : 주어진 키의

데이터에 대한 작업을 호출 일반적인 반환값 : Tuple

Introduc-tion

Cloud Comput-ing

Transac-tion Pro-cessing

NoSQL Databases

Page 22: No sql database study

02

01

03

04

Data Storing

일부 NoSQL Database 는 속도를 높이기 위해 , 메모리에 저장된 후 디스크에 저장하는 방식으로 설계

하나의 서버에 상주 가능하지만 , 가능한 자주 Sever Cloud

에서 작동하도록 설계Transaction Process-

ing ACID 는 일부 필요하지 않을 수 있기 때문에 CAP 의 A 와 P 에 초점을 맞춤 모든 변경 사항은 데이터베이스에 복제 (Replication)

Introduc-tion

Cloud Comput-ing

Transac-tion Pro-cessing

NoSQL Databases

Page 23: No sql database study

Thank youNoSQL Database Study