성능중심어플리케이션을위한 실시간data 처리방안 ·...

27
성능 중심 어플리케이션을 위한 실시간 D 처리방안 실시간 Data 처리방안 Oracle TSC DB Tech. Lee Sung Jin ([email protected])

Upload: others

Post on 05-Jul-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 성능중심어플리케이션을위한 실시간Data 처리방안 · 성능중심어플리케이션을위한 ... 9Replication의특정노드복구시1 ... 2 Update • RAM: 2GB •

성능 중심 어플리케이션을 위한실시간 D 처리방안실시간 Data 처리방안

Oracle TSC DB Tech.Lee Sung Jin ([email protected])

Page 2: 성능중심어플리케이션을위한 실시간Data 처리방안 · 성능중심어플리케이션을위한 ... 9Replication의특정노드복구시1 ... 2 Update • RAM: 2GB •

TimesTen OverviewContent & IntentTimesTen OverviewContent & Intent

IMDB의 특징 및 필요성1

Oracle이 제공하는 IMDB, TimesTen2

IMDB, Disk DB간 비교3

국내 적용 사례4

- 2 -

Page 3: 성능중심어플리케이션을위한 실시간Data 처리방안 · 성능중심어플리케이션을위한 ... 9Replication의특정노드복구시1 ... 2 Update • RAM: 2GB •

TimesTen OverviewI. IMDB의 특징 및 필요성TimesTen OverviewI. IMDB의 특징 및 필요성

I. IMDB의 특징 및 필요성

- 3 -

Page 4: 성능중심어플리케이션을위한 실시간Data 처리방안 · 성능중심어플리케이션을위한 ... 9Replication의특정노드복구시1 ... 2 Update • RAM: 2GB •

TimesTen OverviewI. IMDB의 특징 및 필요성TimesTen OverviewI. IMDB의 특징 및 필요성

IMDB(In Memory DB)란?

Database on Main Memory• 시스템 구동 시 DB 전체를 메인 메모리에 상주

• 메모리 상의 데이터만을 이용하므로 고성능 처리가 가능• 메모리 상의 데이터만을 이용하므로 고성능 처리가 가능

• 데이터의 메모리 100%상주 기반으로 설계된 DBMS

IMDB 대중화 배경IMDB 대중화 배경• 디스크 I/O에 의한 성능 저하

• 상용화된 64-Bit Systems의 출현

• 메모리 가격 하락

• 빠른 응답을 요구하는 실시간 시스템 증대

Real-Time 초고속 처리에 적합• I/O성능- Hard Disk:5~10ms, S-RAM:8~35ns, D-RAM: 90~120ns

• Disk 기반 DBMS보다 10배 빠른 성능 제공

- 4 -

Disk 기반 DBMS보다 10배 빠른 성능 제공

Page 5: 성능중심어플리케이션을위한 실시간Data 처리방안 · 성능중심어플리케이션을위한 ... 9Replication의특정노드복구시1 ... 2 Update • RAM: 2GB •

TimesTen OverviewI. IMDB의 특징 및 필요성TimesTen OverviewI. IMDB의 특징 및 필요성

IMDB를 통한 고성능 데이터 처리

고 성능 데이터 처리 시스템? 적은 비용으로 많은 SQL 문을 빠르게 처리

처리 성능 비교 :HP9000 rp8420(RISC) 4CPU/ 32G

•Disk DB 설정:Buffer Keep 기능을 이용(Data를 메모리버퍼에

상주시킨 후 성능 측정 )

예시) 12,000TPS 시스템 구축비용 (Tx비율 select : update = 4:1) 동일 H/W에서 TimesTen 을 이용하여 4배 이상의 고성능 시스템 구축 가능

* CPU : 메모리 DB 사용 시 적은 수의 CPU로 목표 성능 시스템 구축* Memory Size : 데이터량 보다 많은 물리적 메모리 필요 , but 메모리가격은 매년 하락* S/W 비용 : CPU 수 절감에 따른 s/w 구매 비용 절감* 유지보수 : 메모리 상주로 인한 DB tuning 작업 관리 비용 감소

- 5 -

* 유지보수 : 메모리 상주로 인한 DB tuning 작업 관리 비용 감소

Page 6: 성능중심어플리케이션을위한 실시간Data 처리방안 · 성능중심어플리케이션을위한 ... 9Replication의특정노드복구시1 ... 2 Update • RAM: 2GB •

TimesTen OverviewI. IMDB의 특징 및 필요성TimesTen OverviewI. IMDB의 특징 및 필요성

IMDB 적용 분야

메모리 상에서 전체 데이터 베이스를 관리 하므로 초고속 고성능의실시간(Real-Time) 트랜잭션 처리를 필요로 하는 Performance Critical한 모든 사업분야C c 한 모든 사업분야

• 높은 읽기 처리량이 필요한 분야i 처리량이 상대적으로 매우 높은 애플리케이션• Peak Time 처리량이 상대적으로 매우 높은 애플리케이션

• 고 가용성을 갖추고, 높은 쓰기 처리량이 필요한 분야• 빠른 응답 시간이 필요한 분야빠른 응답 시간이 필요한 분야• 심각한 성능 문제를 안고 있는 기존 애플리케이션• 기존 데이터베이스를 유지하면서, “hot” 데이터에 대한 캐시기능이 필요한 부분

- 6 -

Page 7: 성능중심어플리케이션을위한 실시간Data 처리방안 · 성능중심어플리케이션을위한 ... 9Replication의특정노드복구시1 ... 2 Update • RAM: 2GB •

TimesTen OverviewII. Oracle이 제공하는 IMDB, TimesTenTimesTen OverviewII. Oracle이 제공하는 IMDB, TimesTen

II. Oracle이 제공하는 IMDB, Ti TTimesTen

- 7 -

Page 8: 성능중심어플리케이션을위한 실시간Data 처리방안 · 성능중심어플리케이션을위한 ... 9Replication의특정노드복구시1 ... 2 Update • RAM: 2GB •

TimesTen Overview II. Oracle이 제공하는 IMDB, TimesTenTimesTen Overview II. Oracle이 제공하는 IMDB, TimesTen

TimesTen이란?

MMDB product from Oracle• 전 세계 시장 점유율 1위

• 전 세계 500여개 이상의 기업에서 사용 중• 전 세계 500여개 이상의 기업에서 사용 중

• Product Version 8 (2009.1 출시예정)

실시간 데이터 관리 소프트웨어실시간 데이터 관리 소프트웨어

즉각 반응 고 확장성 고 가용성

고성능이 요구되는 Application내의고성능이 요구되는 Application내의이벤트,트랜잭션,데이터 관리

- 8 -

Page 9: 성능중심어플리케이션을위한 실시간Data 처리방안 · 성능중심어플리케이션을위한 ... 9Replication의특정노드복구시1 ... 2 Update • RAM: 2GB •

TimesTen Overview II. Oracle이 제공하는 IMDB, TimesTenTimesTen Overview II. Oracle이 제공하는 IMDB, TimesTen

C h C tR li ti

TimesTen 제품 구성

TimesTen IMDBReal-Time Database SystemReal-time data management for applications requiring

ti l f

Cache Connect

Real-Time Dynamic Data Cache Real-time relational processing of selected data from an Oracle

ReplicationReal-Time Database Systemwith ReplicationReal-time data management, and replication for applications requiring exceptional performance

Network

selected data from an Oracle database, including automatic data loading and update synchronization

replication, for applications requiring exceptional performance, with the failover, recovery, and evolution of databases with minimal downtime

N t kNetwork

B

Network

CacheDataServer

Typical Uses:Typical Uses:

Primary Subscriber(s)

BDataServer DataServer

Typical Uses: yp

Application Server Acceleration

Enterprise App Acceleration

Application-Tier Data Caching

yp

Network Equipment & Systems

Value-Added Services

Reference Data

yp

Network Equipment & Systems

Value-Added Services

Reference Data

- 9 -

Page 10: 성능중심어플리케이션을위한 실시간Data 처리방안 · 성능중심어플리케이션을위한 ... 9Replication의특정노드복구시1 ... 2 Update • RAM: 2GB •

TimesTen Overview II. Oracle이 제공하는 IMDB, TimesTenTimesTen Overview II. Oracle이 제공하는 IMDB, TimesTen

빠른 응답시간 보장

Average Response TimesTimesTen/DataServer 5.1

IBM eServer pSeries 630, 4-CPU, 1.2 GHz POWER4 AIX 5.2, 64-bit

37 3630

35

40

s

100% Updates

20

25

30

osec

ond 100% Inserts

100% Reads

15

5

10

15

Mic

ro

0Database Operation

- 10 -

Page 11: 성능중심어플리케이션을위한 실시간Data 처리방안 · 성능중심어플리케이션을위한 ... 9Replication의특정노드복구시1 ... 2 Update • RAM: 2GB •

TimesTen Overview II. Oracle이 제공하는 IMDB, TimesTenTimesTen Overview II. Oracle이 제공하는 IMDB, TimesTen

비교할 수 없는 성능, Direct Access로 실현

만이 제 하 과 사 자• TimesTen 만이 제공하는 Direct Access 모드는 TimesTen과 사용자 Application 프로세스간 Direct 통신방식을 Network 통신과 IPC(Inter Process Communication)가 갖는Overhead를 제거하여 동종의 MMDBMS 보다 더 빠른 성능을 제공.

사용자 응용프로그램

450,000

Direct TCP(local) TCP(Remote)

사용자 응용프로그램

JDBC – ODBC – SQL92

200 000250,000 300,000 350,000 400,000

For

Seco

nds

C/S대비 약 2배 이상

0 50,000

100,000 150,000 200,000

Tran

sact

ion F

Direct TCP(local) TCP(Remote)

21

Select Insert Update DeleteDirect TCP(local) TCP(Remote)

Select 441,066 107,334 74,696

Insert 164,942 78,369 32,742

Update 97,601 70,402 34,901

Delete 165 964 90 614 25 865

- 11 -

Delete 165,964 90,614 25,865

Page 12: 성능중심어플리케이션을위한 실시간Data 처리방안 · 성능중심어플리케이션을위한 ... 9Replication의특정노드복구시1 ... 2 Update • RAM: 2GB •

TimesTen Overview II. Oracle이 제공하는 IMDB, TimesTenTimesTen Overview II. Oracle이 제공하는 IMDB, TimesTen

고 가용성,고 확장성 - Replication

Network

Application Application

N-way, peer-to-peer Active/standby or

ti / ti lti l l

n-Ti

er P

latfo

rms Application

Program

TimesTen

Application Program

TimesTen

active/active, multi-levelData Store / 테이블 수준 정의

동기/비동기 전송In-MemoryDatabase

In-MemoryDatabase

App

licat

ion

자동복구

데이터 충돌 감지 및 처리

ReplicationTimesTen to TimesTen

- 12 -

Page 13: 성능중심어플리케이션을위한 실시간Data 처리방안 · 성능중심어플리케이션을위한 ... 9Replication의특정노드복구시1 ... 2 Update • RAM: 2GB •

TimesTen Overview II. Oracle이 제공하는 IMDB, TimesTenTimesTen Overview II. Oracle이 제공하는 IMDB, TimesTen

Oracle DBMS와 유기적 연동

오라클 테이블 전체 또는 부분 데이터를

Caching

Read-only or updateable

양방향 데이터 전송

• From TimesTen to Oracle

• From Oracle to TimesTen

Async or sync write-through

하나의 오라클 DB에 다중 Data Store 가능

Replication option과 연동하여 사용 가능

설정이 간편 – SQL로 정의/구현

- 13 -

Page 14: 성능중심어플리케이션을위한 실시간Data 처리방안 · 성능중심어플리케이션을위한 ... 9Replication의특정노드복구시1 ... 2 Update • RAM: 2GB •

TimesTen Overview II. Oracle이 제공하는 IMDB, TimesTenTimesTen Overview II. Oracle이 제공하는 IMDB, TimesTen

타 IMDB와 성능 비교

- 14 -

Page 15: 성능중심어플리케이션을위한 실시간Data 처리방안 · 성능중심어플리케이션을위한 ... 9Replication의특정노드복구시1 ... 2 Update • RAM: 2GB •

TimesTen Overview II. Oracle이 제공하는 IMDB, TimesTenTimesTen Overview II. Oracle이 제공하는 IMDB, TimesTen

타 IMDB와 성능 비교 (TPC-C Benchmark)

Total Average Transaction Throughput(No Repl ication)

TimesTen

Altibase타 IMDB

100 000

120,000

140,000

Altibase

Sun Solaris Environment

H/W Model : Sun SPARC Enterprise M9000P 4 SPARC64 VI D l

타 IMDB

60,000

80,000

100,000

tpm

C

Processor : 4xSPARC64 VI Dual-

Core 2.28GHz( 8core/16thread)

Memory: 32GB(16x2048), DDR-2 Memory

0

20,000

40,000

InBox Direct InBox IPC OutBox TCP

O/S : SUN OS 5.1Disk : 2Gbit Fiber Channel 500G External StorageNetwork : 2x 10/100/1000 Mbps EthernetInBox_Direct InBox_IPC OutBox_TCP

Process

Ethernet

- 15 -

Page 16: 성능중심어플리케이션을위한 실시간Data 처리방안 · 성능중심어플리케이션을위한 ... 9Replication의특정노드복구시1 ... 2 Update • RAM: 2GB •

TimesTen Overview II. Oracle이 제공하는 IMDB, TimesTenTimesTen Overview II. Oracle이 제공하는 IMDB, TimesTen

타 IMDB 대비 TimesTen의 장점Direct Access (ODBC & JDBC)Direct Access (ODBC & JDBC)

타 IMDB 보다 2배의 빠른 성능을 보장

Transaction의 선별적 Durability 제공성능과 안정성을 동시 보장

High AvailabilityReplication(복제)시 데이터 동기화 방식(Sync /Async)의 혼용을 허용함으로Replication(복제)시 데이터 동기화 방식(Sync /Async)의 혼용을 허용함으로데이터의 안정성 및 성능을 동시 보장Replication의 특정 노드 복구 시 1라인의 커맨드로 수행되는 복구기능제공(Duplication)제 ( p )Oracle RAC의 특정 노드에 대한 장애 시 자동 복구

Oracle DB와의 연동성I M D b C h 옵션은 간단한 SQL구문(C C h )을 통해In-Memory Database Cache옵션은 간단한 SQL구문(Create Cache)을 통해TimesTen과 Oracle DB간 데이터 교환기능을 제공

- 16 -

Page 17: 성능중심어플리케이션을위한 실시간Data 처리방안 · 성능중심어플리케이션을위한 ... 9Replication의특정노드복구시1 ... 2 Update • RAM: 2GB •

TimesTen OverviewIII. IMDB, Disk DB 비교TimesTen OverviewIII. IMDB, Disk DB 비교

III IMDB Disk DB 비교III. IMDB, Disk DB 비교

- 17 -

Page 18: 성능중심어플리케이션을위한 실시간Data 처리방안 · 성능중심어플리케이션을위한 ... 9Replication의특정노드복구시1 ... 2 Update • RAM: 2GB •

TimesTen OverviewIII. IMDB, Disk DB 비교TimesTen OverviewIII. IMDB, Disk DB 비교

Data 처리 방법

Memory-resident Data

Disk-resident Data

- 18 -

Page 19: 성능중심어플리케이션을위한 실시간Data 처리방안 · 성능중심어플리케이션을위한 ... 9Replication의특정노드복구시1 ... 2 Update • RAM: 2GB •

TimesTen OverviewIII. IMDB, Disk DB 비교TimesTen OverviewIII. IMDB, Disk DB 비교

Finding a Row of Data in TimesTen

- 19 -

Page 20: 성능중심어플리케이션을위한 실시간Data 처리방안 · 성능중심어플리케이션을위한 ... 9Replication의특정노드복구시1 ... 2 Update • RAM: 2GB •

TimesTen OverviewIII. IMDB, Disk DB 비교TimesTen OverviewIII. IMDB, Disk DB 비교

Finding a Row of Data in RDBMS

- 20 -

Page 21: 성능중심어플리케이션을위한 실시간Data 처리방안 · 성능중심어플리케이션을위한 ... 9Replication의특정노드복구시1 ... 2 Update • RAM: 2GB •

TimesTen OverviewIII. IMDB, Disk DB 비교TimesTen OverviewIII. IMDB, Disk DB 비교

TimesTen’s Direct Access 장점

Oracle-TimesTenIn-Memory Database

Conventional RDBMS

ODBC/N ti API

Applications

Connection 부하 (IPC)

Disk-based 추가 기능에ODBC API

ODBC/Native API

Applications

DBMS 엔진TimesTen RDBMS메모리 복사 부하

데이터 주소 변환 부하

대한 부하

버퍼 관리 부하

• Embeddable: 20-30MB

I/O 부하

• Direct-Linked• Memory-Tuned Data Layout• Disks to Ensure Durability/Recovery

- 21 -

Page 22: 성능중심어플리케이션을위한 실시간Data 처리방안 · 성능중심어플리케이션을위한 ... 9Replication의특정노드복구시1 ... 2 Update • RAM: 2GB •

TimesTen OverviewIII. IMDB, Disk DB 비교TimesTen OverviewIII. IMDB, Disk DB 비교

TimesTen VS Oracle

Characteristic Oracle TimesTen

Data Model Relational: SQL Relational: SQL

Target Applications Mission-critical Mission-critical

Optimization Disk-centric Memory-centric

Typical deployment Database tier Application tier

Architecture Client/Server Direct data access

Response Times Milliseconds Microseconds

Data Capacity Tens of terabytes Tens of gigabytes

Scalability Unlimited SMP/cluster Good SMP

- 22 -

Page 23: 성능중심어플리케이션을위한 실시간Data 처리방안 · 성능중심어플리케이션을위한 ... 9Replication의특정노드복구시1 ... 2 Update • RAM: 2GB •

TimesTen OverviewIII. IMDB, Disk DB 비교TimesTen OverviewIII. IMDB, Disk DB 비교

Performance: Higher ThroughputTransaction Throughput

350,000

Transaction ThroughputTimesTen/DataServer 5.1

IBM eServer pSeries 670, 12-CPU1.1 GHz POWER4 AIX 5.2, 64-bit

314,076

250,000

300,000

ond

100% Reads70-20-10 Mix100% Inserts100% Deletes100% Updates

208,569

150 000

200,000

,

ons

Per

Seco

pRDBMS 100% Reads

1212--CPU CPU SystemSystem

54 856

107,06295,540

50 000

100,000

150,000

Tran

sact

i SystemSystem

54,856

0

50,000

1 2 4 6 8 10 12

N b f A li ti P

- 23 -

Number of Application Processes

Page 24: 성능중심어플리케이션을위한 실시간Data 처리방안 · 성능중심어플리케이션을위한 ... 9Replication의특정노드복구시1 ... 2 Update • RAM: 2GB •

TimesTen OverviewIII. IMDB, Disk DB 비교TimesTen OverviewIII. IMDB, Disk DB 비교

Telecom Benchmark - Configurations

Oracle• Three-tier architecture• Benchmark application

Home Location Registry (HLR) application

Oracle + TimesTen• Three-tier architecture• Benchmark application• Benchmark application

running in middle tier• Benchmark application running in middle tier

• TimesTen 7.0 embedded in benchmark application

• Updatable cache• Updatable cache containing benchmark data

• Delete call forwarding• Get access data• Get basic subscriber data

1 Delete

3 Select

transactions

E i t Get basic subscriber data• Get new destination• Insert call forwarding• Update subscriber data• Update subscriber location

3 Select

1 Insert

2 Update

• RAM: 2GB• Processors: Intel Xeon 3GHz hyper-threading * 2• OS: Red Hat Enterprise Linux 4.0

Environment

- 24 -

Page 25: 성능중심어플리케이션을위한 실시간Data 처리방안 · 성능중심어플리케이션을위한 ... 9Replication의특정노드복구시1 ... 2 Update • RAM: 2GB •

TimesTen OverviewII. PerformanceTimesTen OverviewII. Performance

Telecom Benchmark - Transaction Response Time

- 25 -

Page 26: 성능중심어플리케이션을위한 실시간Data 처리방안 · 성능중심어플리케이션을위한 ... 9Replication의특정노드복구시1 ... 2 Update • RAM: 2GB •

TimesTen OverviewII. PerformanceTimesTen OverviewII. Performance

Telecom Benchmark - Transaction Throughput

- 26 -

Page 27: 성능중심어플리케이션을위한 실시간Data 처리방안 · 성능중심어플리케이션을위한 ... 9Replication의특정노드복구시1 ... 2 Update • RAM: 2GB •