KR20010056176A - 객체 식별자를 이용한 데이터베이스 복제화 및 동기화 방법 - Google Patents

객체 식별자를 이용한 데이터베이스 복제화 및 동기화 방법 Download PDF

Info

Publication number
KR20010056176A
KR20010056176A KR1019990057615A KR19990057615A KR20010056176A KR 20010056176 A KR20010056176 A KR 20010056176A KR 1019990057615 A KR1019990057615 A KR 1019990057615A KR 19990057615 A KR19990057615 A KR 19990057615A KR 20010056176 A KR20010056176 A KR 20010056176A
Authority
KR
South Korea
Prior art keywords
database
original
duplicate
copy
objects
Prior art date
Application number
KR1019990057615A
Other languages
English (en)
Other versions
KR100501904B1 (ko
Inventor
임미숙
김기철
이용우
김계관
Original Assignee
이계철
한국전기통신공사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 이계철, 한국전기통신공사 filed Critical 이계철
Priority to KR10-1999-0057615A priority Critical patent/KR100501904B1/ko
Publication of KR20010056176A publication Critical patent/KR20010056176A/ko
Application granted granted Critical
Publication of KR100501904B1 publication Critical patent/KR100501904B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/275Synchronous replication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computing Systems (AREA)

Abstract

1. 청구범위에 기재된 발명이 속한 기술분야
본 발명은 객체 식별자를 이용한 데이터베이스 복제화 및 동기화 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것임.
2. 발명이 해결하려고 하는 기술적 과제
본 발명은, 일반적인 컴퓨팅 환경하에서 객체 관계형 데이터베이스에 있는 객체 식별자(OID)를 이용해 서버의 원본 데이터베이스를 복제화하여 복제 데이터베이스를 구성하고, 작업에 따른 편집으로 인한 객체의 불일치가 발생한 경우에 두 데이터베이스간의 동기화를 수행하기 위한 데이터베이스 복제화 및 동기화 방법과, 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하고자 함.
3. 발명의 해결방법의 요지
본 발명은, 컴퓨팅 시스템에서 서버에서 관리되는 대용량의 데이터베이스(이하, 원본 데이터베이스라 함)의 특정 부분을 복제하여 별도의 데이터베이스(이하, 복제 데이터베이스라 함)로 유지하는 방법에 있어서, 복제화 대상 클래스를 결정하는 제 1 단계; 복제대상 영역을 선택하는 제 2 단계; 상기 결정된 복제화 대상 클래스를 대상으로 상기 복제대상 영역에 포함되는 객체들을 검색하여, 복제 대상 영역내 원본 객체들을 상기 복제 데이터베이스내의 복제 객체로 생성하는 제 3 단계;객체 식별자(OID) 필드를 유지할 수 있도록, 시설물 클래스를 구성하면서 상기 복제 데이터베이스를 생성하는 제 4 단계; 및 상기 복제 데이터베이스내에서의 충돌 객체 발생시에, 객체 식별자(OID) 필드를 이용하여 상기 원본 데이터베이스와 상기 복제 데이터베이스를 일치시키는 제 5 단계를 포함함.
4. 발명의 중요한 용도
본 발명은 데이터베이스 동기화/복제화 작업 등에 이용됨.

Description

객체 식별자를 이용한 데이터베이스 복제화 및 동기화 방법{Database replication and synchronization method using object identifier}
본 발명은 일반적인 컴퓨팅 환경하에서 서버의 원본 데이터베이스를 복제화하여 복제 데이터베이스를 구성하고, 작업에 따른 편집으로 인한 객체의 불일치가 발생한 경우에 두 데이터베이스간의 동기화를 수행할 수 있는 객체 식별자(OID : Object IDentifier)를 이용한 데이터베이스 복제화 및 동기화 방법과, 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것이다.
서버에서 관리되는 원본 데이터베이스는 일반적으로 대용량이라는 특징이 있다. 현 추세의 급격한 하드웨어 가격 하락과 성능의 향상으로 서버에서 관리되는 데이터베이스의 용량이 급격히 증대하고 있는 추세이다. 이러한 대용량 데이터베이스를 클라이언트/서버 환경에서 접속하여 작업하는 경우 네트워크 망의 성능에 따라 클라이언트의 작업이 영향을 받게 된다.
또한, 데이터베이스 동시성 제어 차원에서 동일 객체에 대한 록킹(Locking)으로 인하여 다른 사용자의 작업이 지연되는 결과가 발생하게 된다. 특히, 이러한 작업 환경은 투자 공사에 대한 장기간에 걸친 시설물 설계 업무를 수행하여야 하는 투자공사 분야 데이터베이스 서버에서는 복수 사용자의 작업에 관리에 많은 애로 사항 요소로 작용된다. 따라서, 필요시 대용량 원본 데이터베이스를 복제 데이터베이스로 구성하여 작업하고 이에 대한 변경 내역을 동기화시킬 수 있는 방안이 모색된다.
현재, 복제화/동기화 분야는 궁극적으로 분산 데이터베이스의 기본 단계로 규정된다. 대용량 데이터베이스를 분산된 여러 개의 데이터베이스로 분리하여 서로다른 머신상에서 네트워크 연동 상태로 유지하고자 하는 분산 데이터베이스는 데이터베이스 분야의 최대 목표이다. 하지만, 기술적으로 상당히 난해하고 어려운 분야이다.
따라서, 현재 시장에서 판매되는 분산 데이터베이스의 가격은 가히 천문학적 수준이라고 할 수 있다. 가격 뿐만아니라, 그 기술적인 운용성에도 많은 제약 조건이 존재하고 있는 실정이다. 따라서, 분산 데이터베이스 차원의 시도가 아닌 복제화/동기화 기법으로 운용되는 사례는 많이 있다. 물론, 복제화/동기화 데이터베이스는 분산 데이터베이스에 비하여 실시간 동기화 작업이 수행되지 않으므로 동기화를 수행하기 전까지는 원본/복제 데이터베이스간의 불일치 현상이 존재한다는 것은 피할 수 없는 제한 요소이다.
하지만, 선로 투자공사, TOMS(Telephone Outsideplant Management System) 시설물 운용 환경을 고려해 볼 때, 고 비용의 분산 데이터베이스를 구매하여 운용하는 것보다는 저 비용의 복제화/동기화 데이터베이스를 적용한다 하더라도 업무의 진행에는 별다른 무리가 없다.
일반적으로, 개인용컴퓨터(PC : Personal Computer) 환경하에서는 "Microsoft Access DB"에서 복제화/동기화 데이터베이스를 제공하고 있다. 하지만, Access DB는 지리정보체계(GIS : Geographic Information System) DB가 아니므로 통신 선로시설물 관리 업무에 적용하기에는 많은 제약 조건이 존재한다. 이는 기본적으로 포인트, 라인, 폴리곤 같은 GIS 기본 데이터 타입을 제공하지 않으므로 응용 어플리케이션 레벨에서 공간 데이터 타입을 저장하고 처리하여야 한다. 또한,공간 인덱싱이 아닌 일반 B-트리(B-tree) 인덱스만 제공하므로 시설물에 대한 신속한 응답 속도를 보장할 수 없다.
따라서, 공간 데이터 타입과 공간 인텍싱 등 GIS 필수 기능을 제공하는 객체관계형 데이터베이스관리시스템(ORDBMS : Object Relational DBMS)을 이용하여 시설물에 대한 복제화/동기화 방안이 필수적으로 요구된다.
상기한 바와 같은 문제점을 해결하기 위하여 안출된 본 발명은, 일반적인 컴퓨팅 환경하에서 객체 관계형 데이터베이스에 있는 객체 식별자(OID)를 이용해 서버의 원본 데이터베이스를 복제화하여 복제 데이터베이스를 구성하고, 작업에 따른 편집으로 인한 객체의 불일치가 발생한 경우에 두 데이터베이스간의 동기화를 수행하기 위한 데이터베이스 복제화 및 동기화 방법과, 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하는데 그 목적이 있다.
도 1 은 본 발명이 적용되는 하드웨어 시스템의 구성 예시도.
도 2 는 본 발명에 따른 데이터베이스 복제화 방법에 대한 일실시예 흐름도.
도 3 은 본 발명에 따른 복제 데이터베이스 OID 필드 유지 클래스 생성 및 멀티 레벨 복제 데이터베이스 구성 예시도.
도 4 는 본 발명에 따른 데이터베이스 동기화 방법에 대한 일실시예 흐름도.
*도면의 주요 부분에 대한 부호의 설명
11 : 중앙처리장치 12 : 주기억장치
13 ; 보조기억장치 14 : 입력장치
15 : 표시장치
상기 목적을 달성하기 위한 본 발명은, 컴퓨팅 시스템에서 서버에서 관리되는 대용량의 데이터베이스(이하, 원본 데이터베이스라 함)의 특정 부분을 복제하여 별도의 데이터베이스(이하, 복제 데이터베이스라 함)로 유지하는 방법에 있어서, 복제화 대상 클래스를 결정하는 제 1 단계; 복제대상 영역을 선택하는 제 2 단계; 상기 결정된 복제화 대상 클래스를 대상으로 상기 복제대상 영역에 포함되는 객체들을 검색하여, 복제 대상 영역내 원본 객체들을 상기 복제 데이터베이스내의 복제 객체로 생성하는 제 3 단계; 객체 식별자(OID) 필드를 유지할 수 있도록, 시설물 클래스를 구성하면서 상기 복제 데이터베이스를 생성하는 제 4 단계; 및 상기 복제 데이터베이스내에서의 충돌 객체 발생시에, 객체 식별자(OID) 필드를 이용하여 상기 원본 데이터베이스와 상기 복제 데이터베이스를 일치시키는 제 5 단계를 포함하여 이루어진 것을 특징으로 한다.
그리고, 본 발명은 프로세서를 구비한 컴퓨팅 시스템에, 복제화 대상 클래스를 결정하는 제1 기능; 복제대상 영역을 선택하는 제2 기능; 상기 결정된 복제화 대상 클래스를 대상으로 상기 복제대상 영역에 포함되는 객체들을 검색하여, 복제 대상 영역내 원본 객체들을 상기 복제 데이터베이스내의 복제 객체로 생성하는 제3 기능; 객체 식별자(OID) 필드를 유지할 수 있도록, 시설물 클래스를 구성하면서 상기 복제 데이터베이스를 생성하는 제4 기능; 및 상기 복제 데이터베이스내에서의 충돌 객체 발생시에, 객체 식별자(OID) 필드를 이용하여 상기 원본 데이터베이스와 상기 복제 데이터베이스를 일치시키는 제5 기능을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.
본 발명에서는 객체관계형 데이터베이스에 있는 OID(Object IDentifier)를 이용한 복제화/동기화 방법을 제안하고자 한다.
본 발명은 서버에서 관리되는 대용량의 데이터베이스(이하, 원본 데이터베이스라함)의 특정 부분을 클라이언트의 PC 머신으로 복제(Replication)하여 별도의 데이터베이스(이하, 복제 데이터베이스라 함)로 유지하는 것이다. 또한, 복제 데이터베이스에서 삽입, 수정 등의 편집 작업이 발생하여 복제 데이터베이스의 내용이 변경된 경우에, 변경 내역을 원본 데이터베이스로 동기화(Synchronization)시킬 수 있는 것이다. 즉, 원본 데이터베이스를 복제 데이터베이스로 복제할 수 있는 복제화 툴과 이에 대한 동기화 작업을 수행할 수 있는 것이다.
이를 위해, 본 발명에서는 우선 복제 데이터베이스는 원본 데이터베이스의 모든 요소(클래스, 객체)를 포함하여야 한다. 또한, 동기화 목적으로 부가적인 정보 필드가 유지되어야 한다. 따라서, 복제 데이터베이스가 생성될 때 원본 데이터베이스에서 어떻게 객체들을 생성할 것인가, 그리고 복제 데이터베이스는 동기화를 위하여 어떠한 부가 정보가 어떻게 구성하여야 하는가가 기술적인 과제이다.
본 발명에서는 이 목적을 위하여 객체관계형 데이터베이스의 OID를 사용한다. OID는 일반 관계 DBMS의 키에 해당되는 성격의 지닌 시스템 요소이다. 즉, 객체관계형 DBMS에서 유지되는 모든 객체는 유니크한 OID를 가진다. 이 OID는 데이터베이스내에 모든 객체에 대하여 유니크한 값을 가지므로 객체간에 서로 중복되는 경우는 없다. 즉, OID는 대상 객체를 식별하는 식별자로 사용할 수 있다. 따라서, 복제 데이터베이스가 생성될 때 복제 데이터베이스내의 객체들은 원본 데이터베이스내의 원본 객체에 대한 OID를 별도로 유지한다. 따라서, 여하간의 편집 작업이 수행된다 하더라도 복제 데이터베이스내에 있는 복제 객체는 복제 객체내에 유지되는 원본 객체의 OID를 통하여 원본 데이터베이스와의 연결 정보를 가질 수 있다.
원본 데이터베이스에서 원본 객체에 대한 변경 작업이 발생하거나 복제 데이터베이스 내의 복제 객체에 대한 편집 작업이 발생하는 경우에, 동일한 객체에 대한 충돌(Conflict)이 발생하게 된다. 즉, 서로 다른 변경 작업이 발생한 경우이다. 이러한 경우는 여러 가지 경우의 수를 가질 수 있다. 즉, 원본 객체는 변경이 되지 않았으나 복제 객체가 변경된 경우, 혹은 그 반대의 경우, 아니면 원본과 복제 객체가 서로 모두 변경되는 경우도 발생할 수 있다. 본 발명에서는 이러한 객체를 충돌 객체라 칭한다. 편집 작업만이 충돌 객체를 만드는 것은 아니다. 새로 입력된 객체도 충돌 객체로 규정한다. 원본 데이터베이스에서 새로 입력된 객체는 복제 데이터베이스 입장에서는 존재하지 않은 객체이므로 충돌 객체로 규정되어야 한다. 또한, 그 반대의 경우도 같은 개념이 적용되어 한다. 문제는 이러한 충돌 객체를 어떻게 추출하느냐 하는 것과 충돌 객체들을 어떻게 처리할 것인가가 중요한 기술적 과제이다. 본 발명에서 적용된 충둘 객체 추출 및 충돌 해결 방안(Conflict Resolve)에 대한 구체적인 예는 하기에서 설명하기로 한다.
상술한 목적, 특징들 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일실시예를 상세히 설명한다.
도 1 은 본 발명이 적용되는 하드웨어 시스템의 구성 예시도이다.
도 1에 도시된 바와 같이, 본 발명이 적용되는 하드웨어 시스템은, 중앙처리 장치(11)와, 중앙처리장치(11)에 연결된 주기억장치(12)와, 주기억장치(12)에 연결된 보조기억장치(13)와, 중앙처리장치에 연결된 입력장치(14) 및 표시장치(15)를 구비한다.
여기서, 하드웨어 시스템은, 컴퓨터의 전체 동작을 제어하고 관리하는 중앙처리장치(11), 중앙처리장치(11)에서 수행되는 프로그램을 저장하고 작업 수행중 이용되는 또는 작업 수행중에 발생되는 각종 데이터를 저장하는 주기억장치(12)와 보조기억장치(13) 및 사용자와의 데이터 입출력을 위한 입출력장치(14,15)를 포함한다.
그리고, 보조기억장치(13)는 대량의 데이터를 저장하는 역할을 하며, 입출력장치(14,15)는 일반적인 키보드, 디스플레이 장치 및 프린터 등을 포함한다.
그러나, 상기한 바와 같은 구성을 갖는 컴퓨터 하드웨어 환경은 당해 분야에서 이미 주지된 기술에 지나지 아니하므로 여기에서는 그에 관한 자세한 설명은 생략하기로 한다. 다만, 주기억장치(11)에 탑재되어 원본 데이터베이스를 복제 데이터베이스로 복제할 수 있는 복제화 처리 과정과 이에 대한 동기화 처리 과정에 대해 보다 상세히 설명한다.
도 2 는 본 발명에 따른 데이터베이스 복제화 방법에 대한 일실시예 흐름도이다.
도 2에 도시된 바와 같이, 본 발명에 따른 데이터베이스 복제화 방법은, 먼저 사용자가 복제화 대상 클래스를 선택한다. 여기서, 원본 데이터베이스내의 모든 클래스를 복제화 대상 클래스로 할 수도 있다. 또한, 제한된 몇 개의 클래스들만을 대상으로 할 수도 있다(201).
이후, 복제화는 다양한 조건에 의하여 수행될 수 있다. 즉, 특정 사용자는 지리 좌표값을 바탕으로 특정 4각형(Rectangle) 영역내의 객체들에 대하여 복제화를 수행할 수 있다. 또한, 특정 폴리곤 영역을 대상으로 복제화를 수행할 수 있다.사용자가 복제화 대상 영역을 선택한다(202).
다음으로, "201" 단계에서 선택된 클래스들을 대상으로 "202" 단계에서 사용자가 선택한 대상 영역에 포함되는 객체들을 검색하여 복제 데이터베이스에 복제 객체로 생성된다(203).
도 3 은 본 발명에 따른 복제 데이터베이스 OID 필드 유지 클래스 생성 및 멀티 레벨 복제 데이터베이스 구성 예시도로서, 복제 데이터베이스에 OID 관련 부가 필드에 생성에 대한 설명이다.
본 실시예에서는 복제 클래스 생성을 구조적 질의언어(SQL3 : Structured Query Lanquage3)로 구현하였다. 이를 바탕으로 "203" 단계의 복제 데이터베이스가 생성되었을 때 원본 객체와 복제 객체간의 OID 관련 정보를 그림으로 표현하였다.
원본 데이터베이스(tomsDb)에는 원본 객체는 VPS(Volume ID, Page ID, Slot ID : OID는 세 개의 서브 필드로 구성됨)로 M1, M2, M3를 가지고 있다.
복제 객체는 복제 데이터베이스(tomsdbR)에서 새로 생성된 객체이므로 복제 데이터베이스내의 VPS로 R1, R2, R3를 가진다. 또한, 복제화 툴은 상기에서 명시한 부가 정보 필드(volid, pageid, slotid)에 원본 객체의 VPS인 M1, M2, M3를 유지하며, 일반 속성값들로 복제한다. 여기서, 부가 필드로 유지되는 "Rflag"는 복제 데이터베이스내에서 복제 객체가 변경되었을 때 세팅되는 필드이다. 이는 동기화 작업시 동기화 대상 객체를 추출하는 목적으로 사용된다.
또 다른 복제 데이터베이스(tomsdbR1)는 복제 데이터베이스(tomsdbR)를 다시 복제화 한 경우이다.
이후, "201" 단계에서 선택한 복제화 대상 클래스가 존재하는 경우에는 "203" 단계의 과정을 중복적으로 수행한다.
도 4 는 본 발명에 따른 데이터베이스 동기화 방법에 대한 일실시예 흐름도이다.
복제 객체는 복제 데이터베이스내에서 변경 작업이 발생한 경우에 "Rflag"가 세팅되므로 변경된 객체임을 인식할 수 있다.
충돌이 발생하는 경우는 복제 데이터베이스내의 복제 객체의 "Rflag"가 세팅된 경우이다. 이는 복제 데이터베이스내에서 변경이 발생한 경우이므로 충돌 해결의 대상이다. 또한, 복제 데이터베이스내에서 새로 입력된 객체도 충돌 해결의 대상이다.
복제 데이터베이스내에서 새로 입력된 객체들은 복제 객체내의 "volid", "pageid", "slotid"가 모두 널(null)의 상태이다. 즉, 새로 입력된 객체는 원본 객체가 존재하지 않으므로 "volid", "pageid", "slotid"가 세팅되어 있지 않다. 따라서, 복제 객체중에 "volid", "pageid", "slotid"가 널(null)인 복제 객체들은 원본 데이터베이스로 새로 입력되어야 한다.
도 4에 도시된 바와 같이, 본 발명에 따른 데이터베이스 동기화 방법은, 복제 데이터베이스내에 새로 입력된 객체를 검색하여 원본 데이터베이스로 입력한다(401).
이후, 원본 객체에 새로 입력된 객체들에 자동으로 부여되는 VPS를 알아내야만 한다. 즉 이제 새로 입력된 복제 객체를 원본 데이터베이스에 입력하였으므로복제본과 원본이 동기화가 이루어진 상태이다. 이 상태에서 복제 객체의 "volid", "pageid", "slotid"를 새로 입력된 원본 객체의 VPS로 세팅하지 않는다면 복제 객체는 다음 동기화 작업시에도 다시 새로 입력된 객체로 인식되게 되므로 중복 입력되는 현상이 발생한다. 따라서, 복제 객체의 "volid", "pageid", "slotid"를 원본 객체의 VPS로 세팅하는 과정이 필요하다(402).
다음으로, 복제 데이터베이스에 새로 입력된 복제 객체가 존재하는지를 검사하여(403), 존재하면 "401" 단계 및 "402" 단계를 반복 수행한다.
만약, 복제 데이터베이스에 새로 입력된 복제 객체가 존재하지 않으면, 복제 데이터베이스에서 "Rlfag"가 세팅된 객체는 변경이 발생한 객체이므로 복제 객체 중에 "Rflag"가 세팅된 복제 객체들을 검색한다(404).
이어서, 원본 객체를 복제 객체의 내용으로 변경한다(405). 이후에, 복제 데이터베이스에 "Rflag"가 세팅된 변경 복제 객체가 있으면(406), "405" 단계를 중복 수행한다.
이후, 복제 데이터베이스 클래스중에 변경되거나 새로 입력된 객체가 있는 클래스들을 대상으로 "401" 단계를 중복 수행한다.
상기한 바와 같은 본 발명은, 서버의 원본 데이터베이스를 복제하여 클라이언트 머신에 유지하며, 복제 데이터베이스와 원본 데이터베이스의 동기화를 수행할 수 있다.
그리고, 대용량의 원본 데이터베이스에 대하여 필요한 영역만큼을 복제화하여 사용하므로 복수 사용자의 원본 데이터베이스 작업에 따른 성능의 저하를 방지할 수 있다. 또한, 제한된 자원의 클라이언트 PC의 자원을 최대한 활용할 수 있으며, 원본 데이터베이스에 대한 복수 사용자 록킹(Locking) 문제를 해결할 수 있다.
따라서, 선로 시설에 투자 공사에 따른 설계 작업시 사용자 long duration 트랜잭션을 자동으로 해결할 수 있고, 사용자로 하여금 복제 데이터베이스를 대상으로 자신의 작업을 독립적으로 수행할 수 있도록 한다. 또한 대규모 작업이 여러 사용자의 작업 영역의 분할을 통하여 작업을 동시에 수행할 수 있으므로 작업 속도 및 업무의 효율을 기할 수 있다. 이는 복제 데이터베이스의 변경 작업에 대한 동기화 기능을 제공함으로써 가능하다.
본 발명에 따르면, 동기화 작업은 새로 입력된 객체 및 변경된 객체에 대하여 포괄적으로 수행되므로 원본 데이터베이스와 복제 데이터베이스와의 불일치(Inconsistency)를 방지할 수 있다. 그리고, 대용량 추세에 있는 서버의 원본 데이터베이스에 대하여 분산 데이터베이스 개념이 적용된 데이터베이스 복제화/동기화 기법은 저렴한 비용으로 작업 능률 및 성능의 향상을 기할 수 있다.
이상에서 설명한 본 발명은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 있어 본 발명의 기술적 사상을 벗어나지 않는 범위내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 한정되는 것이 아니다.
상기한 바와 같은 본 발명은, 대용량 데이터베이스를 작업목적에 맞게 특정영역만을 복제할 수 있으므로 작업 성능을 향상시킬 수 있으며, 복제/원본 데이터베이스간의 동기화 작업으로 복수 사용자에게 적합한 작업 환경을 제공할 수 있는 효과가 있다. 또한, 최소의 비용으로 데이터베이스를 복제화/동기화할 수 있으므로 하드웨어 리소스가 제한되는 일반 PC에서도 데이터베이스 작업을 할 수 있어 PC 자원의 활용도를 극대화할 수 있으며, 복제환된 데이터베이스를 대상으로 여러 사용자가 작업한 후에 원본 데이터베이스로 동기화할 수 있고, 시설물관리, 설계, 공사 기타 시설물관리를 필요로 하는 업무를 복수 사용자가 동시에 작업할 수 있으므로 업무의 시간과 노력을 단축할 수 있는 효과가 있다.

Claims (5)

  1. 컴퓨팅 시스템에서 서버에서 관리되는 대용량의 데이터베이스(이하, 원본 데이터베이스라 함)의 특정 부분을 복제하여 별도의 데이터베이스(이하, 복제 데이터베이스라 함)로 유지하는 방법에 있어서,
    복제화 대상 클래스를 결정하는 제 1 단계;
    복제대상 영역을 선택하는 제 2 단계;
    상기 결정된 복제화 대상 클래스를 대상으로 상기 복제대상 영역에 포함되는 객체들을 검색하여, 복제 대상 영역내 원본 객체들을 상기 복제 데이터베이스내의 복제 객체로 생성하는 제 3 단계;
    객체 식별자(OID) 필드를 유지할 수 있도록, 시설물 클래스를 구성하면서 상기 복제 데이터베이스를 생성하는 제 4 단계; 및
    상기 복제 데이터베이스내에서의 충돌 객체 발생시에, 객체 식별자(OID) 필드를 이용하여 상기 원본 데이터베이스와 상기 복제 데이터베이스를 일치시키는 제 5 단계
    를 포함하여 이루어진 객체 식별자를 이용한 데이터베이스 복제화 및 동기화 방법.
  2. 제 1 항에 있어서,
    상기 복제 데이터베이스는,
    동기화 작업시 동기화 대상 객체를 추출하기 위하여, 상기 복제 객체의 변경시 세팅되는 필드를 구비하는 것을 특징으로 하는 객체 식별자를 이용한 데이터베이스 복제화 및 동기화 방법.
  3. 제 1 항에 있어서,
    상기 충돌 객체는,
    실질적으로, 상기 복제 데이터베이스내에서 변경 작업(즉, 상기 원본 객체는 변경이 되지 않았으나 상기 복제 객체가 변경된 경우, 상기 복제 객체가 변경이 되지 않았으나 상기 원본 객체가 변경된 경우, 상기 원본 객체와 상기 복제 객체가 서로 모두 변경되는 경우)이 발생하여 변경된 객체나, 새로 입력된 객체를 포함하는 것을 특징으로 하는 객체 식별자를 이용한 데이터베이스 복제화 및 동기화 방법.
  4. 제 1 항 내지 제 3 항중 어느 한 항에 있어서,
    상기 제 5 단계는,
    상기 복제 데이터베이스내에 새로 입력된 객체를 검색하여 상기 원본 데이터베이스에 입력하는 제 6 단계;
    상기 복제 객체와 원본 객체의 상기 복제 객체의 변경시 세팅되는 필드를 동기화시키는 제 7 단계;
    상기 복제 객체중 세팅된 복제 객체들을 검색하는 제 8 단계; 및
    상기 원본 객체를 상기 복제 객체의 내용으로 변경하는 제 9 단계
    를 포함하여 이루어진 객체 식별자를 이용한 데이터베이스 복제화 및 동기화 방법.
  5. 프로세서를 구비한 컴퓨팅 시스템에,
    복제화 대상 클래스를 결정하는 제1 기능;
    복제대상 영역을 선택하는 제2 기능;
    상기 결정된 복제화 대상 클래스를 대상으로 상기 복제대상 영역에 포함되는 객체들을 검색하여, 복제 대상 영역내 원본 객체들을 상기 복제 데이터베이스내의 복제 객체로 생성하는 제3 기능;
    객체 식별자(OID) 필드를 유지할 수 있도록, 시설물 클래스를 구성하면서 상기 복제 데이터베이스를 생성하는 제4 기능; 및
    상기 복제 데이터베이스내에서의 충돌 객체 발생시에, 객체 식별자(OID) 필드를 이용하여 상기 원본 데이터베이스와 상기 복제 데이터베이스를 일치시키는 제5 기능
    을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR10-1999-0057615A 1999-12-14 1999-12-14 객체 식별자를 이용한 데이터베이스 복제화 및 동기화 방법 KR100501904B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-1999-0057615A KR100501904B1 (ko) 1999-12-14 1999-12-14 객체 식별자를 이용한 데이터베이스 복제화 및 동기화 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-1999-0057615A KR100501904B1 (ko) 1999-12-14 1999-12-14 객체 식별자를 이용한 데이터베이스 복제화 및 동기화 방법

Publications (2)

Publication Number Publication Date
KR20010056176A true KR20010056176A (ko) 2001-07-04
KR100501904B1 KR100501904B1 (ko) 2005-07-25

Family

ID=19625785

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-1999-0057615A KR100501904B1 (ko) 1999-12-14 1999-12-14 객체 식별자를 이용한 데이터베이스 복제화 및 동기화 방법

Country Status (1)

Country Link
KR (1) KR100501904B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015050361A1 (ko) * 2013-10-01 2015-04-09 주식회사 파수닷컴 데이터 컬럼 암호화 장치 및 방법

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04165437A (ja) * 1990-10-29 1992-06-11 Nec Corp データベース同期方式
JPH1031608A (ja) * 1996-07-17 1998-02-03 Fuji Facom Corp プロセスデータバックアップ方法
KR19990078538A (ko) * 1998-12-26 1999-11-05 김형순 데이터베이스의동기화를위한데이터큐및그운용방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015050361A1 (ko) * 2013-10-01 2015-04-09 주식회사 파수닷컴 데이터 컬럼 암호화 장치 및 방법
US9892277B2 (en) 2013-10-01 2018-02-13 Fasoo.Com Co., Ltd. Device and method for encoding data column

Also Published As

Publication number Publication date
KR100501904B1 (ko) 2005-07-25

Similar Documents

Publication Publication Date Title
CN110032604B (zh) 数据存储装置、转译装置及数据库访问方法
US5315709A (en) Method and apparatus for transforming objects in data models
Bertino et al. Query processing in a multimedia document system
US8386646B2 (en) Simplified application object data synchronization for optimized data storage
US6965899B1 (en) Online reorganization and redefinition of relational database tables
CN103168300B (zh) 具有外连接的立即实体化视图的增量维护
US20130110873A1 (en) Method and system for data storage and management
US8285677B2 (en) Method and apparatus for propagating tables while preserving cyclic foreign key relationships
Yang et al. A framework for designing materialized views in data warehousing environment
US7283999B1 (en) Similarity string filtering
Yu et al. Query processing in a fragmented relational distributed system: Mermaid
GB2330221A (en) Optimisation of relational database queries
JP2001076005A (ja) データベースシステム
KR101862779B1 (ko) 컬럼 수준 비정규화를 이용한 데이터 마이그레이션 장치 및 방법
GB2334601A (en) Database data model extension
US20080201290A1 (en) Computer-implemented methods, systems, and computer program products for enhanced batch mode processing of a relational database
WO2023066086A1 (zh) 数据处理方法、分布式数据库系统、电子设备及存储介质
US9047354B2 (en) Statement categorization and normalization
JP2001306372A (ja) 文書管理方法およびその方法を実施するためのプログラムを記憶した記憶媒体
KR100501904B1 (ko) 객체 식별자를 이용한 데이터베이스 복제화 및 동기화 방법
Yen et al. An efficient data mining technique for discovering interesting association rules
US7617236B2 (en) Method and system for displaying results of a dynamic search
CN112148739A (zh) 独立于加密数据库的密文索引方法及系统
Fodor et al. Implementation of fragmentation and replication methods in distributed systems
Ra Relational schema evolution for program independency

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120702

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20130701

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee