Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
1
Oracle TimesTen을 활용한
수강 신청 성능 고도화 방안
한국오라클
2
<Insert Picture Here>
차례
Oracle TimesTen 소개
Oracle TimesTen 제품 개요
Oracle TimesTen 적용 사례
Oracle TimesTen과 수강 신청 업무
결론
3
Oracle TimesTen 소개
4
Oracle TimesTen
In-memory RDBMS
in the middle-tier.. enables the Real-time Enterprise
ApplicationApplication
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을 사용
6
Oracle TimesTen 제품 개요
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
8
기존 RDBMS의 데이터 검색
Hash
Function
Linked
Lists Into
Buffers
Buffer Pool
어플리케이션
SQL
Private
Buffer 에데이터 복사
Data
Page
페이지가이미메모리에존재 한다고가정
어플리케이션에버퍼 전송 (IPC)
Table#Page#Query Optimizer
/Executor
요구된 디스크 페이지 주소
페이지 위치에대한포인트
IPC
9
TimesTen의 데이터 검색
Memory-Resident Database
Application
SQL
모든 데이터베이스가메모리에존재
Memory AddressQuery Optimizer
/Executor
Data Store
요구된 레코드에 대한 메모리어드레스
어플리케이션버퍼에 데이터 복사
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
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
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
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
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
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
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
17
Oracle TimesTen 적용 사례
18
IMDB의 일반적인 적용 분야 메모리 상에서 전체 데이터 베이스를 관리 하므로 고성능의 실시간 transaction
처리를 필요로 하는 분야에 적합
• 높은 읽기/쓰기 처리량이 필요한 분야
• 고 가용성을 갖추고, 높은 읽기 처리량이 필요한 분야
예: wireless billing, Stock trading
• 빠른 응답 시간이 필요한 분야
• 새로운 어플리케이션 또는 심각한 성능 문제를 안고 있는 기존
어플리케이션
• 기존 데이터베이스를 유지하면서, “hot” 데이터에 대한 캐시 기능이 필요한
부분
통신/네트워킹금융/증권 국방여행/예약
운송/공급 망 관리 제조 프로세스
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 사 연/주조 시스템
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 개 증권사 사용)
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 처리속도 확보
22
TimesTen과 수강 신청 업무
23
수강 신청 업무의 pain point
정해진 기한 내에 많은 학생들의 수강 신청 요청들을처리해야 함
• 특히 수강 신청 기간 극 초기의 짧은 peak time에 대부분의접속이 집중
• 이러한 peak time에 수강 신청 처리 지연은 물론 최악의경우 수강 신청 시스템의 장애로 종종 이어짐
Bottleneck은 DBMS 서버• Web/WAS 단의 튜닝/증설은 효과가 미미
• DBMS 서버 증설의 효과 또한 불명확
• Peak time의 부하량은 통상의 용량 산정으로 해결할 수있는 수준을 벗어남
• DBMS 서버 증설의 비효율성
• 수강 신청 기간 외에는 시스템 사용 율이 낮음
24
수강 신청 업무 분석
1. 수강 편람 조회 transaction
데이터베이스에서 해당 학기에개설된 강좌들에 대한 세부 정보를조회하여 수강할 과목들을 결정하는단계
과목명 수강 자격
담당교수 수업시간표
강의실
개설학과
강의 계획서 …
2. 수강 신청 transaction
본인의 수강 신청 내역을 수강 신청DB에 등록
• 총 10G 이내의 데이터에 대한 조회• 5 ~ 6 개 테이블의 join
Read-only 성 transaction인 수강 편람 조회의 비중이 90% 육박!
전형적인 수강 신청 logic
25
TimesTen의 적용 방안TimesTen Node 1 TimesTen Node 2
ReadsWrites데이터 읽기에 대한
요청은 AP 단에 deploy된TimesTen의 읽기 전용cache가 서비스
쓰기 요청인 수강 신청transaction은 pass-
through 기능에 의해Oracle이 처리
한가지 방안
10배(Times Ten) 이상의성능 향상 효과를 기대할 수있음!
26
결론
27
TimesTen - Real-time Enterprise를위한 Oracle의 솔루션
Performance-critical한 어플리케이션을 위해 실시간 데이터 관리기능으로 Oracle DB를 확장
CRM &Portal
BI &BAM
Custom Apps
TelcoServices
FinSvcs
28
Oracle Technology Stack 속의TimesTen
Application
Servers
Storage
Databases Oracle
RACFinancials
Supply
ChainHR
Flight & Crew
Scheduling
다른 어떤 벤더도 제공할 수 없는 Oracle과의 완벽한 통합