KR100926880B1 - Dbms에서의 데이터 복제 방법 및 시스템 - Google Patents

Dbms에서의 데이터 복제 방법 및 시스템 Download PDF

Info

Publication number
KR100926880B1
KR100926880B1 KR1020070049289A KR20070049289A KR100926880B1 KR 100926880 B1 KR100926880 B1 KR 100926880B1 KR 1020070049289 A KR1020070049289 A KR 1020070049289A KR 20070049289 A KR20070049289 A KR 20070049289A KR 100926880 B1 KR100926880 B1 KR 100926880B1
Authority
KR
South Korea
Prior art keywords
replication
log
database
host
master
Prior art date
Application number
KR1020070049289A
Other languages
English (en)
Other versions
KR20080102622A (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 KR1020070049289A priority Critical patent/KR100926880B1/ko
Priority to JP2010508289A priority patent/JP5178822B2/ja
Priority to US12/600,205 priority patent/US8874512B2/en
Priority to PCT/KR2008/002421 priority patent/WO2008143408A1/en
Priority to EP08753225A priority patent/EP2150910A4/en
Priority to CN2008800157778A priority patent/CN101681383B/zh
Publication of KR20080102622A publication Critical patent/KR20080102622A/ko
Application granted granted Critical
Publication of KR100926880B1 publication Critical patent/KR100926880B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/40Data acquisition and logging
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions

Abstract

본 발명은 DBMS(DataBase Management System)에서의 데이터 복제 방법 및 시스템에 관한 것이다. 본 발명에 따른 DBMS에서의 데이터 복제 방법은, 마스터 호스트에서 마스터 데이터베이스의 트랜잭션 로그를 통해 복제 로그를 생성하여 배포 시스템(distributor)으로 전송하는 단계, 상기 배포 시스템에서 상기 복제 로그를 배포할 슬레이브 호스트를 판단하여 해당하는 슬레이브 호스트로 상기 복제 로그를 배포하는 단계 및 상기 슬레이브 호스트에서 상기 복제 로그를 수신하여 슬레이브 데이터베이스에 반영하는 단계를 포함한다. 이때, 상기 복제 로그는 상기 마스터 데이터베이스의 변경사항을 포함할 수 있고, 마스터 호스트에서 마스터 데이터베이스의 트랜잭션 로그를 통해 복제 로그를 생성하여 배포 시스템으로 전송하는 상기 단계는, 상기 마스터 호스트가 포함하는 복제 서버(replication server)에서 상기 트랜잭션 로그를 분석하여 상기 변경사항으로 구성된 상기 복제 로그를 생성하는 단계 및 상기 복제 서버에서 상기 복제 로그를 상기 배포 시스템이 포함하는 복제 에이전트(replication agent)로 전송하는 단계를 포함할 수 있다.
DBMS(DataBase Management System), 데이터 복제(replication), 스키마(schema), 트랜잭션, 부하분산, 가용성

Description

DBMS에서의 데이터 복제 방법 및 시스템{DATA REPLICATION METHOD AND SYSTME FOR DATABASE MANAGEMENT SYSTEM}
도 1은 종래기술에 있어서, 부하 분산용 복제 시스템의 구조를 설명하기 위한 일례이다.
도 2는 본 발명에 따른 데이터 복제 시스템의 개괄적인 모습을 설명하기 위한 도면이다.
도 3은 본 발명의 일실시예에 있어서, DBMS에서의 데이터 복제 방법을 도시한 흐름도이다.
도 4는 본 발명의 일실시예에 있어서, 마스터 호스트에서 복제 로그를 생성하여 배포 시스템으로 전송하는 방법을 설명하기 위한 흐름도이다.
도 5는 본 발명에 따른 트랜잭션 로그 및 복제 로그를 설명하기 위한 일례이다.
도 6은 본 발명의 일실시예에 있어서, 배포 시스템에서 복제 로그를 배포하는 방법을 설명하기 위한 흐름도이다.
도 7은 본 발명에 따른 데이터베이스 객체별 복제 방법을 설명하기 위한 일례이다.
도 8은 본 발명의 다른 실시예에 있어서, 데이터 복제 시스템의 내부 구성을 설명하기 위한 블록도이다.
도 9는 본 발명에 따른 복제 서버 및 복제 에이전트의 구조를 설명하기 위한 일례이다.
도 10은 본 발명에 따른 복제 서버 및 복제 에이전트의 구조를 설명하기 위한 다른 예이다.
<도면의 주요 부분에 대한 부호의 설명>
800: 데이터 복제 시스템
810: 마스터 호스트
811: 마스터 데이터베이스
812: 복제 서버
820: 배포 시스템
821: 배포 데이터베이스
822: 복제 에이전트
830: 슬레이브 호스트
831: 슬레이브 데이터베이스
본 발명은 DBMS(DataBase Management System)에서의 데이터 복제 방법 및 시스템에 관한 것이다.
데이터베이스 복제는 하나의 데이터베이스에 저장된 객체를 물리적으로 분리된 다른 데이터베이스에 복사하여 두 개 이상의 데이터베이스 서버에서 사용될 수 있도록 하는 분산 데이터베이스 기술 중의 하나이다. 이러한 복제 기술은 같은 객체를 이용하는 응용 프로그램의 접근을 여러 데이터베이스 서버에 분산시킴으로써 성능을 높이거나 복제된 데이터베이스 서버를 다른 용도로 사용할 수 있도록 하여 서로 다른 운영 요구사항을 만족시킬 수 있다. 또한 운영 중인 데이터베이스 서버에 장애가 발생했을 경우 복제 데이터베이스 서버로 신속하게 대체함으로써 장애 발생시 긴급하게 대처할 수도 있는 등 그 효용성이 매우 크다고 할 수 있다.
위에서 설명한 복제 기술은 하나의 데이터베이스 서버만으로는 응용 프로그램의 성능 요구 사항을 만족하기 힘들 때 활용할 수 있다. 예를 들면 읽기 연산을 동일한 데이터를 가지는 여러 데이터베이스 서버에 분산시킴으로써 전체 시스템의 성능을 향상시킬 수 있다.
도 1은 종래기술에 있어서, 부하 분산용 복제 시스템의 구조를 설명하기 위한 일례이다. 일반적인 데이터 복제의 경우, 마스터 데이터베이스는 읽기/쓰기 연산을 모두 허용하나, 슬레이브 데이터베이스는 읽기 연산만 허용하기 때문에, 데이터 복제를 이용한 성능 향상 효과는 쓰기 연산은 제한적이고 읽기 연산이 많은 응용에서 탁월하다고 할 수 있다. 따라서, 인터넷 서비스 등에 사용되고 있는 블로그, 게시판, 뉴스 등 많은 응용이 이러한 범주에 든다고 할 수 있다. 즉, 웹서비스(101)에서 데이터는 쓰기 연산을 통해 마스터 데이터베이스(102)에 저장되고, 마스터 데이터베이스(102)의 변경사항은 슬레이브 데이터베이스(103 내지 105)에 복 제 기술을 통해 반영된다. 또한, 데이터는 읽기 연산을 통해 제공되는데 이때, 쓰기 연산 보다는 읽기 연산의 발생 빈도가 매우 높은 웹서비스(101)의 특성상 데이터는 슬레이브 데이터베이스(103 내지 105)를 통해 제공될 수 있다.
이와 같이 복제 기술을 이용하면, 데이터베이스에 가중되는 부하를 분산시킬 수 있고, 뿐만 아니라, 마스터 데이터베이스를 포함하는 마스터 호스트에 장애가 발생하는 경우에도 슬레이브 호스트 중 하나를 마스터 호스트로서 교체함으로써 장애에 효과적으로 대응할 수 있다.
그러나, 종래기술의 복제 기술은 스키마의 변경이 슬레이브 데이터베이스에 복제되지 않고, 슬레이브 데이터베이스를 통한 변경 내역 자동 추출이 불가능하며, 마스터 호스트 대 슬레이브 호스트의 N 대 M 비율과 같이 사용자가 원하는 구조로 복제 환경을 구성할 수 없는 문제점이 있다. 또한, 데이터베이스 단위로만 복제 대상을 지정할 수 있는 문제점이 있고, 복제 지연 시간을 측정할 수 없을 뿐만 아니라 원본과 복제본 간 데이터 동기화 상태를 확인할 수 없는 문제점이 있다. 뿐만 아니라, 복제 진행 상황을 점검하여 마스터 트랜잭션 보관 로그를 안전하게 삭제할 수도 없는 문제점이 있다.
본 발명은 상기와 같은 종래기술의 문제점을 해결하기 위해, DBMS(DataBase Management System)에서의 데이터 복제 방법 및 시스템에 관한 새로운 기술을 제안한다.
본 발명은 마스터 데이터베이스, 슬레이브 데이터베이스 및 분배 시스템을 통해 데이터베이스에 가중되는 부하를 분산시킬 수 있고, 마스터 데이터베이스를 포함하는 마스터 호스트에 장애가 발생하는 경우에도 슬레이브 호스트 중 하나를 마스터 호스트로서 교체함으로써 장애에 효과적으로 대응할 수 있으며, 동시에 갱신된 데이터에 대한 주기적 수집이 필요한 경우를 대비하여 슬레이브 데이터베이스에 대한 변경 내용만을 빠르게 수집할 수 있는 데이터 복제 방법 및 시스템을 제공한다.
본 발명은 마스터 호스트의 마스터 데이터베이스에서 스키마가 변경되는 경우, 상기 변경이 슬레이브 호스트의 슬레이브 데이터베이스에 복제될 수 있고, 마스터 호스트 대 슬레이브 호스트의 N 대 M 비율과 같이 사용자가 원하는 구조로 복제 환경을 구성하는 것이 가능한 데이터 복제 방법 및 시스템을 제공한다.
상기의 목적을 달성하고, 상술한 종래기술의 문제점을 해결하기 위하여, 본 발명의 일실시예에 따른 DBMS(DataBase Management System)에서의 데이터 복제 방법은, 마스터 호스트에서 마스터 데이터베이스의 트랜잭션 로그를 통해 복제 로그를 생성하여 배포 시스템(distributor)으로 전송하는 단계, 상기 배포 시스템에서 상기 복제 로그를 배포할 슬레이브 호스트를 판단하여 해당하는 슬레이브 호스트로 상기 복제 로그를 배포하는 단계 및 상기 슬레이브 호스트에서 상기 복제 로그를 수신하여 슬레이브 데이터베이스에 반영하는 단계를 포함한다.
본 발명의 일측에 따르면, 상기 복제 로그는 상기 마스터 데이터베이스의 변경사항을 포함할 수 있고, 마스터 호스트에서 마스터 데이터베이스의 트랜잭션 로 그를 통해 복제 로그를 생성하여 배포 시스템으로 전송하는 상기 단계는, 상기 마스터 호스트가 포함하는 복제 서버(replication server)에서 상기 트랜잭션 로그를 분석하여 상기 변경사항으로 구성된 상기 복제 로그를 생성하는 단계 및 상기 복제 서버에서 상기 복제 로그를 상기 배포 시스템이 포함하는 복제 에이전트(replication agent)로 전송하는 단계를 포함할 수 있다. 이때, 상기 복제 서버는 하나 이상의 복제 에이전트로부터 수신되는 상기 트랜잭션 로그에 대한 전달 요청을 처리하는 프로세스로서 상기 전달 요청을 처리하는 제1 스레드(thread) 및 트랜잭션 로그를 상기 마스터 데이터베이스를 통해 확인하는 제2 스레드를 포함할 수 있다.
본 발명의 다른 측면에 따르면, 상기 배포 시스템은 배포 데이터베이스 및 복제 에이전트를 포함할 수 있고, 상기 배포 시스템에서 상기 복제 로그를 복제할 슬레이브 호스트를 판단하여 해당하는 슬레이브 호스트로 상기 복제 로그를 배포하는 상기 단계는, 상기 복제 에이전트에서 상기 복제 로그를 수신하여 임시 저장하는 단계, 상기 복제 에이전트에서 상기 배포 데이터베이스를 이용하여 상기 복제 로그를 배포할 슬레이브 호스트를 확인하는 단계 및 상기 복제 에이전트에서 상기 복제 로그를 해당하는 슬레이브 호스트로 전송하는 단계를 포함할 수 있다. 이때, 상기 배포 데이터베이스는 마스터 호스트 및 슬레이브 호스트의 배치 정보를 포함할 수 있다.
본 발명의 또 다른 측면에 따르면, 상기 데이터 복제 방법은, 상기 마스터 데이터베이스의 스키마에 대한 변경사항을 상기 배포 시스템을 통해 상기 슬레이브 데이터베이스에 반영하는 단계 및 상기 마스터 데이터베이스의 인덱스, 트리거 또는 사용자 계정 중 적어도 하나에 대한 변경사항을 상기 배포 시스템이 포함하는 배포 데이터베이스에 반영하는 단계를 더 포함할 수 있고, 상기 배포 시스템은 상기 마스터 호스트에 장애 발생 시 다른 마스터 호스트로서 동작하는 슬레이브 호스트에 상기 인덱스, 상기 트리거 또는 상기 사용자 계정 중 적어도 하나를 반영시킬 수 있다.
본 발명의 다른 실시예에 있어서, DBMS에서의 데이터 복제 시스템은, 마스터 데이터베이스의 트랜잭션 로그를 통해 복제 로그를 생성하여 배포 시스템으로 전송하는 마스터 호스트, 상기 복제 로그를 배포할 슬레이브 호스트를 판단하여 해당하는 슬레이브 호스트로 상기 복제 로그를 배포하는 배포 시스템 및 상기 복제 로그를 수신하여 슬레이브 데이터베이스에 반영하는 슬레이브 호스트를 포함한다. 여기서, 상기 복제 로그는 상기 마스터 데이터베이스의 변경사항을 포함할 수 있고, 상기 마스터 호스트는, 복제 대상이 되는 원본 데이터베이스인 마스터 데이터베이스 및 상기 마스터 데이터베이스의 상기 트랜잭션 로그를 분석하여 상기 변경사항으로 구성된 상기 복제 로그를 생성하고, 상기 배포 시스템으로 전송하는 복제 서버(replication server)를 포함할 수 있다.
이하 첨부된 도면을 참조하여 본 발명에 따른 다양한 실시예를 상세히 설명하기로 한다.
도 2는 본 발명에 따른 데이터 복제 시스템의 개괄적인 모습을 설명하기 위한 도면이다.
여기서, 데이터 복제 시스템(200)은 크게 마스터 호스트(201), 배포 시스템(202) 및 슬레이브 호스트(203)로 구성된다. 이때, 마스터 호스트(201), 배포 시스템(202) 및 슬레이브 호스트(203)는 마스터 호스트(201)와 슬레이브 호스트(203)의 비율이 N 대 M과 같이 사용자가 원하는 구조로 구성되는 것이 가능하도록 각각 복수의 호스트로 구성될 수 있지만, 도 2에서는 데이터 복제 시스템(200)의 개괄적인 모습을 설명하기 위해 우선 각각 하나의 호스트로 구성된 형태를 설명한다.
마스터 호스트(201)가 포함하는 마스터 데이터베이스(204)는 복제 대상이 되는 원본 데이터베이스로서 읽기, 쓰기 등의 모든 연산이 허용될 수 있다. 반면, 슬레이브 호스트(203)가 포함하는 슬레이브 데이터베이스는 상기 원본 데이터베이스가 복제되는 데이터베이스로서 읽기 연산만이 허용될 수 있다. 이는 쓰기 연산 즉, 데이터의 업로드보다 읽기 연산 즉, 데이터의 다운로드가 더욱 빈번히 발생하는 특성의 웹서비스 등에서 상기 읽기 연산에 대한 부하를 분산시키기 위함으로 복수의 슬레이브 데이터베이스에서 상기 읽기 연산을 분산하여 수행할 수 있다.
우선, 복제가 설정되면, 마스터 호스트(201)가 포함하는 복제 서버(206)는 마스터 데이터베이스(204)의 트랜잭션 로그(207)를 읽어 상기 복제와 관련된 정보만으로 구성된 복제 로그(208)를 생성하고, 이를 배포 시스템(202)이 포함하는 복제 에이전트(209)로 전송한다. 이때, 배포 시스템(202)은 마스터 호스트(201) 또는 슬레이브 호스트(203) 내에 설정될 수도 있고, 가용성을 최대한 확보하기 위해 별도의 호스트에 설정될 수도 있다.
복제 에이전트(209)는 배포 시스템(202)이 포함하는 배포 데이터베이스(210)를 읽어 들여, 마스터 호스트(201) 보다 자세히는 복제 서버(206)로부터 수신한 복제 로그(208)를 어느 슬레이브 호스트(203)에 어떻게 복제할 것인지를 판단한다. 이때, 배포 데이터베이스(210)는 복제 구성에 관한 모든 메타데이터를 관리하는 데이터베이스로서 복제 에이전트(209)로 하여금 마스터 호스트(201)와 슬레이브 호스트(203)의 배치 정보를 포함한다.
즉, 복제 에이전트(209)는 복제 서버(206)로부터 수신한 복제 로그(208)를 우선 버퍼와 같은 저장장치에 임시 저장하고, 배포 데이터베이스(210)에 지정된 슬레이브 호스트(203)가 포함하는 슬레이브 데이터베이스(205)에 복제 로그(208)를 배포함으로써, 슬레이브 데이터베이스(205)에 복제 로그(208) 즉, 마스터 데이터베이스(204)의 변경사항이 반영되도록 할 수 있다. 이 과정에서 복제 에이전트(209)는 각 슬레이브 데이터베이스에 반영한 상태를 추적하기 위하여 추적 로그(211)를 관리하고, 복제 로그(208)의 배포 중 발생한 모든 오류를 오류 로그(212)에 저장한다.
이와 같이 데이터 복제 시스템(200)은 마스터 데이터베이스(204)의 변경사항을 각각의 슬레이브 데이터베이스(205)에 복제할 수 있다. 이러한 상기 복제에 대해서는 도 3 내지 도 10을 통해 더욱 자세히 설명한다.
도 3은 본 발명의 일실시예에 있어서, DBMS에서의 데이터 복제 방법을 도시한 흐름도이다.
단계(S301)에서 마스터 호스트는 마스터 데이터베이스의 트랜잭션 로그를 통 해 복제 로그를 생성하여 배포 시스템으로 전송한다. 이때, 상기 복제 로그는 상기 마스터 데이터베이스의 변경사항을 포함할 수 있고, 상기 마스터 호스트는 상기 마스터 호스트가 포함하는 복제 서버를 통해 상기 변경사항인 상기 복제 로그를 상기 배포 시스템으로 전송할 수 있다. 또한, 상기 마스터 데이터베이스는 복제의 대상이 되는 원본 데이터베이스로서 모든 데이터베이스 연산이 허용될 수 있다.
이와 같이 상기 복제 로그를 상기 배포 시스템으로 전송하는 단계(S301)에 대해서는 도 4를 통해 더욱 자세히 설명한다.
데이터를 복제하는 기법으로는 (1) 상기 마스터 데이터베이스의 데이터를 갱신하는 작업과 (2) 슬레이브 데이터베이스의 데이터를 동일하게 갱신하는 작업이 하나의 트랜잭션으로 처리되어 데이터의 일관성을 보장하는 동기식 복제(synchronous replication)와 상기 (1) 및 상기 (2)의 작업을 서로 분리하여 수행하는 비동기식 복제(asynchronous replication)가 있다.
이때, 상기 동기식 복제는 하나의 시스템에 발생하는 장애가 전체 시스템의 장애로 확대되어 가용성 측면에서 그 유용성이 떨어질 우려가 있다. 예를 들어, 슬레이브 시스템의 장애로 인해 마스터 시스템까지 서비스 운영이 중단될 가능성이 발생한다. 반면, 비동기식 복제의 경우, 상기 마스터 데이터베이스의 트랜잭션 로그를 활용하여 비동기식으로 상기 슬레이브 데이터베이스에 변경사항을 반영함으로써 복제로 구성된 서버간의 종속성을 최소화하여 슬레이브 시스템에 장애가 발생하더라도 마스터 시스템에는 영향을 주지 않는다.
즉, 본 발명에 따른 데이터 복제 방법 및 시스템에서는 트랜잭션 로그를 이 용한 비동기식 복제 방법을 통해 복제 기능을 제공함으로써 일관성 보장은 물론 최대한의 가용성을 확보할 수 있고, 이를 위해 상기 마스터 호스트와 상기 슬레이브 호스트간에 중계 시스템으로써 상기 배포 시스템을 이용할 수 있다.
또한, 이러한 비동기식 복제를 위한 상기 트랜잭션 로그는 상기 마스터 데이터베이스에 발생한 모든 변경사항으로서 적어도 하나의 트랜잭션으로 구성되어 갱신 작업을 철회하기 위해 이전의 데이터 이미지를 보관하는 언두(undo) 로그 및 갱신 작업을 다시 수행하기 위해 갱신 이후의 데이터 이미지를 보관하는 리두(redo) 로그를 포함할 수 있고, 상기 복제 로그는 상기 리두 로그만을 포함할 수 있다. 보다 자세하게 상기 복제 로그는 상기 복수의 트랜잭션을 순서대로 처리하기 위해 상기 리두 로그로 분류되는 하나의 트랜잭션을 포함할 수 있다. 이러한 상기 트랜잭션 로그 및 상기 복제 로그에 대해서는 도 5를 통해 더욱 자세히 설명한다.
단계(S302)에서 상기 배포 시스템은 상기 복제 로그를 배포할 슬레이브 호스트를 판단하여 해당하는 슬레이브 호스트로 상기 복제 로그를 배포한다. 이때, 상기 배포 시스템은 상기 복제 로그를 배포할 슬레이브 호스트를 판단하기 위해 배포 데이터베이스 및 복제 에이전트를 포함할 수 있고, 이를 통해 위에서 설명한 비동기식 복제에 대한 일관성 및 가용성을 확보할 수 있다. 이와 같이 상기 배포 데이터베이스 및 상기 복제 에이전트를 통해 상기 복제 로그를 배포하는 단계(S302)에 대해서는 도 6을 통해 더욱 자세히 설명한다.
단계(S303)에서 상기 슬레이브 호스트는 상기 복제 로그를 수신하여 슬레이브 데이터베이스에 반영한다. 이때, 상기 슬레이브 데이터베이스는 상기 복제의 목적지가 되는 데이터베이스로서 상기 마스터 데이터베이스의 변경사항을 반영할 수 있다. 이와 같이 상기 마스터 데이터베이스와 상기 슬레이브 데이터베이스는 서로 동기화되고, 상기 마스터 데이터베이스를 통해 데이터의 업로드를, 상기 슬레이브 데이터베이스를 통해 다운로드를 분산하여 수행할 수 있어 읽기 연산에 대한 부하를 줄일 수 있다.
단계(S304)에서 데이터 복제 시스템은 상기 마스터 데이터베이스의 스키마에 대한 변경사항을 상기 배포 시스템을 통해 상기 슬레이브 데이터베이스에 반영한다. 상기 슬레이브 데이터베이스는 유연성을 위해 상기 마스터 데이터베이스와 독립적으로 스키마를 정의할 수 있다. 즉, 마스터 데이터베이스로부터 복제 받은 클래스 이외에 별도의 클래스, 인덱스, 트리거 또는 사용자 계정 중 적어도 하나를 생성할 수 있으며, 추가로 생성된 클래스에 대해서는 쓰기 연산도 가능하다. 예를 들어, 상기 마스터 데이터베이스로부터 클래스 1 및 클래스 2를 복제 받으면서 슬레이브 데이터베이스 독자적으로 클래스 3 및 클래스 4를 정의하여 운영할 수 있다.
단계(S305)에서 상기 데이터 복제 시스템은 상기 마스터 데이터베이스의 인덱스, 트리거 또는 사용자 계정 중 적어도 하나에 대한 변경사항을 상기 배포 시스템이 포함하는 배포 데이터베이스에 반영한다. 이때, 상기 배포 시스템은 상기 마스터 호스트에 장애 발생 시 다른 마스터 호스트로서 동작하는 슬레이브 호스트에 상기 인덱스, 상기 트리거 또는 상기 사용자 계정 중 적어도 하나를 반영시킬 수 있다. 이와 같이 상기 스키마, 상기 인덱스, 상기 트리거 또는 상기 사용자 계정 에 대한 상기 슬레이브 데이터베이스로의 반영에 대해서는 도 7을 통해 더욱 자세히 설명한다.
이러한, 상기 마스터 호스트 및 상기 슬레이브 호스트는 사용자의 요구에 따라 N 대 M의 비율로 구성될 수 있고, 상기 마스터 호스트 및 상기 슬레이브 호스트간에 하나 이상의 상기 배포 시스템을 통해 비동기식 복제가 수행될 수 있다. 이러한 상기 마스터 호스트 및 상기 슬레이브 호스트의 구성에 대해서는 도 9 및 도 10을 통해 더욱 자세히 설명한다.
도 4는 본 발명의 일실시예에 있어서, 마스터 호스트에서 복제 로그를 생성하여 배포 시스템으로 전송하는 방법을 설명하기 위한 흐름도이다. 도 4에 도시된 바와 같이 단계(S401) 및 단계(S402)는 도 3을 통해 설명한 단계(S301)에 포함되어 수행될 수 있다.
단계(S401)에서 마스터 호스트가 포함하는 복제 서버는 상기 트랜잭션 로그를 분석하여 상기 변경사항으로 구성된 상기 복제 로그를 생성한다. 이때, 상기 복제 서버는 하나 이상의 복제 에이전트로부터 수신되는 상기 트랜잭션 로그에 대한 전달 요청을 처리하는 프로세스로서 상기 전달 요청을 처리하는 제1 스레드(thread) 및 트랜잭션 로그를 상기 마스터 데이터베이스를 통해 확인하는 제2 스레드를 포함할 수 있다.
또한, 상기 복제 서버는 상기 트랜잭션 단위로 복수의 복제 로그가 발생하는 경우, 복수의 버퍼를 이용하여 상기 복제 로그를 임시로 저장하여 해당하는 배포 시스템의 복제 에이전트로 전송할 수 있다. 즉, 상기 복제 로그는 상기 트랜잭션 단위 즉, 하나의 트랜잭션을 포함할 수 있고, 상기 복제 서버는 상기 복수의 트랜잭션에 대한 순서를 유지하여 복제를 진행하기 위해 상기 복수의 버퍼를 이용하여 이러한 상기 트랜잭션에 대해서는 도 5를 통해 더욱 자세히 설명한다.
여기서, 상기 복제 에이전트는 배포 시스템에 포함되어 실제로 복제를 수행하는 프로세스로서 상기 복제 서버는 상기 마스터 호스트의 마스터 데이터베이스의 상기 트랜잭션 로그에 대한 전달 요청에 따라 상기 트랜잭션 로그를 확인하여 상기 복제 로그를 생성할 수 있다.
단계(S402)에서 상기 복제 서버는 상기 복제 로그를 상기 배포 시스템이 포함하는 상기 복제 에이전트로 전송한다. 이러한 상기 복제 로그는 상기 마스터 데이터베이스의 변경사항을 포함하고, 상기 복제 서버는 상기 복제 로그를 상기 복제 에이전트로 전송함으로써 상기 복제 에이전트가 상기 마스터 데이터베이스와 슬레이브 데이터베이스간의 데이터의 복제를 수행할 수 있도록 할 수 있다.
도 5는 본 발명에 따른 트랜잭션 로그 및 복제 로그를 설명하기 위한 일례이다.
트랜잭션 로그는 데이터베이스 서버의 모든 변경사항 즉, 갱신 작업을 기록하는 파일이다. 상기 마스터 호스트는 동시에 여러 트랜잭션을 처리하면서 장애를 대비하여 언두 및 리두 로그를 작성할 수 있다. 이때, 위에서 설명한 바와 같이 상기 언두 로그는 갱신 작업을 철회하기 위해 이전의 데이터 이미지를 보관하는 로그이고, 리두 로그는 상기 갱신 적업을 다시 수행하기 위한 갱신 이후의 데이터 이미지를 보관하는 로그이다. 마스터 데이터베이스에서는 동시에 다수의 트랜잭션이 활동 상태에 있다. 예를 들어, 도 5에 도시된 바와 같이 트랜잭션 'T1' 내지 'T3'에 대해 아래 도면부호(501) 내지 도면부호(509)와 같은 갱신 작업이 발생될 수 있다. 여기서, 데이터 복제 시스템은 상기 갱신 작업을 기록한 트랜잭션 로그를 읽어 상기 리두 로그만을 추출하고, 상기 트랜잭션의 커밋(commit) 순서에 따라 동일한 순서로 슬레이브 데이터베이스에 반영할 수 있다.
여기서 커밋(commit)이란, 분산 트랜잭션 처리(DTP)에서 하나의 트랜잭션에 포함되는 조작이 모두 실행되고 그에 따른 데이터베이스의 갱신 내용이 작업 영역 예를 들어, 기억 장치에 기록되어 트랜잭션의 적용이 완료되었다고 판단되는 시점에서 그 종료를 요구하는 동작을 의미할 수 있다. 또한, 상기 시점을 커밋 시점이라고 한다. 상기 커밋이 실행되면 갱신 데이터가 실제로 자기 디스크와 같은 기억 장치에 기록되고, 관련된 잠금이 해제되어 갱신된 내용이 다른 트랜잭션으로부터 접근할 수 있다.
이때, 철회(abort)된 트랜잭션은 상기 슬레이브 데이터베이스에 반영되지 않는다. 즉, 위의 예에서 상기 트랜잭션 'T1' 및 'T3'만이 상기 슬레이브 데이터베이스에 반영되고, 도면부호(508)에서와 같이 철회된 트랜잭션인 상기 트랜잭션 'T2'는 상기 슬레이브 데이터베이스에 반영되지 않는다.
실제 위와 같은 상황은 동시에 여러 클라이언트가 트랜잭션을 요청하여 마스터 호스트에서 처리하였으나, 상기 트랜잭션의 순서를 보장하기 위해 상기 슬레이브 데이터베이스에 적용하는 작업은 한 슬레이브 데이터베이스 당 하나의 스레드가 순차적으로 반영한다. 이때, 상기 마스터 호스트에 포함된 복제 서버 및 배포 시 스템에 포함된 복제 에이전트는 복수의 트랜잭션에 대해 버퍼를 통해 상기 트랜잭션을 임시 저장하고, 상기 트랜잭션의 순서를 유지하면서 복제를 수행할 수 있다.
도 6은 본 발명의 일실시예에 있어서, 배포 시스템에서 복제 로그를 배포하는 방법을 설명하기 위한 흐름도이다. 여기서, 도 6에 도시된 바와 같이 단계(S601) 내지 단계(S605)는 도 3에서 설명한 단계(S302)에 포함되어 수행될 수 있다. 이때, 상기 배포 시스템은 배포 데이터베이스 및 복제 에이전트를 포함할 수 있다.
단계(S601)에서 상기 복제 에이전트는 상기 복제 로그를 수신하여 임시 저장한다. 이때, 위에서 설명한 바와 같이 상기 복제 에이전트는 상기 복제 로그가 복수 개 수신되는 경우 상기 복제 로그를 각각 버퍼에 저장한 후, 해당하는 슬레이브 호스트로 배포할 수 있다.
단계(S602)에서 상기 복제 에이전트는 상기 배포 데이터베이스를 이용하여 상기 복제 로그를 배포할 슬레이브 호스트를 확인한다. 이때, 상기 배포 데이터베이스는 마스터 호스트 및 슬레이브 호스트의 배치 정보를 포함할 수 있다.
단계(S603)에서 상기 복제 에이전트는 상기 복제 에이전트에서 상기 복제 로그를 해당하는 슬레이브 호스트로 전송한다. 즉, 상기 복제 에이전트는 상기 복제 로그를 임시로 버퍼에 임시로 저장한 후 상기 배포 데이터베이스를 통해 상기 복제 로그를 전송할 슬레이브 호스트의 슬레이브 데이터베이스를 확인한 후, 상기 슬레이브 호스트로 상기 복제 로그를 전송할 수 있다.
단계(S604)에서 상기 복제 에이전트는 상기 복제 로그에 대한 추적 로그를 생성한다. 이때, 상기 추적 로그는 각 슬레이브 호스트가 포함하는 슬레이브 데이터베이스 별로 최종 적용된 상기 복제 로그에 대한 로그순차번호를 포함할 수 있다.
단계(S605)에서 상기 복제 에이전트는 상기 복제 로그에 대한 오류 로그를 생성한다. 여기서, 상기 오류 로그는 상기 복제에이전트가 복제를 실행하면서 발생하는 모든 오류가 기록될 수 있다.
도 7은 본 발명에 따른 데이터베이스 객체별 복제 방법을 설명하기 위한 일례이다. 여기서, 도 7에 도시된 바와 같이 마스터 호스트(701)의 마스터 데이터베이스가 포함하는 인스턴스와 스키마 정보는 배포 시스템(702)을 통해 실시간으로 슬레이브 호스트(703)에 변경사항이 반영되고, 인덱스, 트리거 또는 사용자 계정의 경우에는 상기 슬레이브 데이터베이스의 독립성을 위해 배포 시스템(702)이 포함하는 배포 데이터베이스에만 변경사항이 기록되고 상기 슬레이브 데이터베이스에는 반영되지 않는 구조이다. 이때, 상기 인스턴스는 각각의 트랜잭션을 의미할 수 있다.
이와 같은 상기 구조에서는 상기 마스터 데이터베이스 시스템에 장애가 발생하여 상기 슬레이브 데이터베이스를 다른 마스터 데이터베이스로서 교체할 경우, 상기 배포 데이터베이스에 최종적으로 기록된 상기 인덱스, 상기 트리거 또는 상기 사용자 계정이 자동으로 상기 슬레이브 데이터베이스에 반영된다. 이때, 복제 대상 객체를 식별하기 위해 기본 키(primary key)를 사용하는 경우, 복제가 되는 데이터는 상기 마스터 데이터베이스가 포함하는 테이블 중 상기 기본 키가 설정된 테 이블만을 포함할 수 있다.
도 8은 본 발명의 다른 실시예에 있어서, 데이터 복제 시스템의 내부 구성을 설명하기 위한 블록도이다. 도 8에 도시된 바와 같이 데이터 복제 시스템(800)은 마스터 호스트(810), 배포 시스템(820) 및 슬레이브 호스트(830)를 포함할 수 있다.
마스터 호스트(810)는 마스터 데이터베이스(811) 및 복제 서버(812)를 포함할 수 있고, 마스터 데이터베이스(811)의 트랜잭션 로그를 통해 복제 로그를 생성하여 배포 시스템으로 전송할 수 있다. 이때, 마스터 데이터베이스(811)는 복제 대상이 되는 원본 데이터베이스일 수 있고, 복제 서버(812)는 마스터 데이터베이스(811)의 상기 트랜잭션 로그를 분석하여 상기 변경사항으로 구성된 상기 복제 로그를 생성하고 상기 복제 로그를 상기 배포 시스템으로 전송할 수 있다.
여기서, 상기 트랜잭션 로그는 복수의 트랜잭션이 기록된 로그 즉, 상기 마스터 데이터베이스에 발생한 모든 변경사항으로서 갱신 작업을 철회하기 위해 이전의 데이터 이미지를 보관하는 언두 로그 및 갱신 작업을 다시 수행하기 위해 갱신 이후의 데이터 이미지를 보관하는 리두 로그를 포함할 수 있고 이 경우, 상기 복제 로그는 상기 리두 로그를 포함할 수 있다. 보다 자세하게 상기 복제 로그는 상기 복수의 트랜잭션을 순서대로 처리하기 위해 상기 리두 로그로 분류되는 하나의 트랜잭션을 포함할 수 있다.
또한, 복제 서버(812)는 하나 이상의 복제 에이전트로부터 수신되는 상기 트랜잭션 로그에 대한 전달 요청을 처리하는 프로세스일 수 있고, 상기 프로세스는 상기 전달 요청을 처리하는 제1 스레드 및 트랜잭션 로그를 상기 마스터 데이터베이스를 통해 확인하는 제2 스레드를 포함할 수 있다. 즉, 마스터 호스트(810)는 복제 서버(812)를 이용함으로써 마스터 데이터베이스(811)의 변경사항인 상기 트랜잭션 로그를 통해 상기 복제 로그를 생성하고, 배포 시스템(820)으로 전송할 수 있다.
뿐만 아니라, 마스터 호스트(810)는, 마스터 데이터베이스(811)의 스키마에 대한 변경사항을 배포 시스템(820)을 통해 슬레이브 호스트(830)가 포함하는 슬레이브 데이터베이스(831)에 반영하는 제1 변경사항 반영부(미도시) 및 마스터 데이터베이스(811)의 인덱스, 트리거 또는 사용자 계정 중 적어도 하나에 대한 변경사항을 상기 배포 시스템이 포함하는 배포 데이터베이스에 반영하는 제2 변경사항 반영부(미도시)를 더 포함할 수 있다.
배포 시스템(820)은 배포 데이터베이스(821) 및 복제 에이전트(822)를 포함할 수 있고, 상기 복제 로그를 배포할 슬레이브 호스트를 판단하여 해당하는 슬레이브 호스트(830)로 상기 복제 로그를 배포할 수 있다. 이때, 배포 데이터베이스(821)는 마스터 호스트(810) 및 슬레이브 호스트(830)의 배치 정보를 포함할 수 있고, 복제 에이전트(822)는 상기 복제 로그를 이용하여 데이터의 복제를 수행할 수 있다.
여기서, 복제 에이전트(822)는 상기 마스터 호스트로부터 수신된 상기 복제 로그를 수신하여 임시 저장하는 저장부(822a), 상기 배포 데이터베이스를 이용하여 상기 복제 로그를 배포할 슬레이브 호스트를 확인하는 슬레이브 호스트 확인 부(822b) 및 상기 복제 로그를 해당하는 슬레이브 호스트로 전송하는 전송부(822c)를 포함할 수 있고, 이를 통해 마스터 데이터베이스(811)의 변경사항을 슬레이브 호스트(830)에 반영시킬 수 있다.
또한, 복제 에이전트(822)는 상기 복제 로그에 대한 추적 로그 및 오류 로그를 생성할 수 있다. 이때, 상기 추적 로그는 각 슬레이브 호스트가 포함하는 슬레이브 데이터베이스 별로 최종 적용된 상기 복제 로그에 대한 로그순차번호를 포함할 수 있고, 상기 오류 로그는 상기 복제에이전트가 복제를 실행하면서 발생하는 모든 오류가 기록될 수 있다.
뿐만 아니라, 배포 시스템(820)은 마스터 호스트(810)에 장애 발생시 다른 마스터 호스트로서 동작하는 슬레이브 호스트(830)에 상기 인덱스, 상기 트리거 또는 상기 사용자 계정 중 적어도 하나를 반영시킬 수 있다.
슬레이브 호스트(830)는 슬레이브 데이터베이스(831)를 포함할 수 있고, 상기 복제 로그를 수신하여 슬레이브 데이터베이스(831)에 반영할 수 있다. 이때, 슬레이브 데이터베이스(831)는 복제의 목적지 즉, 마스터 데이터베이스(811)의 데이터가 복제되는 데이터베이스로서 마스터 데이터베이스(811)의 변경사항을 반영할 수 있다. 이를 통해 마스터 데이터베이스(811)와 슬레이브 데이터베이스(831)는 서로 동기화되고, 마스터 데이터베이스(811)를 통해 데이터의 업로드를, 슬레이브 데이터베이스(831)를 통해 다운로드를 분산하여 수행할 수 있어 읽기 연산에 대한 부하를 줄일 수 있다.
도 9는 본 발명에 따른 복제 서버 및 복제 에이전트의 구조를 설명하기 위한 일례이다. 즉, 도 9에서는 마스터 호스트와 슬레이브 호스트가 1 대 N의 비율로 연결된 구조를 통해 복제 서버 및 복제 에이전트의 구조를 설명한다.
마스터 호스트(910)는 복제 서버(911) 및 마스터 데이터베이스(912)를 포함할 수 있고, 복제 서버(911)는 마스터 데이터베이스(912)가 포함하는 트랜잭션 로그(913)를 통해 복제 로그를 생성하여 버퍼(914)에 저장하고, 배포 시스템(920)으로 전송할 수 있다.
즉, 복제 서버(911)는 하나 이상의 복제 에이전트로부터 수신되는 상기 트랜잭션 로그에 대한 전달 요청을 처리하는 프로세스로서, 상기 전달 요청을 처리하는 제1 스레드 및 트랜잭션 로그를 상기 마스터 데이터베이스를 통해 확인하는 제2 스레드를 포함할 수 있고, 상기 트랜잭션 로그를 통해 생성된 복제 로그를 저장하기 위한 버퍼(914)를 포함할 수 있다.
이때, 상기 복제 로그가 트랜잭션 로그(913)를 구성하는 복수의 트랜잭션 중 하나의 트랜잭션 의미하기 때문에 복제 서버(911)는 우선 상기 복제 로그를 버퍼(914)에 저장함으로써, 상기 복제 로그를 상기 트랜잭션의 순서에 맞게 배포 시스템(920)으로 전송할 수 있다.
배포 시스템(920)은 복제 에이전트(921) 및 배포 데이터베이스(922)를 포함할 수 있고, 복제 에이전트(921)는 복제 서버(911)로부터 수신한 복제 로그를 로컬 디스크(923)에 저장하기 전에 우선 버퍼(924)에 임시로 저장한다.
즉, 복제 에이전트(921)는 복제 서버(911)를 통해 전달받은 복제 로그 즉, 마스터 데이터베이스(912)의 트랜잭션을 로컬 디스크(923)에 저장하고, 이를 분석 하여 슬레이브 데이터베이스(931 내지 933)에 반영하는 프로세스로서 상기 복제 로그를 수신하여 버퍼(924)에 저장하는 제1 스레드, 버퍼(924)에 저장된 상기 복제 로그를 로컬 디스크(923)에 저장하는 제2 스레드 및 상기 복제 로그를 슬레이브 호스트로 전송함으로써 슬레이브 데이터베이스(931 내지 933)에 마스터 데이터베이스(912)의 변경사항을 반영하는 제3 스레드로 구성될 수 있다.
도 10은 본 발명에 따른 복제 서버 및 복제 에이전트의 구조를 설명하기 위한 다른 예이다. 즉, 도 10에서는 마스터 호스트와 슬레이브 호스트가 N 대 M의 비율로 연결된 구조 그 중에서 일례로 2 대 6의 비율로 연결된 구조를 통해 복제 서버 및 복제 에이전트의 구조를 설명한다.
마스터 호스트(1010 및 1020)의 각각이 포함하는 복제 서버(1011 및 1021)는 마스터 데이터베이스(1012 및 1022)의 변경사항인 복제 로그 즉, 각각의 트랜잭션을 버퍼(1013, 1023 및 1024)를 통해 순서대로 기선정된 배포 시스템(1030 및 1040)으로 전송할 수 있다.
배포 시스템(1030 및 1040)이 포함하는 복제 에이전트는 자신에게 수신된 상기 복제 로그를 수신하여 처리한다. 예를 들어, 배포 시스템(1030)이 포함하는 복제 에이전트(1031)는 복제 서버(1011)로부터 수신된 복제 로그를 버퍼(1032)에 임시로 저장한 후 로컬 디스크(1033)에 저장할 수 있고, 복제 서버(1021)로부터 수신된 복제 로그를 버퍼(1034)에 저장한 후 로컬 디스크(1035)에 저장할 수 있다. 이러한 버퍼(1032 및 1034)는 복제 로그 즉, 트랜잭션을 순서에 따라 처리하기 위해 이용될 수 있다.
이와 같이 배포 시스템(1030 및 1040)으로 전송된 복제 로그는 해당하는 슬레이브 호스트의 슬레이브 데이터베이스(1050)에 반영됨으로써 마스터 데이터베이스(1012 및 1022)의 변경사항을 반영할 수 있게 된다.
본 발명에 따른 실시예들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(Floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.
본 발명에 따르면, 마스터 데이터베이스, 슬레이브 데이터베이스 및 분배 시스템을 통해 데이터베이스에 가중되는 부하를 분산시킬 수 있고, 마스터 데이터베이스를 포함하는 마스터 호스트에 장애가 발생하는 경우에도 슬레이브 호스트 중 하나를 마스터 호스트로서 교체함으로써 장애에 효과적으로 대응할 수 있으며, 동시에 갱신된 데이터에 대한 주기적 수집이 필요한 경우를 대비하여 슬레이브 데이터베이스에 대한 변경 내용만을 빠르게 수집할 수 있다.
본 발명에 따르면, 마스터 호스트의 마스터 데이터베이스에서 스키마가 변경되는 경우, 상기 변경이 슬레이브 호스트의 슬레이브 데이터베이스에 복제될 수 있고, 마스터 호스트 대 슬레이브 호스트의 N 대 M 비율과 같이 사용자가 원하는 구조로 복제 환경을 구성할 수 있다.

Claims (22)

  1. DBMS(DataBase Management System)에서의 데이터 복제 방법에 있어서,
    마스터 데이터베이스의 트랜잭션 로그를 통해 복제 로그를 생성하여 배포 시스템(distributor)으로 전송하는 단계;
    상기 복제 로그를 배포할 슬레이브 호스트를 판단하여 해당하는 슬레이브 호스트로 상기 복제 로그를 배포하는 단계; 및
    상기 복제 로그를 슬레이브 데이터베이스에 반영하는 단계
    를 포함하고,
    상기 배포 시스템은 배포 데이터베이스 및 복제 에이전트를 포함하고,
    상기 복제 로그를 배포할 슬레이브 호스트를 판단하여 해당하는 슬레이브 호스트로 상기 복제 로그를 배포하는 상기 단계는,
    상기 복제 에이전트에서 상기 복제 로그를 수신하여 임시 저장하는 단계;
    상기 복제 에이전트에서 상기 배포 데이터베이스를 이용하여 상기 복제 로그를 배포할 슬레이브 호스트를 확인하는 단계; 및
    상기 복제 에이전트에서 상기 복제 로그를 해당하는 슬레이브 호스트로 전송하는 단계
    를 포함하고,
    상기 마스터 데이터베이스를 포함하는 마스터 호스트 및 상기 슬레이브 호스트는 사용자의 요구에 따른 비율로 구성되는 데이터 복제 방법.
  2. 제1항에 있어서,
    상기 복제 로그는 상기 마스터 데이터베이스의 변경사항을 포함하고,
    마스터 데이터베이스의 트랜잭션 로그를 통해 복제 로그를 생성하여 배포 시스템으로 전송하는 상기 단계는,
    마스터 호스트가 포함하는 복제 서버(replication server)에서 상기 트랜잭션 로그를 분석하여 상기 변경사항으로 구성된 상기 복제 로그를 생성하는 단계; 및
    상기 복제 서버에서 상기 복제 로그를 상기 배포 시스템이 포함하는 복제 에이전트(replication agent)로 전송하는 단계
    를 포함하는 데이터 복제 방법.
  3. 제2항에 있어서,
    상기 복제 서버는 하나 이상의 복제 에이전트로부터 수신되는 상기 트랜잭션 로그에 대한 전달 요청을 처리하는 프로세스로서 상기 전달 요청을 처리하는 제1 스레드(thread) 및 트랜잭션 로그를 상기 마스터 데이터베이스를 통해 확인하는 제2 스레드를 포함하는 데이터 복제 방법.
  4. 제2항에 있어서,
    상기 복제 서버는 상기 트랜잭션 단위로 복수의 복제 로그가 발생하는 경우, 복수의 버퍼를 이용하여 상기 복제 로그를 임시로 저장하여 해당하는 배포 시스템의 복제 에이전트로 전송하는 데이터 복제 방법.
  5. 삭제
  6. 제1항에 있어서,
    상기 배포 데이터베이스는 마스터 호스트 및 슬레이브 호스트의 배치 정보를 포함하는 데이터 복제 방법.
  7. 제1항에 있어서,
    상기 복제 에이전트는 상기 복제 로그가 복수 개 수신되는 경우 상기 복제 로그를 각각 임시 저장한 후, 해당하는 슬레이브 호스트로 배포하는 데이터 복제 방법.
  8. 제1항에 있어서,
    상기 복제 로그를 배포할 슬레이브 호스트를 판단하여 해당하는 슬레이브 호스트로 상기 복제 로그를 배포하는 상기 단계는,
    상기 복제 에이전트에서 상기 복제 로그에 대한 추적 로그를 생성하는 단계
    를 더 포함하고,
    상기 추적 로그는 각 슬레이브 호스트가 포함하는 슬레이브 데이터베이스 별로 최종 적용된 상기 복제 로그에 대한 로그순차번호를 포함하는 데이터 복제 방법.
  9. 제1항에 있어서,
    상기 복제 로그를 배포할 슬레이브 호스트를 판단하여 해당하는 슬레이브 호스트로 상기 복제 로그를 배포하는 상기 단계는,
    상기 복제 에이전트에서 상기 복제 로그에 대한 오류 로그를 생성하는 단계
    를 더 포함하고,
    상기 오류 로그는 상기 복제에이전트가 복제를 실행하면서 발생하는 모든 오류가 기록되는 데이터 복제 방법.
  10. 제1항에 있어서,
    상기 트랜잭션 로그는 상기 마스터 데이터베이스에 발생한 모든 변경사항으로서 갱신 작업을 철회하기 위해 이전의 데이터 이미지를 보관하는 언두(undo) 로그 및 갱신 작업을 다시 수행하기 위해 갱신 이후의 데이터 이미지를 보관하는 리두(redo) 로그를 포함하고,
    상기 복제 로그는 상기 리두 로그를 포함하는 데이터 복제 방법.
  11. 제1항에 있어서,
    상기 마스터 데이터베이스는 복제의 대상이 되는 원본 데이터베이스로서 모든 데이터베이스 연산이 허용되고,
    상기 슬레이브 데이터베이스는 상기 복제의 목적지가 되는 데이터베이스로서 상기 마스터 데이터베이스의 변경사항을 반영하는 데이터 복제 방법.
  12. 제1항에 있어서,
    상기 마스터 데이터베이스의 스키마에 대한 변경사항을 상기 배포 시스템을 통해 상기 슬레이브 데이터베이스에 반영하는 단계; 및
    상기 마스터 데이터베이스의 인덱스, 트리거 또는 사용자 계정 중 적어도 하나에 대한 변경사항을 상기 배포 시스템이 포함하는 배포 데이터베이스에 반영하는 단계
    를 더 포함하고,
    상기 배포 시스템은 상기 마스터 호스트에 장애 발생 시 다른 마스터 호스트로서 동작하는 슬레이브 호스트에 상기 인덱스, 상기 트리거 또는 상기 사용자 계정 중 적어도 하나를 반영시키는 데이터 복제 방법.
  13. 제1항에 있어서,
    상기 마스터 호스트 및 상기 슬레이브 호스트간에 하나 이상의 상기 배포 시스템을 통해 비동기식 복제가 수행되는 데이터 복제 방법.
  14. 제1항 내지 제4항 또는 제6항 내지 제13항 중 어느 한 항의 방법을 실행하기 위한 프로그램이 기록되어 있는 것을 특징으로 하는 컴퓨터에서 판독 가능한 기록 매체.
  15. DBMS에서의 데이터 복제 시스템에 있어서,
    마스터 데이터베이스의 트랜잭션 로그를 통해 복제 로그를 생성하여 배포 시스템으로 전송하는 마스터 호스트;
    상기 복제 로그를 배포할 슬레이브 호스트를 판단하여 해당하는 슬레이브 호스트로 상기 복제 로그를 배포하는 배포 시스템; 및
    상기 복제 로그를 수신하여 슬레이브 데이터베이스에 반영하는 슬레이브 호스트
    를 포함하고,
    상기 배포 시스템은,
    마스터 호스트 및 슬레이브 호스트의 배치 정보를 포함하는 배포 데이터베이스; 및
    상기 복제 로그를 이용하여 데이터의 복제를 수행하는 복제 에이전트
    를 포함하고,
    상기 복제 에이전트는,
    상기 마스터 호스트로부터 수신된 상기 복제 로그를 수신하여 임시 저장하는 저장부;
    상기 배포 데이터베이스를 이용하여 상기 복제 로그를 배포할 슬레이브 호스트를 확인하는 슬레이브 호스트 확인부; 및
    상기 복제 로그를 해당하는 슬레이브 호스트로 전송하는 전송부
    를 포함하고,
    상기 마스터 호스트 및 상기 슬레이브 호스트는 사용자의 요구에 따른 비율로 구성되는 데이터 복제 시스템.
  16. 제15항에 있어서,
    상기 복제 로그는 상기 마스터 데이터베이스의 변경사항을 포함하고,
    상기 마스터 호스트는,
    복제 대상이 되는 원본 데이터베이스인 마스터 데이터베이스; 및
    상기 마스터 데이터베이스의 상기 트랜잭션 로그를 분석하여 상기 변경사항으로 구성된 상기 복제 로그를 생성하고, 상기 배포 시스템으로 전송하는 복제 서버
    를 포함하는 데이터 복제 시스템
  17. 제16항에 있어서,
    상기 복제 서버는 하나 이상의 복제 에이전트로부터 수신되는 상기 트랜잭션 로그에 대한 전달 요청을 처리하는 데이터 복제 시스템.
  18. 삭제
  19. 삭제
  20. 제15항에 있어서,
    상기 마스터 호스트는,
    상기 마스터 데이터베이스의 스키마에 대한 변경사항을 상기 배포 시스템을 통해 상기 슬레이브 데이터베이스에 반영하는 제1 변경사항 반영부; 및
    상기 마스터 데이터베이스의 인덱스, 트리거 또는 사용자 계정 중 적어도 하나에 대한 변경사항을 상기 배포 시스템이 포함하는 배포 데이터베이스에 반영하는 제2 변경사항 반영부
    를 더 포함하고,
    상기 배포 시스템은 상기 마스터 호스트에 장애 발생 시 다른 마스터 호스트로서 동작하는 슬레이브 호스트에 상기 인덱스, 상기 트리거 또는 상기 사용자 계정 중 적어도 하나를 반영시키는 데이터 복제 시스템.
  21. 제15항에 있어서,
    상기 트랜잭션 로그는 상기 마스터 데이터베이스에 발생한 모든 변경사항으로서 갱신 작업을 철회하기 위해 이전의 데이터 이미지를 보관하는 언두 로그 및 갱신 작업을 다시 수행하기 위해 갱신 이후의 데이터 이미지를 보관하는 리두 로그를 포함하고,
    상기 복제 로그는 상기 리두 로그를 포함하는 데이터 복제 시스템.
  22. 제15항에 있어서,
    상기 마스터 호스트 및 상기 슬레이브 호스트간에 하나 이상의 상기 배포 시스템을 통해 비동기식 복제가 수행되는 데이터 복제 시스템.
KR1020070049289A 2007-05-21 2007-05-21 Dbms에서의 데이터 복제 방법 및 시스템 KR100926880B1 (ko)

Priority Applications (6)

Application Number Priority Date Filing Date Title
KR1020070049289A KR100926880B1 (ko) 2007-05-21 2007-05-21 Dbms에서의 데이터 복제 방법 및 시스템
JP2010508289A JP5178822B2 (ja) 2007-05-21 2008-04-29 データベースマネジメントシステム(dbms)におけるデータ複製方法およびシステム
US12/600,205 US8874512B2 (en) 2007-05-21 2008-04-29 Data replication method and system for database management system
PCT/KR2008/002421 WO2008143408A1 (en) 2007-05-21 2008-04-29 Data replication method and system for database management system
EP08753225A EP2150910A4 (en) 2007-05-21 2008-04-29 DATA REPLICATION PROCESS AND SYSTEM FOR A DATABASE MANAGEMENT SYSTEM
CN2008800157778A CN101681383B (zh) 2007-05-21 2008-04-29 用于数据库管理系统的数据复制方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070049289A KR100926880B1 (ko) 2007-05-21 2007-05-21 Dbms에서의 데이터 복제 방법 및 시스템

Publications (2)

Publication Number Publication Date
KR20080102622A KR20080102622A (ko) 2008-11-26
KR100926880B1 true KR100926880B1 (ko) 2009-11-16

Family

ID=40032072

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070049289A KR100926880B1 (ko) 2007-05-21 2007-05-21 Dbms에서의 데이터 복제 방법 및 시스템

Country Status (6)

Country Link
US (1) US8874512B2 (ko)
EP (1) EP2150910A4 (ko)
JP (1) JP5178822B2 (ko)
KR (1) KR100926880B1 (ko)
CN (1) CN101681383B (ko)
WO (1) WO2008143408A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180101941A (ko) 2017-03-06 2018-09-14 주식회사 데이터스트림즈 소스 데이터베이스 관리시스템에서 변경되는 데이터를 실시간으로 목표 데이터베이스 관리시스템에 복제하는 장치 및 그 방법

Families Citing this family (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2261801B1 (de) * 2009-06-12 2014-12-31 Siemens Schweiz AG Verfahren zum unterbrechungsfreien Update einer Master-Datenbank und der zugehörigen Slave-Datenbanken
EP2323047B1 (en) * 2009-10-09 2020-02-19 Software AG Primary database system, replication database system and method for replicating data of a primary database system
GB201014986D0 (en) * 2010-09-09 2010-10-20 Standard Life Employee Service A system and method for copying data
US9558256B2 (en) * 2010-11-16 2017-01-31 Linkedin Corporation Middleware data log system
US9710344B1 (en) 2010-12-13 2017-07-18 Amazon Technologies, Inc. Locality based quorum eligibility
US8473775B1 (en) 2010-12-14 2013-06-25 Amazon Technologies, Inc. Locality based quorums
US9449065B1 (en) * 2010-12-28 2016-09-20 Amazon Technologies, Inc. Data replication framework
US8468132B1 (en) 2010-12-28 2013-06-18 Amazon Technologies, Inc. Data replication framework
US10198492B1 (en) 2010-12-28 2019-02-05 Amazon Technologies, Inc. Data replication framework
US8554762B1 (en) 2010-12-28 2013-10-08 Amazon Technologies, Inc. Data replication framework
JP5740529B2 (ja) * 2011-06-03 2015-06-24 アップル インコーポレイテッド クラウドストレージ
US8977591B1 (en) 2011-06-07 2015-03-10 Cellco Partnership Transitive database replication
CN102402585B (zh) * 2011-10-21 2013-04-03 苏州阔地网络科技有限公司 一种信息传输方法、系统及移动终端
US20150169656A1 (en) * 2012-08-23 2015-06-18 Digital Works, Inc. Distributed database system
KR20140047230A (ko) * 2012-10-10 2014-04-22 (주)티베로 분산 시스템에서 분산 트랜잭션의 최적화를 위한 방법 및 트랜잭션을 최적화한 분산 시스템
EP2937788A4 (en) * 2012-12-21 2016-06-22 Murakumo Corp INFORMATION PROCESSING METHOD, INFORMATION PROCESSING DEVICE, AND PROGRAM
JP2014229088A (ja) * 2013-05-23 2014-12-08 ソニー株式会社 データ処理システム、データ処理装置および記憶媒体
US9589041B2 (en) * 2013-07-25 2017-03-07 Oracle International Corporation Client and server integration for replicating data
CN103678718A (zh) * 2013-12-31 2014-03-26 金蝶软件(中国)有限公司 数据库同步方法及系统
US10191932B2 (en) 2014-03-21 2019-01-29 Oracle International Corporation Dependency-aware transaction batching for data replication
EP3125123A4 (en) 2014-03-25 2017-11-22 Murakumo Corporation Database system, information processing device, method, and program
WO2015145586A1 (ja) 2014-03-25 2015-10-01 株式会社Murakumo データベースシステム、情報処理装置、方法およびプログラム
KR101713537B1 (ko) * 2014-08-05 2017-03-09 네이버 주식회사 데이터의 일관성을 보장하는 상태기기 기반의 복제 및 체크포인트데이터와 복제로그를 이용한 분산 복구를 처리하는 데이터 복제 방법 및 데이터 저장 시스템
CN105843702B (zh) 2015-01-14 2019-04-12 阿里巴巴集团控股有限公司 一种用于数据备份的方法以及装置
US9990224B2 (en) 2015-02-23 2018-06-05 International Business Machines Corporation Relaxing transaction serializability with statement-based data replication
WO2016183563A1 (en) 2015-05-14 2016-11-17 Walleye Software, LLC Historical data replay utilizing a computer system
CN105260486A (zh) * 2015-11-23 2016-01-20 郑州悉知信息科技股份有限公司 一种数据处理方法、装置及系统
CN106897288B (zh) * 2015-12-18 2021-01-08 阿里巴巴集团控股有限公司 数据库的服务提供方法和系统
KR101786865B1 (ko) 2016-05-25 2017-10-19 (주)알투비솔루션 Dbms별로 생성되는 아카이브 로그 통합 관리 시스템
CN106899648B (zh) * 2016-06-20 2020-02-14 阿里巴巴集团控股有限公司 一种数据处理方法和设备
US10216582B2 (en) 2016-08-15 2019-02-26 International Business Machines Corporation Recovery log analytics with a big data management platform
KR101981310B1 (ko) * 2016-12-27 2019-05-22 주식회사 씨에스리 데이터베이스 시스템의 이상을 탐지하는 장치 및 방법
US10565228B2 (en) * 2017-03-06 2020-02-18 Sap Se Testing database replication with multi-container system architecture
CN110019500A (zh) * 2017-08-21 2019-07-16 东软集团股份有限公司 一种复制组状态监控方法、装置、设备及存储介质
US10002154B1 (en) 2017-08-24 2018-06-19 Illumon Llc Computer data system data source having an update propagation graph with feedback cyclicality
KR101826827B1 (ko) * 2017-10-11 2018-02-09 (주)데이타뱅크시스템 데이터베이스 간의 실시간 통합 복제 시스템
KR101859094B1 (ko) * 2017-10-11 2018-05-18 (주)데이타뱅크시스템즈 복제 방식의 변경을 고려한 통합 복제 시스템
KR102089291B1 (ko) * 2018-06-19 2020-03-16 주식회사 티맥스데이터 데이터 익스텐트 이동 방법
EP4283482A3 (en) * 2018-07-06 2024-01-24 Snowflake Inc. Data replication and data failover in database systems
CN110209734B (zh) * 2019-05-05 2022-11-18 深圳市腾讯计算机系统有限公司 数据复制方法、装置、计算机设备及存储介质
US11544232B2 (en) 2019-12-11 2023-01-03 Western Digital Technologies, Inc. Efficient transaction log and database processing
US11651005B2 (en) * 2020-05-04 2023-05-16 EMC IP Holding Company LLC Intelligent datastore determination for microservice
CN112286892B (zh) * 2020-07-01 2024-04-05 上海柯林布瑞信息技术有限公司 后关系型数据库的数据实时同步方法及装置、存储介质、终端
KR102336813B1 (ko) 2020-09-18 2021-12-08 주식회사 아미크 사업분할에 따라 조직 데이터를 선별적으로 분리하는 방법 및 시스템
KR102351220B1 (ko) * 2021-10-08 2022-01-14 주식회사 이글루시큐리티 대용량 데이터 처리 시 효율적인 서버 부하 분산을 위한 db 이중화 방법 및 이를 지원하는 장치
US11875060B2 (en) * 2022-04-18 2024-01-16 Dell Products L.P. Replication techniques using a replication log

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11327988A (ja) * 1998-05-07 1999-11-30 Mitsubishi Electric Corp 複数計算機間のデータベースレプリケーション制御方法
KR20040088397A (ko) * 2003-04-01 2004-10-16 마이크로소프트 코포레이션 트랜잭션적으로 일관성있는 트리거 기반 데이터베이스변경 추적 방법 및 시스템
KR20050064278A (ko) * 2003-12-23 2005-06-29 한국전자통신연구원 데이터베이스 이중화 장치 및 그 방법
US20060136686A1 (en) * 2004-12-22 2006-06-22 International Business Machines Corporation Log shipping data replication with parallel log writing and log shipping at the primary site

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5280611A (en) * 1991-11-08 1994-01-18 International Business Machines Corporation Method for managing database recovery from failure of a shared store in a system including a plurality of transaction-based systems of the write-ahead logging type
US5530855A (en) * 1992-10-13 1996-06-25 International Business Machines Corporation Replicating a database by the sequential application of hierarchically sorted log records
US5434994A (en) * 1994-05-23 1995-07-18 International Business Machines Corporation System and method for maintaining replicated data coherency in a data processing system
US6044381A (en) 1997-09-11 2000-03-28 Puma Technology, Inc. Using distributed history files in synchronizing databases
US6202067B1 (en) * 1998-04-07 2001-03-13 Lucent Technologies, Inc. Method and apparatus for correct and complete transactions in a fault tolerant distributed database system
US20020073082A1 (en) * 2000-12-12 2002-06-13 Edouard Duvillier System modification processing technique implemented on an information storage and retrieval system
US6691139B2 (en) * 2001-01-31 2004-02-10 Hewlett-Packard Development Co., Ltd. Recreation of archives at a disaster recovery site
JP2002318718A (ja) * 2001-04-20 2002-10-31 Nippon Telegr & Teleph Corp <Ntt> データベースレプリケーション方法、そのプログラム及び記録媒体
JP2003006011A (ja) * 2001-06-22 2003-01-10 Hitachi Ltd ジャーナルマージ引継ぎ方法
US7647354B2 (en) * 2002-05-24 2010-01-12 Oracle International Corporation High-performance change capture for data warehousing
US8121978B2 (en) * 2002-11-15 2012-02-21 Sybase, Inc. Database system providing improved methods for data replication
US7177886B2 (en) * 2003-02-07 2007-02-13 International Business Machines Corporation Apparatus and method for coordinating logical data replication with highly available data replication
US7200620B2 (en) * 2003-09-29 2007-04-03 International Business Machines Corporation High availability data replication of smart large objects
US7103809B2 (en) * 2003-10-24 2006-09-05 Motorola, Inc. Server selection method
US7600087B2 (en) * 2004-01-15 2009-10-06 Hitachi, Ltd. Distributed remote copy system
US7996363B2 (en) * 2004-05-19 2011-08-09 Oracle International Corporation Real-time apply mechanism in standby database environments
US7502796B2 (en) * 2004-06-16 2009-03-10 Solid Information Technology Oy Arrangement and method for optimizing performance and data safety in a highly available database system
JP4731975B2 (ja) * 2005-04-20 2011-07-27 株式会社日立製作所 データベース管理方法、およびストレージシステム
US7636743B2 (en) * 2005-12-19 2009-12-22 Commvault Systems, Inc. Pathname translation in a data replication system
US20070174315A1 (en) * 2006-01-18 2007-07-26 Avraham Leff Compressing state in database replication
JP2007318277A (ja) * 2006-05-24 2007-12-06 Fujifilm Corp データ管理システムにおけるデータバックアップ方法及び装置
US7624134B2 (en) * 2006-06-12 2009-11-24 International Business Machines Corporation Enabling access to remote storage for use with a backup program
US7870398B2 (en) * 2007-01-25 2011-01-11 International Business Machines Corporation Integrity assurance of query result from database service provider

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11327988A (ja) * 1998-05-07 1999-11-30 Mitsubishi Electric Corp 複数計算機間のデータベースレプリケーション制御方法
KR20040088397A (ko) * 2003-04-01 2004-10-16 마이크로소프트 코포레이션 트랜잭션적으로 일관성있는 트리거 기반 데이터베이스변경 추적 방법 및 시스템
KR20050064278A (ko) * 2003-12-23 2005-06-29 한국전자통신연구원 데이터베이스 이중화 장치 및 그 방법
US20060136686A1 (en) * 2004-12-22 2006-06-22 International Business Machines Corporation Log shipping data replication with parallel log writing and log shipping at the primary site

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180101941A (ko) 2017-03-06 2018-09-14 주식회사 데이터스트림즈 소스 데이터베이스 관리시스템에서 변경되는 데이터를 실시간으로 목표 데이터베이스 관리시스템에 복제하는 장치 및 그 방법
US10795911B2 (en) 2017-03-06 2020-10-06 Datastreams Corp. Apparatus and method for replicating changed-data in source database management system to target database management system in real time

Also Published As

Publication number Publication date
JP2010527087A (ja) 2010-08-05
KR20080102622A (ko) 2008-11-26
US20100250491A1 (en) 2010-09-30
US8874512B2 (en) 2014-10-28
CN101681383B (zh) 2013-02-20
CN101681383A (zh) 2010-03-24
EP2150910A4 (en) 2011-01-19
EP2150910A1 (en) 2010-02-10
WO2008143408A1 (en) 2008-11-27
JP5178822B2 (ja) 2013-04-10

Similar Documents

Publication Publication Date Title
KR100926880B1 (ko) Dbms에서의 데이터 복제 방법 및 시스템
KR101956236B1 (ko) 데이터베이스 관리 시스템에서의 데이터 복제 기법
KR102307371B1 (ko) 데이터베이스 시스템 내의 데이터 복제 및 데이터 장애 조치
US11860900B2 (en) Log-based distributed transaction management
US20130110873A1 (en) Method and system for data storage and management
KR100983300B1 (ko) 데이터 처리 시스템 내에서의 고장 복구
US7103619B1 (en) System and method for automatic audit data archiving within a remote database backup system
US9904721B1 (en) Source-side merging of distributed transactions prior to replication
EP1706822B1 (en) Maintaining consistency for remote copy using virtualization
US11263236B2 (en) Real-time cross-system database replication for hybrid-cloud elastic scaling and high-performance data virtualization
EP2380090B1 (en) Data integrity in a database environment through background synchronization
US20200104404A1 (en) Seamless migration of distributed systems
JP4136615B2 (ja) データベースシステム及びデータベースのアクセス方法
US11461201B2 (en) Cloud architecture for replicated data services
US11436089B2 (en) Identifying database backup copy chaining
CN105989049A (zh) 一种数据中间层实现方法及系统
US11301341B2 (en) Replication system takeover with handshake
JP2002157156A (ja) データベース管理方法およびシステム並びにその処理プログラムおよびそのプログラムを格納した記録媒体
Srinivasan et al. Techniques and Efficiencies from Building a Real-Time DBMS
JP2007018143A (ja) 文書検索装置および方法
JP5002636B2 (ja) データ処理装置及びデータベース管理方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
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: 20121011

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20130926

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20140925

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20151102

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20161024

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20181105

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20191001

Year of fee payment: 11