oracle timesten 事例と?要 · 마이크로세컨드 마이크로세컨드 9 28 70% select; 20%...

50
Real-Time Data Management for Performance Critical Applications Oracle TimesTen 소개 2007년 01월 30일 엄진우 ([email protected]) 수석 컨설턴트 Technical Solution Consulting 한국 오라클 주식회사

Upload: others

Post on 26-Sep-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Oracle TimesTen 事例と?要 · 마이크로세컨드 마이크로세컨드 9 28 70% select; 20% update; 10% insert Oracle TimesTen R 6.0, 4-CPU, 3 GHz x86 Xeon, 32-bit Red Hat Linux

Real-Time Data Management for Performance Critical Applications

Oracle TimesTen 소개

2007년 01월 30일

엄진우 ([email protected])

수석 컨설턴트

Technical Solution Consulting

한국 오라클 주식회사

Page 2: Oracle TimesTen 事例と?要 · 마이크로세컨드 마이크로세컨드 9 28 70% select; 20% update; 10% insert Oracle TimesTen R 6.0, 4-CPU, 3 GHz x86 Xeon, 32-bit Red Hat Linux

2

Agenda

TimesTen의 소개

TimesTen 제품기능과 옵션

TimesTen과 Oracle Database 의 비교 및 연동

TimesTen의 적용 범위

TimesTen 도입 사례

TimesTen 7.0 신기능 소개

Page 3: Oracle TimesTen 事例と?要 · 마이크로세컨드 마이크로세컨드 9 28 70% select; 20% update; 10% insert Oracle TimesTen R 6.0, 4-CPU, 3 GHz x86 Xeon, 32-bit Red Hat Linux

3

TimesTen의 소개TimesTen의 소개

Page 4: Oracle TimesTen 事例と?要 · 마이크로세컨드 마이크로세컨드 9 28 70% select; 20% update; 10% insert Oracle TimesTen R 6.0, 4-CPU, 3 GHz x86 Xeon, 32-bit Red Hat Linux

4

전 세계 1500이상 기업에서 사용 중인 검증된 제품

Disk I/O 발생을 최소화한 Transaction 안정성

간편한 Replication 설정 및 운영

성능저하 및 Data 정합성을 고려한 Replication

Direct Link 연동으로 Memory DB의 성능(TPS) 극대화

Oracle DBMS(RAC 포함) 와 유연한 통합 및 확장성

- Cache Connect 옵션

간편한 운영 및 관리

Memory 및 Disk Size 산정

Oracle In-Memory Database TimesTen의 특장점

Page 5: Oracle TimesTen 事例と?要 · 마이크로세컨드 마이크로세컨드 9 28 70% select; 20% update; 10% insert Oracle TimesTen R 6.0, 4-CPU, 3 GHz x86 Xeon, 32-bit Red Hat Linux

5

기본 제품 및 옵션

TimesTen In-Memory Database리얼타임·데이타베이스·시스템

이용 용도네트워크 장치

부가가치 서비스

Embedded 시스템

옵션:ReplicationTimes Ten간의 replication이용 용도

핫 스탠바이

분산 replication

옵션:Cache Connect to Oracle리얼타임·데이터·캐싱

Oracle의 캐쉬로서 Times Ten를 사용

이용 용도Middle Tier·데이터 캐쉬

운영 데이타 저장소

엔터프라이즈 어플리케이션의 고속화

Cache Group

TimesTen

Application

Oracle DBOracle DBOracle DB

Cache Group

TimesTen

Application

Oracle Database

Cache Connect to OracleCache Connect to Oracle

ReplicationReplication

Checkpoint files

Checkpoint files

TransactionLogging

TransactionLogging

TransactionLogging

TransactionLogging

Page 6: Oracle TimesTen 事例と?要 · 마이크로세컨드 마이크로세컨드 9 28 70% select; 20% update; 10% insert Oracle TimesTen R 6.0, 4-CPU, 3 GHz x86 Xeon, 32-bit Red Hat Linux

6

TimesTen 제품 기능과 옵션TimesTen 제품 기능과 옵션

Page 7: Oracle TimesTen 事例と?要 · 마이크로세컨드 마이크로세컨드 9 28 70% select; 20% update; 10% insert Oracle TimesTen R 6.0, 4-CPU, 3 GHz x86 Xeon, 32-bit Red Hat Linux

7

고성능초당 수만~ 수십만의 SQL를 처리하는 성능

데이터 보증/복구트랜잭션 로그

replication표준 RDBMS / SQL 데이터 모델

SQL-92, JDBC,ODBC API로부터의 액세스

트랜잭션·로그 API(XLA)에 의한 고속 이벤트통지

XA / JTA 분산 트랙잭션

Oracle DB의 캐쉬로서 기능

행 레벨·락읽기포함/쓰기의 동시 실행 가능한 Read CommitSmall Footprint ( 6MB )

TimesTen의 기능

어플리케이션 어플리케이션

데이타베이스층

Middle Tier

Presentation layer

Page 8: Oracle TimesTen 事例と?要 · 마이크로세컨드 마이크로세컨드 9 28 70% select; 20% update; 10% insert Oracle TimesTen R 6.0, 4-CPU, 3 GHz x86 Xeon, 32-bit Red Hat Linux

8

간편한 SQL 성능 튜닝 기법 제공

- Cost base optimizer 기반 튜닝 ( 통계생성 통한 튜닝작업 최소화)

- Hash Index / T-tree index 지원

Database Connection 통한 Database 생성 및 Startup

- 응용프로그램이 Database 접속 시 Database 가 존재하지 않을 경우

자동으로 Database를 생성하고 Startup 하는 구조

이는 database 관리를 매우 간편하게 함.

Ex) 단일 명령으로 Database creation/duplication/recovery 가능

- 단일 엔진으로 multi-database 생성 가능

Database 관리를 위한 다양한 API 제공

- TimesTen의 운영 및 관리의 간편하기 때문에 응용프로그램에서도 간단한

코드로 관리 및 운영을 구현하여 자동화 가능

=> 최적의 ISV solution 용 Memory Database : No DBA

Oracle Enterprise Manager Grid Control 로 통합 관리 예정

간편한 운영 및 관리

Page 9: Oracle TimesTen 事例と?要 · 마이크로세컨드 마이크로세컨드 9 28 70% select; 20% update; 10% insert Oracle TimesTen R 6.0, 4-CPU, 3 GHz x86 Xeon, 32-bit Red Hat Linux

9

TimesTen의 옵션 : ReplicationTimesTen의 옵션 : Replication

Page 10: Oracle TimesTen 事例と?要 · 마이크로세컨드 마이크로세컨드 9 28 70% select; 20% update; 10% insert Oracle TimesTen R 6.0, 4-CPU, 3 GHz x86 Xeon, 32-bit Red Hat Linux

10

Replication

트랙잭션·로그·베이스Disk Logging또는 Diskless Logging이 필요

TCP/IP스트림·소켓을 통해서 replication 에이전트가 갱신 정보를 송수신

동기 / 비동기 모드를 동적으로 변경 가능

타임 스탬프 기반의 데이타 경합 해결

Page 11: Oracle TimesTen 事例と?要 · 마이크로세컨드 마이크로세컨드 9 28 70% select; 20% update; 10% insert Oracle TimesTen R 6.0, 4-CPU, 3 GHz x86 Xeon, 32-bit Red Hat Linux

11

Replication - TimesTen to TimesTen

고속성과 신뢰성로그·베이스

비동기 / 동기방식의 동적 전환가능

다양한 replication 구성

단방향

분산 작업의 Workload

멀티 마스터 계층

분할 작업의 Workload

Page 12: Oracle TimesTen 事例と?要 · 마이크로세컨드 마이크로세컨드 9 28 70% select; 20% update; 10% insert Oracle TimesTen R 6.0, 4-CPU, 3 GHz x86 Xeon, 32-bit Red Hat Linux

12

Replication 방식

비동기 replication수신 측에 의존하지 않는다

동기 replicationReturn·Receipt·replication

동기화할 수 없는 상황을 감지 가능

Return·TwoSafe·replication완전한 동기화를 보증

속도

영속성

Page 13: Oracle TimesTen 事例と?要 · 마이크로세컨드 마이크로세컨드 9 28 70% select; 20% update; 10% insert Oracle TimesTen R 6.0, 4-CPU, 3 GHz x86 Xeon, 32-bit Red Hat Linux

13

비동기 replication

로그·파일

어플리케이션

데이터·스토어

Rep.Agent

로그·파일

Rep.Agent

송신측

수신측

어플리케이션

5. 수신 측에 송신

2. 완료

로그·버퍼

데이터·스토어

로그·버퍼

1. COMMIT발행

3. 로그·파일에 기록

8. 로그·파일에 기록

10. 송신이 끝난로그를 북마크

7. 데이터스토어에 적용

6&9. 송신 측에 Receipt 답신(이전의 적용 상황도 포함)

4. 배치 작성

Page 14: Oracle TimesTen 事例と?要 · 마이크로세컨드 마이크로세컨드 9 28 70% select; 20% update; 10% insert Oracle TimesTen R 6.0, 4-CPU, 3 GHz x86 Xeon, 32-bit Red Hat Linux

14

Return·Receipt replication (동기)

로그·파일

어플리케이션

데이터·스토어

Rep.Agent

로그·파일

Rep.Agent

송신측

수신측

어플리케이션

5. 송신 측에 Receipt 답신

8. 완료

로그·버퍼

데이터·스토어

로그·버퍼

1. COMMIT발행

7. 로그·파일에 기록

9. 송신이 끝난로그를 북마크6. 완료

6. 데이터스토어에 적용

3. 배치 취득

4. 수신 측에 송신

2. 로그·파일에 기록

Page 15: Oracle TimesTen 事例と?要 · 마이크로세컨드 마이크로세컨드 9 28 70% select; 20% update; 10% insert Oracle TimesTen R 6.0, 4-CPU, 3 GHz x86 Xeon, 32-bit Red Hat Linux

15

Return·TwoSafe replication (동기)

로그·파일

어플리케이션

데이터·스토어

Rep.Agent

로그·파일

Rep.Agent

송신측

수신측

어플리케이션

7. 완료

6. 완료

로그·버퍼

데이터·스토어

로그·버퍼

1. COMMIT발행

5. 로그·파일에 기록

8. 송신이 끝난로그를 북마크

4. 데이터스토어에 적용

3. 배치 취득

2. 로그·파일에 기록

4. 수신 측에 송신

Page 16: Oracle TimesTen 事例と?要 · 마이크로세컨드 마이크로세컨드 9 28 70% select; 20% update; 10% insert Oracle TimesTen R 6.0, 4-CPU, 3 GHz x86 Xeon, 32-bit Red Hat Linux

16

TimesTen 옵션 : Cache Connect to OracleTimesTen 옵션 : Cache Connect to Oracle

Page 17: Oracle TimesTen 事例と?要 · 마이크로세컨드 마이크로세컨드 9 28 70% select; 20% update; 10% insert Oracle TimesTen R 6.0, 4-CPU, 3 GHz x86 Xeon, 32-bit Red Hat Linux

17

Cache Connect to Oracle 의 특징

응용 계층의 TimesTen상에Oracle Database 의 데이터를 캐쉬

Table 전체 / Table 일부의 캐쉬

Oracle Database 로부터 TimesTen에 복사(Refresh)TimesTen로부터 Oracle Database 에 동기 / 비동기에 전파(Flush)읽기 전용 / 갱신 가능 캐쉬·그룹

TimesTen에 접속만으로 양쪽 데이타베이스의 선택 / 갱신이 가능한 PassThrough 기능

캐쉬·인스턴스의 에이징

Client Application + TimesTen Oracle

Page 18: Oracle TimesTen 事例と?要 · 마이크로세컨드 마이크로세컨드 9 28 70% select; 20% update; 10% insert Oracle TimesTen R 6.0, 4-CPU, 3 GHz x86 Xeon, 32-bit Red Hat Linux

18

오라클 DB의 RAC 와 TimesTen의 Cache Connect간에 장애극복타사는 세션을 인위적으로 변경을 하던가 별도 모듈을 개발필요

Oracle RAC1 Oracle RAC2

RAC(Real Application Cluster)

TimesTenNode 1

TimesTenNode 2

Cache ConnectCache Connect

Oracle RAC1 Oracle RAC2

RAC(Real Application Cluster)

TimesTenNode 1

TimesTenNode 2

Cache ConnectCache Connect

ReplicationReplication

Oracle DB(RAC) 와 유연한 통합 및확장성 (Cache Connect)

Page 19: Oracle TimesTen 事例と?要 · 마이크로세컨드 마이크로세컨드 9 28 70% select; 20% update; 10% insert Oracle TimesTen R 6.0, 4-CPU, 3 GHz x86 Xeon, 32-bit Red Hat Linux

19

TimesTen 과 Oracle Database 의 비교 및 연동TimesTen 과 Oracle Database 의 비교 및 연동

Page 20: Oracle TimesTen 事例と?要 · 마이크로세컨드 마이크로세컨드 9 28 70% select; 20% update; 10% insert Oracle TimesTen R 6.0, 4-CPU, 3 GHz x86 Xeon, 32-bit Red Hat Linux

20

아키텍쳐 비교

어플

리케

이션

·프로

그램

DBMS “엔진”

데이

타베

TimesTenOracle

connection·오버헤드(IPC/네트워크)

데이터를 프라이빗 버퍼에카피해 사용

다수의 백그라운드프로세스가 기동

TimesTen

디스크 베이스 RDBMS

디스크 I/O오버헤드

버퍼 관리의 오버헤드

ODBC API

ODBC/네이티브 API

어플리케이션

어플리케이션

•AP와 DB간의 메모리 공간을 공유•어플리케이션에 내장가능 (10 MB)•메모리에 최적화된 레이아웃•데이터 보증과 복구에 디스크를 이용

Page 21: Oracle TimesTen 事例と?要 · 마이크로세컨드 마이크로세컨드 9 28 70% select; 20% update; 10% insert Oracle TimesTen R 6.0, 4-CPU, 3 GHz x86 Xeon, 32-bit Red Hat Linux

21

TimesTen의 이용 형태

어플리케이션

TimesTen라이브러리

네트워크

어플리케이션·플랫폼

인 메모리

데이타베이스

어플리케이션

TimesTen라이브러리

트랜잭션 로그

체크 포인트·파일

Times Ten Sever

TimesTen라이브러리

TimesTen클라이언트

클라이언트

어플리케이션

다이렉트·접속·액세스·고속 데이터 액세스

·어플리케이션으로부터, 공유 메모리에 직접 액세스

·데이터 획득을 위한 네트워크 통신 없음

클라이언트·서버·액세스·네트워크 경유로 액세스

·유연하게 어플리케이션을 배치

Page 22: Oracle TimesTen 事例と?要 · 마이크로세컨드 마이크로세컨드 9 28 70% select; 20% update; 10% insert Oracle TimesTen R 6.0, 4-CPU, 3 GHz x86 Xeon, 32-bit Red Hat Linux

22

응답시간의 비교

OSDL(Open Source Development Labs)Carrier Grade Linux Group 채용 벤치마크

Oracle 10g

벤치마크

프로그램

Oracle 10g

벤치마크

프로그램

Oracle

• 3층 구조

• 어플리케이션층에 벤치마크프로그램 사용

Oracle + TimesTen

•벤치마크 프로그램에TimesTen 6.0을 링크

• TimesTen상의데이터를 갱신

presentation layer

Page 23: Oracle TimesTen 事例と?要 · 마이크로세컨드 마이크로세컨드 9 28 70% select; 20% update; 10% insert Oracle TimesTen R 6.0, 4-CPU, 3 GHz x86 Xeon, 32-bit Red Hat Linux

23

응답시간의 비교

4496

600

4866

7901

4297

83 16 32 35 81 50 38456 484

0

2000

4000

6000

8000

DelC

olFo

r

GetAc

cDat

a

GetBa

sDat

a

GetNe

wDes

t

InsC

allFo

r

UpdS

ubDat

a

Upda

teLo

c

마이크로세컨드

Oracle

Oracle + TimesTen

Page 24: Oracle TimesTen 事例と?要 · 마이크로세컨드 마이크로세컨드 9 28 70% select; 20% update; 10% insert Oracle TimesTen R 6.0, 4-CPU, 3 GHz x86 Xeon, 32-bit Red Hat Linux

24

0

10

20

30

update select

마이

크로

세컨

드 마이크로 세컨드

99

2828

70% select; 20% update; 10% insert

Oracle TimesTen R 6.0, 4-CPU, 3 GHz x86 Xeon, 32-bit Red Hat Linux

마이크로 세컨드

단순한 검색 처리의 응답 시간 평균평균 99마이크로마이크로 세컨드세컨드갱신 처리의 응답 시간 평균평균 2828마이크로마이크로 세컨드세컨드

((마이크로마이크로 세컨드세컨드 = 1= 1초의초의 100100만만 분의분의 1)1)

응답 시간 성능

Page 25: Oracle TimesTen 事例と?要 · 마이크로세컨드 마이크로세컨드 9 28 70% select; 20% update; 10% insert Oracle TimesTen R 6.0, 4-CPU, 3 GHz x86 Xeon, 32-bit Red Hat Linux

32,66353,361

70,11154,303

90,793

121,70598,568

169,437

250,550

0

50,000

100,000

150,000

200,000

250,000

300,000

update mixed select

1 CPU

2 CPUs

4 CPUs

1초당

처리

건수

70% select; 20% update; 10% insert

Oracle TimesTen R6.0, 4-CPU, 3 GHz x86 Xeon, 32-bit Red Hat Linux

4 CPU 서버로, 11초초 당당 2525만건만건의 검색

77만건만건의 갱신 트랜잭션(transaction)를 실현

Throughput

Page 26: Oracle TimesTen 事例と?要 · 마이크로세컨드 마이크로세컨드 9 28 70% select; 20% update; 10% insert Oracle TimesTen R 6.0, 4-CPU, 3 GHz x86 Xeon, 32-bit Red Hat Linux

26

TimesTen과 Oracle Database의 차이

Oracle Database TimesTen

데이터·모델 RDBMS / SQL RDBMS / SQL

아키텍쳐 C/S 다이렉트·액세스

데이터 용량 수십 TB 수십 GB

대상 어플리케이션 모두 OLTP

디스크

데이타베이스층

밀리 세컨드

최적화 메모리

데프로이처 응용 계층

리스폰스 시간 마이크로 세컨드

Page 27: Oracle TimesTen 事例と?要 · 마이크로세컨드 마이크로세컨드 9 28 70% select; 20% update; 10% insert Oracle TimesTen R 6.0, 4-CPU, 3 GHz x86 Xeon, 32-bit Red Hat Linux

27

Oracle 제품과의 연계방법

Real Application Clusters (RAC)RAC는 확장성과 가용성

TimesTen는 응답시간

Throughput이 최대화하는 RAC + TimesTen

Client Application + TimesTen

Oracle

Page 28: Oracle TimesTen 事例と?要 · 마이크로세컨드 마이크로세컨드 9 28 70% select; 20% update; 10% insert Oracle TimesTen R 6.0, 4-CPU, 3 GHz x86 Xeon, 32-bit Red Hat Linux

28

Oracle 제품과의 연계방법

Oracle Application Server Web CacheWeb Cache 는 HTML등의 어플리케이션층의 캐쉬

TimesTen은 데이타베이스층의 캐쉬

응답 시간을 최소화하는 Web Cache + TimesTen

Client Application + TimesTen OracleWeb Cache

Page 29: Oracle TimesTen 事例と?要 · 마이크로세컨드 마이크로세컨드 9 28 70% select; 20% update; 10% insert Oracle TimesTen R 6.0, 4-CPU, 3 GHz x86 Xeon, 32-bit Red Hat Linux

29

TimesTen의 적용 범위TimesTen의 적용 범위

Page 30: Oracle TimesTen 事例と?要 · 마이크로세컨드 마이크로세컨드 9 28 70% select; 20% update; 10% insert Oracle TimesTen R 6.0, 4-CPU, 3 GHz x86 Xeon, 32-bit Red Hat Linux

30

“Real-Time”인프라스트럭쳐·소프트웨어

TimesTen 는, Critical 퍼포먼스 요건을 가지는 어플리케이션에 대해,이벤트、트랜잭션、그리고 데이터·매니지먼트매니지먼트를 위한

”Real-Time”인프라스트럭쳐·소프트웨어를 제공합니다.

실시간 응답 높은 확장성 연속 가용성

증권거래 시스템 항공노선·오퍼레이션 실시간·빌링

모바일Push-To-Talk 비즈니스·액티버티 감시 수익성의 보증

비즈니스·프로세스 관리 엔터프라이즈·콜·센터 콜·라우팅

부정 액세스 검출 마켓·데이터 전달 비즈니스 최적화

Times Ten를 이용하고 있는 “Real-Time”어플리케이션&시스템

「리얼타임·시스템」의 실현

Page 31: Oracle TimesTen 事例と?要 · 마이크로세컨드 마이크로세컨드 9 28 70% select; 20% update; 10% insert Oracle TimesTen R 6.0, 4-CPU, 3 GHz x86 Xeon, 32-bit Red Hat Linux

31

5

TimesTen에 최적인 시스템

OLTP업무에 데이타베이스·로직이 상대적으로 많은 시스템

데이타베이스

Oracle:85 ms중 80 ms가DB로직

Oracle +TimesTen:10 ms중 5 ms가DB로직

88%OFF

80

어플리케이션

Oracle:160 ms중 80 ms가DB로직

Oracle +TimesTen:85 ms중 5 ms가DB로직

47%OFF

80

데이타베이스

80

어플리케이션

80

5

55

TimesTen 추가

TimesTen 추가

Page 32: Oracle TimesTen 事例と?要 · 마이크로세컨드 마이크로세컨드 9 28 70% select; 20% update; 10% insert Oracle TimesTen R 6.0, 4-CPU, 3 GHz x86 Xeon, 32-bit Red Hat Linux

32

참조 데이터의 캐쉬

빈번히 이용되는 데이터를 읽기 전용 캐쉬로 사용해, 네트워크의 부하 경감

EC사이트에서의 제품 카탈로그 검색

SCM 시스템으로의 제품 마스터

항공권 예약 페이지의 비행·스케줄

초기 로드

갱신은 PassThrough

Application Server Oracle

Page 33: Oracle TimesTen 事例と?要 · 마이크로세컨드 마이크로세컨드 9 28 70% select; 20% update; 10% insert Oracle TimesTen R 6.0, 4-CPU, 3 GHz x86 Xeon, 32-bit Red Hat Linux

33

액티브·데이터의 캐쉬

액티브 고객 / 프리미엄 고객을 갱신 가능 캐쉬로 , 특정 유저에게의 대응을 스피드·업

콜·센터에서 고객 문의

개인화·사이트용의 고객 프로파일

CRM 시스템에서 액티브·유저 정보

요구가 있으면 로드

액티브하지 않게 되면에이지·아웃

Application Server Oracle

Page 34: Oracle TimesTen 事例と?要 · 마이크로세컨드 마이크로세컨드 9 28 70% select; 20% update; 10% insert Oracle TimesTen R 6.0, 4-CPU, 3 GHz x86 Xeon, 32-bit Red Hat Linux

34

리얼타임·트랜잭션 처리

메세지 / 트랜잭션를 실시간으로 처리해, 이력 데이터를 Oracle Database 에 보존

증권거래의 시장 데이터

휴대 전화 서비스의 이용자 데이터

RFID 데이터를 수집 / 전송

외부 데이터의 취득

이력

Application Server Oracle

Page 35: Oracle TimesTen 事例と?要 · 마이크로세컨드 마이크로세컨드 9 28 70% select; 20% update; 10% insert Oracle TimesTen R 6.0, 4-CPU, 3 GHz x86 Xeon, 32-bit Red Hat Linux

35

TimesTen 도입 사례TimesTen 도입 사례

Page 36: Oracle TimesTen 事例と?要 · 마이크로세컨드 마이크로세컨드 9 28 70% select; 20% update; 10% insert Oracle TimesTen R 6.0, 4-CPU, 3 GHz x86 Xeon, 32-bit Red Hat Linux

36

고객 사례

증권업계 / 텔레콤을 중심으로 한1,500사 이상의 이용 고객

네트워크

서비스 인증

수익 보증

네트워크 QoS 관리

텔레콤

리얼타임 과금

콜 처리

부가가치 서비스

증권업계

오더·매칭

리스크 관리

리얼타임 분석

E커머스

SOA

콜·센터

Business Intelligence

Page 37: Oracle TimesTen 事例と?要 · 마이크로세컨드 마이크로세컨드 9 28 70% select; 20% update; 10% insert Oracle TimesTen R 6.0, 4-CPU, 3 GHz x86 Xeon, 32-bit Red Hat Linux

37

전 세계 1500이상 기업에서 사용 중인검증된 제품(국내사례)

현물 , 선물/옵션 트레이딩 시스템

현행 및 요구사항기존 시스템(ISAM) 성능 향상

고 가용성 불안정

폭주 시 응답속도 불안

구성환경2 – CPU * 2 System (for Replication)HP rp7410 C - applications (ODBC)약 8 GB DataStore

기대목표빠른 시세정보 / 주문내역 조회 서비스 제공으로경쟁력 있는 트레이딩 서비스 제공

기존DDBMS대비 비용절감

완벽한 실시간 이중화 및 장애요인(H/W Disk)감소

near-zero administration

(B증권사 HTS System)

비교 내역 TimesTen A사

DML 속도 ◎ ○

Query 속도 ◎ ○

안정성 ◎ ○

예) ◎ : 우수 ○ : 양호 △ : 보통

예) ◎ : 우수 ○ : 양호 △ : 보통A출처 : UnionI&C

• TimesTen Memory DB 의 경우 2가지 방법으로운영 가능

• Oracle 과의 연동 편리

• Trading 및 계정계 적용시 100% 가용성 보장

• DurableCommits Mode일 경우 100% Data 가용성 보장

Page 38: Oracle TimesTen 事例と?要 · 마이크로세컨드 마이크로세컨드 9 28 70% select; 20% update; 10% insert Oracle TimesTen R 6.0, 4-CPU, 3 GHz x86 Xeon, 32-bit Red Hat Linux

38

금융시장:전자 상거래

국제적 금융거래 회사

TimesTen의 사용 목적이벤트 취득 거래 주문

주문 처리 거래인당

이벤트 발행 투자가에게의 통지 / 약정 처리

퍼포먼스 지표초간 3001,000 주문

시스템 구성4 CPU 서버×2대(+ 핫·스탠바이)

Sun Solaris

C++어플리케이션

2 GB의 데이터·스토어

TimesTen의 가치고기능의 주문 수발주

고속의 주문 처리

투자가에게의 통지

Oracle

개인용 거래성립 주문

기관투자가

거래소

그 외의거래 회사

시장 데이터거래 주문주문 변경주문 조회

거래 성립스테이터스주문 수발주

주문 처리주문 수발주

개인투자가

통지

Positionkeeping

Page 39: Oracle TimesTen 事例と?要 · 마이크로세컨드 마이크로세컨드 9 28 70% select; 20% update; 10% insert Oracle TimesTen R 6.0, 4-CPU, 3 GHz x86 Xeon, 32-bit Red Hat Linux

39

텔레콤:리얼타임 과금

유럽 대기업 휴대 통신 캐리어

TimesTen의 사용 목적

이벤트 취득 액티브한 선불 세션 볼륨·스테이터스

참조 데이터·룩 업 볼륨 / 컨텐츠 과금

잔고 관리 선불 인증 / 과금

퍼포먼스 지표

선불 인증으로 10 ms이하의 응답 시간

읽어 / 쓰기 = 70 : 30

시스템 구성8 CPU 서버 (+ 핫·스탠바이)

HP Tru64

수GB의 데이터·스토어

TimesTen의 가치

리얼 타임의 볼륨 할인 적용

리얼 타임의 컨텐츠 과금

민생품인 것

선불I/N

청구서배치

Oracle

볼륨 할인 컨텐츠 과금

Page 40: Oracle TimesTen 事例と?要 · 마이크로세컨드 마이크로세컨드 9 28 70% select; 20% update; 10% insert Oracle TimesTen R 6.0, 4-CPU, 3 GHz x86 Xeon, 32-bit Red Hat Linux

40

엔터프라이즈:유저 정보 취득/인증

CRM ASP 벤더

TimesTen의 사용 목적유저 정보의 캐쉬

퍼포먼스 지표1만 4,000회사 - 20만명 이상의 이용자

1일 1,000만 리퀘스트

초당 최대 250 리퀘스트

시스템 구성4 CPU 서버×2대(+ 핫·스탠바이)

RedHat on Sun Opteron

Java 어플리케이션

2 GB의 데이터·스토어

TimesTen의 가치네트워크의 부하 경감

응답 시간의 단축

중요 고객에게의 프리미엄

Oracle Oracle

EMEA/ APAC

Internet

AS for NA

Page 41: Oracle TimesTen 事例と?要 · 마이크로세컨드 마이크로세컨드 9 28 70% select; 20% update; 10% insert Oracle TimesTen R 6.0, 4-CPU, 3 GHz x86 Xeon, 32-bit Red Hat Linux

41

그외 다른 이용 방법

티켓 발권 사이트의 좌석 예약

피크 분산용의 FIFO 버퍼

실시간 정보 전용의 BI리포지터리

복수 데이터·소스를 위한 통합 포인트

SOA의 메세지·큐온라인·게임

리얼타임 감시 시스템

제철소 / 화학 플랜트등의 공업용 로봇의 제휴

항공기 / 열차 / 자동차

Page 42: Oracle TimesTen 事例と?要 · 마이크로세컨드 마이크로세컨드 9 28 70% select; 20% update; 10% insert Oracle TimesTen R 6.0, 4-CPU, 3 GHz x86 Xeon, 32-bit Red Hat Linux

42

TimesTen 7.0 신기능 소개TimesTen 7.0 신기능 소개

Page 43: Oracle TimesTen 事例と?要 · 마이크로세컨드 마이크로세컨드 9 28 70% select; 20% update; 10% insert Oracle TimesTen R 6.0, 4-CPU, 3 GHz x86 Xeon, 32-bit Red Hat Linux

43

Automatic Data Aging

Data Aging은 오래된 데이터를 자동적으로 지우는(또는 Oracle Database 에 자동적으로 기록) 기능

6.0까지는 시간 기준으로 오래된데이터를 Oracle Database 에기록

7.0에서는 시간 기준 또는 LRU 기준으로 Aging를 실시할 수 있슴

이 기능으로 한정된 메모리·자원을 유용하게 사용할 수 있게 되어, 슬라이드·윈도우를 간단하게 구현

A B C D

사용되지 않은 데이터를 캐쉬 아웃

TimesTen

Oracle Database

Page 44: Oracle TimesTen 事例と?要 · 마이크로세컨드 마이크로세컨드 9 28 70% select; 20% update; 10% insert Oracle TimesTen R 6.0, 4-CPU, 3 GHz x86 Xeon, 32-bit Red Hat Linux

44

A B C

Automatic Load on SELECT

Cache Connect 기능의 일부로 제공되어 어플리케이션이 TimesTen에 SELECT 했을 때에 데이터가 없는 경우, Oracle Database 로부터 자동적으로 TimesTen가 데이터를로드해 오는 기능

Paththrough 와는 달리, 데이터는 그 이후TimesTen에 상주하므로, 2번째 이후의SELECT는 고속화

Automatic Data Aging 의 기능을 조합하는것으로 메모리·자원의 제약으로부터 지금까지 “어느 데이터를 어느 정도 TimesTen에 실을까”를 면밀하게 설계할 필요가 있었습니다만, 데이타베이스·버퍼·캐쉬와 같이 「우선 이만큼 메모리를 확보했기 때문에 이것을 사용하고」라고 하는 설계가 가능해짐

TimesTen을 응용 계층에 있는 데이타베이스·버퍼·캐쉬로서 구축하는 것도 가능

Oracle Database

1. 데이터 Z를 요구

2. Z는 캐쉬되어 있지 않기 때문에Oracle Database 에 문의

Z

3. Z를 캐쉬

4. Z를 제공

Page 45: Oracle TimesTen 事例と?要 · 마이크로세컨드 마이크로세컨드 9 28 70% select; 20% update; 10% insert Oracle TimesTen R 6.0, 4-CPU, 3 GHz x86 Xeon, 32-bit Red Hat Linux

45

Data Types

데이타베이스 속성 「TypeMode」를 TimesTen 모드 또는 Oracle 모드로 설정하는 것으로, 과거의TimesTen와 같은 데이터형이나 Oracle Database 와 같은 데이터형으로 선택가능

6.0까지는 SQL92 호환의 데이터형을 사용해, Oracle Database 와는 다른 데이터Type 이 있었슴

추가된 데이터형

NUMBER

VARCHAR2

NVARCHAR2

사양을 변경할 수 있는 데이터형

DATE

CHAR

NCHAR

TIMESTAMP

Page 46: Oracle TimesTen 事例と?要 · 마이크로세컨드 마이크로세컨드 9 28 70% select; 20% update; 10% insert Oracle TimesTen R 6.0, 4-CPU, 3 GHz x86 Xeon, 32-bit Red Hat Linux

46

SQL Enhancements

Cascade DELETEROWNUMDECODE / COALESCE / MERGEMINUS / INTERSECTTRUNCGROUP BY 의 향상

SELECT FOR UPDATE 의 향상

Sub Query의 향상

VIEW의 UNION이 가능

Primary Key 값을 UPDATE가 가능

TO_NUMBER컬럼 개수의 상한이 255에서 1000로 늘어남

ttBulkCp의 퍼포먼스 향상

컴파일러의 업그레이드

통계 정보는 Lock이 아니고 Latch로 구현

SQL 옵티마이저의 향상

Page 47: Oracle TimesTen 事例と?要 · 마이크로세컨드 마이크로세컨드 9 28 70% select; 20% update; 10% insert Oracle TimesTen R 6.0, 4-CPU, 3 GHz x86 Xeon, 32-bit Red Hat Linux

47

Globalization

Oracle Database 10g XE 의 NLS 라이브러리를 거의 그대로구현해, 84 문자 코드·세트에 대응

문자 코드 변환, 언어 정렬, 언어 정렬이 끝난 색인의 작성, 케이스 무시의 SELECT, 엑센트 기호 무시의 SELECT, 문자수에 의한 컬럼길이의 설정이 가능

UTF-8이었던 NCHAR/NVARCHAR는 UTF-16으로 변경

문자 코드·세트에 TIMESTEN8를 지정하면 과거의 TimesTen와의 호환 모드

Cache Connect 를 사용하는 경우는, TimesTen와 Cache Connect 의 문자 코드·세트는 같게 할 필요

NLS_LANGUAGE와 NLS_TERRITORY는 AMERICAN_AMERICA

Page 48: Oracle TimesTen 事例と?要 · 마이크로세컨드 마이크로세컨드 9 28 70% select; 20% update; 10% insert Oracle TimesTen R 6.0, 4-CPU, 3 GHz x86 Xeon, 32-bit Red Hat Linux

48

Cache Group and Replication

Replication이 페일·오버했을 때, Cache Connect 의설정이나 Subscriber Node의 설정이 자동으로 수행

액티브스탠바이

Subscriber

스탠바이

Subscriber페일·오버

Page 49: Oracle TimesTen 事例と?要 · 마이크로세컨드 마이크로세컨드 9 28 70% select; 20% update; 10% insert Oracle TimesTen R 6.0, 4-CPU, 3 GHz x86 Xeon, 32-bit Red Hat Linux

49

그외 다른 주요 신기능

6.0와 7.0간에 클라이언트 서버 구성 할 수 있슴

Replication 중 데이터 경합시의 에러·파일을 XML 포맷 지원

SNMP 트랩의 타겟을 복수 지정가능

유저·에러·로그와 오라클·서포트 전용의 로그가 분할

XLA의 향상

ttDaemonAdmin에 -force옵션이 추가

ttHostNameSet / ttHostNameGet의 추가

Windwos x64 / MontaVista CGE 4.0 / SUSE Linux Enterprise Server 10 의 지원

Page 50: Oracle TimesTen 事例と?要 · 마이크로세컨드 마이크로세컨드 9 28 70% select; 20% update; 10% insert Oracle TimesTen R 6.0, 4-CPU, 3 GHz x86 Xeon, 32-bit Red Hat Linux