Home     FreeBSD     Linux     MS-Window     PHP     Data Base     Utility     Phone     Etc  

   
  Category : Data-Base         CHAPTER 21수정   삭제   
CHAPTER 21


Distributed Database




An Instruction to Distributed Database
Replication Data




An Introduction to Distributed Database
Distributed database는 하나의 database로 user에게 access되지만, 사실은 여러 개의 computer들에 저장된 database들의 집합이다. 여러 computer들에 있는 data를 하나의 network을 사용하여 동시에 access되고 수정될 수 있다. Distributed database의 각 database server는 그들의 local DBMS에 의해서 제어되고, 각각은 global database의 일관성을 유지하기 위하여 협력한다.

Clients, Servers, and Nodes
Server는 database를 운용하는 software이고 client는 server에 정보를 요구하는 application이다. System의 각 computer는 하나의 node이다.

Direct and Indirect Connections
Client는 database server에 직접, 간접적으로 접속할 수 있다.

Site Autonomy
Site autonomy는 마치 distributed database이 아닌 것처럼 distributed database내의 각 server가 (security와 backup operation에 대해서) 독립적으로 관리되는 것을 의미한다.

Site autonomy는 다음의 장점을 제공한다.
System의 node는 company의 논리적인 조직이나 “arms length” 관계로 유지될 필요가 있는 cooperating조직을 mirror 할 수 있다.
Local data는 local database administrator에 의해 제어된다.
독립적인 failure가 distributed database의 다른 node를 분열시킬 확률이 적다.
Failure recovery가 보통 각 node 기반에 의해 수행된다.
하나의 data dictionary가 각 local database를 위해 존재한다.
Node들은 독립적으로 software를 upgrade 할 수 있다.

Schema Objects and Naming in a Distributed Database
Schema object(예를 들면, table)는 distributed database를 형성하는 모든 node로부터 access 될 수 있다. 그런 이유로 애매하지 않은 명명 규칙이 제공되어야 한다.

하나의 database내에서 object(name resolution이라 부르는 process)에 대한 참조를 해결하기 위해서, DBMS는 보통 계층적인 접근 방법을 통해 object name들을 형성한다. 예를 들면, 하나의 database내에서 DBMS는 각 schema가 유일한 이름을 가지는 것을 보장하며 한 schema내에서 각 object가 유일한 이름을 가지는 것을 보장한다. 유일성이 각 계층에서 강화되므로 object의 local 이름은 유일성을 보장받으며 object local 이름에 대한 참조는 쉽게 해결될 수 있다.

Distributed database management system들은 network내에서 유일한 database name을 명명하여 간단히 hierarchical naming model을 확장한다. 결과적으로, object의 global object name은 distributed database내에서 유일하다는 것이 보장되어야 하며, object의 global object에 대한 참조는 system의 node들 사이에 해결될 수 있다.

Database Links
Oracle은 distributed database의 각 database간의 접속을 가능하게 하기 위해 database link를 이용한다. Database link는 remote database에 대해 “path”를 제공한다.

Database link의 이름이 link가 지시하는 database의 global name과 동일하므로 database link는 distributed database user에게 반드시 투명하다. 다음 문은 local database에 대해 database link를 생성한다.

CREATE PUBLIC DATABASE LINK sales.division3.acme.com . . . ;

Statements and Transactions in a Distributed Database

Remote and Distributed Statements
Remote query는 모두 같은 remote node에 있는, 하나 이상의 remote table로부터 정보를 선택하는 query이다.

Distributed query는 하나 이상의 node로부터 정보를 얻는다.

Distributed update는 하나 이상 node의 data를 변경한다. Distributed update는 다른 node의 data에 access하는 두개 이상의 remote update를 포함하는 procedure나 trigger에 의해서 program unit을 이용하여 가능하다. Program unit의 statement는 remote node에 보내지고 program의 수행은 unit로서 성공하거나 실패한다.

Remote and Distributed Transactions
Remote transaction은 모두 같은 remote node를 참조하는, 하나 이상의 remote statement를 포함하는 transaction이다. Distributed transaction은 distributed database의 두개 이상의 node의 data를 갱신하는 transaction이다.

Two-Phase Commit Mechanism
DBMS는 distributed database이건 아니건, transaction내의 모든 statemet가 하나의 unit으로서 rollback되거나 commit되어 바르게 design 되었다면 logical database가 일관되도록 보장하여야 한다.

Distributed database에서 Oracle은 network이나 system failure가 발생하더라도, network을 통한 transaction control과 data consistency를 coordinate하여야 한다.

Two-phase commit mechanism은 distributed transaction에 연계된 모든 database server에서 statement들이 모두 commit되거나 모두 rollback되도록 보장한다. Two-phase commit은 또한 integrity constraints, remote procedure call, trigger에 의해 묵시적으로 수행되는 묵시적인 DML operation도 또한 예방한다.

Transparency in a Distributed Database System
Database user나 database administrator에게 모두 distributed database의 복잡성이 투명하도록 distributed database의 기능성이 제공되어야 한다.
Location transparency는user가 접속하는 node에 관계없이 동일한 table을 같은 방법으로 참조할 수 있을 때에 존재한다.
Location transparency에 대한 이점은 다음과 같다.
Remote data에 대한 접근이 간단하다.
End- user나 database application에 영향을 주지않고 object가 옮겨질 수 있다.

Distributed database system은 또한 query, update, transaction transparency를 제공한다. 예를 들면, SELECT, INSERT, UPDATE, 그리고 DELETE와 같은, 표준 SQL command를 이용하여 별도의 programming 없이 user가 remote data에 대한 access를 허용한다. Transaction transparency는 별도의 programming이나 distributed transaction control을 수행하는 다른 특수 연산자 없이, DBMS가 표준 SQL COMMIT, SAVEPOINT, 그리고 ROLLBACK을 사용하여 아래의 기술된 기능들을 제공할 때에 발생한다.
한 transaction의 문이 local이나 remote table을 회수 제한 없이 참조할 수 있다.
DBMS가 distributed transaction에 연계된 모든 node에서 같은 action을 취하는 것을 보장한다: 그 transaction을 모두 commit 혹은 rollback 한다.
Distributed transaction의 commit 동안에 system이나 network failure가 발생했을 때, 그 transaction이 자동으로 투명하게 광역적으로 해결된다; Network 또는 system이 복구되면, 그 transaction을 모두 commit 혹은 rollback 한다.

Distributed DBMS architecture는 또한 투명하게 system의 node들 사이에 data를 복사하는 기능을 제공한다. Distributed database에서 database 간에 table 복사본들을 유지하는 것은 다음과 같은 상황에서 요구된다.
Network communication이 필요 없기 때문에 table이 자주 조회되고 간간이 갱신될 때 local user session들에 의해서 더 빠르게 access 될 수 있다.
Database가 오래 지속되는 failure를 가지는 필수적인 table을 포함하고 있을 때, 다른 database의 table 복사본은 access될 수 있다.

distributed database를 관리하는 DBMS는 replicated table에 작업을 하는 user들에게 투명하게 table replication을 수행하여야 한다.

Distributed database는 반드시 적절한 속도로 수행되어야만 한다.

SQL*Net and Network Independence
Data가 remote database로부터 요구될 때, local database server는 remote database와 network, network software, Oracle SQL*Net을 이용하여 통신한다.

Heterogeneous Distributed Database Systems
Oracle distributed database architecture는 Oracle의 다른 version이나 다른 vendor의 database product가 혼합되어 distributed database를 형성하는 것을 허용한다.

The Mechanics of a Heterogeneous Distributed Database System
Distributed database에서 Oracle database에 직접 접속된 application은 다음의 방법으로 remote data에 access하는 SQL statement를 이용할 수 있다.
Oracle의 어떤 version이라도 다른 Oracle database의 data를 이용할 수 있다. 모든 Oracle database는 network을 통해 연결되며 communication을 유지하기 위하여 SQL*Net을 이용한다.
Non-Oracle database(IBM DB2 database와 같은)가 Oracle의 gateway architecture, SQL*Connect에 의해 지원된다면 Non-Oracle database의 data도 이용할 수 있다. Oracle과 non-Oracle database를 network을 통해서 접속하고 communication을 유지하기 위하여 SQL*Net을 이용한다.

Oracle node로부터 remote node로의 접속이 초기에 형성될 때, 접속하는 Oracle node는 각 remote system의 능력과 연관된 gateway를 기록한다.

Heterogeneous distributed system에서, Oracle database로부터 non-Oracle remote database server로의 SQL statement는 remote database server의 능력과 연관된 gateway에 의해 제한된다. 예를 들면, remote 또는distributed query가 Oracle extended function(예를 들면, outer join등)을 포함하고 있을 때 그 function은 local Oracle server에 의해 수행되어야 한다. Remote update의 Extended SQL function(예를 들면, subquery내의 an outer join 등)은 모든 gateway에 의해 지원되지 않는다.

Replicating Data
Data는 snapshot이나 replicated master table을 사용하여 복사될 수 있다. Replicated master table들은 replication option을 요구한다.


코멘트  

이름 :      비밀번호 :
         자동등록방지
내용 :  
파일 :




금연

  글번호
이름
1 2 3
날짜
  216Data-Base mysql 테이블에 몇가지 필드값 처리 조회수가 1000회 이상이네요. ^0^2015-01-14
  206Data-Base mysql 4.x 5.x 설치후 설정 조회수가 1000회 이상이네요. ^0^2014-12-30
  69Data-Base mysqld_error code 조회수가 1000회 이상이네요. ^0^2017-03-22 10:45
Danielexent
  65Data-Base .RDBMS 개요 -2 조회수가 1000회 이상이네요. ^0^2002-01-12
  64Data-Base .RDBMS 개요 -1 조회수가 1000회 이상이네요. ^0^2002-01-12
  62Data-Base CHAPTER 24 조회수가 1000회 이상이네요. ^0^2002-01-12
  61Data-Base CHAPTER 23 조회수가 1000회 이상이네요. ^0^2002-01-12
  60Data-Base CHAPTER 22 조회수가 1000회 이상이네요. ^0^2002-01-12
  Data-Base CHAPTER 21 조회수가 1000회 이상이네요. ^0^2002-01-12
  58Data-Base CHAPTER 20 조회수가 1000회 이상이네요. ^0^2002-01-12
  57Data-Base CHAPTER 19 조회수가 1000회 이상이네요. ^0^2002-01-12
  56Data-Base CHAPTER 18 조회수가 1000회 이상이네요. ^0^2002-01-12
  55Data-Base CHAPTER 17 조회수가 1000회 이상이네요. ^0^2002-01-12
  54Data-Base CHAPTER 16 조회수가 1000회 이상이네요. ^0^2002-01-12
  53Data-Base CHAPTER 15 조회수가 1000회 이상이네요. ^0^2002-01-12
 
1 2 3
글쓰기    목록   다음   로그인
Since 1998-2020 Chris. BSD LICENSE