28
1 Oracle TimesTen을 활용한 수강 신청 성능 고도화 방안 한국오라클

Oracle TimesTen을활용한 수강신청성능고도화방안 · 2008. 11. 10. · Apps Telco Services FinSvcs. 28 Oracle Technology Stack 속의 TimesTen Application Servers Storage

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Oracle TimesTen을활용한 수강신청성능고도화방안 · 2008. 11. 10. · Apps Telco Services FinSvcs. 28 Oracle Technology Stack 속의 TimesTen Application Servers Storage

1

Oracle TimesTen을 활용한

수강 신청 성능 고도화 방안

한국오라클

Page 2: Oracle TimesTen을활용한 수강신청성능고도화방안 · 2008. 11. 10. · Apps Telco Services FinSvcs. 28 Oracle Technology Stack 속의 TimesTen Application Servers Storage

2

<Insert Picture Here>

차례

Oracle TimesTen 소개

Oracle TimesTen 제품 개요

Oracle TimesTen 적용 사례

Oracle TimesTen과 수강 신청 업무

결론

Page 3: Oracle TimesTen을활용한 수강신청성능고도화방안 · 2008. 11. 10. · Apps Telco Services FinSvcs. 28 Oracle Technology Stack 속의 TimesTen Application Servers Storage

3

Oracle TimesTen 소개

Page 4: Oracle TimesTen을활용한 수강신청성능고도화방안 · 2008. 11. 10. · Apps Telco Services FinSvcs. 28 Oracle Technology Stack 속의 TimesTen Application Servers Storage

4

Oracle TimesTen

In-memory RDBMS

in the middle-tier.. enables the Real-time Enterprise

ApplicationApplication

Page 5: Oracle TimesTen을활용한 수강신청성능고도화방안 · 2008. 11. 10. · Apps Telco Services FinSvcs. 28 Oracle Technology Stack 속의 TimesTen Application Servers Storage

5

TimesTen – #1 IMDB 시장 점유

NOKIA

전세계 2,000 이상의 고객

네트워크 장비 제조 업체의 상위 9개 중 7개 사가 Timesten을 사용해 제품 생산

전세계에서 가장 유명한 Telecom Billing SYSTEM이 Timesten을 사용

미국 내 무선 911콜의 80%가 Timesten을 통해서 연결

유럽 상위 무선 통신 사업자 5개 중 4개가 Timesten을 사용

세계에서 가장 큰 Call Center에서 Timesten을 사용

세계 2위 규모의 항공사에서 Timesten을 사용

Page 6: Oracle TimesTen을활용한 수강신청성능고도화방안 · 2008. 11. 10. · Apps Telco Services FinSvcs. 28 Oracle Technology Stack 속의 TimesTen Application Servers Storage

6

Oracle TimesTen 제품 개요

Page 7: Oracle TimesTen을활용한 수강신청성능고도화방안 · 2008. 11. 10. · Apps Telco Services FinSvcs. 28 Oracle Technology Stack 속의 TimesTen Application Servers Storage

7

TimesTen vs. 기존의 RDBMS

Connection 부하 (IPC)

DBMS 엔진TimesTen

Disk-based

RDBMS

메모리 복사 부하데이터 주소 변환 부하

I/O 부하

추가 기능에대한 부하

Conventional RDBMS

버퍼 관리 부하

ODBC API

ODBC/Native API

Applications

Applications

TimesTen

기존의 RDBMS

• Embeddable: 100M 미만• Direct-Linked

• Memory-Tuned Data Layout

• Disks to Ensure Durability/Recovery

Page 8: Oracle TimesTen을활용한 수강신청성능고도화방안 · 2008. 11. 10. · Apps Telco Services FinSvcs. 28 Oracle Technology Stack 속의 TimesTen Application Servers Storage

8

기존 RDBMS의 데이터 검색

Hash

Function

Linked

Lists Into

Buffers

Buffer Pool

어플리케이션

SQL

Private

Buffer 에데이터 복사

Data

Page

페이지가이미메모리에존재 한다고가정

어플리케이션에버퍼 전송 (IPC)

Table#Page#Query Optimizer

/Executor

요구된 디스크 페이지 주소

페이지 위치에대한포인트

IPC

Page 9: Oracle TimesTen을활용한 수강신청성능고도화방안 · 2008. 11. 10. · Apps Telco Services FinSvcs. 28 Oracle Technology Stack 속의 TimesTen Application Servers Storage

9

TimesTen의 데이터 검색

Memory-Resident Database

Application

SQL

모든 데이터베이스가메모리에존재

Memory AddressQuery Optimizer

/Executor

Data Store

요구된 레코드에 대한 메모리어드레스

어플리케이션버퍼에 데이터 복사

Page 10: Oracle TimesTen을활용한 수강신청성능고도화방안 · 2008. 11. 10. · Apps Telco Services FinSvcs. 28 Oracle Technology Stack 속의 TimesTen Application Servers Storage

10

Oracle과 TimesTen 비교

Characteristic Oracle TimesTen

Applications Mission-critical Mission-critical

Model Relational Relational

Architecture Disk-centric Memory-centric

Performance driver Human interaction Computer to computer

Typical deployment Back-office server Embedded in application

Response Times Milliseconds to seconds Micro to milliseconds

Data Capacity Tens of terabytes Tens of gigabytes

Administration DBAs & Sys Admins Unattended operation

Page 11: Oracle TimesTen을활용한 수강신청성능고도화방안 · 2008. 11. 10. · Apps Telco Services FinSvcs. 28 Oracle Technology Stack 속의 TimesTen Application Servers Storage

11

빠른 응답속도

Average Response Times

TimesTen

IBM eServer pSeries 630, 4-CPU

1.2 GHz POWER4 AIX 5.2, 64-bit

37 36

15

0

5

10

15

20

25

30

35

40

45

Database Operation

Mic

roseco

nd

s Retrieve a record

in 15 millionths of

a second

Capture or update

data in 40 millionths

of a second

Update

a RecordInsert

a Record

Retrieve

a Record

Page 12: Oracle TimesTen을활용한 수강신청성능고도화방안 · 2008. 11. 10. · Apps Telco Services FinSvcs. 28 Oracle Technology Stack 속의 TimesTen Application Servers Storage

12

성능 비교

12,158

71,225

54,856

314,076

130,506

23,577

0

50,000

100,000

150,000

200,000

250,000

300,000

350,000

Best Case RDBMS Read TT Read

Tran

sact

ions

Per

Sec

ond

@ 2 CPUs

@ 4 CPUs

@ 12 CPUs

Comparative Throughput

TimesTen vs. RDBMSIBM eServer pSeries 670, 12-CPU

1.1 GHz POWER4 AIX 5.2, 64-bit

TimesTen

on 2 CPUs

outperforms

a RDBMS on

12 CPUs

2

CPUs

Page 13: Oracle TimesTen을활용한 수강신청성능고도화방안 · 2008. 11. 10. · Apps Telco Services FinSvcs. 28 Oracle Technology Stack 속의 TimesTen Application Servers Storage

13

TimesTen 제품군

TimesTen IMDB

Real-Time Database System

Real-time data management for

applications requiring exceptional

performance

Typical Uses:

Network Equipment & Systems

Value-Added Services

Reference Data

DataServer

Network

Cache option

Real-Time Dynamic Data Cache

Real-time relational processing of

selected data from an Oracle

database, including automatic data

loading and update synchronization

Typical Uses:

Application Server Acceleration

Enterprise App Acceleration

Application-Tier Data Caching

Replication option

Real-Time Database System

with Replication

Real-time data management, and

replication, for applications requiring

exceptional performance, with the

failover, recovery, and evolution of

databases with minimal downtime

Typical Uses:

Network Equipment & Systems

Value-Added Services

Reference Data

B

DataServer

Primary Subscriber(s)

Network

DataServer

Cache

Network

Page 14: Oracle TimesTen을활용한 수강신청성능고도화방안 · 2008. 11. 10. · Apps Telco Services FinSvcs. 28 Oracle Technology Stack 속의 TimesTen Application Servers Storage

14

TimesTen In-Memory Database

RDBMS/SQL 데이터 모델• JDBC, ODBC APIs

• API for change notification

Application tier 배포 실시간 성능

• Low latency and high throughput

• Efficient CPU utilization

데이터 지속성 및 복구 (on disk)

유연한 구성• Async and sync disk logging

• Embedded and client-server

관리 영역이 거의 없음

Application Program

TimesTen

libraries

Applic

ation

-Tie

r P

latf

orm

Network

In-Memory

Database(s)

Application Program

TimesTen

libraries

Transaction Logs

...

Client/Server

Checkpoint files

Page 15: Oracle TimesTen을활용한 수강신청성능고도화방안 · 2008. 11. 10. · Apps Telco Services FinSvcs. 28 Oracle Technology Stack 속의 TimesTen Application Servers Storage

15

Replication – TimesTen to TimesTen

peer-to-peer, N-way

Active/standby or active/active,

multi-level

Data Store / 테이블 수준 정의

동기/비동기 전송

자동복구

데이터 충돌 감지 및 처리

ReplicationTimesTen to TimesTen

In-Memory

Database

Network

In-Memory

Database

Ap

plic

ation-T

ier

Pla

tfo

rms Application

Program

TimesTen

Application Program

TimesTen

Page 16: Oracle TimesTen을활용한 수강신청성능고도화방안 · 2008. 11. 10. · Apps Telco Services FinSvcs. 28 Oracle Technology Stack 속의 TimesTen Application Servers Storage

16

Cache Connect to OracleIn-Memory Database Cache Option

Oracle 테이블 전체 또는 부분데이터를 Caching

Read-only or updateable

양방향 데이터 전송

• From TimesTen to Oracle

• From Oracle to TimesTen

Asynch or synch write-

through

하나의 Oracle DB에 다중Data Store 가능

Replication option과 연동하여사용 가능

Network

Ap

plic

ation-T

ier

Pla

tfo

rms

Cache Connectto Oracle

Oracle

In-Memory

Database

Application Program

TimesTen

In-Memory

Database

Application Program

TimesTen

Page 17: Oracle TimesTen을활용한 수강신청성능고도화방안 · 2008. 11. 10. · Apps Telco Services FinSvcs. 28 Oracle Technology Stack 속의 TimesTen Application Servers Storage

17

Oracle TimesTen 적용 사례

Page 18: Oracle TimesTen을활용한 수강신청성능고도화방안 · 2008. 11. 10. · Apps Telco Services FinSvcs. 28 Oracle Technology Stack 속의 TimesTen Application Servers Storage

18

IMDB의 일반적인 적용 분야 메모리 상에서 전체 데이터 베이스를 관리 하므로 고성능의 실시간 transaction

처리를 필요로 하는 분야에 적합

• 높은 읽기/쓰기 처리량이 필요한 분야

• 고 가용성을 갖추고, 높은 읽기 처리량이 필요한 분야

예: wireless billing, Stock trading

• 빠른 응답 시간이 필요한 분야

• 새로운 어플리케이션 또는 심각한 성능 문제를 안고 있는 기존

어플리케이션

• 기존 데이터베이스를 유지하면서, “hot” 데이터에 대한 캐시 기능이 필요한

부분

통신/네트워킹금융/증권 국방여행/예약

운송/공급 망 관리 제조 프로세스

Page 19: Oracle TimesTen을활용한 수강신청성능고도화방안 · 2008. 11. 10. · Apps Telco Services FinSvcs. 28 Oracle Technology Stack 속의 TimesTen Application Servers Storage

19

Active

WebServer WebServer

Standby

TimesTen 사용 공정에서 발생하는 데이터의 실시간 처리

이벤트수집(공정 처리)

구성환경 Sun/Solaris O/S, 14 CPU

SunOne WebServer, Java Application

2 GB (1.5 G PermSize, 0.3 GB TempSize)

장점 Replication구조로 failover가 자동으로 이루어짐

타 DBMS에 비해 월등히 빠른 처리 속도

분산, 중복된 업무의 통합으로 비용 감소, 효율 증대

무정지 시스템 TimesTen

L4 Switch…

L4 Switch

설비제어용PLC / DCS

Admin Console

제강공정 연강공정

제조 분야P 사 연/주조 시스템

Page 20: Oracle TimesTen을활용한 수강신청성능고도화방안 · 2008. 11. 10. · Apps Telco Services FinSvcs. 28 Oracle Technology Stack 속의 TimesTen Application Servers Storage

20

ActiveStandby

차세대 Trading 시스템

현행 및 요구사항 시스템을 통한 단위시간당 집중도 증가

외부 시스템 성능개선에 따른 trading 시스템 주문처리 속도 개선 요구

H/W 증설시의 과다한 비용 증가 발생구성환경 4 – CPU * 2 System (for Replication)

Sun/Solaris O/S

C - applications (ODBC)

Application에 embedded되어 Direct-Data Access

기대효과 빠른 응답 속도와 안정성을 제공한 주문 처리 속도

개선 (10건/초->100건/초)

기존 DBMS 대비 비용 절감

완벽한 실시간 이중화 및 장애 요인(H/W Disk)감소

near-zero administration

TimesTen

Trade Execution

Order Routing

Traders

BASE 21

TimesTen

금융 분야K 사 MTS System (14 개 증권사 사용)

Page 21: Oracle TimesTen을활용한 수강신청성능고도화방안 · 2008. 11. 10. · Apps Telco Services FinSvcs. 28 Oracle Technology Stack 속의 TimesTen Application Servers Storage

21

통신 분야K 사 신인증 시스템

21

• 무선 contents 서비스를 위한 가입자/서비스 인증 기능 제공, 서비스사용을 위한 정보 제공무선 contents를 통한 부가 서비스 등록/해지 등의기본 프로세스 처리

• 2-node TimesTen 서버 : 실시간 인증 MEMORY DB 서버

• 4-node Oracle 10g RAC DB 서버 : 인증서버 #1, #2, 현행화 서버, 배치/통계서버

시스템 구성• Sun Solaris 10 SF25K

8cpu(16core) * 2ea• TimesTen 7.0.2.4 (64bit)• 각 100Gb DataStore• 2-node Replication (Active-

Active)• 16’s Read-Only Cache

Groups(with Oracle 10g 4Node RAC)

• Direct Access Mode

성능• 약 1000 TPS의 인증

transaction 요구• 일일 최대 8천만 건 처리 요구• 평균 30ms 이하의 처리속도

요구• TimesTen 최대 10,000TPS

성능 확보• 일일 최대 8억 6천만 건 처리

가능• 평균 0.1ms 처리속도 확보

Page 22: Oracle TimesTen을활용한 수강신청성능고도화방안 · 2008. 11. 10. · Apps Telco Services FinSvcs. 28 Oracle Technology Stack 속의 TimesTen Application Servers Storage

22

TimesTen과 수강 신청 업무

Page 23: Oracle TimesTen을활용한 수강신청성능고도화방안 · 2008. 11. 10. · Apps Telco Services FinSvcs. 28 Oracle Technology Stack 속의 TimesTen Application Servers Storage

23

수강 신청 업무의 pain point

정해진 기한 내에 많은 학생들의 수강 신청 요청들을처리해야 함

• 특히 수강 신청 기간 극 초기의 짧은 peak time에 대부분의접속이 집중

• 이러한 peak time에 수강 신청 처리 지연은 물론 최악의경우 수강 신청 시스템의 장애로 종종 이어짐

Bottleneck은 DBMS 서버• Web/WAS 단의 튜닝/증설은 효과가 미미

• DBMS 서버 증설의 효과 또한 불명확

• Peak time의 부하량은 통상의 용량 산정으로 해결할 수있는 수준을 벗어남

• DBMS 서버 증설의 비효율성

• 수강 신청 기간 외에는 시스템 사용 율이 낮음

Page 24: Oracle TimesTen을활용한 수강신청성능고도화방안 · 2008. 11. 10. · Apps Telco Services FinSvcs. 28 Oracle Technology Stack 속의 TimesTen Application Servers Storage

24

수강 신청 업무 분석

1. 수강 편람 조회 transaction

데이터베이스에서 해당 학기에개설된 강좌들에 대한 세부 정보를조회하여 수강할 과목들을 결정하는단계

과목명 수강 자격

담당교수 수업시간표

강의실

개설학과

강의 계획서 …

2. 수강 신청 transaction

본인의 수강 신청 내역을 수강 신청DB에 등록

• 총 10G 이내의 데이터에 대한 조회• 5 ~ 6 개 테이블의 join

Read-only 성 transaction인 수강 편람 조회의 비중이 90% 육박!

전형적인 수강 신청 logic

Page 25: Oracle TimesTen을활용한 수강신청성능고도화방안 · 2008. 11. 10. · Apps Telco Services FinSvcs. 28 Oracle Technology Stack 속의 TimesTen Application Servers Storage

25

TimesTen의 적용 방안TimesTen Node 1 TimesTen Node 2

ReadsWrites데이터 읽기에 대한

요청은 AP 단에 deploy된TimesTen의 읽기 전용cache가 서비스

쓰기 요청인 수강 신청transaction은 pass-

through 기능에 의해Oracle이 처리

한가지 방안

10배(Times Ten) 이상의성능 향상 효과를 기대할 수있음!

Page 26: Oracle TimesTen을활용한 수강신청성능고도화방안 · 2008. 11. 10. · Apps Telco Services FinSvcs. 28 Oracle Technology Stack 속의 TimesTen Application Servers Storage

26

결론

Page 27: Oracle TimesTen을활용한 수강신청성능고도화방안 · 2008. 11. 10. · Apps Telco Services FinSvcs. 28 Oracle Technology Stack 속의 TimesTen Application Servers Storage

27

TimesTen - Real-time Enterprise를위한 Oracle의 솔루션

Performance-critical한 어플리케이션을 위해 실시간 데이터 관리기능으로 Oracle DB를 확장

CRM &Portal

BI &BAM

Custom Apps

TelcoServices

FinSvcs

Page 28: Oracle TimesTen을활용한 수강신청성능고도화방안 · 2008. 11. 10. · Apps Telco Services FinSvcs. 28 Oracle Technology Stack 속의 TimesTen Application Servers Storage

28

Oracle Technology Stack 속의TimesTen

Application

Servers

Storage

Databases Oracle

RACFinancials

Supply

ChainHR

Flight & Crew

Scheduling

다른 어떤 벤더도 제공할 수 없는 Oracle과의 완벽한 통합