dbms 성능최적화구축방안 - dbguide.net · 2007-06-28 · 3 timesten –#1 imdb market share...
TRANSCRIPT
Oracle Oracle TimesTenTimesTen을을을을을을을을 이용한이용한이용한이용한이용한이용한이용한이용한
DBMS DBMS 성능성능성능성능성능성능성능성능 최적화최적화최적화최적화최적화최적화최적화최적화 구축구축구축구축구축구축구축구축 방안방안방안방안방안방안방안방안
2007.2
UNIONE I&C UNIONE I&C UNIONE I&C UNIONE I&C UNIONE I&C UNIONE I&C UNIONE I&C UNIONE I&C 김김김김김김김김 윤윤윤윤윤윤윤윤 복복복복복복복복 대표대표대표대표대표대표대표대표
2
회사회사회사회사회사회사회사회사 소개소개소개소개소개소개소개소개
회회회회 사사사사 명명명명회회회회 사사사사 명명명명
주주주주 소소소소주주주주 소소소소
전전전전화화화화번번번번호호호호전전전전화화화화번번번번호호호호
팩팩팩팩스스스스번번번번호호호호팩팩팩팩스스스스번번번번호호호호
주주주주요요요요업업업업무무무무주주주주요요요요업업업업무무무무
유니원아이앤씨㈜유니원아이앤씨㈜
서울시영등포구여의도동 44-22 호성빌딩본관9F (www.unioneinc.co.kr)서울시영등포구여의도동 44-22 호성빌딩본관9F (www.unioneinc.co.kr)
02-780-003902-780-0039
02-780-250302-780-2503
Oracle 성능컨설팅/유지보수, H/W 납품/유지보수, 대외업무시스템개발Oracle 성능컨설팅/유지보수, H/W 납품/유지보수, 대외업무시스템개발
3
TimesTenTimesTen –– #1 IMDB market share#1 IMDB market share
�네트워크네트워크네트워크네트워크 장비제조업체의장비제조업체의장비제조업체의장비제조업체의 상위상위상위상위 9999개중개중개중개중 7777새사새사새사새사 TimestenTimestenTimestenTimesten을을을을 사용해사용해사용해사용해 제품생산제품생산제품생산제품생산
�전세계에서전세계에서전세계에서전세계에서 가장가장가장가장 유명한유명한유명한유명한 Telecom Billing SYSTEMTelecom Billing SYSTEMTelecom Billing SYSTEMTelecom Billing SYSTEM이이이이 TimestenTimestenTimestenTimesten을을을을 사용사용사용사용
�미국내미국내미국내미국내 무선무선무선무선911911911911콜의콜의콜의콜의 80% 80% 80% 80% 가가가가 TimestenTimestenTimestenTimesten을을을을 통해서통해서통해서통해서 연결연결연결연결
�유럽상위유럽상위유럽상위유럽상위 무선통신사업자무선통신사업자무선통신사업자무선통신사업자 5555개중개중개중개중 4444개가개가개가개가 TimestenTimestenTimestenTimesten을을을을 사용사용사용사용
�세계에서세계에서세계에서세계에서 가장가장가장가장 큰큰큰큰 Call CenterCall CenterCall CenterCall Center에서에서에서에서 TimestenTimestenTimestenTimesten을을을을 사용사용사용사용
�세계세계세계세계2222위위위위 규모의규모의규모의규모의 항공사에서항공사에서항공사에서항공사에서 TimestenTimestenTimestenTimesten을을을을 사용사용사용사용
검증된검증된검증된검증된 솔루션솔루션솔루션솔루션
전세계전세계전세계전세계 1500 1500 1500 1500 개개개개 이상의이상의이상의이상의 기업에서기업에서기업에서기업에서 TimesTenTimesTenTimesTenTimesTen 을을을을 사용하고사용하고사용하고사용하고 있습니다있습니다있습니다있습니다....
4
TimesTenTimesTen –– OptionOption
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
5
TimesTenTimesTen –– Oracle DB VS Oracle DB VS TimesTenTimesTen
RelationalRelationalData Model
Mission-criticalMission-criticalApplications
Tens of gigabytesTens of terabytesData Capacity
DBAs & Sys Admins
Milliseconds
(to seconds)
Database tier (Back-office server)
All
Disk-centric
OracleDatabase 10g
Unattended operationAdministration
Microseconds
(to milliseconds)
Response Times
Application tier (Embedded in application)
Typical deployment
OLTP, some DSSTarget Applications
Memory-centricOptimization
Oracle TimesTenIn-Memory Database
DatabaseCharacteristic
6
TimesTenTimesTen –– PreformancePreformance(READ)(READ)
12,158
71,22554,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
Tra
nsa
ctio
ns
Per
Sec
ond
@ 2 CPUs@ 4 CPUs@ 12 CPUs
Comparative ThroughputTimesTen vs RDBMS
IBM eServer pSeries 670, 12-CPU1.1 GHz POWER4 AIX 5.2, 64-bit
Comparative ThroughputTimesTen vs RDBMS
IBM eServer pSeries 670, 12-CPU1.1 GHz POWER4 AIX 5.2, 64-bit
TimesTenon 2 CPUs
outperforms a RDBMS on 12 CPUs
TimesTenon 2 CPUs
outperforms a RDBMS on 12 CPUs
12 CPUs
2 CPUs
4 CPUs
12 CPUs
7
TimesTenTimesTen –– PreformancePreformance(READ & WRITE)(READ & WRITE)
8
�전체적인 DBMS와어플리케이션성능파악� DBMS와어플리케이션의성능저하원인 분석� DBMS 성능최적화을위한방안도출
TimesTenTimesTen을을을을을을을을 이용한이용한이용한이용한이용한이용한이용한이용한 DBMS DBMS 성능성능성능성능성능성능성능성능 최적화최적화최적화최적화최적화최적화최적화최적화 방안방안방안방안방안방안방안방안
DB 성능성능성능성능진단진단진단진단 Oracle TimesTen구축구축구축구축 Application 수정수정수정수정 부하부하부하부하테스트테스트테스트테스트
OracleOracle TimesTenTimesTen + + UnioneUnione I&CI&C
SQL과과과과 Table 추출추출추출추출
DBMS 성능진단
� Oracle TimesTen에캐쉬(Cache)할테이블추출� Oracle TimesTen에서처리할 SQL Statement 추출
SQL과 Object 추출
� Oracle TimesTen구성방식선정Oracle TimesTen구축
� Oracle TimesTen에서처리할수없는경우(Stored Procedure – Function/Procedure)Application 수정
� Oracle TimesTen구성전/후성능부하테스트를통한검증성능부하테스트
적용적용적용적용적용적용적용적용 사례사례사례사례사례사례사례사례 –– 증권증권증권증권증권증권증권증권
10
Home Trading System Home Trading System –– BB증권증권증권증권증권증권증권증권
� Oracle TimesTen을을을을이용한이용한이용한이용한 Home Trading System (Before)
Active
Active
증권전산증권전산증권전산증권전산시세시세시세시세 Data
시세시세시세시세Chart Data
C-ISAM C-ISAM
시세시세시세시세Chart Data
Home Trading System - HP rp7640 875MHz * 4- Memory 6GB
시세시세시세시세 Data C-ISAM DB 사용사용사용사용
문제점문제점문제점문제점- 각각각각Chart(Tick Chart, 일봉일봉일봉일봉, 월봉월봉월봉월봉) 수신수신수신수신 속도속도속도속도 저하저하저하저하- 시세시세시세시세 폭주폭주폭주폭주 종목종목종목종목 시세시세시세시세 누락누락누락누락- C-ISAM 장애시장애시장애시장애시 Recovery 속도속도속도속도 지연지연지연지연
11
Home Trading System Home Trading System –– BB증권증권증권증권증권증권증권증권
� Oracle TimesTen을을을을이용한이용한이용한이용한 Home Trading System (After)
Active
Active
증권전산증권전산증권전산증권전산시세시세시세시세 Data
시세시세시세시세Chart Data
시세시세시세시세Chart Data
Home Trading System - HP rp7640 875MHz * 4- Memory 6GB- MMDB Memory 4GB 사용사용사용사용
시세시세시세시세 Data TimesTen MMDB 적용적용적용적용
효과효과효과효과- 기존기존기존기존 Server 증설증설증설증설 없이없이없이없이 성능성능성능성능 극대화극대화극대화극대화- 손쉬운손쉬운손쉬운손쉬운 Application Migration- 완벽한완벽한완벽한완벽한 실시간실시간실시간실시간 이중화이중화이중화이중화 시스템시스템시스템시스템 구축구축구축구축- 사용자사용자사용자사용자 응답속도응답속도응답속도응답속도 향상으로향상으로향상으로향상으로 고객고객고객고객 경쟁력경쟁력경쟁력경쟁력 강화강화강화강화- SQL 문장을문장을문장을문장을 이용한이용한이용한이용한 유지보수유지보수유지보수유지보수 편의성편의성편의성편의성 증가증가증가증가
TimesTen TimesTen
Replication
12
Home Trading System Home Trading System –– BB증권증권증권증권증권증권증권증권
� Oracle TimesTen적용적용적용적용후후후후성능성능성능성능비교비교비교비교
0
20
40
60
80
100
120
UPDATE INSERT SELECT
C-ISAM
TimesTen
Transaction ThroughputTimesTen/DataServer 5.1
IBM eServer pSeries 670, 12 -CPU1.1 GHz POWER4 AIX 5.2, 64 -bit
Transaction ThroughputTimesTen/DataServer 5.1
IBM eServer pSeries 670, 12 -CPU1.1 GHz POWER4 AIX 5.2, 64 -bit
Transaction ThroughputTimesTen/DataServer 5.1
IBM eServer pSeries 670, 12 -CPU1.1 GHz POWER4 AIX 5.2, 64 -bit
HTS 시세시세시세시세 Data ProcessingTimesTen / DataServer 6.1HP rp7410 875MHz 2CPU -
64bit C Application 총총총총 570,000건건건건처리처리처리처리-
380,000 Reads
Per Second
30,000 Writes
Per Second
13
FIX Trading System FIX Trading System –– SS증권증권증권증권증권증권증권증권
� Oracle TimesTen을을을을이용한이용한이용한이용한 FIX Trading System
TimesTen TimesTen
Active
StandBy
증권전산증권전산증권전산증권전산Trading Data
Trader
Replication
증권전산BASE 21
FIX Trading System - SUN Ultra 60 300MHz * 1- Memory 512MB- MMDB Memory 200MB 사용사용사용사용
주문주문주문주문,체결체결체결체결 / 시세시세시세시세 Data TimesTen MMDB 적용적용적용적용
효과효과효과효과- 기존기존기존기존 Server 증설증설증설증설 없이없이없이없이 성능성능성능성능 극대화극대화극대화극대화- 손쉬운손쉬운손쉬운손쉬운 Application Migration- 완벽한완벽한완벽한완벽한 실시간실시간실시간실시간 이중화이중화이중화이중화 시스템시스템시스템시스템 구축구축구축구축
- 빠른빠른빠른빠른 응답속도와응답속도와응답속도와응답속도와 안정성을안정성을안정성을안정성을 제공한제공한제공한제공한주문처리속도개선주문처리속도개선주문처리속도개선주문처리속도개선
- 시스템을시스템을시스템을시스템을 통한통한통한통한 단위시간당단위시간당단위시간당단위시간당 집중도집중도집중도집중도 소화소화소화소화
적용적용적용적용적용적용적용적용 사례사례사례사례사례사례사례사례 –– 대학대학대학대학대학대학대학대학
15
DBMS DBMS 성능성능성능성능성능성능성능성능 진단진단진단진단진단진단진단진단 –– K K 대학대학대학대학대학대학대학대학
� 수강수강수강수강신청신청신청신청업무업무업무업무시점에서의시점에서의시점에서의시점에서의 SQL Statement 성능성능성능성능분석분석분석분석
5.4%
8.7%
19.24%
비중도비중도비중도비중도
36,230
57,996
128,234
누적응답시간누적응답시간누적응답시간누적응답시간(초초초초)
22,915
10,699
53,697
CPU(초초초초)
31,700
34,040
74,533
Latch
Select b.open_shyr ..
Select decode(E.Lt..
Select a.std_no ..
Top Reource SQL
SQL문장별문장별문장별문장별자원자원자원자원사용사용사용사용비중도를비중도를비중도를비중도를분석분석분석분석한것으로한것으로한것으로한것으로가장가장가장가장높은높은높은높은응답시간을응답시간을응답시간을응답시간을기록기록기록기록한한한한 TOP SQL이이이이전체전체전체전체어플리케이션어플리케이션어플리케이션어플리케이션누적누적누적누적응답시간의응답시간의응답시간의응답시간의 19.24%를를를를사용하였사용하였사용하였사용하였으며으며으며으며, 특히특히특히특히 Latch 대기시간이대기시간이대기시간이대기시간이 가장가장가장가장
많았음을많았음을많았음을많았음을알알알알수수수수있다있다있다있다.
16
수강신청수강신청수강신청수강신청수강신청수강신청수강신청수강신청 –– K K 대학대학대학대학대학대학대학대학
� Oracle TimesTen을을을을이용한이용한이용한이용한수강신청수강신청수강신청수강신청시스템시스템시스템시스템
Wep Application SrvIBM HTTP Srv
WebSphere
App Srv
TimeSten
MMDB Domain #1Oracle 10g R2
CPU : 1.2Ghz * 4Mem : 8GWep Application Srv
IBM HTTP SrvWebSphere
App Srv
TimeSten
MMDB
Wep Application SrvIBM HTTP Srv
WebSphere
App Srv
TimeSten
MMDB
Cache for Oracle(SQL*Net)
JDBC(DML)
MMDB를를를를 통한통한통한통한 SELECT 조회조회조회조회
Commit 수행시수행시수행시수행시Cache for oracle에에에에의해의해의해의해 TimeSten으으으으로로로로변경된변경된변경된변경된 데이터를데이터를데이터를데이터를자동자동자동자동 즉시즉시즉시즉시 저장저장저장저장
조회조회조회조회 요청요청요청요청 / 응답응답응답응답
DML 요청요청요청요청 / 응답응답응답응답
수강신청수강신청수강신청수강신청 시스템시스템시스템시스템- 인기 과목 수강신청 폭주로 인한 DB 서버 Performance 감소- 일부 조회 DATA를 MMDB 에 상주시켜 Oracle Database 부하 감소
적용적용적용적용적용적용적용적용 사례사례사례사례사례사례사례사례 –– 해외해외해외해외해외해외해외해외
18
JP Morgan JP Morgan –– Program Trading SystemProgram Trading System
사용용도사용용도사용용도사용용도� Reference data lookups
� Order processing
� Event publishing
처리성능처리성능처리성능처리성능� 350 transactions per second
� 10X increase over J2EE object caching
�800 txns/sec,
�1mil orders/day
� 50 reference data lookups/sec
시스템시스템시스템시스템 구성구성구성구성� 16-CPU* Server (plus hot-standby)
� Solaris with Java applications
� 2-20 Gigabyte 64-bit TimesTen®
기대기대기대기대 효과효과효과효과� High-End Txn Proc in Java/J2EE
� Commercial, standards-based
Msg Bus
Active
Standby
Shared Global Data
Aged Order Data
Pre-Trade Validation
Order Prep and Release
Post-Trade Allocation
Historical Reporting
Global Order Repository
Reference Data
InstitutionalInvestors
Orders, Inquiries, Notifications
WAS
19
LEHMAN Brothers LEHMAN Brothers –– 채권채권채권채권채권채권채권채권 Trading SystemTrading System
Internal Trading Desks
( different geographyor class of instrument )
TibcoMessaging
TimesTen TimesTen
Active
Standby
Closed Order Data
AggregatedReporting
Global Order Repository
Orders, Inquiries,
Notifications
TimesTen TimesTen
Active
Standby
Trader Alerts
XLA
Application
Trader Alerts
XLA
Application
사용용도사용용도사용용도사용용도� Event capture (trade orders)
� Order processing (trade matching)
� Event publishing (trader alerts and closed orders)
처리성능처리성능처리성능처리성능� 1,000 fixed-income trades/hr (30/sec peak)
� 20 trader alerts/sec
시스템시스템시스템시스템 구성구성구성구성� 4-CPU Server (plus hot-standby) per location
� Sun/Solaris O/S with C++ applications
� 2 Gigabyte TimesTen®
기대기대기대기대 효과효과효과효과� Fast order execution
� Trader alerting
Oracle Oracle TimesTenTimesTen 구성구성구성구성구성구성구성구성 방안방안방안방안방안방안방안방안
Centralized Centralized vsvs DistributedDistributed
21
Centralized Centralized TimesTenTimesTen 구성구성구성구성구성구성구성구성
( 1 )
( 6 ) Oracle TimesTen
Oracle 10g
WAS
( 1 ) HTTP Request
( 2 ) SELECT 조회조회조회조회
( 2 )
( 3 ) SELECT 결과결과결과결과리턴리턴리턴리턴
( 4 ) DML 수행수행수행수행(PassThrough SQL)
( 5 ) DML 결과결과결과결과 데이터데이터데이터데이터반영과반영과반영과반영과 AutoRefresh(Oracle RDBMS > TimesTen)
( 5 ) ( 4 )
( 3 )
22
Distributed Distributed TimesTenTimesTen 구성구성구성구성구성구성구성구성
( 1 )
Oracle 10g
( 1 ) HTTP Request
( 2 ) SELECT 조회조회조회조회
( 3 ) SELECT 결과결과결과결과리턴리턴리턴리턴
( 4 ) DML 수행수행수행수행(PassThrough SQL)
( 5 ) DML 결과결과결과결과 데이터데이터데이터데이터반영과반영과반영과반영과 AutoRefresh(Oracle RDBMS > TimesTen)
WAS
WAS
WAS
( 2 ) ( 3 )
( 4 )
( 5 )
23
Centralized Centralized vsvs DistributedDistributed
�오라클 RDBMS에변경된데이터(Commited Data)가매우빠른속도로WAS에설치된모든 TimesTen에반영됨
�오라클 RDBMS에변경된데이터(CommitedData)를가장빠른속도로 TimesTen에반영됨.
Auto Refresh
� 3개의WAS에서운용되는 TimesTen중일부가장애가발생하더라도나머지정상운영되는 TimesTen에의해어플리케이션의성능을유지할수있음.
� TimesTen장애발생시 TimesTen도입전과동일한형태의처리가보장되나어플리케이션의성능을기대할수없음.
Availability
�활성트랜잭션이증가하여도WAS안에존재하는개별 TimesTen에서처리하므로안정적인어플리케이션속도를보장함
�만약 3개 Node의WAS에서활성트랜잭션이증가한다면 DBMS 시스템의자원경합에의한속도저하가간헐적으로발생할수있음.
Performance
� WAS 서버에 TimesTen를설치함�동일시스템에 Oracle RDBMS와 TimesTen를설치함
Installation
Distributed ConfigurationCentralized Configuration비교비교비교비교
Oracle Oracle TimesTenTimesTen 사용사용사용사용사용사용사용사용 장점장점장점장점장점장점장점장점
25
Oracle Oracle TimesTenTimesTen 사용사용사용사용사용사용사용사용 장점장점장점장점장점장점장점장점
� Direct Mode 운영으로인한타 MMDBM보다월등한성능보장
�손쉬운마이그레이션
� Real Time 속도향상
�기존 Oracle RDBMS와연동용이
감사합니다감사합니다감사합니다감사합니다감사합니다감사합니다감사합니다감사합니다..