database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
ㆍOracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
Oracle Columns 9313 게시물 읽기
 News | Q&A | Columns | Tutorials | Devel | Files | Links
No. 9313
Middleware를 이용한 효과적인 Resource의 관리(2)
작성자
정재익(advance)
작성일
2002-01-06 14:14
조회수
10,732

Middleware를 이용한 효과적인 Resource의 관리

 

1. TP Monitor 의 Architecture

- 일반적인 TP monitor의 Design은 3-tier architecture design 을 가진다.

- Client는 Presentation logic만 신경을 쓰면 된다.

- TP monitor API는 Database와의 통신에 이용 된다.

가. DB 와의 API를 제공

나. Transaction의 관리

다. Transaction management code를 가지고 있다.

 

2. X/Open DTP(Distributed Transaction Processing) Model

- 이기종 RM(Resource Manager)를 공유할 수 있는 복수개의 application

program간에 상호 규약을 정의한 architecture 를 말한다.

- X/Open company에 의해 제정 되었다.

- 이 규약은 여러 RM과 여러 AP 간의 standard interface 를 정의 하였다.

그리고 xa() ,ax() 등과 같은 표준 interface로만 통신하므로 호환이 가능.

 

---> xa() ... --->

TM(Tuxedo,CICS... ) 표준 Interface RM(Oracle,Informix..)

<--- ax() ... <---

 

3. Oracle*XA 란

 

Oracle product는 X/Open DTP 규약의 XA interface를 따른다. 결국,Oracle XA는 libxa.a 라는 library 형태로 Oracle은 제공 하고 있다.

그리고, Pro*C 등의 compile시 link가 되어서 setup 된다. Oracle은 XA규약과는 무관한 즉, Non-XA인 Oracle Server가 관장하는 2 Phase commit 을 이용한 DTP의 관리도 가능하고 여기에 대해서도 설명을 하겠다.

 

4. X/Open DTP Model의 구성요소

 

1) AP (Application Program) .

Transaction의 영역과 transaction을 구성하는 action들을 규정한다.

 

2) RM (Resource Manager) .

Database와 같은 shared resource 에 대한 access 제공

 

3) TM (Transaction Manager) .

Transaction의 id(XIDs) 를 할당하고 해당 XID의 Transaction을 monitor

하고 coordinate 한다.

 

4) TM 이 생성하는 XID는 Oracle의 Tx id와는 format이 다름.

 

5) AP,TM,RM 의 상호 작용

a. AP 에서 tx_begin() 으로 transaction 의 시작

b. TM 은 tx_begin()을 receive 받아 새로운 Xid 를 생성 후 RM 에게 Xid를

건네 준다.

c. 전달받은 Xid를 이용 RM 은 xa_start() 를 oracle server process에게 전달.

d. Oracle에서 처리 후 success 면 confirmation을 AP 로 전달함.

e. 이 후 는 AP 와 RM 간에 SQL 을 통하여 처리 가 됨.

 

5. XA 에서 요구되는 RM 의 조건

1) 한 Transaction을 한 Application server process에서 다른 application

process 로 옮길 수 있어야 한다.

2) 분리된 Process 간에 commit 도 보장 되어야 한다.

session과 Transaction 은 어떤 특정 Application Server Process 와

연결된 stat를 가질 수 없다.

3) 이러한 일련의 과정을 TPM 이 GTID(Global Transaction Id) 를 가지고

관리 한다.

[Top]
No.
제목
작성자
작성일
조회
9316통합 internet application platform인 Oracle9i AS
정재익
2002-01-06
8828
9315강력한 internet Database oracle9i [1]
정재익
2002-01-06
9268
9314Middleware를 이용한 Transaction Samples
정재익
2002-01-06
10407
9313Middleware를 이용한 효과적인 Resource의 관리(2)
정재익
2002-01-06
10732
9312Middleware를 이용한 효과적인 Resource 관리(1)
정재익
2002-01-06
9074
9311VLDB구성시 Application 특성에 맞는 RAID (2)
정재익
2002-01-06
9177
9310VLDB구성시 Application 특성에 맞는 RAID (1)
정재익
2002-01-06
9238
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2022 DSN, All rights reserved.
작업시간: 0.048초, 이곳 서비스는
	PostgreSQL v14.2로 자료를 관리합니다