Big Data Solution Oracle NoSQL Database · ORACLE KOREA MAGAZINE Trend 기업용 Big Data 처리를...

5
ORACLE KOREA MAGAZINE Trend 기업용 Big Data 처리를 위한 최적의 Solution Oracle NoSQL Database 022 Spring 2012 TREND 05 SNSMobile Device의 발달로 촉진된 대용량 데이 터 처리에 대한 요구는 기업 환경에서도 예외는 아니다. Web log 분석을 통해 고객의 성향을 파악하거나, 과거 에는 활용되지 못했던 초대형 데이터의 패턴 분석 등을 통해 미래 수요에 대한 예측하고 이를 가지고 새로운 통 찰력을 제공하는 것은 기업 환경의 미래를 준비하는데 필수 요소로 생각되고 있다. 이러한 시장 요구의 변화에 따라, 대용량 데이터의 분석 작업에는 Hadoop의 적용이 일반화 되었고, 짧은 처리 속도와 쉬운 수평적 확장을 필요로 하는 대용량 온라인 데이터 저장 및 관리에 대한 대안으로는 다양한 NoSQL 제품들이 속속 출시되고 있다. http://nosql-database. org에 의하면 현재 120여 가지에 이를 정도로 다양한 오 픈소스 NoSQL 제품들이 난무하고 있는데, 경우에 따 라 기본적인 데이터베이스의 트랜잭션이나 안정성조차 지원하지 못하는 경우도 많기 때문에, 선택에 앞서 사용 하고자 하는 목적에 부합하는지 신중한 고려가 필요하 다. 특히 오픈소스 제품들이 가지는 한계, 즉 기술 지원 의 문제, 기술 보유 인력의 확보, 제품 로드맵의 불확실 성 등은 이러한 신기술을 업무에 적용하려는 기업의 IT 담당자에게 많은 고민거리를 안겨 주고 있다. 2011 10Oracle Openworld 에서 발표된 Oracle NoSQL Database는 기존 관계형 데이터베이스 시장의 강자인 OracleNoSQL에 대한 시장의 요구에 부응하여 만들어 진 제품으로,확장이용이한 대용량 데이터처리에대한 고 객들의고민에새로운대안이될수있을것으로기대한다. Oracle NoSQL Database Oracle NoSQL Database는 지난 20년간 시장에서 널리 검증된 임베디드 데이터베이스 솔루션인 Oracle Berkley DB를 기반으로 기업용 application이 필요로 하는 신뢰 성과 안정성을 보장한다. 이 기술 위에 분산 처리 엔진 을 추가하여 Oracle NoSQLTB~ PB이상의 대용량 데이터를 아주 짧은 응답 시간 내에 처리할 수 있는 분 산, 고가용 Key-value database를 구현할 수 있었다. Key-value 구조 Oracle NoSQL DatabaseKey-Value 형태의 비교 적 간단한 데이터 구조를 구현하고 있다. Keymajor minor component 로 검색이 가능한 값들로 구 성할 수 있고, Value byte array 로 저장하고자 하 는 데이터 구조체를 매핑하여 저장할 수 있다. Oracle NoSQL Database에서는 major componentminor component 의 조합으로 unique row가 결정되며, major component 값을 hash함수에 적용하여 해당 데이 터 엔트리가 어느 partition에 저장될지 결정된다. Single Point of Failure가 없는 고가용성 분산 Architecture Oracle NoSQL Database는 실제 data를 저장하는 여러 대의 storage nodeApplication serverjar file 형태로 설치되어 application API를 제공하는 NoSQL driver구성된다. 기업용 Big Data 처리를 위한 최적의 Solution Oracle NoSQL Database 저자 - 최승돈 컨설턴트, World Wide ISV / OEM Business Unit([email protected])

Transcript of Big Data Solution Oracle NoSQL Database · ORACLE KOREA MAGAZINE Trend 기업용 Big Data 처리를...

Page 1: Big Data Solution Oracle NoSQL Database · ORACLE KOREA MAGAZINE Trend 기업용 Big Data 처리를 위한 최적의 Solution Oracle NoSQL Database 022 Spring 2012 Trend 05 SNS와

ORA

CLE KOREA

MA

GA

ZINE

Trend기

업용

Big D

ata 처리

를 위

한 최

적의

Solution Oracle N

oSQL D

atabase022

Spring 2012

Trend 05

SNS와 Mobile Device의 발달로 촉진된 대용량 데이

터 처리에 대한 요구는 기업 환경에서도 예외는 아니다.

Web log 분석을 통해 고객의 성향을 파악하거나, 과거

에는 활용되지 못했던 초대형 데이터의 패턴 분석 등을

통해 미래 수요에 대한 예측하고 이를 가지고 새로운 통

찰력을 제공하는 것은 기업 환경의 미래를 준비하는데

필수 요소로 생각되고 있다.

이러한 시장 요구의 변화에 따라, 대용량 데이터의 분석

작업에는 Hadoop의 적용이 일반화 되었고, 짧은 처리

속도와 쉬운 수평적 확장을 필요로 하는 대용량 온라인

데이터 저장 및 관리에 대한 대안으로는 다양한 NoSQL

제품들이 속속 출시되고 있다. http://nosql-database.

org에 의하면 현재 120여 가지에 이를 정도로 다양한 오

픈소스 NoSQL 제품들이 난무하고 있는데, 경우에 따

라 기본적인 데이터베이스의 트랜잭션이나 안정성조차

지원하지 못하는 경우도 많기 때문에, 선택에 앞서 사용

하고자 하는 목적에 부합하는지 신중한 고려가 필요하

다. 특히 오픈소스 제품들이 가지는 한계, 즉 기술 지원

의 문제, 기술 보유 인력의 확보, 제품 로드맵의 불확실

성 등은 이러한 신기술을 업무에 적용하려는 기업의 IT

담당자에게 많은 고민거리를 안겨 주고 있다.

2011년 10월 Oracle Openworld에서 발표된 Oracle NoSQL

Database는 기존 관계형 데이터베이스 시장의 강자인

Oracle이 NoSQL에 대한 시장의 요구에 부응하여 만들어

진 제품으로, 확장이 용이한 대용량 데이터 처리에 대한 고

객들의 고민에 새로운 대안이 될 수 있을 것으로 기대한다.

Oracle NoSQL Database

Oracle NoSQL Database는 지난 20년간 시장에서 널리

검증된 임베디드 데이터베이스 솔루션인 Oracle Berkley

DB를 기반으로 기업용 application이 필요로 하는 신뢰

성과 안정성을 보장한다. 이 기술 위에 분산 처리 엔진

을 추가하여 Oracle NoSQL은 TB~ PB이상의 대용량

데이터를 아주 짧은 응답 시간 내에 처리할 수 있는 분

산, 고가용 Key-value database를 구현할 수 있었다.

Key-value 구조

Oracle NoSQL Database는 Key-Value 형태의 비교

적 간단한 데이터 구조를 구현하고 있다. Key는 major와 minor component로 검색이 가능한 값들로 구

성할 수 있고, Value는 byte array로 저장하고자 하

는 데이터 구조체를 매핑하여 저장할 수 있다. Oracle

NoSQL Database에서는 major component와 minor

component의 조합으로 unique한 row가 결정되며,

major component 값을 hash함수에 적용하여 해당 데이

터 엔트리가 어느 partition에 저장될지 결정된다.

Single Point of Failure가 없는 고가용성 분산 Architecture

Oracle NoSQL Database는 실제 data를 저장하는 여러

대의 storage node와 Application server에 jar file 형태로

설치되어 application API를 제공하는 NoSQL driver로

구성된다.

기업용 Big Data 처리를 위한 최적의 Solution Oracle NoSQL Database

저자 - 최승돈 컨설턴트, World Wide ISV / OEM Business Unit([email protected])

Page 2: Big Data Solution Oracle NoSQL Database · ORACLE KOREA MAGAZINE Trend 기업용 Big Data 처리를 위한 최적의 Solution Oracle NoSQL Database 022 Spring 2012 Trend 05 SNS와

ORA

CLE KOREA

MA

GA

ZINE

Trend기

업용

Big D

ata 처리

를 위

한 최

적의

Solution Oracle N

oSQL D

atabase023

Spring 2012

하여 전체 Data Center 장애에도 서비스가 중단되지 않

는 고가용성 구조를 구성할 수 있다.

손쉬운 개발과 관리

Oracle noSQL은 가장 간단한 data model인 Key-

Value Store 방식의 database로, 기본적인 CRUD

(Create,Read,Update,Delete)와 다양한 Iteration,

Bulk operation Java API를 제공하며, Single master

replication 구조로 conflict resolution 처리가 필요 없는

간단한 구조를 가진다.

Backup의 경우도 Replication Group별로 하나의 노

드의 snapshot만 받으면 되어 전체 snapshot이 필요한

cassandra등에 비해 편리한 장점을 가진다. 또한 관리를

위한 Command Line interface 및 Web-based GUI를 제

공하여 성능 모니터링, 설정 변경, 시스템 기동 및 정지

등의 매뉴얼 업무를 간편화할 수 있는 장점을 가진다.

NoSQLDB Driver

.jar file의 형태로 application Node단에 deploy된다.

Major Key값을 auto sharding 하여 partition number

를 할당받는다. 이 partition key값에 할당된 Replication

Group을 찾은 후 해당 Group중 node의 type(master/

replica), node 의 반응속도, 상태 등을 파악해 가장 적은

부하를 받고 있는 node로 해당 operation을 전달하는

역할을 담당한다.

Storage Nodes

NoSQL Driver를 통해 전달되는 data를 local disk에 저

장하는 physical machine을 지칭한다. NoSQL Driver에서 할당받은 partition에 따라 Replication Group 별

로 Key 값이 분산되고, 이 Replication Group은 쓰기/

읽기 작업을 담당하는 Master Node와 이 변경 사항

을 전달 받아 고가용성 구성과 읽기 부하 분산의 역할

을 담당하는 N개의 Replica Node로 구성된다. Replica

Node의 수를 Replication Factor라 부르며 Replication

Group, Partition, Replication Factor는 설치시에 설정

할 수 있다. Replication Group의 수가 많을수록 Master

Node가 많아 져서 Write Scalability가 향상되고 Replica

Factor가 높을수록 Read operation처리를 하는 Replica

Node가 많아 져서 Read Scalability가 좋아진다.

각 Storage Node 에는 agent가 같이 설치되어 Node의 상태를 모니터링하고 관리하는 역할을 수행한다.

Master Node의 장애시 자동으로 Replication Group내

의 Replica Node가 master Node로 선출되어 장애를 예

방하고, Storage Node를 여러 data center에 분산 저장

<그림 1> intelligent NoSQL Driver의 부하 분산 알고리즘

<그림 2> Oracle NoSQL의 구조도

<그림 3> Oracle NoSQL Admin Tool

Operation + Key[M,m] + Value + Transaction Policy

Contact Rep Node directly

Use Load Balancer to select best eligible Rep Node

Use State table to determine eligible Storage Node(s) within Rep group

Use Partition Map to map Partiton id to a Rep Group

Hash Major Key to determine Partiton id

Client

· Operation result

· New Partition Map

· RepNodeStorage Table information

Key Space

Hash function

Partition Numbers

SN-1SN-1

SN-1SN-1

SN-1

SN-1SN-1

SN-1SN-1

SN-1

SN-1SN-1

SN-1SN-1

SN-1

SN-1SN-1

SN-1SN-1

SN-1

SN-1SN-1

SN-1SN-1

SN-1

SN-1SN-1

SN-1SN-1

SN-1

Replication group 0

Rep Node Naster

Rep Node Replica

Rep Node Replica

Data Center 1 Data Center 2

Storage Nodes

Replication group 0

Rep Node Naster

Rep Node Replica

Rep Node Replica

Page 3: Big Data Solution Oracle NoSQL Database · ORACLE KOREA MAGAZINE Trend 기업용 Big Data 처리를 위한 최적의 Solution Oracle NoSQL Database 022 Spring 2012 Trend 05 SNS와

유연한 Transaction Guarantee Policy의 설정

대부분의 오픈 소스 NoSQL 제품은 대용량의 데이터

처리에 있어 빠른 반응 속도와 가용성을 유지하기 위

해 관계형 데이터베이스에 비해 더 약한 데이터 정합성

level(eventual consistency)을 제공한다. 이는 모든 사용

자가 가장 최신의 data를 볼 수 없는 단점을 가져 SNS나

블로그 등의 서비스가 아닌 ACID property가 필요한

기업용 application에서는 noSQL 제품을 사용할 수 없

는 문제가 있었다.

Oracle NoSQL이 타 NoSQL 제품군과 가장 큰 차이

점 중의 하나는 operation 별로 이러한 data consistency,

durability의 정책을 설정하여 ACID property 적용까지

가능하다는 것이다. 이를 통해 사용자는 각 application이 요구하는 data 일관성과 반응속도, 확장성에 따라 유

연하게 구성할 수 있는 장점을 가진다.

- Read Consistency Policy

● Absolute: 해당 operation을 master node에서 수행한

다. 가장 강력한 consistency 보장을 하지만, 성능상에

영향을 줄 수 있다.

● Time-Based: 지정된 시간 interval 내의 data를 가지

는 master나 replica에서 data를 읽는다.

● Version-Based: transaction version interval 내의 data를 가지는 master나 replica에서 data를 읽는다.

● None: 어느 replica에서나 해당 operation을 수행. 가

장 약한 consistency level이지만 성능을 보장한다.

Write Durability Policy

시스템의 장애 상황(ex: 일부 storage node의 장애 등)

에 대한 transaction의 durability policy도 마찬가지로

유연하게 설정할 수 있다.

● Sync Policy

Sync Policy를 이용해서 한 노드 내에서 데이터의 변경

을 어디까지 기록할 것인지 지정할 수 있다.

- Sync : Force to Disk

- Write to Sync: Force to OS Buffer

- No Sync: Write to local log buffer, flush when

convenient

● Replica Acknowledgement Policy

Master노드에서 데이터 변경이 replica로 전송되어 반영

되면 acknowledgement message를 받게 되는데, 데이터

의 commit를 결정하기 위해서 몇 개의 replica로부터 메

시지를 기다릴지 지정할 수 있다.

- All : master노드의 데이터 변경 시 모든 replica 노드에

반영된 것을 확인하므로 master노드와 replica노드 간

데이터 시간차가 없고 가장 안전하지만 가장 느림

- Simple Majority: 절반 이상의 replica 노드에 데이터

변경이 반영 된 것을 확인

- None : replica에 데이터 변경이 반영되어 있는지 확인

하지 않으므로 가장 빠르지만 master와 replica 데이터

간의 시간 차이가 발생

뛰어난 성능과 확장성

Intelligent NoSQLDB Driver를 통해 Major Key들은

모든 storage node에 균등하게 분배되고, 전체 Network

Topology와 각 노드 간의 network latency를 모니터링

하며 가장 부하가 적고 반응 속도가 빠른 노드로 작업을

전달한다. 이를 통해 Oracle NoSQL은 특정 노드에 대

한 부하의 집중을 없애고, 노드 확장시 application의 읽

기/쓰기 연산에 대한 예측 가능한 균등한 반응 속도를

보장한다.

<그림 5>와 같은 YSCB(Yahoo ! Cloud Sys tem

Benchmark) 테스트 결과에서 알 수 있듯이, Cluster의

크기를 증가시킴에 따라 insert throughput 이 선형으로

증가하고 average read latency 또한 선형으로 감소함을

확인할 수 있다.

ORA

CLE KOREA

MA

GA

ZINE

Trend기

업용

Big D

ata 처리

를 위

한 최

적의

Solution Oracle N

oSQL D

atabase024

Spring 2012

<그림 4> Consistency guarantee와 성능의 관계

DiskFS BufferMemory

AllMajorityNone

AbsoluteVersion basedNone Time based

Fastest More Durable

Fastest More Consistent

Configurable Durability Policy

Configuable Consistency Policy

Can read stale data

Data is recent as of given time

Operating on known or later version

Operating on most recent version

write

+

HAack

guarantees

+

consistency

Page 4: Big Data Solution Oracle NoSQL Database · ORACLE KOREA MAGAZINE Trend 기업용 Big Data 처리를 위한 최적의 Solution Oracle NoSQL Database 022 Spring 2012 Trend 05 SNS와

ORA

CLE KOREA

MA

GA

ZINE

Trend기

업용

Big D

ata 처리

를 위

한 최

적의

Solution Oracle N

oSQL D

atabase025

Spring 2012

성능 테스트에 대한 테스트 조건 등 상세한 내용은 아래

URL에서 확인할 수 있다.

결론

기업 환경에서의 BigData는 기존에는 파악하지 못했던

거대한 데이터를 수집하고 분석함으로써 의사 결정 과

정에서의 보다 나은 통찰력을 제공하고, 이를 활용함으

로써 새로운 경제적 가치를 제공해 줄 수 있는 값어치를

가진다. 이러한 BigData를 빠르게 수집하고, 관리하기

위해서는 안정적이고 확장이 용이한 데이터 저장소가

필수적인데, Oracle NoSQL은 이러한 요구 조건에 맞

추어 수 TB~PB의 대용량 데이터에 대한 고성능, 고가

용성 디자인도 손쉽게 대응 할 수 있게 한다.

Oracle NoSQL에 대한 보다 자세한 정보는 아래 URL에서 확인 할 수 있다.

<그림 5> YCSB 성능 테스트 결과

100,000

90,000

80,000

70,000

60,000

50,000

40,000

30,000

20,000

10,000

0

4

3.5

3

2.5

2

1.5

1

0.5

0

Insert Throughput

Thro

ughp

ut (o

ps/s

ec)

Aver

age

Late

ncy

(ms)

Cluster Size

3(1x3) 9(3x3) 12(4x3)

Throughput (insert/sec)

Average Latency (ms)

30,000

25,000

20,000

15,000

10,000

5,000

0

5.3

5.2

5.1

5

4.9

4.8

4.7

4.6

4.5

4.4

4.3

50/50 Read/UpdateThroughput

Thro

ughp

ut (o

ps/s

ec)

Aver

age

Late

ncy

(ms)

Cluster Size

3(1x3) 9(3x3) 12(4x3)

Throughput (insert/sec)

Average Latency (ms)

http://blogs.oracle.com/charlesLamb/entry/oracle_nosql_database_performance_tests_

YSCB

http://www.oracle.com/us/products/database/nosql/overview/index.html

Page 5: Big Data Solution Oracle NoSQL Database · ORACLE KOREA MAGAZINE Trend 기업용 Big Data 처리를 위한 최적의 Solution Oracle NoSQL Database 022 Spring 2012 Trend 05 SNS와

Copyright © 2011, Oracle. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates.Other names may be trademarks of their respective owners.

oracle.com/goto/industries또는 080.2194.114로 문의하세요.

Get Better Results With Oracle

상위 20개 제약사

상위 20개 통신사

상위 20개 유통사

상위 20개 공공서비스사

IndustryLeaders

PRODUCTION NOTES

Fonts: Univers LT Std. 75 Black, 65 Bold, 55 Roman, 45 Light, 67 Bold Condensed, 57 Condensed, DFKGothic-BD Regular

PUB NOTE: Please use center marks to align page.

Please examine these publication materials carefully. Any questions regarding the materials, please contact Darci Terlizzi (650) 506-9775

READER

01LASER% RELEASED

9/082011

Print Ad Resize

205 x 275mmOracle Korea Magazine

(Full Page Ad)

Job No.:Headline:

Date:Project:

Type:Live:Trim:

Bleed:

IND_Ldrs_CleanFacts_2212_OMKRIndustry Leaders09/08/2011 Korea Regional FulfillmentMagazine201mm x 271mm205mm x 275mm211mm x 281mm