Oracle TimesTen In-Memory Database Product Overview Oracle TSC DB Tech.
Content & Intent 1 2 3 4 5 What is TimesTen? Performance TimesTen VS RDBMS Product Overview From backend to edge -2-
I. What is TimesTen? I. What is TimesTen? -3-
I. What is TimesTen? IMDB 란? Database on Main Memory 시스템구동시 DB 전체를메인메모리에상주 메모리상의데이터만을이용하므로고성능처리가가능 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-
I. What is TimesTen? TimesTen 이란? MMDB product from Oracle 전세계시장점유율1위 전세계 500 여개이상의기업에서사용중 Product Version 8 (2009.1 출시예정 ) 실시간데이터관리소프트웨어 즉각반응 고확장성 고가용성 고성능이요구되는 Application 내의이벤트, 트랜잭션, 데이터관리 -5-
II. Performance II. Performance -6-
II. Performance Lightning Fast Response Average Response Times TimesTen/DataServer 5.1 IBM eserver pseries 630, 4-CPU, 1.2 GHz POWER4 AIX 5.2, 64-bit 40 s Micro osecond 35 30 25 20 15 10 37 36 100% Updates 100% Inserts 100% Reads 15 5 0 Database Operation -7-
II. Performance 350,000 Higher Throughput on Less Hardware Transaction Throughput TimesTen/DataServer 5.1 IBM eserver pseries 670, 12-CPU 1.1 GHz POWER4 AIX 5.2, 64-bit ons Per Seco ond Transacti 300,000 250,000 200,000 150,000000 100,000 12-CPU System 100% Reads 70-20-10 Mix 100% Inserts 100% Deletes 100% Updates RDBMS 100% Reads 314,076 208,569 107,062 95,540 50,000000 54,856 0 1 2 4 6 8 10 12 Number of Application Processes -8-
II. Performance Higher Throughput on Less Hardware Transaction Throughput TimesTen/DataServer 5.1 Intel Xeon Pentium 4, 4-CPU 3.0 GHz Pentium 4, RedHat Linux 3.0 200,000 ions per seco ond 180,000 160,000 140,000000 120,000 100,000 100% Reads 70-20-10 Mix 100% Updates RDBMS 100% Reads 4-CPU System 186,662 93,318 Transact 80,000 60,000 58,925 40,000 20,000 31,971 0 1 2 4 Number of Application Processes -9-
II. Performance Telecom Benchmark - Configurations Home Location Registry (HLR) application Oracle Three-tier architecture Benchmark application running in middle tier Oracle + TimesTen Three-tier architecture Benchmark application running in middle tier TimesTen 7.0 embedded in benchmark application Updatable cache containing benchmark data Environment RAM: 2GB Processors: Intel Xeon 3GHz hyper-threading * 2 OS: Red Hat Enterprise Linux 4.0 1 Delete 3 Select 1 Insert 2 Update transactions Delete call forwarding Get access data Get basic subscriber data Get new destination Insert call forwarding Update subscriber data Update subscriber location -10-
II. Performance Telecom Benchmark - Transaction Response Time -11-
II. Performance Telecom Benchmark - Transaction Throughput -12-
III.TimesTen vs. RDBMS III.TimesTen vs. RDBMS -13-
III.TimesTen vs. RDBMS TimesTen VS Conventional RDBMS Oracle-TimesTen In-Memory Database Conventional RDBMS Applications ODBC/Native API Applications Connection 부하 (IPC) ODBC API TimesTen DBMS 엔진 Disk-based RDBMS 추가기능에대한부하 데이터주소변환부하 메모리복사부하 Embeddable: 20-30MB Direct-Linked Memory-Tuned Data Layout Disks to Ensure Durability/Recovery 버퍼관리부하 I/O 부하 -14-
III.TimesTen vs. RDBMS Finding a Row of Data in an RDBMS -15-
III.TimesTen vs. RDBMS Finding a Row of Data in TimesTen -16-
III.TimesTen vs. RDBMS 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 -17-
IV.Product Overview IV. Product Overview -18-
IV.Product Overview TimesTen IMDB <Base Product> Real-Time Database System Real-time data management for applications requiring exceptional performance Network TimesTen 제품군 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 DataServer DataServer Primary B DataServer Subscriber(s) Cache Typical Uses: Network Equipment & Systems Value-Added Services Reference Data Typical Uses: Network Equipment & Systems Value-Added Services Reference Data Typical Uses: Application Server Acceleration Enterprise App Acceleration Application-Tier Data Caching -19-
IV.Product Overview Base Product: TimesTen 구성요소 Application or Tool Web browser thin client Oracle connect administrator Application routines TimesTen Client driver Network Server Platfo orm App plication-tier Admin/Utility programs Data Store subdaemon(s) Checkpoint files Log files Server daemon Server proxies In-Memory Data Store(s) Cache agent Replication agent(s) Application routines TimesTen shared libraries TimesTen T daemon Oracle Database -20-
IV.Product Overview Base Product: Lifecycle of a TimesTen Datastore 1) Data Store image read from Checkpoint file at start-up 2) Transaction written to log file (if configured) 3) Changed pages written to oldest checkpoint file 4) For safety, checkpoints are written to two alternating files 5) A final Checkpoint is written at shut-down (1) Upon Start-up and/or Recovery Data Store (5) Upon Exit (4) Upon Checkpoint n+1 Full Data Checkpoint Store File A Image All Changed Pages Since last A Checkpoint TimesTen (3) Upon Checkpoint n (2) Full Upon Commit Data Or flush Checkpoint Store File B Image All Changed Pages Log Since last B Checkpoint Inserts,Updates,Deletes Since last checkpoint -21-
IV.Product Overview RDBMS/SQL 데이터모델 JDBC, ODBC APIs Base Product: Features Application Network API for change notification TimesTen Application Application tier execution 실시간성능 Low latency and high throughput Efficient CPU utilization 데이터지속성및복구 (on disk) 유연한구성 Async and sync disk logging Embedded and client-server 관리영역이거의없음 Client lib Application Application TimesTen TimesTen Libraries TimesTen Libraries Libraries Direct-linked In-Memory Database Transaction Logs Checkpoint files Client- Server -22-
IV.Product Overview Base Product: 동시성제어 Data Store 접근은다중프로세스와 Thread에의해공유됨 Direct Data Access mode (low latency, very high-performance, database tightly coupled to application processes, embedded) Client-server mode (less performance intensive applications) Concurrency control Locks: data-store-level, table-level, row-level Latches: 내부데이터구조에대한 locking Transaction isolation Read committed Serializable 자동적으로 Deadlock 감지및처리 Serializabl e Read Committe d Most Iso olation Leas t Leas t Con ncurrency Most -23-
IV.Product Overview Base Product: Transaction ACID Atomicity : full support for transactions(commit/rollback) Consistency 데이터의일관성유지. 자동적으로디스크정보를이용하여복구 작업수행 Isolation (By locking) Row-level locking READ COMMITTED isolation(default) 변경이가해지는 Row 들은 versioning 됨 SERIALIZABLE isolation 또한가능 Durability 트랜잭션은디스크에기록되고, 디스크를이용해복구됨 트랜잭션이데이터를변경할때, logging 과 locking 이이용되어 ACID 규칙을유지하게됨 -24-
IV.Product Overview Replication: TimesTen to TimesTen Network N-way, peer-to-peer Active/standby or Application n-tier Platforms Application Program TimesTen In-Memory Database Application Program TimesTen In-Memory Database active/active, multi-level l l Data Store / 테이블수준정의 동기 / 비동기전송 자동복구 데이터충돌감지및처리 Replication TimesTen to TimesTen -25-
IV.Product Overview Replication: 다양한구성 Active - Standby N Way (update anywhere) Active - Active (split workload) Propagation Active - Active (distributed workload) -26-
IV.Product Overview Replication: Async Rep. Inside Sender (1) 트랜잭션이커밋, 어플리케이션은 Sender Replication Agent 보내기위한트랜잭션을모은다. (2) Full 일때 Sender Agent 는로그파일에트랜잭션을기록하고 (durably commit), (3) Receiver에전달한다. Receiver (4) Receiver Agent는모든트랜잭션을 data store 에적용하고 (5) Log file에기록한다. (6) Receiver Agent 작업결과를 Primary Agent에보낸다. Sender (7) Sender Agent 트랜잭션로그파일에 bookmark 를한다. -27-
IV.Product Overview Replication: Sync Rep.(Return Receipt) Inside Sender (1) 응답회수방식으로트랜잭션커밋 (2) Sender Agent는로그파일에트랜잭션을기록하고 (durably commits). (3) Receiver 에내용을전달. Receiver (4) Receiver 수신신호를송신. Sender (5) 어플리케이션으로커밋리턴. Receiver (6) Receiver Agent 는모든트랜잭션을 data store 에적용하고 (7) Log file 에기록. (8) Receiver 는최종응답을송신. Sender (9) Sender Agent 트랜잭션로그파일에 bookmark를기록. -28-
IV.Product Overview Replication: Sync Rep.(Return 2-Safe ) Inside Sender (1) 2-Safe 방식으로트랜잭션커밋 Local txn 는 pre-commit 로그레코드를기록. (2) Receiver 에로그를전달 Receiver (3) Receiver Agent 는 data store 에서트랜잭션로그를적용하고, (4) 응답을보내고 (5) Bookmark 를수정. Sender (6) Sender Agent 는대기중인트랜잭션을풀고 (7) Bookmark 를수정. -29-
IV.Product Overview Cache Connect to Oracle 오라클테이블전체또는부분데이터를 Caching Read-only or updateable 양방향데이터전송 From TimesTen to Oracle From Oracle to TimesTen Async or sync write-through 하나의오라클 DB에다중Data Store 가능 Replication option과연동하여사용가능 -30-
IV.Product Overview Cache Connect to Oracle 오라클 DB 의앞단에고성능 Cache 를위치시키는효과 오라클과 TimesTen 간의양방향데이터전송 10g RAC 와연동 기본구성요소 : TimesTen IMDB Oracle Agent Cache Groups 웹환경 GUI 툴 -31-
IV.Product Overview Cache Connect to Oracle: 양시스템간데이터전송 양 DB간의데이터전송은 Application 로직에독립적 TimesTen updates to Oracle Automatic Propagation or manual Flush Oracle updates to TimesTen Full refresh Incremental refresh Automatic ti or Manual Cache Group 기준 Propagate Refresh -32-
IV.Product Overview Cache Connect to Oracle: Cache Group Use Cache Groups to 테이블하나또는다중테이블을대상으로정의 컬럼범위설정 / Row 범위설정 동기화행위지정 ReadOnly Synchronous WriteThrough Asynchronous h WriteThrough h User Managed -33-
IV.Product Overview Cache Connect to Oracle: Failover for Oracle RAC RAC 노드 failure 자동감지 가용한노드로자동재접속 -34-
V.Support Tools V. Support Tools -35-
V.Support Tools TimesTen Extension for Oracle SQL Developer Graphical Development ORACLE Tool Browse, create, edit, and delete TimesTen database objects -36-
V.Support Tools TimesTen Extension for Oracle SQL Developer Run SQL statements and scripts Execute TimesTen built-in procedures and utilities -37-
V.Support Tools TimesTen Plug-In for Oracle Enterprise Manager Monitor system information TimesTen configuration and performance statistics -38-
VI.From backend to edge VI. From Backend to edge -39-
VI.From backend to edge Where deployed? Mobile Devices Healthcare Equipment Industrial Systems Manufacturing Systems Semiconductor Equipment Telecom OSS/BSS IP Multimedia Systems Core Networking Systems Securities Trading Call Centers / CRM Gateways / Routers Storage & Systems Mgmt Security / Authentication Mobile Services Software Appliances Telematics Field Force Automation Distributed Asset Management Communications Systems Reservations Telco SoftSwitches OCMS / ONCS Data Center Applications Edge Applications Mobile Applications -40-