Oracle TimesTen 을활용한 수강신청성능고도화방안 한국오라클 1
차례 Oracle TimesTen 소개 Oracle TimesTen 제품개요 Oracle TimesTen 적용사례 Oracle TimesTen과수강신청업무 결론 <Insert Picture Here> 2
Oracle TimesTen 소개 3
Oracle TimesTen In-memory RDBMS in the middle-tier.. enables the Real-time Enterprise Application Application 4
TimesTen #1 IMDB 시장점유 전세계 2,000 이상의고객 네트워크장비제조업체의상위 9개중 7개사가 Timesten을사용해제품생산 전세계에서가장유명한 Telecom Billing SYSTEM이 Timesten을사용 미국내무선 911콜의 80% 가 Timesten을통해서연결 유럽상위무선통신사업자 5개중 4개가 Timesten을사용 세계에서가장큰 Call Center에서 Timesten을사용 세계 2위규모의항공사에서 Timesten을사용 NOKIA 5
Oracle TimesTen 제품개요 6
TimesTen vs. 기존의 RDBMS Conventional 기존의 RDBMS RDBMS TimesTen Applications ODBC/Native API Applications ODBC API TimesTen DBMS 엔진 Disk-based RDBMS 데이터주소변환부하 Connection 부하 (IPC) 추가기능에대한부하 메모리복사부하 버퍼관리부하 Embeddable: 100M 미만 Direct-Linked Memory-Tuned Data Layout Disks to Ensure Durability/Recovery I/O 부하 7
기존 RDBMS 의데이터검색 어플리케이션 요구된디스크페이지주소 SQL IPC Query Optimizer /Executor Table#Page# 어플리케이션에버퍼전송 (IPC) Buffer Pool Hash Function Private Buffer 에데이터복사 Linked Lists Into Buffers Data Page 페이지가이미메모리에존재한다고가정 페이지위치에대한포인트 8
TimesTen 의데이터검색 Application SQL Query Optimizer /Executor 요구된레코드에대한메모리어드레스 Memory Address 어플리케이션버퍼에데이터복사 Memory-Resident Database Data Store 모든데이터베이스가메모리에존재 9
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 10
Microseconds 빠른응답속도 Average Response Times TimesTen IBM eserver pseries 630, 4-CPU 1.2 GHz POWER4 AIX 5.2, 64-bit 45 40 35 30 25 20 15 10 5 37 36 Update a Record Capture or update data in 40 millionths of a second Insert a Record Retrieve a record in 15 millionths of a second 15 Retrieve a Record 0 Database Operation 11
Transactions Per Second 성능비교 Comparative Throughput TimesTen vs. RDBMS IBM eserver pseries 670, 12-CPU 1.1 GHz POWER4 AIX 5.2, 64-bit 350,000 300,000 @ 2 CPUs @ 4 CPUs @ 12 CPUs 314,076 250,000 200,000 150,000 100,000 50,000 0 12,158 23,577 TimesTen on 2 CPUs outperforms a RDBMS on 12 CPUs 54,856 2 CPUs 71,225 130,506 Best Case RDBMS Read TT Read 12
TimesTen 제품군 TimesTen IMDB Real-Time Database System Real-time data management for applications requiring exceptional performance Network 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 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 Network B Cache DataServer DataServer DataServer Typical Uses: Network Equipment & Systems Value-Added Services Reference Data Primary Subscriber(s) Typical Uses: Network Equipment & Systems Value-Added Services Reference Data Typical Uses: Application Server Acceleration Enterprise App Acceleration Application-Tier Data Caching 13
Application-Tier Platform TimesTen In-Memory Database Client/ Server Application Program TimesTen libraries Network... In-Memory Database(s) Transaction Logs Checkpoint files Application Program TimesTen libraries 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 관리영역이거의없음 14
Application-Tier Platforms Replication TimesTen to TimesTen Application Program TimesTen Network Application Program TimesTen peer-to-peer, N-way Active/standby or active/active, multi-level Data Store / 테이블수준정의 동기 / 비동기전송 In-Memory Database In-Memory Database 자동복구 데이터충돌감지및처리 Replication TimesTen to TimesTen 15
Application-Tier Platforms Cache Connect to Oracle In-Memory Database Cache Option Application Program TimesTen Network Application Program TimesTen Oracle 테이블전체또는부분데이터를 Caching Read-only or updateable 양방향데이터전송 In-Memory Database In-Memory Database From TimesTen to Oracle From Oracle to TimesTen Cache Connect to Oracle Asynch or synch writethrough 하나의 Oracle DB 에다중 Data Store 가능 Oracle Replication option 과연동하여사용가능 16
Oracle TimesTen 적용사례 17
IMDB 의일반적인적용분야 메모리상에서전체데이터베이스를관리하므로고성능의실시간 transaction 처리를필요로하는분야에적합 높은읽기 / 쓰기처리량이필요한분야 고가용성을갖추고, 높은읽기처리량이필요한분야예 : wireless billing, Stock trading 빠른응답시간이필요한분야 새로운어플리케이션또는심각한성능문제를안고있는기존어플리케이션 기존데이터베이스를유지하면서, hot 데이터에대한캐시기능이필요한부분 운송 / 공급망관리 제조프로세스 금융 / 증권 통신 / 네트워킹 여행 / 예약 국방 18
제조분야 P 사연 / 주조시스템 제강공정 연강공정 TimesTen 사용 공정에서발생하는데이터의실시간처리 이벤트수집 ( 공정처리 ) Admin Console 설비제어용 PLC / DCS 구성환경 Sun/Solaris O/S, 14 CPU SunOne WebServer, Java Application 2 GB (1.5 G PermSize, 0.3 GB TempSize) WebServer WebServer 장점 Replication 구조로 failover 가자동으로이루어짐 타 DBMS 에비해월등히빠른처리속도 분산, 중복된업무의통합으로비용감소, 효율증대 무정지시스템 L4 Switch TimesTen L4 Switch Standby Active 19
금융분야 K 사 MTS System (14 개증권사사용 ) 차세대 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 BASE 21 TimesTen Standby Traders Order Routing TimesTen Active Trade Execution 20
통신분야 K 사신인증시스템 무선 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 처리속도확보 21 21
TimesTen 과수강신청업무 22
수강신청업무의 pain point 정해진기한내에많은학생들의수강신청요청들을처리해야함 특히수강신청기간극초기의짧은 peak time 에대부분의접속이집중 이러한 peak time 에수강신청처리지연은물론최악의경우수강신청시스템의장애로종종이어짐 Bottleneck 은 DBMS 서버 Web/WAS 단의튜닝 / 증설은효과가미미 DBMS 서버증설의효과또한불명확 Peak time 의부하량은통상의용량산정으로해결할수있는수준을벗어남 DBMS 서버증설의비효율성 수강신청기간외에는시스템사용율이낮음 23
수강신청업무분석 전형적인수강신청 logic 1. 수강편람조회 transaction 데이터베이스에서해당학기에개설된강좌들에대한세부정보를조회하여수강할과목들을결정하는단계 과목명 담당교수 강의계획서 수강자격 수업시간표 강의실 개설학과 2. 수강신청 transaction 총 10G 이내의데이터에대한조회 5 ~ 6 개테이블의 join 본인의수강신청내역을수강신청 DB 에등록 Read-only 성 transaction 인수강편람조회의비중이 90% 육박! 24
TimesTen 의적용방안 TimesTen Node 1 TimesTen Node 2 한가지방안 데이터읽기에대한요청은 AP 단에 deploy 된 TimesTen 의읽기전용 cache 가서비스 쓰기요청인수강신청 transaction 은 passthrough 기능에의해 Oracle 이처리 Writes Reads 10 배 (Times Ten) 이상의성능향상효과를기대할수있음! 25
결론 26
TimesTen - Real-time Enterprise 를위한 Oracle 의솔루션 Performance-critical 한어플리케이션을위해실시간데이터관리기능으로 Oracle DB 를확장 FinSvcs CRM & Portal BI & BAM Telco Services Custom Apps 27
Oracle Technology Stack 속의 TimesTen 다른어떤벤더도제공할수없는 Oracle 과의완벽한통합 Application Servers Databases Flight & Crew Scheduling HR Supply Chain Financials Oracle RAC Storage 28