성능중심어플리케이션을위한 실시간data 처리방안 ·...
TRANSCRIPT
성능 중심 어플리케이션을 위한실시간 D 처리방안실시간 Data 처리방안
Oracle TSC DB Tech.Lee Sung Jin ([email protected])
TimesTen OverviewContent & IntentTimesTen OverviewContent & Intent
IMDB의 특징 및 필요성1
Oracle이 제공하는 IMDB, TimesTen2
IMDB, Disk DB간 비교3
국내 적용 사례4
- 2 -
TimesTen OverviewI. IMDB의 특징 및 필요성TimesTen OverviewI. IMDB의 특징 및 필요성
I. IMDB의 특징 및 필요성
- 3 -
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배 빠른 성능 제공
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 작업 관리 비용 감소
TimesTen OverviewI. IMDB의 특징 및 필요성TimesTen OverviewI. IMDB의 특징 및 필요성
IMDB 적용 분야
메모리 상에서 전체 데이터 베이스를 관리 하므로 초고속 고성능의실시간(Real-Time) 트랜잭션 처리를 필요로 하는 Performance Critical한 모든 사업분야C c 한 모든 사업분야
• 높은 읽기 처리량이 필요한 분야i 처리량이 상대적으로 매우 높은 애플리케이션• Peak Time 처리량이 상대적으로 매우 높은 애플리케이션
• 고 가용성을 갖추고, 높은 쓰기 처리량이 필요한 분야• 빠른 응답 시간이 필요한 분야빠른 응답 시간이 필요한 분야• 심각한 성능 문제를 안고 있는 기존 애플리케이션• 기존 데이터베이스를 유지하면서, “hot” 데이터에 대한 캐시기능이 필요한 부분
- 6 -
TimesTen OverviewII. Oracle이 제공하는 IMDB, TimesTenTimesTen OverviewII. Oracle이 제공하는 IMDB, TimesTen
II. Oracle이 제공하는 IMDB, Ti TTimesTen
- 7 -
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 -
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 -
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 -
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
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 -
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 -
TimesTen Overview II. Oracle이 제공하는 IMDB, TimesTenTimesTen Overview II. Oracle이 제공하는 IMDB, TimesTen
타 IMDB와 성능 비교
- 14 -
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 -
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 -
TimesTen OverviewIII. IMDB, Disk DB 비교TimesTen OverviewIII. IMDB, Disk DB 비교
III IMDB Disk DB 비교III. IMDB, Disk DB 비교
- 17 -
TimesTen OverviewIII. IMDB, Disk DB 비교TimesTen OverviewIII. IMDB, Disk DB 비교
Data 처리 방법
Memory-resident Data
Disk-resident Data
- 18 -
TimesTen OverviewIII. IMDB, Disk DB 비교TimesTen OverviewIII. IMDB, Disk DB 비교
Finding a Row of Data in TimesTen
- 19 -
TimesTen OverviewIII. IMDB, Disk DB 비교TimesTen OverviewIII. IMDB, Disk DB 비교
Finding a Row of Data in RDBMS
- 20 -
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 -
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 -
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
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 -
TimesTen OverviewII. PerformanceTimesTen OverviewII. Performance
Telecom Benchmark - Transaction Response Time
- 25 -
TimesTen OverviewII. PerformanceTimesTen OverviewII. Performance
Telecom Benchmark - Transaction Throughput
- 26 -