no sql database study
TRANSCRIPT
NoSQL Database Study
Introduction
01
클라우드 컴퓨팅의 발전 속도
Intro-duction
Introduc-tion
Cloud Comput-ing
Transac-tion Pro-cessing
NoSQL Databases
01 Intro-duction
Data-IntensiveApplication
FutureArchitecture
Introduc-tion
Cloud Comput-ing
Transac-tion Pro-cessing
NoSQL Databases
01 Intro-duction
But,
Business Application 을 위한 전통적인 미들웨어Þ Cloud Computing 으로 전환
Application Life-Cycle 에 막대한 영향
Introduc-tion
Cloud Comput-ing
Transac-tion Pro-cessing
NoSQL Databases
01 Intro-duction
Vertical Scaling (Scale–Up)But, 높은 수준의 기술 요구신뢰성을 상실 가능성
Introduc-tion
Cloud Comput-ing
Transac-tion Pro-cessing
NoSQL Databases
01 Intro-duction
Horizontal Scaling (Scale–Out)저렴하고 효과적인 방식으로 확장성 보장
Introduc-tion
Cloud Comput-ing
Transac-tion Pro-cessing
NoSQL Databases
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
Cloud Computing
01
불가분의 관계Cloud Com-
puting
Grid Computing SOA Virtualization
Introduc-tion
Cloud Comput-ing
Transac-tion Pro-cessing
NoSQL Databases
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
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
01
데이터베이스 관점Cloud Com-
puting
기본 인프라 + 데이터베이스 = PaaS (Platform-as-a-Service)
Introduc-tion
Cloud Comput-ing
Transac-tion Pro-cessing
NoSQL Databases
Transaction Process-ing
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
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
01
새로운 요구사항CAP Proper-
ties
Brewer 정리
Introduc-tion
Cloud Comput-ing
Transac-tion Pro-cessing
NoSQL Databases
NoSQL Database
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
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
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
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
Thank youNoSQL Database Study