bigdata overview

37
BIGDATA SYSTEM OVERVIEW with Hadoop and NoSQL

Upload: horyun-lee

Post on 12-Jul-2015

87 views

Category:

Data & Analytics


0 download

TRANSCRIPT

Page 1: BigData Overview

BIGDATA SYSTEM OVERVIEWwith Hadoop and NoSQL

Page 2: BigData Overview

Big Data?

Page 3: BigData Overview
Page 4: BigData Overview

Google Platforms for BigData

Page 5: BigData Overview

Example : Search Engine

Page 6: BigData Overview

Crawler

Index Engine

Search Engine

Page 7: BigData Overview

The platform needs

Distributed File systemDistributed processing

Key-Value Store

Page 8: BigData Overview

Google Opensources Amazon

File System Google File System Apache Hadoop File System

Amazon Elastic Compute Cloud(EC2)

Key-Value Store

Google Bigtable Apache HBase Amazon DynamoDB

Processing Google MapReduce Apache Hadoop Amazon Elastic MapReduce(EMR)

Analysis Language

Google Swazall Apache Pig & HiveCloudera Impala

Support Hive and Impala

Page 9: BigData Overview

Hadoop?

Page 10: BigData Overview

Hadoop from Google platform

Page 11: BigData Overview

Google File system (2003, S Ghemawat)MapReduce (2004, Jeffrey Dean)

Page 12: BigData Overview

parallelization

fault-tolerance

data distribution

load balancing

Page 13: BigData Overview
Page 14: BigData Overview
Page 15: BigData Overview
Page 16: BigData Overview

MapReduce

Page 17: BigData Overview
Page 18: BigData Overview

Scale-outHigh availability

Parallelism(Local Processing)Single Point Of Failure(SPOF)

Page 19: BigData Overview

NoSQL

Page 20: BigData Overview
Page 21: BigData Overview

Consistency Single request/response operation sequence읽기 동작은 마지막으로 쓰여진 데이터를 리턴

Page 22: BigData Overview

Availability 특정 노드가 장애가 나도 서비스가 가능해야 한다

Page 23: BigData Overview

Partition-tolerance 노드간에 통신 문제가 생겨서 메시지를 주고받지 못하는 상황이라도 동작해야 한다.

Page 24: BigData Overview

ACID VS BASE• 원자성(Atomicity)은 트랜잭션과 관련된 작업들이 모두 수행되었는지 아니면 모두 실행이 안되었는지를 보장하는 능력이다. 자금 이체는 성공할 수도 실패할 수도 있지만 원자성은 중간 단계까지 실행되고 실패하는 일은 없도록 하는 것이다.

• 일관성(Consistency)은 트랜잭션이 실행을 성공적으로 완료하면 언제나 일관성 있는 데이터베이스 상태로 유지하는 것을 의미한다. 무결성 제약이 모든 계좌는 잔고가 있어야 한다면 이를 위반하는 트랜잭션은 중단된다.

• 고립성(Isolation)은 트랜잭션을 수행 시 다른 트랜잭션의 연산 작업이 끼어들지 못하도록 보장하는 것을 의미한다. 이것은 트랜잭션 밖에 있는 어떤 연산도 중간 단계의 데이터를 볼 수 없음을 의미한다. 은행 관리자는 이체 작업을 하는 도중에 쿼리를 실행하더라도 특정 계좌간 이체하는 양 쪽을 볼 수 없다. 공식적으로 고립성은 트랜잭션 실행내역은 연속적이어야 함을 의미한다. 성능관련 이유로 인해 이 특성은 가장 유연성 있는 제약 조건이다.

• 지속성(Durability)은 성공적으로 수행된 트랜잭션은 영원히 반영되어야 함을 의미한다. 시스템 문제, DB 일관성 체크 등을 하더라도 유지되어야 함을 의미한다. 전형적으로 모드 트랜잭션은 로그로 남고 시스템 장애 발생 전 상태로 되돌릴 수 있다. 트랜잭션은 로그에 모든 것이 저장된 후에만 commit 상태로 간주될 수 있다.

Page 25: BigData Overview

ACID VS BASE

• Basically Available : 기본적으로 Available하고

• Soft-state : 사용자가 관리(refresh, modify)하지 않으면 Data가 expire 될 수도 있으며

• Eventually consistency : 지금 당장은 아니지만 언젠가는 Data가 일관성을 가진다

Page 26: BigData Overview
Page 27: BigData Overview

RDBMS

데이터 분석

테이블 설계

쿼리 디자인

결과

데이터 중복 최소화

Page 28: BigData Overview

NoSQL

데이터 분석

쿼리 디자인

테이블 설계

결과

데이터 중복, 비정형화

Page 29: BigData Overview

RDBMS

데이터 분석

테이블 설계

쿼리 디자인

결과

데이터 중복 최소화

NoSQL

데이터 분석

쿼리 디자인

테이블 설계

결과

데이터 중복, 비정형화

Page 30: BigData Overview

NoSQL supports only get/put

Page 31: BigData Overview

Put : Insert into TABLE VALUES(KEY,value1,value2,…,valuen)Get : Select * from TABLE where KEY=”key”

Page 32: BigData Overview

SQL? Sort, Join, Group, Range….

Page 33: BigData Overview

Hive, Pig, HBase… SQL-Style Analysis

Page 34: BigData Overview

Hive example

Page 35: BigData Overview

WordCount example

CREATE TABLE wordcount ASSELECT word, count(1) AS count

FROM (SELECT EXPLODE(SPLIT(LCASE(REGEXP_REPLACE(line,'[\\p{Punct},\\p{Cntrl}]','')),' '))

AS word FROM myinput) wordsGROUP BY word

ORDER BY count DESC, word ASC;

Page 36: BigData Overview
Page 37: BigData Overview