KR20180101941A - 소스 데이터베이스 관리시스템에서 변경되는 데이터를 실시간으로 목표 데이터베이스 관리시스템에 복제하는 장치 및 그 방법 - Google Patents

소스 데이터베이스 관리시스템에서 변경되는 데이터를 실시간으로 목표 데이터베이스 관리시스템에 복제하는 장치 및 그 방법 Download PDF

Info

Publication number
KR20180101941A
KR20180101941A KR1020170028525A KR20170028525A KR20180101941A KR 20180101941 A KR20180101941 A KR 20180101941A KR 1020170028525 A KR1020170028525 A KR 1020170028525A KR 20170028525 A KR20170028525 A KR 20170028525A KR 20180101941 A KR20180101941 A KR 20180101941A
Authority
KR
South Korea
Prior art keywords
log
synchronization
target
data
change data
Prior art date
Application number
KR1020170028525A
Other languages
English (en)
Other versions
KR101904786B1 (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 KR1020170028525A priority Critical patent/KR101904786B1/ko
Priority to US15/909,360 priority patent/US10795911B2/en
Publication of KR20180101941A publication Critical patent/KR20180101941A/ko
Application granted granted Critical
Publication of KR101904786B1 publication Critical patent/KR101904786B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/178Techniques for file synchronisation in file systems
    • 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
    • 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
    • G06F17/30174
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2097Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements maintaining the standby controller/processing unit updated
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/1734Details of monitoring file system events, e.g. by the use of hooks, filter drivers, logs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • 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/23Updating
    • 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/23Updating
    • G06F16/2358Change logging, detection, and notification
    • G06F17/30194
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2035Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant without idle spare hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/80Database-specific techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/855Details of asynchronous mirroring using a journal to transfer not-yet-mirrored changes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

소스 DBMS 시스템의 부하를 최소화하고, DBMS 하드웨어 구성 비용을 감소하며, 운영 및 장애 복구가 용이하도록 한 소스 데이터베이스 관리시스템에서 변경되는 데이터를 실시간으로 목표 데이터베이스 관리시스템에 복제하는 장치 및 그 방법에 관한 것으로서, 소스 서버는 소스 DBMS 영역의 리두 로그 또는 아카이브 로그 파일에서 변경 데이터를 실시간으로 상기 목표 서버에 전송하고, 상기 목표 서버는 상기 소스 서버로부터 전송되는 변경 데이터를 수신하여 로컬 영역에 임시 저장하고, 상기 로컬 영역 내에 저장된 변경 데이터를 추출하여 목표 DBMS에 복제하는 과정으로 소스 데이터베이스 관리시스템에서 변경되는 데이터를 실시간으로 목표 데이터베이스 관리시스템에 복제하는 장치를 구현한다.

Description

소스 데이터베이스 관리시스템에서 변경되는 데이터를 실시간으로 목표 데이터베이스 관리시스템에 복제하는 장치 및 그 방법{Apparatus and method for replicating changed data in a source database management system to a target database management system in real time}
본 발명은 소스 데이터베이스 관리시스템(DBMS; Database Management System)에서 변경되는 데이터를 실시간으로 목표 데이터베이스 관리시스템에 복제하는 것에 관한 것으로, 특히 소스 DBMS 시스템의 부하를 최소화하고, DBMS 하드웨어 구성 비용을 감소하며, 운영 및 장애 복구가 용이하도록 한 소스 데이터베이스 관리시스템에서 변경되는 데이터를 실시간으로 목표 데이터베이스 관리시스템에 복제하는 장치 및 그 방법에 관한 것이다.
데이터베이스 복제는 하나의 데이터베이스에 저장된 객체를 물리적으로 분리된 다른 데이터베이스에 복사하여 두 개 이상의 데이터베이스 서버에서 사용될 수 있도록 하는 분산 데이터베이스 기술 중의 하나이다. 이러한 복제 기술은 같은 객체를 이용하는 응용 프로그램의 접근을 여러 데이터베이스 서버에 분산시킴으로써 성능을 높이거나 복제된 데이터베이스 서버를 다른 용도로 사용할 수 있도록 하여 서로 다른 운영 요구사항을 만족시키는 장점이 있다. 또한, 운영 중인 데이터베이스 서버에 장애가 발생했을 경우 복제 데이터베이스 서버로 신속하게 대체함으로써 장애 발생 시 긴급하게 대처할 수도 있는 등 그 효용성이 매우 크다고 할 수 있다.
일반적으로 기업 등에서 널리 사용하는 복제 시스템으로는 오라클(ORACLE) (社)사의 Standby DB가 있다.
오라클의 ORACLE DBMS는 데이터에 대한 변경사항을 온라인 로그 파일에 기록하게 되는데, 상기 온라인 로그 파일은 파일의 용량크기가 미리 정해져 있기 때문에 기록중인 온라인 로그 파일의 용량이 한계에 이르면 다른 로그파일에 데이터의 변경사항을 지속적으로 기록하게 된다. 이때 데이터의 기록이 끝난 상기 기존의 온라인 로그파일은 아카이브(Archive) 포맷의 로그파일로 변경되어 저장된다. 오라클의 Standby DB는 소스 서버에서 아카이브 로그파일로의 전환이 발생할 때마다 목표 서버로 아카이브 로그파일을 전송한다. 상기 아카이브 로그파일을 전송받은 목표 서버는 상기 아카이브 로그파일의 변경 내용을 자동 또는 수동으로 적용하여 상기 소스 서버와 동일한 데이터를 유지하게 된다. 즉, 상기 소스 서버에서 목표 서버로 아카이브 로그파일의 전송이 수행될 때마다 상기 목표 서버와 소스 서버의 데이터가 동기화되는 것이다.
도 1은 오라클 DBMS의 데이터베이스 복제를 위한 구조이다.
도 1에 도시한 바와 같이, 오라클 DBMS의 복제 구조는 소스 서버(10)와 목표 서버(20)로 구분되고, 소스 서버(10)는 소스 DBMS(11), 상기 소스 DBMS(11)의 변경 데이터를 저장하며, 데이터 변경 사항에 대한 이력을 저장하는 리두 로그(Redo Logs) 저장부(12), 리두 로그 저장부(12)와 연동하여 변경 데이터를 아카이브 로그 파일로 저장하는 아카이브 로그(Archive Logs) 저장부(13), 상기 리두 로그 저장부(12) 및 아카이브 로그 저장부(13)를 검색하여 변경 데이터를 추출하고, 복제 대상 데이터만을 네트워크를 통해 목표 서버(20)로 전송하는 변경 데이터 추출기(14)를 포함한다.
여기서 리두 로그 저장부(12)와 아카이브 로그 저장부(13)는 실제 소스 DBMS(11)에 포함되는 구성이다.
상기 목표 서버(20)는 소스 서버(10)로부터 네트워크를 통해 실시간 전송되는 변경 데이터를 API 또는 UTILITY TOOL을 이용하여 목표 DBMS(22)에 복제하는 데이터 복제기(21)를 포함한다.
이와 같이 구성된 기업에서 일반적으로 사용하는 오라클 DBMS이 데이터 복제 시스템의 동작을 간략히 설명하면 다음과 같다.
먼저, 소스 서버(10) 내의 소스 DBMS(11)에 변경 데이터가 발생하면, 리두 로그 저장부(12)는 소스 DBMS(11)의 데이터를 변경하기 이전에 복구를 위해 변경 데이터를 저장한다. 여기서 리두 로그 저장부(12)는 데이터 변경 사항에 대한 모든 이력을 저장하는 역할도 한다. 아울러 리두 로그(Redo Logs) 저장부(12)는 변경 데이터를 아카이브 로그 파일로 변환하여 아카이브 로그(Archive Logs) 저장부(13)에 저장한다.
소스 서버(11)의 변경 데이터 추출기(14)는 상기 리두 로그 저장부(12) 및 아카이브 로그 저장부(13)를 검색하여 변경 데이터를 추출하고, 변경 데이터가 추출되면 이를 네트워크를 통해 목표 서버(20)로 실시간 전송한다.
상기 목표 서버(20)의 데이터 복제기(21)는 상기 소스 서버(10)로부터 네트워크를 통해 실시간 전송되는 변경 데이터를 API 또는 UTILITY TOOL을 이용하여 목표 DBMS(22)에 복제한다.
한편, 상기 DBMS의 데이터베이스 복제를 위해 종래에 제안된 기술이 하기의 <특허문헌 1> 내지 <특허문헌 3> 에 개시되어 있다.
<특허문헌 1> 에 개시된 종래기술은 마스터 호스트에서 마스터 데이터베이스의 트랜잭션 로그를 통해 복제 로그를 생성하여 배포 시스템(distributor)으로 전송하는 단계, 상기 배포 시스템에서 상기 복제 로그를 배포할 슬레이브 호스트를 판단하여 해당하는 슬레이브 호스트로 상기 복제 로그를 배포하는 단계 및 상기 슬레이브 호스트에서 상기 복제 로그를 수신하여 슬레이브 데이터베이스에 반영하는 단계를 포함한다.
이러한 구성을 통해 마스터 데이터베이스, 슬레이브 데이터베이스 및 분배 시스템을 통해 데이터베이스에 가중되는 부하를 분산시킬 수 있고, 마스터 데이터베이스를 포함하는 마스터 호스트에 장애가 발생하는 경우에도 슬레이브 호스트 중 하나를 마스터 호스트로서 교체함으로써 장애에 효과적으로 대응할 수 있는 장점이 있다.
또한, <특허문헌 2> 에 개시된 종래기술은 제1 백업 에이전트가 리두 로그 파일의 리두 로그 헤더를 수신하는 단계; 기저장된 로그 시퀀스 번호와 수신된 리두 로그 헤더의 현재 로그 시퀀스 번호가 일치하는지를 판단하는 단계; 상기 판단결과, 일치하면 상기 제1 백업 에이전트는 기수신된 리두 로그를 적용하는 단계; 및 상기 판단결과, 일치하지 않고 상기 액티브 데이터베이스의 장애로 판단되면 상기 제1백업 데이터베이스에 저장된 리두 로그 정보를 수정하는 단계를 포함한다.
이러한 구성을 통해, 데이터 손실을 최소화하고, 복구 시간을 단축할 수 있는 데이터베이스의 실시간 복제를 통한 자동 복구 시스템을 제공한다.
또한, <특허문헌 3> 에 개시된 종래기술은 복제 대상 데이터가 저장된 복제 대상 디스크, 상기 복제 대상 디스크의 데이터의 블록을 복수의 소정 단위 데이터로 각각 분할 후, 일정 구간을 산정하여 복수의 스레드로 상기 일정 구간의 상기 소정 단위 데이터를 캡처하고, 캡처가 종료된 스레드는 큐(Queue)로 상기 소정 단위 데이터를 전송함과 아울러 상기 일정 구간 다음의 다른 구간을 산정하여 상기 다른 구간의 소정 단위 데이터의 캡처를 진행하는 제1 에이전트를 갖는 복제 대상 서버; 및 상기 제1 에이전트로부터 수신된 각각의 상기 소정 단위 데이터를 분석하여 복수의 스레드로 복제 데이터를 생성하는 제2에이전트와, 상기 제2에이전트로부터 생성된 상기 복제 데이터를 저장하는 복제 디스크를 갖는 복제 서버를 포함한다.
이러한 구성을 통해 멀티스레드 방식을 이용하여 실시간으로 데이터 복제를 수행하게 된다.
대한민국 등록특허 10-0926880호(2009.11.06. 등록)(DBMS에서의 데이터 복제 방법 및 시스템) 대한민국 등록특허 10-0891036호(2009.03.23. 등록)(데이터베이스의 실시간 복제를 통한 자동 복구 시스템 및 그 방법) 대한민국 등록특허 10-1374533호(2014.03.06. 등록)(대용량 데이터에 대한 고성능 복제 및 백업 시스템과 고성능 복제방법)
그러나 상기와 같은 일반적인 오라클 DBMS 시스템 및 종래기술은 원본 서버(소스 서버)에서 데이터 추출기를 사용하여 변경 데이터를 추출하고, 이를 네트워크를 통해 목표 서버로 전송하여 복제하는 방식이므로, 소스 서버의 부하 자원이 사용되어 소스의 부하를 가중시키는 단점을 유발하였다.
또한, 오라클 RAC의 경우 기본적으로 공유 디스크로 구성이 되어 있고, CDC 제품 도입시 복수에 대한 아카이브 로그 유지로 여유 디스크 용량이 필요하여 하드웨어 구성에 따른 추가 비용이 발생하는 단점도 있다.
따라서 본 발명은 상기와 같은 종래기술에서 발생하는 제반 문제점을 해결하기 위해서 제안된 것으로서, 소스 DBMS 시스템의 부하를 최소화하고, DBMS 하드웨어 구성 비용을 감소하며, 운영 및 장애 복구가 용이하도록 한 소스 데이터베이스 관리시스템에서 변경되는 데이터를 실시간으로 목표 데이터베이스 관리시스템에 복제하는 장치 및 그 방법을 제공하는 데 그 목적이 있다.
상기한 바와 같은 목적을 달성하기 위하여, 본 발명에 따른 소스 데이터베이스 관리시스템에서 변경되는 데이터를 실시간으로 목표 데이터베이스 관리시스템에 복제하는 장치는 소스 서버의 변경 데이터를 목표 서버에 복제하여 소스 서버와 목표 서버 간의 데이터 동기화를 위한 시스템으로서,
상기 소스 서버는 소스 DBMS 영역의 리두 로그 또는 아카이브 로그 파일에서 변경 데이터를 실시간으로 상기 목표 서버에 전송하고,
상기 목표 서버는 상기 소스 서버로부터 전송되는 변경 데이터를 수신하여 로컬 영역에 임시 저장하고, 상기 로컬 영역 내에 저장된 변경 데이터를 추출하여 목표 DBMS에 복제하는 것을 특징으로 한다.
상기에서 소스 서버와 목표 서버는 변경 데이터를 로그 파일 형태로 송수신하여 소스 DBMS와 목표 DBMS의 데이터를 실시간 동기화하는 것을 특징으로 한다.
상기에서 소스 서버는 소스 DBMS 영역의 리두 로그 또는 아카이브 로그 파일에서 변경 데이터를 실시간으로 상기 목표 서버에 로그 파일 형태로 전송하는 제1 로그 동기화기를 포함하는 것을 특징으로 한다.
상기에서 제1 로그 동기화기는 리두 로그 파일 및 아카이브 로그 파일에서 변경데이터를 실시간으로 목표 서버로 전송하는 데이터 전송기를 포함하는 것을 특징으로 한다.
상기에서 목표 서버는 상기 소스 서버로부터 전송된 변경 데이터를 로컬 시스템 영역에 복제하는 제2 로그 동기화기; 상기 제2 로그 동기화기에서 복제되는 변경 데이터를 로그 파일로 저장하는 로그 파일 저장부; 상기 로그 파일 저장부에 저장된 리두 로그 파일 또는 아카이브 로그 파일에서 변경 데이터를 추출하고, 추출한 변경 데이터를 목표 DBMS에 복제하는 변경 데이터 추출 및 복제부를 포함하는 것을 특징으로 한다.
상기에서 제2 로그 동기화기는 상기 소스 서버로부터 네트워크를 통해 전송된 변경 데이터를 수신하여 로컬 시스템 영역에 복제하는 데이터 수신기; 주기적으로 사용된 리두 로그 파일 및 아카이브 로그 파일을 관리하는 백업기; 네트워크 또는 시스템 장애시 복구 기능을 수행하는 복구기를 포함하는 것을 특징으로 한다.
상기에서 로그 파일 저장부는 리두 로그 파일을 저장하는 리두 로그 파일 저장부; 아카이브 로그 파일을 저장하는 아카이브 로그 파일 저장부를 포함하는 것을 특징으로 한다.
상기에서 변경 데이터 추출 및 복제부는 상기 로그 파일 저장부에 저장된 리두 로그 파일 또는 아카이브 로그 파일에서 변경 데이터를 추출하는 변경 데이터 추출기; 상기 변경 데이터 추출기에서 추출한 변경 데이터를 목표 DBMS에 복제하는 변경 데이터 복제부를 포함하는 것을 특징으로 한다.
상기한 바와 같은 목적을 달성하기 위하여, 본 발명에 따른 소스 데이터베이스 관리시스템에서 변경되는 데이터를 실시간으로 목표 데이터베이스 관리시스템에 복제하는 방법은 (a) 소스 서버에서 로그 파일 동기화를 위한 사전 준비가 이루어진 상태에서, 동기화 대상 로그가 존재하는지를 확인하는 단계; (b) 상기 소스 서버에서 (a)단계의 확인결과 동기화 대상 로그가 조회되지 않으면 동기화 에러 처리 과정을 수행하고, 상기 동기화 대상 로그가 존재할 경우, 로그 동기화 과정을 통해 목표 서버와 동기화 네트워크를 연결하는 단계; (c) 상기 소스 서버에서 리두 로그 파일 및 아카이브 로그 파일의 변경 데이터를 로그 파일 형태로 목표 서버에 전송하는 단계; (d) 상기 목표 서버에서 로그 복제를 위한 사전 준비가 이루어진 상태에서, 동기화 네트워크 연결이 이루어지지 않으면 네트워크 감시를 통해 동기화 네트워크 에러 이벤트를 발생하는 단계; (e) 상기 목표 서버에서 상기 동기화 네트워크 연결이 이루어지면, 로그 동기화 과정을 수행하는 단계; (f) 상기 목표 서버에서 상기 (e)단계에서 로그 동기화 과정이 정상적으로 이루어지면, 로그 동기화 타입을 분석하여 로그 동기화 파일이면 변경 데이터를 수신하여 복제 과정을 통해 변경 데이터 동기화를 실행하는 단계; (g) 상기 목표 서버에서 상기 로그 동기화 타입을 분석한 결과, 로그 동기화 타입이 아닐 경우 변경 데이터 전체를 수신하여 메모리에 저장하는 단계를 포함하는 것을 특징으로 한다.
상기에서 (a)단계는 (a1) 오라클 복제 대상 RAC 노드를 설정하는 단계; (a2) 복제를 위한 사전 준비가 완료되었는지를 확인하는 단계; (a3) 복제를 위한 사전 준비가 이루어지지 않은 상태이면, 로그 복제 목록 관리 테이블을 생성하고, 리두 로그 전체 동기화를 실행하는 단계; (a4) 상기 복제를 위한 사전 준비가 완료되었거나 상기 리두 로그 전체 동기화를 실행한 후, 복구 시점 여부를 확인하는 단계; (a5) 상기 복구 시점을 확인한 결과, 복구 시점이 아니면 현재 시점 로그 파일 동기화 모드를 설정하고, 복구 시점이면 저장된 과거 시점 동기화 모드를 설정하는 단계를 포함하는 것을 특징으로 한다.
상기에서 (b)단계는 (b1) 동기화 대상 로그가 조회되는지를 확인하는 단계; (b2) 상기 동기화 대상 로그가 조회되지 않으면, CRS 관제 모니터링 데이터를 목표 서버에 전송하고, 동기화 네트워크 상태를 체크하는 단계; (b3) 상기 동기화 네트워크 상태를 체크한 결과 동기화 에러가 아니면 상기 단계 (b1)으로 이동하고, 상기 동기화 네트워크 상태를 체크한 결과 동기화 에러이면 재시도 여부를 확인하는 단계; (b4) 상기 (b3)단계의 확인 결과 재시도가 아닐 경우, 에러 보고를 하고 로그 동기화를 종료하며, 재시도일 경우 동기화 시점 재설정을 하고 상기 단계 (b1) 으로 이동하는 단계; (b5) 상기 동기화 대상 로그가 조회되면, 로그 동기화 모드로 진입을 하여 동기화 스레드를 생성하고, 동기화 로그 타입을 분석한 후 동기화 네트워크 연결을 실행하는 단계를 포함하는 것을 특징으로 한다.
상기에서 (c)단계는 (c1) 목표 서버에 전송할 로그 파일이 리두 파일인지를 확인하는 단계; (c2) 상기 목표 서버에 전송할 로그 파일이 리두 파일이면 변경된 데이터 블록이 존재하는지를 확인하여, 변경된 데이터 블록이 존재하면 변경된 데이터 블록을 목표 서버로 전송하는 단계; (c3) 리두 로그 파일의 전송이 완료되면, 아카이브 로그 생성 이벤트를 전송하는 단계; (c4) 목표 서버에 전송한 로그 파일이 리두 파일이 아닐 경우, 아카이브 로그를 분석하여 변경된 아카이브 로그 데이터의 블록을 측정하여 전송하는 단계; (c5) 상기 아카이브 로그 데이터 블록 전송 후, 아카이브 로그 생성을 완료하는 단계; (c6) 상기 목표 서버로부터 리두 로그 파일 및 아카이브 로그 파일 전송 후, 응답 메시지가 수신되지 않으면 에러 이벤트를 발생하고, 응답 메시지가 수신되면 성공 이벤트를 발생한 후 로그 동기화를 종료하는 단계를 포함하는 것을 특징으로 한다.
상기에서 (d)단계는 (d1) 로그 동기화를 위한 사전 준비 상태를 확인하여, 사전 준비가 이루어지지 않았으면, 로그 복제 저장소를 생성하고 초기 리두 복제인지를 확인하여, 초기 리두 복제이면 서버 소켓을 생성하는 단계; (d2) 동기화 네트워크 연결 수신 상태를 확인하여, 동기화 네트워크 연결이 수신되지 않으면, 모니터링 데이터를 소스 서버에 전송하는 단계; (d3) 상기 소스 서버의 응답 상태를 수신하여 에러 상태가 아니면 상기 (d2) 단계로 이동하고, 에러 상태이면 에러 이벤트를 발생하고 로그 동기화를 종료하는 단계를 포함하는 것을 특징으로 한다.
상기에서 (e)단계는 (e1) 동기화 네트워크 연결이 이루어지면, 로그 동기화 모드로 진입을 하여, 동기화 데이터 수신 프로세스를 생성하고, 동기화 네트워크 오브젝트를 전달한 후 네트워크 인증을 확인하는 단계를 포함하는 것을 특징으로 한다.
상기에서 (f) 단계는 (f1) 로그 동기화 타입을 분석하여 리두 로그 동기화 파일이면 변경 데이터를 수신하여 복제 과정을 통해 변경 데이터 동기화하는 단계; (f2) 변경 데이터 동기화가 완료되면, 아카이브 로그를 생성하는 단계; (f3) 동기화 결과를 네트워크를 통해 상기 소스 서버로 전송하고, 로그 동기화를 종료하는 단계를 포함하는 것을 특징으로 한다.
본 발명에 따르면 소스 DBMS 시스템의 변경 데이터 발생 시 변경 데이터 추출 과정을 수행하지 않고, 단순히 변경 데이터 발생 시 복구를 위해 생성해 놓는 리두 로그 파일 및 아카이브 로그 파일을 그대로 목표 서버로 복제함으로써, 소스 DBMS 시스템의 부하를 최소화할 수 있는 장점이 있다.
또한, 본 발명에 따르면 로그파일의 복제 방식을 이용함으로써, 기존 복구에 대한 아카이브 로그 유지를 위한 여유 디스크 용량이 필요 없으므로, 추가 하드웨어 구현 비용을 감소할 수 있는 장점이 있다.
또한, 본 발명에 따르면 기존 DBMS 시스템에서 복제 및 복구 시 운영되는 프로세스보다 단순하므로, 장애 복구가 용이하다는 장점도 있다.
도 1은 일반적인 오라클 DBMS 시스템의 개략 구조도,
도 2는 본 발명에 따른 소스 데이터베이스 관리시스템에서 변경되는 데이터를 실시간으로 목표 데이터베이스 관리시스템에 복제하는 장치의 구성도,
도 3a 및 도 3b는 본 발명에서 소스 데이터베이스 관리시스템에서 목표 데이터베이스 관리시스템으로 변경 데이터를 복제하는 과정을 보인 흐름도,
도 4a 및 도 4b는 본 발명에서 목표 데이터베이스 관리시스템에서 변경 데이터를 수신하여 복제하는 과정을 보인 흐름도.
이하 본 발명의 바람직한 실시 예에 따른 소스 데이터베이스 관리시스템에서 변경되는 데이터를 실시간으로 목표 데이터베이스 관리시스템에 복제하는 장치 및 그 방법을 첨부된 도면을 참조하여 상세하게 설명한다.
도 2는 본 발명의 바람직한 실시 예에 따른 소스 데이터베이스 관리시스템에서 변경되는 데이터를 실시간으로 목표 데이터베이스 관리시스템에 복제하는 장치의 구성도이다.
본 발명에 따른 소스 데이터베이스 관리시스템에서 변경되는 데이터를 실시간으로 목표 데이터베이스 관리시스템에 복제하는 장치는 소스 서버(100) 및 목표 서버(200)로 이루어지고, 소스 서버(100)의 변경 데이터를 로그 파일 형태로 목표 서버(200)에 복제하여 소스 서버(100)와 목표 서버(200) 간의 실시간 데이터 동기화를 구현한다.
여기서, 소스 서버(100)는 소스 DBMS 영역의 리두 로그(Redo Logs) 또는 아카이브 로그(Archive Logs) 파일에서 변경 데이터를 실시간으로 상기 목표 서버(200)에 전송한다.
이를 위해 소스 서버(100)는 소스 DBMS 영역의 리두 로그 또는 아카이브 로그 파일에서 변경 데이터를 실시간으로 상기 목표 서버(200)에 로그 파일 형태로 전송하는 제1 로그 동기화기(140)를 포함한다. 여기서 제1 로그 동기화기(140)는 리두 로그 파일 및 아카이브 로그 파일에서 변경데이터를 실시간으로 목표 서버(200)로 전송하는 데이터 전송기를 포함할 수 있다.
또한, 소스 서버(100)는 상기 소스 DBMS(110)의 변경 데이터를 저장하며, 데이터 변경 사항에 대한 이력을 저장하는 리두 로그(Redo Logs) 저장부(120), 리두 로그 저장부(120)와 연동하여 변경 데이터를 아카이브 로그 파일로 저장하는 아카이브 로그(Archive Logs) 저장부(130)를 더 포함한다.
또한, 상기 목표 서버(200)는 상기 소스 서버(100)로부터 전송되는 변경 데이터를 수신하여 로컬 영역에 임시 저장하고, 상기 로컬 영역 내에 저장된 변경 데이터를 추출하여 목표 DBMS(240)에 복제하는 것이 바람직하다.
이러한 목표 서버(200)는 상기 소스 서버(100)로부터 전송된 변경 데이터를 로컬 시스템 영역에 복제하는 제2 로그 동기화기(210), 상기 제2 로그 동기화기(210)에서 복제되는 변경 데이터를 로그 파일로 저장하는 로그 파일 저장부(220), 상기 로그 파일 저장부(220)에 저장된 리두 로그 파일 또는 아카이브 로그 파일에서 변경 데이터를 추출하고, 추출한 변경 데이터를 목표 DBMS(240)에 복제하는 변경 데이터 추출 및 복제부(230)를 포함한다.
상기 제2 로그 동기화기(210)는 상기 소스 서버(100)로부터 네트워크를 통해 전송된 변경 데이터를 수신하여 로컬 시스템 영역에 복제하는 데이터 수신기, 주기적으로 사용된 리두 로그 파일 및 아카이브 로그 파일을 관리하는 백업기, 네트워크 또는 시스템 장애 시 복구 기능을 수행하는 복구기를 포함한다.
또한, 상기 로그 파일 저장부(220)는 리두 로그 파일을 저장하는 리두 로그 파일 저장부(221), 아카이브 로그 파일을 저장하는 아카이브 로그 파일 저장부(222)를 포함한다.
또한, 상기 변경 데이터 추출 및 복제부(230)는 상기 로그 파일 저장부(220)에 저장된 리두 로그 파일 또는 아카이브 로그 파일에서 변경 데이터를 추출하는 변경 데이터 추출기(231), 상기 변경 데이터 추출기(231)에서 추출한 변경 데이터를 목표 DBMS(240)에 복제하는 변경 데이터 복제부(232)를 포함한다.
이와 같이 구성된 본 발명에 따른 본 발명의 바람직한 실시 예에 따른 소스 데이터베이스 관리시스템에서 변경되는 데이터를 실시간으로 목표 데이터베이스 관리시스템에 복제하는 장치의 동작을 구체적으로 설명하면 다음과 같다.
먼저, 소스 서버(100)의 소스 DBMS(110)에 변경 데이터가 발생하면, 리두 로그 저장부(120)는 소스 DBMS(110)의 데이터를 변경하기 이전에 복구를 위해 변경 데이터를 저장한다. 여기서 리두 로그 저장부(120)는 데이터 변경 사항에 대한 모든 이력을 저장하는 역할도 한다. 아울러 리두 로그(Redo Logs) 저장부(120)는 변경 데이터를 아카이브 로그 파일로 변환하여 아카이브 로그(Archive Logs) 저장부(130)에 저장한다.
이렇게 소스 서버(100)의 소스 DBMS(110)의 데이터 변경이 발생하면, 소스 서버(100)는 네트워크를 통해 연동하는 목표 서버(200)에 변경 데이터를 실시간으로 전송하여, 소스 서버(100)와 목표 서버(200)에 복제를 하여 데이터 동기화를 구현한다.
이때, 기존에는 소스 서버에 변경 데이터를 추출하는 변경 데이터 추출기를 구비하고, 변경 데이터를 추출하여 이를 네트워크를 통해 목표 서버로 전송하는 방식이므로, 소스 서버의 부하 자원이 사용되어 소스의 부하를 가중시키는 단점을 유발하였다. 또한, RAC의 경우 기본적으로 공유 디스크로 구성이 되어 있고, CDC 제품 도입시 복수에 대한 아카이브 로그 유지로 여유 디스크 용량이 필요하여 하드웨어를 추가로 구현해야 하므로, 하드웨어 추가 구현 비용이 발생하는 단점도 있다.
이러한 기존 소스 서버와 목표 서버 간의 데이터 복제시 발생하는 제반 문제점을 해결하기 위해서, 본 발명에서는 로그 동기화를 구현하여, 소스 서버의 부하를 최소화하고, 아카이브 로그유지에 따른 여유 디스크 용량을 제거하여 추가 하드웨어 구현 비용을 제거한 것이다.
예컨대, 소스 서버(100)의 제1 로그 동기화기(140)는 내부의 데이터 전송기를 이용하여 소스 DBMS 영역의 리두 로그 또는 아카이브 로그 파일에서 변경 데이터를 실시간으로 상기 목표 서버(200)에 로그 파일 형태로 전송한다. 여기서 리두 로그는 블록 단위로 구성되어 있으며, 데이터 변경 저장 단위 또한 블록 단위이다. 하나의 데이터 블록은 대부분 512 Byte로 구성된다. 이때, 제1 로그 동기화기(140)는 변경 파일을 별도로 추출할 필요가 없이, 소스 서버(100) 내에서 자체적으로 변경 데이터를 처리하고 변경 데이터 이력을 관리하는 리두 로그(Redo Logs) 저장부(120)와 변경 데이터를 아카이브 로그 파일로 저장하는 아카이브 로그(Archive Logs) 저장부(130)와 연동하여, 변경 데이터를 로그 파일 형태로 획득한다. 따라서 소스 서버(100) 내에서는 변경 데이터를 추출하는 동작을 할 필요가 없어, 소스 서버(100)의 부하를 최소화할 수 있게 되는 것이다.
아울러 제1 로그 동기화기(140)는 네트워크를 통해 목표 서버(200)의 로그 동기화를 통해 목표 서버(200)에 변경된 데이터에 대응하는 로그 파일을 전송한다. 여기서 로그 동기화란 전송되는 파일이 리두 로그 파일 또는 아카이브 로그 파일이므로, 이러한 로그 파일을 양자가 일치시킨다는 개념이 로그 동기화이다.
상기 목표 서버(200)의 제2 로그 동기화기(210)는 내부의 데이터 수신기를 이용하여 상기 소스 서버(100)로부터 전송된 변경 데이터를 수신하여 로컬 시스템 영역인 로그 파일 저장부(220)에 복제한다. 여기서 로컬 시스템 영역은 목표 DBMS(240)가 아니고 임시로 로그파일을 저장하는 영역으로서, 실제 소스 서버(100)의 리두 로그 저장부(120)와 아카이브 로그 저장부(130)와 같은 저장 영역을 의미한다.
또한, 상기 제2 로그 동기화기(210)는 백업기 및 복구기를 포함하고, 백업기는 주기적으로 사용된 리두 로그 파일 및 아카이브 로그 파일을 관리하며, 복구기는 네트워크 또는 시스템 장애 시 복구 기능을 수행한다.
아울러 로그 파일 저장부(220)는 변경 데이터가 리두 로그 파일이면 이를 리두 로그 저장부(221)에 저장하고, 변경 데이터가 아카이브 로그 파일이면 이를 아카이브 로그 저장부(222)에 저장한다.
변경 데이터가 로그 파일 저장부(220)에 저장되면, 변경 데이터 추출 및 복제부(230)는 상기 로그 파일 저장부(220)에 저장된 리두 로그 파일 또는 아카이브 로그 파일에서 변경 데이터를 추출하고, 추출한 변경 데이터를 목표 DBMS(240)에 복제한다.
예컨대, 상기 변경 데이터 추출 및 복제부(230)는 변경 데이터 추출기(231)에서 상기 로그 파일 저장부(220)에 저장된 리두 로그 파일 또는 아카이브 로그 파일에서 변경 데이터를 추출하고, 변경 데이터 복제부(232)는 상기 변경 데이터 추출기(231)에서 추출한 변경 데이터를 목표 DBMS(240)에 복제한다.
여기서 로그 파일로부터 변경 데이터를 추출하는 것과 추출한 변경 데이터를 목표 DBMS(240)에 복제하는 방식은 기존 방식과 동일하게 이루어진다.
도 3a 및 도 3b는 본 발명에서 소스 데이터베이스 관리시스템에서 목표 데이터베이스 관리시스템으로 변경 데이터를 복제하는 과정을 보인 흐름도이고, 도 4a 및 도 4b는 본 발명에서 목표 데이터베이스 관리시스템에서 변경 데이터를 수신하여 복제하는 과정을 보인 흐름도이다.
이러한 본 발명에 따른 소스 데이터베이스 관리시스템에서 변경되는 데이터를 실시간으로 목표 데이터베이스 관리시스템에 복제하는 방법은 (a) 소스 서버(100)의 제1 로그 동기화기(140)에서 로그 파일 동기화를 위한 사전 준비가 이루어진 상태에서, 동기화 대상 로그가 존재하는지를 확인하는 단계(S101 ~ S108), (b) 상기 제1 로그 동기화기(140)에서 확인결과 동기화 대상 로그가 조회되지 않으면 동기화 에러 처리 과정을 수행하고, 상기 동기화 대상 로그가 존재할 경우, 로그 동기화 과정을 통해 목표 서버와 동기화 네트워크를 연결하는 단계(S109 ~ S114), (c) 상기 제1 로그 동기화기(140)에서 리두 로그 파일 및 아카이브 로그 파일의 변경 데이터를 로그 파일 형태로 목표 서버에 전송하는 단계(S115 ~ S128), (d) 상기 목표 서버(200)의 제2 로그 동기화기(210)에서 로그 복제를 위한 사전 준비가 이루어진 상태에서, 동기화 네트워크 연결이 이루어지지 않으면 네트워크 감시를 통해 동기화 네트워크 에러 이벤트를 발생하는 단계(S201 ~ S208), (e) 상기 제2 로그 동기화기(210)에서 상기 동기화 네트워크 연결이 이루어지면, 로그 동기화 과정을 수행하는 단계(S209 ~ S211), (f) 상기 로그 동기화 과정이 정상적으로 이루어지면, 변경 데이터 추출 및 복제부(230)에서 로그 동기화 타입을 분석하여 로그 동기화 파일이면 변경 데이터를 수신하여 복제 과정을 통해 변경 데이터 동기화를 실행하는 단계(S212 ~ S217), (g) 상기 변경 데이터 추출 및 복제부(230)에서 상기 로그 동기화 타입을 분석한 결과, 로그 동기화 타입이 아닐 경우 변경 데이터 전체를 수신하여 메모리에 저장하는 단계(S218)를 포함한다.
이러한 본 발명에 따른 소스 데이터베이스 관리시스템에서 변경되는 데이터를 실시간으로 목표 데이터베이스 관리시스템에 복제하는 방법을 구체적으로 설명하면 다음과 같다.
먼저, 소스 서버(100)의 제1 로그 동기화기(140)는 로그 파일 동기화를 위한 사전 준비를 수행하고, 로그 파일 동기화를 위한 사전 준비가 이루어지면 동기화 대상 로그가 존재하는지를 확인한다.
예컨대, 단계 S101에서 오라클 복제 대상 RAC(Real Application Cluster) 노드(Node)를 설정하고, 단계 S102에서 복제를 위한 사전 준비가 완료되었는지를 확인한다. 이 확인 결과 복제를 위한 사전 준비가 이루어지지 않은 상태이면, 단계 S103으로 이동하여 로그(LOG) 복제 목록 관리 테이블을 생성하고, 단계 S104로 이동하여 리두 로그(전체 동기화)를 실행한다.
이어, 단계 S105에서 상기 단계 S102의 확인 결과 복제를 위한 사전 준비가 완료되었거나, 상기 리두 로그 전체 동기화를 실행한 후, 복구 시점 여부를 확인한다. 이 복구 시점을 확인한 결과, 복구 시점이 아니면 단계 S106으로 이동하여 동기화 시점을 현재 시점 로그 파일 동기화 모드를 설정하고, 이와는 달리 복구 시점이면 단계 S107로 이동하여 동기화 시점을 저장된 과거 시점 동기화 모드로 설정한다.
다음으로, 동기화 모드를 설정한 후에는 상기 제1 로그 동기화기(140)에서 동기화 대상 로그가 조회되는지를 확인하여 동기화 대상 로그가 조회되지 않으면 동기화 에러 처리 과정을 수행하고, 상기 동기화 대상 로그가 존재하면 로그 동기화 과정을 통해 목표 서버와 동기화 네트워크를 연결한다.
예컨대, 단계 S108에서 동기화 대상 로그가 조회되는지를 확인하여, 동기화 대상 로그가 조회되지 않으면, 단계 S109로 이동하여 CRS(준 사고보고제도) 관제 모니터링 데이터를 목표 서버(200)에 전송하고, 단계 S110에서 동기화 네트워크 상태를 체크한다. 여기서 동기화 네트워크 상태 체크는 알려진 다양한 방식을 이용할 수 있으며, 본 발명에서는 특정 데이터를 전송하고 응답을 수신하는 방식을 이용하는 것으로 가정한다.
이어, 단계 S111에서는 상기 동기화 네트워크 상태를 체크한 결과 동기화 에러가 발생했는지를 확인하여, 동기화 에러가 발생하지 않았으면 상기 단계 S108로 이동하여 동기화 대상 로그가 조회되는지를 다시 확인하고, 이와는 달리 상기 동기화 네트워크 상태를 체크한 결과 동기화 에러이면 단계 S112로 이동하여 재시도 여부를 확인한다.
상기 단계 S112의 확인 결과, 재시도가 아닐 경우, 단계 S113으로 이동하여 에러를 보고하고 로그 동기화를 종료하며, 이와는 달리 재시도일 경우 단계 S114로 이동하여 동기화 시점을 재설정하고, 상기 단계 S108로 이동한다.
아울러 상기 단계 S108의 확인 결과, 동기화 대상 로그가 조회되면, 단계 S115로 이동하여 로그 동기화 모드로 진입을 하여 동기화 스레드를 생성하고, 단계 S116에서 동기화 로그 타입을 분석한 후 단계 S117에서 동기화 네트워크(TCP/IP) 연결을 실행한다.
다음으로, 상기 제1 로그 동기화기(140)는 리두 로그 파일 및 아카이브 로그 파일의 변경 데이터를 로그 파일 형태로 목표 서버(200)에 전송한다.
예컨대, 단계 S118에서 목표 서버(200)에 전송할 로그 파일이 리두 파일인지를 확인하여, 상기 목표 서버(200)에 전송할 로그 파일이 리두 파일이면 단계 S119로 이동하여 변경된 데이터 블록이 존재하는지를 확인한다.
상기 확인 결과, 변경된 데이터 블록이 존재하면 단계 S120으로 이동하여 변경된 데이터 블록을 목표 서버(200)로 전송한다. 이어, 단계 S121에서 리두 로그 파일의 전송이 완료되었는지를 확인하여, 완료되지 않았으면 변경된 데이터 블록의 전송 동작을 수행하고, 리두 로그 파일의 전송이 완료되었으면 단계 S122로 이동하여 아카이브 로그 생성 이벤트를 목표 서버(200)에 전송한다.
아울러 상기 단계 S118의 확인 결과, 목표 서버(200)에 전송한 로그 파일이 리두 파일이 아닐 경우, 단계 S123으로 이동하여 아카이브 로그를 분석하여 변경된 아카이브 로그 데이터를 블록을 측정하고, 단계 S124에서 로그 데이터 블록을 목표 서버(200)로 전송한다. 이어, 단계 S125에서 상기 아카이브 로그 데이터를 전송 후, 아카이브 로그 생성을 완료한다.
다음으로, 단계 S126에서 상기 목표 서버(200)로부터 리두 로그 파일 및 아카이브 로그 파일 전송 후, 응답 메시지가 수신되지 않으면 단계 S127로 이동하여 에러 이벤트를 발생하고, 응답 메시지가 정상적으로 수신되면 단계 S128로 이동하여 성공 이벤트를 발생한 후 로그 동기화를 종료하게 된다.
이러한 과정을 통해 소스 서버(100)에서 변경 데이터에 따른 로그 파일을 목표 서버(200)에 전송한다.
한편, 상기 목표 서버(200)의 제2 로그 동기화기(210)는 로그 복제를 위한 사전 준비가 이루어진 상태에서, 동기화 네트워크 연결이 이루어지지 않으면 네트워크 감시를 통해 동기화 네트워크 에러 이벤트를 발생한다.
예컨대, 단계 S201에서 로그 동기화를 위한 사전 준비 상태를 확인하여, 사전 준비가 이루어지지 않았으면, 단계 S202로 이동하여 로그 복제 저장소를 생성하고, 단계 S203에서 초기 리두 복제인지를 확인하여, 초기 리두 복제가 아니면 종료하고, 초기 리두 복제이면 단계 S204로 이동하여 서버 소켓을 생성한다. 마찬가지로 로그 동기화를 위한 사전 준비가 완료된 상태이면 바로 서버 소켓을 생성한다.
이어, 단계 S205에서 동기화 네트워크 연결 수신 상태를 확인하여, 동기화 네트워크 연결이 수신되지 않으면, 단계 S206으로 이동하여 모니터링 데이터를 소스 서버(100)에 전송한다. 아울러 단계 S207에서 상기 소스 서버의 응답 상태를 수신하여 에러 상태가 아니면 상기 단계 S205로 이동하고, 에러 상태이면 단계 S208로 이동하여 에러 이벤트를 발생하고 로그 동기화를 종료한다.
아울러 상기 단계 S205의 확인 결과, 상기 제2 로그 동기화기(210)에서 상기 동기화 네트워크 연결이 이루어지면, 로그 동기화 과정을 수행한다.
예컨대, 단계 S209에서 동기화 네트워크 연결이 이루어지면, 로그 동기화 모드로 진입을 하여, 동기화 데이터 수신 프로세스를 생성하고, 단계 S210에서 동기화 네트워크 오브젝트(Object)를 전달한 후 단계 S211에서 네트워크 인증을 확인한다.
네트워크 인증이 이루어져 로그 동기화 과정이 정상적으로 이루어지면, 변경 데이터 추출 및 복제부(230)에서 로그 동기화 타입을 분석하여 로그 동기화 파일이면 변경 데이터를 수신하여 복제 과정을 통해 변경 데이터 동기화를 실행한다.
예컨대, 단계 S212에서 로그 동기화 타입을 분석하여 리두 로그 동기화 파일이면 단계 S213에서 데이터 수신기를 이용하여 변경 데이터를 수신하고, 단계 S214에서 복제 과정을 통해 변경 데이터 동기화를 한다.
그리고 단계 S215에서 변경 데이터 동기화가 완료되면, 단계 S216으로 이동하여 아카이브 로그를 생성하고, 단계 S217에서 동기화 결과를 네트워크를 통해 상기 소스 서버(100)로 전송하고, 로그 동기화를 종료하게 된다.
또한, 상기 변경 데이터 추출 및 복제부(230)에서 상기 로그 동기화 타입을 분석한 결과, 로그 동기화 타입이 아닐 경우, 단계 S218로 이동하여 변경 데이터 전체를 수신하여 메모리에 저장하고, 이어 단계 S216으로 이동하여 아카이브 로그를 생성하고, 단계 S217에서 동기화 결과를 네트워크를 통해 상기 소스 서버(100)로 전송하고, 로그 동기화를 종료하게 된다.
이러한 과정을 통해 소스 서버(100)와 목표 서버(200) 간에 데이터베이스 동기화를 구현하게 되는 것이다.
이상 본 발명자에 의해서 이루어진 발명을 상기 실시 예에 따라 구체적으로 설명하였지만, 본 발명은 상기 실시 예에 한정되는 것은 아니고 그 요지를 이탈하지 않는 범위에서 여러 가지로 변경 가능한 것은 이 기술분야에서 통상의 지식을 가진 자에게 자명하다.
본 발명은 DBMS 시스템에서 소스 서버와 목표 서버 간에 변경 데이터를 실시간 동기화하는 기술에 효과적으로 적용된다.
100: 소스 서버
110: 소스 DBMS
120: 리두 로그 저장부
130: 아카이브 로그 저장부
140: 제1 로그 동기화기
200: 목표 서버
210: 제2 로그 동기화기
220: 로그 파일 저장부
221: 리두 로그 저장부
222: 아카이브 로그 저장부
230: 변경 데이터 추출 및 복제부
231: 변경 데이터 추출기
232: 변경 데이터 복제부
240: 목표 DBMS

Claims (15)

  1. 소스 서버의 변경 데이터를 목표 서버에 복제하여 소스 서버와 목표 서버 간의 데이터 동기화를 위한 시스템으로서,
    상기 소스 서버는 소스 DBMS 영역의 리두 로그 또는 아카이브 로그 파일에서 변경 데이터를 실시간으로 상기 목표 서버에 전송하고,
    상기 목표 서버는 상기 소스 서버로부터 전송되는 변경 데이터를 수신하여 로컬 영역에 임시 저장하고, 상기 로컬 영역 내에 저장된 변경 데이터를 추출하여 목표 DBMS에 복제하는 것을 특징으로 하는 소스 데이터베이스 관리시스템에서 변경되는 데이터를 실시간으로 목표 데이터베이스 관리시스템에 복제하는 장치.
  2. 청구항 1에서, 상기 소스 서버와 목표 서버는 변경 데이터를 로그 파일 형태로 송수신하여 소스 DBMS와 목표 DBMS의 데이터를 실시간 동기화하는 것을 특징으로 하는 소스 데이터베이스 관리시스템에서 변경되는 데이터를 실시간으로 목표 데이터베이스 관리시스템에 복제하는 장치.
  3. 청구항 1에서, 상기 소스 서버는 소스 DBMS 영역의 리두 로그 또는 아카이브 로그 파일에서 변경 데이터를 실시간으로 상기 목표 서버에 로그 파일 형태로 전송하는 제1 로그 동기화기를 포함하는 것을 특징으로 하는 소스 데이터베이스 관리시스템에서 변경되는 데이터를 실시간으로 목표 데이터베이스 관리시스템에 복제하는 장치.
  4. 청구항 3에서, 상기 제1 로그 동기화기는 리두 로그 파일 및 아카이브 로그 파일에서 변경데이터를 실시간으로 목표 서버로 전송하는 데이터 전송기를 포함하는 것을 특징으로 하는 소스 데이터베이스 관리시스템에서 변경되는 데이터를 실시간으로 목표 데이터베이스 관리시스템에 복제하는 장치.
  5. 청구항 1에서, 상기 목표 서버는 상기 소스 서버로부터 전송된 변경 데이터를 로컬 시스템 영역에 복제하는 제2 로그 동기화기; 상기 제2 로그 동기화기에서 복제되는 변경 데이터를 로그 파일로 저장하는 로그 파일 저장부; 상기 로그 파일 저장부에 저장된 리두 로그 파일 또는 아카이브 로그 파일에서 변경 데이터를 추출하고, 추출한 변경 데이터를 목표 DBMS에 복제하는 변경 데이터 추출 및 복제부를 포함하는 것을 특징으로 하는 소스 데이터베이스 관리시스템에서 변경되는 데이터를 실시간으로 목표 데이터베이스 관리시스템에 복제하는 장치.
  6. 청구항 5에서, 상기 제2 로그 동기화기는 상기 소스 서버로부터 네트워크를 통해 전송된 변경 데이터를 수신하여 로컬 시스템 영역에 복제하는 데이터 수신기; 주기적으로 사용된 리두 로그 파일 및 아카이브 로그 파일을 관리하는 백업기; 네트워크 또는 시스템 장애시 복구 기능을 수행하는 복구기를 포함하는 것을 특징으로 하는 소스 데이터베이스 관리시스템에서 변경되는 데이터를 실시간으로 목표 데이터베이스 관리시스템에 복제하는 장치.
  7. 청구항 5에서, 상기 로그 파일 저장부는 리두 로그 파일을 저장하는 리두 로그 파일 저장부; 아카이브 로그 파일을 저장하는 아카이브 로그 파일 저장부를 포함하는 것을 특징으로 하는 소스 데이터베이스 관리시스템에서 변경되는 데이터를 실시간으로 목표 데이터베이스 관리시스템에 복제하는 장치.
  8. 청구항 5에서, 상기 변경 데이터 추출 및 복제부는 상기 로그 파일 저장부에 저장된 리두 로그 파일 또는 아카이브 로그 파일에서 변경 데이터를 추출하는 변경 데이터 추출기; 상기 변경 데이터 추출기에서 추출한 변경 데이터를 목표 DBMS에 복제하는 변경 데이터 복제부를 포함하는 것을 특징으로 하는 소스 데이터베이스 관리시스템에서 변경되는 데이터를 실시간으로 목표 데이터베이스 관리시스템에 복제하는 장치.
  9. 소스 데이터베이스 관리시스템에서 변경되는 데이터를 실시간으로 목표 데이터베이스 관리시스템에 복제하기 위한 방법으로서,
    (a) 소스 서버에서 로그 파일 동기화를 위한 사전 준비가 이루어진 상태에서, 동기화 대상 로그가 존재하는지를 확인하는 단계;
    (b) 상기 소스 서버에서 (a)단계의 확인결과 동기화 대상 로그가 조회되지 않으면 동기화 에러 처리 과정을 수행하고, 상기 동기화 대상 로그가 존재할 경우, 로그 동기화 과정을 통해 목표 서버와 동기화 네트워크를 연결하는 단계;
    (c) 상기 소스 서버에서 리두 로그 파일 및 아카이브 로그 파일의 변경 데이터를 로그 파일 형태로 목표 서버에 전송하는 단계;
    (d) 상기 목표 서버에서 로그 복제를 위한 사전 준비가 이루어진 상태에서, 동기화 네트워크 연결이 이루어지지 않으면 네트워크 감시를 통해 동기화 네트워크 에러 이벤트를 발생하는 단계;
    (e) 상기 목표 서버에서 상기 동기화 네트워크 연결이 이루어지면, 로그 동기화 과정을 수행하는 단계;
    (f) 상기 목표 서버에서 상기 (e)단계에서 로그 동기화 과정이 정상적으로 이루어지면, 로그 동기화 타입을 분석하여 로그 동기화 파일이면 변경 데이터를 수신하여 복제 과정을 통해 변경 데이터 동기화를 실행하는 단계; 및
    (g) 상기 목표 서버에서 상기 로그 동기화 타입을 분석한 결과, 로그 동기화 타입이 아닐 경우 변경 데이터 전체를 수신하여 메모리에 저장하는 단계를 포함하는 것을 특징으로 하는 소스 데이터베이스 관리시스템에서 변경되는 데이터를 실시간으로 목표 데이터베이스 관리시스템에 복제하는 방법.
  10. 청구항 9에서, 상기 (a)단계는 (a1) 오라클 복제 대상 RAC 노드를 설정하는 단계; (a2) 복제를 위한 사전 준비가 완료되었는지를 확인하는 단계; (a3) 복제를 위한 사전 준비가 이루어지지 않은 상태이면, 로그 복제 목록 관리 테이블을 생성하고, 리두 로그 전체 동기화를 실행하는 단계; (a4) 상기 복제를 위한 사전 준비가 완료되었거나 상기 리두 로그 전체 동기화를 실행한 후, 복구 시점 여부를 확인하는 단계; (a5) 상기 복구 시점을 확인한 결과, 복구 시점이 아니면 현재 시점 로그 파일 동기화 모드를 설정하고, 복구 시점이면 저장된 과거 시점 동기화 모드를 설정하는 단계를 포함하는 것을 특징으로 하는 소스 데이터베이스 관리시스템에서 변경되는 데이터를 실시간으로 목표 데이터베이스 관리시스템에 복제하는 방법.
  11. 청구항 9에서, 상기 (b)단계는 (b1) 동기화 대상 로그가 조회되는지를 확인하는 단계; (b2) 상기 동기화 대상 로그가 조회되지 않으면, CRS 관제 모니터링 데이터를 목표 서버에 전송하고, 동기화 네트워크 상태를 체크하는 단계; (b3) 상기 동기화 네트워크 상태를 체크한 결과 동기화 에러가 아니면 상기 단계 (b1)으로 이동하고, 상기 동기화 네트워크 상태를 체크한 결과 동기화 에러이면 재시도 여부를 확인하는 단계; (b4) 상기 (b3)단계의 확인 결과 재시도가 아닐 경우, 에러 보고를 하고 로그 동기화를 종료하며, 재시도일 경우 동기화 시점 재설정을 하고 상기 단계 (b1) 으로 이동하는 단계; (b5) 상기 동기화 대상 로그가 조회되면, 로그 동기화 모드로 진입을 하여 동기화 스레드를 생성하고, 동기화 로그 타입을 분석한 후 동기화 네트워크 연결을 실행하는 단계를 포함하는 것을 특징으로 하는 소스 데이터베이스 관리시스템에서 변경되는 데이터를 실시간으로 목표 데이터베이스 관리시스템에 복제하는 방법.
  12. 청구항 9에서, 상기 (c)단계는 (c1) 목표 서버에 전송할 로그 파일이 리두 파일인지를 확인하는 단계; (c2) 상기 목표 서버에 전송할 로그 파일이 리두 파일이면 변경된 데이터 블록이 존재하는지를 확인하여, 변경된 데이터 블록이 존재하면 변경된 데이터 블록을 목표 서버로 전송하는 단계; (c3) 리두 로그 파일의 전송이 완료되면, 아카이브 로그 생성 이벤트를 전송하는 단계; (c4) 목표 서버에 전송한 로그 파일이 리두 파일이 아닐 경우, 아카이브 로그를 분석하여 변경된 아카이브 로그 데이터의 블록을 측정하여 전송하는 단계; (c5) 상기 아카이브 로그 데이터 블록 전송 후, 아카이브 로그 생성을 완료하는 단계; (c6) 상기 목표 서버로부터 리두 로그 파일 및 아카이브 로그 파일 전송 후, 응답 메시지가 수신되지 않으면 에러 이벤트를 발생하고, 응답 메시지가 수신되면 성공 이벤트를 발생한 후 로그 동기화를 종료하는 단계를 포함하는 것을 특징으로 하는 소스 데이터베이스 관리시스템에서 변경되는 데이터를 실시간으로 목표 데이터베이스 관리시스템에 복제하는 방법.
  13. 청구항 9에서, 상기 (d)단계는 (d1) 로그 동기화를 위한 사전 준비 상태를 확인하여, 사전 준비가 이루어지지 않았으면, 로그 복제 저장소를 생성하고 초기 리두 복제인지를 확인하여, 초기 리두 복제이면 서버 소켓을 생성하는 단계; (d2) 동기화 네트워크 연결 수신 상태를 확인하여, 동기화 네트워크 연결이 수신되지 않으면, 모니터링 데이터를 소스 서버에 전송하는 단계; (d3) 상기 소스 서버의 응답 상태를 수신하여 에러 상태가 아니면 상기 (d2) 단계로 이동하고, 에러 상태이면 에러 이벤트를 발생하고 로그 동기화를 종료하는 단계를 포함하는 것을 특징으로 하는 소스 데이터베이스 관리시스템에서 변경되는 데이터를 실시간으로 목표 데이터베이스 관리시스템에 복제하는 방법.
  14. 청구항 9에서, 상기 (e)단계는 (e1) 동기화 네트워크 연결이 이루어지면, 로그 동기화 모드로 진입을 하여, 동기화 데이터 수신 프로세스를 생성하고, 동기화 네트워크 오브젝트를 전달한 후 네트워크 인증을 확인하는 단계를 포함하는 것을 특징으로 하는 소스 데이터베이스 관리시스템에서 변경되는 데이터를 실시간으로 목표 데이터베이스 관리시스템에 복제하는 방법.
  15. 청구항 9에서, 상기 (f) 단계는 (f1) 로그 동기화 타입을 분석하여 리두 로그 동기화 파일이면 변경 데이터를 수신하여 복제 과정을 통해 변경 데이터 동기화하는 단계; (f2) 변경 데이터 동기화가 완료되면, 아카이브 로그를 생성하는 단계; (f3) 동기화 결과를 네트워크를 통해 상기 소스 서버로 전송하고, 로그 동기화를 종료하는 단계를 포함하는 것을 특징으로 하는 소스 데이터베이스 관리시스템에서 변경되는 데이터를 실시간으로 목표 데이터베이스 관리시스템에 복제하는 방법.







KR1020170028525A 2017-03-06 2017-03-06 소스 데이터베이스 관리시스템에서 변경되는 데이터를 실시간으로 목표 데이터베이스 관리시스템에 복제하는 장치 및 그 방법 KR101904786B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020170028525A KR101904786B1 (ko) 2017-03-06 2017-03-06 소스 데이터베이스 관리시스템에서 변경되는 데이터를 실시간으로 목표 데이터베이스 관리시스템에 복제하는 장치 및 그 방법
US15/909,360 US10795911B2 (en) 2017-03-06 2018-03-01 Apparatus and method for replicating changed-data in source database management system to target database management system in real time

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170028525A KR101904786B1 (ko) 2017-03-06 2017-03-06 소스 데이터베이스 관리시스템에서 변경되는 데이터를 실시간으로 목표 데이터베이스 관리시스템에 복제하는 장치 및 그 방법

Publications (2)

Publication Number Publication Date
KR20180101941A true KR20180101941A (ko) 2018-09-14
KR101904786B1 KR101904786B1 (ko) 2018-10-08

Family

ID=63355737

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170028525A KR101904786B1 (ko) 2017-03-06 2017-03-06 소스 데이터베이스 관리시스템에서 변경되는 데이터를 실시간으로 목표 데이터베이스 관리시스템에 복제하는 장치 및 그 방법

Country Status (2)

Country Link
US (1) US10795911B2 (ko)
KR (1) KR101904786B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020213985A1 (ko) * 2019-04-18 2020-10-22 주식회사 실크로드소프트 데이터베이스 시스템에서 효율적인 변경 데이터 캡쳐를 제공하기 위한 컴퓨터 프로그램

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101823130B1 (ko) * 2016-11-28 2018-03-09 주식회사 실크로드소프트 데이터베이스의 이중화를 위한 기법
US11120047B1 (en) 2018-08-22 2021-09-14 Gravic, Inc. Method and apparatus for continuously comparing two databases which are actively being kept synchronized
CN110032569B (zh) * 2019-01-17 2023-06-27 创新先进技术有限公司 变更数据检查方法、装置、设备及系统
US11249983B2 (en) * 2019-04-02 2022-02-15 International Business Machines Corporation Transaction change data forwarding
US11442958B2 (en) * 2019-04-25 2022-09-13 EMC IP Holding Company LLC Data distribution in continuous replication systems
US11397749B2 (en) * 2019-05-14 2022-07-26 International Business Machines Corporation Asynchronous replication of in-scope table data
CN111026783A (zh) * 2019-10-22 2020-04-17 无锡天脉聚源传媒科技有限公司 一种防卡死的数据存储方法、系统及装置
CN113407619A (zh) * 2020-03-16 2021-09-17 北京沃东天骏信息技术有限公司 构建数据的方法和装置以及数据库之间同步数据的系统
CN111694840B (zh) * 2020-04-29 2023-05-30 平安科技(深圳)有限公司 数据同步方法、装置、服务器及存储介质
CN112162904A (zh) * 2020-09-25 2021-01-01 同程网络科技股份有限公司 订单变更过程整合方法、提取方法、整合装置和提取装置
CN112131318B (zh) * 2020-11-30 2021-03-16 北京优炫软件股份有限公司 一种数据库集群中预写日志记录排序系统
US11226878B1 (en) 2021-03-02 2022-01-18 International Business Machines Corporation Accelerator-based database recovery
US11675809B2 (en) 2021-03-02 2023-06-13 International Business Machines Corporation Replicating data changes using multiple storage devices and tracking records of pending data changes stored on the storage devices
US11182260B1 (en) 2021-03-02 2021-11-23 International Business Machines Corporation Avoiding recovery log archive access in database accelerator environments
US11475043B2 (en) 2021-03-05 2022-10-18 International Business Machines Corporation Machine learning based application of changes in a target database system
US11500733B2 (en) 2021-03-19 2022-11-15 International Business Machines Corporation Volatile database caching in a database accelerator
US11797570B2 (en) 2021-03-19 2023-10-24 International Business Machines Corporation Asynchronous persistency of replicated data changes in a database accelerator
CN113515573B (zh) * 2021-05-08 2023-01-17 上海英方软件股份有限公司 一种oracle数据库一对多协商复制断点的方法及系统
KR20220159523A (ko) 2021-05-25 2022-12-05 (주)알투비솔루션 서버간 네트워크가 단절된 망분리 환경에서의 cdc 방식의 db 복제 시스템
CN114124707A (zh) * 2021-11-22 2022-03-01 中国电子科技集团公司第五十四研究所 一种网控中心多点热备方法
CN117555699A (zh) * 2024-01-11 2024-02-13 杭州剑齿虎信息技术有限公司 一种lck实时采集系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100891036B1 (ko) 2008-09-08 2009-03-31 (주)데이타뱅크시스템즈 데이터베이스의 실시간 복제를 통한 자동 복구 시스템 및 그 방법
KR100926880B1 (ko) 2007-05-21 2009-11-16 엔에이치엔(주) Dbms에서의 데이터 복제 방법 및 시스템
KR101374533B1 (ko) 2013-04-17 2014-03-14 주식회사 엔써티 대용량 데이터에 대한 고성능 복제 및 백업 시스템과, 고성능 복제 방법

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7065538B2 (en) * 2000-02-11 2006-06-20 Quest Software, Inc. System and method for reconciling transactions between a replication system and a recovered database
KR100503899B1 (ko) * 2002-11-26 2005-07-25 진진시스템(주) 데이터베이스 복제시스템 및 그 복제방법
US7769722B1 (en) * 2006-12-08 2010-08-03 Emc Corporation Replication and restoration of multiple data storage object types in a data network
US10216582B2 (en) * 2016-08-15 2019-02-26 International Business Machines Corporation Recovery log analytics with a big data management platform

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100926880B1 (ko) 2007-05-21 2009-11-16 엔에이치엔(주) Dbms에서의 데이터 복제 방법 및 시스템
KR100891036B1 (ko) 2008-09-08 2009-03-31 (주)데이타뱅크시스템즈 데이터베이스의 실시간 복제를 통한 자동 복구 시스템 및 그 방법
KR101374533B1 (ko) 2013-04-17 2014-03-14 주식회사 엔써티 대용량 데이터에 대한 고성능 복제 및 백업 시스템과, 고성능 복제 방법

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020213985A1 (ko) * 2019-04-18 2020-10-22 주식회사 실크로드소프트 데이터베이스 시스템에서 효율적인 변경 데이터 캡쳐를 제공하기 위한 컴퓨터 프로그램
KR20200123299A (ko) * 2019-04-18 2020-10-29 주식회사 실크로드소프트 데이터베이스 시스템에서 효율적인 변경 데이터 캡쳐를 제공하기 위한 컴퓨터 프로그램
US11726978B2 (en) 2019-04-18 2023-08-15 Silcroad Soft, Inc. Computer program for providing efficient change data capture in a database system

Also Published As

Publication number Publication date
US20180253483A1 (en) 2018-09-06
US10795911B2 (en) 2020-10-06
KR101904786B1 (ko) 2018-10-08

Similar Documents

Publication Publication Date Title
KR101904786B1 (ko) 소스 데이터베이스 관리시스템에서 변경되는 데이터를 실시간으로 목표 데이터베이스 관리시스템에 복제하는 장치 및 그 방법
US11567674B2 (en) Low overhead resynchronization snapshot creation and utilization
WO2019154394A1 (zh) 分布式数据库集群系统、数据同步方法及存储介质
JP4668763B2 (ja) ストレージ装置のリストア方法及びストレージ装置
US7383264B2 (en) Data control method for duplicating data between computer systems
CN101334797B (zh) 一种分布式文件系统及其数据块一致性管理的方法
CN101706795B (zh) 主备服务器上数据库数据同步方法
CN107291787B (zh) 主备数据库切换方法和装置
KR101662212B1 (ko) 부분동기화 지원 데이터베이스 관리 시스템 및 데이터베이스 관리 시스템에서 부분동기화 방법
US7103619B1 (en) System and method for automatic audit data archiving within a remote database backup system
US8521691B1 (en) Seamless migration between replication technologies
CN102098342B (zh) 一种基于事务级的数据同步方法、装置及系统
US10565071B2 (en) Smart data replication recoverer
CN111427898A (zh) 一种基于解析Oracle日志的持续数据保护系统及方法
CN108897641B (zh) 一种数据库主备环境下的日志分析服务实时同步系统
CN106339278A (zh) 一种网络文件系统的数据备份及恢复方法
CN113190620B (zh) Redis集群之间数据的同步方法、装置、设备及存储介质
CN109347655B (zh) 基于网络数据的故障恢复系统和方法及存储介质
CN105323271B (zh) 一种云计算系统以及云计算系统的处理方法和装置
KR101191832B1 (ko) 네트워크 패킷 분석을 통한 데이터베이스 복제 방법 및 시스템
CN106682141B (zh) 一种基于业务操作日志的数据同步方法
KR101825910B1 (ko) 리두 로그 분석 기반의 중립 데이터를 이용한 이기종 데이터베이스의 데이터 동기화 시스템 및 방법
US9311330B1 (en) Method and system for performing full backup in a failover cluster
CN112667698B (zh) 一种基于融媒体平台的MongoDB数据同步方法
KR101589213B1 (ko) 백업 데이터베이스를 활용한 운영 데이터베이스 부하 분산 방법

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