WO2019074155A1 - 데이터베이스 간의 실시간 통합 복제 시스템 - Google Patents

데이터베이스 간의 실시간 통합 복제 시스템 Download PDF

Info

Publication number
WO2019074155A1
WO2019074155A1 PCT/KR2017/013091 KR2017013091W WO2019074155A1 WO 2019074155 A1 WO2019074155 A1 WO 2019074155A1 KR 2017013091 W KR2017013091 W KR 2017013091W WO 2019074155 A1 WO2019074155 A1 WO 2019074155A1
Authority
WO
WIPO (PCT)
Prior art keywords
replication
module
data
transaction
source system
Prior art date
Application number
PCT/KR2017/013091
Other languages
English (en)
French (fr)
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 US15/770,214 priority Critical patent/US10303701B1/en
Publication of WO2019074155A1 publication Critical patent/WO2019074155A1/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/16File or folder operations, e.g. details of user interfaces specifically adapted to 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
    • 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/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/273Asynchronous replication or reconciliation
    • 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/21Design, administration or maintenance of databases
    • G06F16/215Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
    • 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/2379Updates performed during online database operations; commit processing

Definitions

  • the control module can also: control the replication module to append an identifier after the transaction to distinguish between transactions when the transaction is completed by a commit.
  • FIG. 6 and 7 are views for explaining an integrated replication method according to an embodiment of the present invention.
  • the integrated replication method may be performed by the integrated replication system 300 shown in FIG.
  • the integrated replication system 300 can selectively apply the first replication method and the second replication method according to a predetermined condition according to the situation, Method and a second copying method according to an embodiment of the present invention.

Landscapes

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

Abstract

본 발명의 일 실시예에 따른 통합 복제 시스템은 소스 시스템의 데이터 변경들을 나타내는 트랜잭션 또는 SQL 정보를 포함하는 정보를 수집하는 리더; 상기 리더에 의해 수집된 정보를 저장하는 저장 모듈; 제1 복제 방식 또는 제2 복제 방식을 통해 상기 소스 시스템의 변경 데이터를 타겟 시스템에 복제하는 복제 모듈; 상기 제1 복제 방식 및 제2 복제 방식을 미리 설정된 기준에 따라 어느 하나의 방식으로 선택적으로 적용하기 위하여 상기 복제 모듈을 제어하는 선택 모듈; 및 상기 복제 모듈에 의해 복제 방식의 변경이 이루어지는 경우, 특정 시점 이후의 데이터를 삭제하는 삭제 모듈;을 포함할 수 있다.

Description

데이터베이스 간의 실시간 통합 복제 시스템
본 발명은 통합 복제 시스템에 관한 것으로, 더 구체적으로는 다양한 데이터베이스간의 전환, 이전 및 통합을 위한 이기종 데이터베이스 간의 실시간 통합 복제 시스템에 관한 것으로, 과학기술정보통신부의 재원으로 지원을 받아 수행된 "다양한 이기종 데이터베이스로부터 실시간 데이터를 추출, 정제 및 복제하는 S/W 기술 개발"의 연구결과이다.
최근 정형 및 비정형 데이터베이스가 다양화되면서 정보 관리 환경은 더욱 복잡해지고 있으며, 다양한 IT 환경에서 데이터를 종합적으로 관리해야 하는 환경에 직면하고 있다.
빅데이터 시대의 도래를 통해 다양한 형태로 산재하는 무한에 가까운 데이터 환경에서 기업들은 비즈니스 성공을 위해 전사 데이터 통합을 선행하여 의미있는 데이터를 통해 가치 있는 정보를 얻는 일이 필수 과제가 되었다.
또한, 최근 기업내에서 데이터들은 폭발적으로 계속 증가하고 있고 동시에 실시간 기반의 서비스들이 계속해서 증가하고 있는 상황에서 많은 기업들은 항상 유연한 IT 인프라를 유지하고자 한다.
또한, 최근 클라우드 및 빅데이터 산업의 급격한 발전으로 인해 빠르게 증가하는 데이터를 정리하고 이동시키며 분석하기 위한 통합 관리 시스템의 요구가 증대되고 있다.
본 발명이 해결하고자 하는 과제는 데이터베이스의 복제 솔루션이 이기종 데이터베이스의 실시간 복제를 지원하지 못하고 있는 한계점을 극복하려는 것이며, 데이터를 실시간 복제함으로써 업무의 연속성을 유지할 수 있는 시스템을 제공하려는 것이다.
본 발명이 해결하고자 하는 과제는 복제된 데이터의 정합성을 보장하는 기술과 변경된 데이터 복제 기술을 통해 데이터베이스 서버 및 네트워크의 부하를 최소화할 수 있는 시스템을 제공하려는 것이다.
본 발명이 해결하고자 하는 과제는 실시간으로 데이터의 정합성을 검증하고 보정이 가능함으로 데이터의 가용성을 증대시킬 수 있는 시스템을 제공하려는 것이다.
본 발명의 일 실시예에 따른 통합 복제 시스템은 소스 시스템의 데이터 변경들을 나타내는 트랜잭션 또는 SQL 정보를 포함하는 정보를 수집하는 리더; 상기 리더에 의해 수집된 정보를 저장하는 저장 모듈; 제1 복제 방식 또는 제2 복제 방식을 통해 상기 소스 시스템의 변경 데이터를 타겟 시스템에 복제하는 복제 모듈; 상기 제1 복제 방식 및 제2 복제 방식을 미리 설정된 기준에 따라 어느 하나의 방식으로 선택적으로 적용하기 위하여 상기 복제 모듈을 제어하는 선택 모듈; 및 상기 복제 모듈에 의해 복제 방식의 변경이 이루어지는 경우, 특정 시점 이후의 데이터를 삭제하는 삭제 모듈;을 포함할 수 있다.
또한 상기 복제 모듈은 상기 제1 복제 방식을 실행시키는 제1 복제 모듈; 및
상기 제2 복제 방식을 실행시키는 제2 복제 모듈;을 포함하되, 상기 제1 복제 모듈은: 상기 소스 시스템의 데이터를 트랜잭션 단위로 추출하고, 트랜잭션을 완료하도록 상기 소스 시스템에 커밋(commint)이 이루어지면 상기 소스 시스템의 변경 데이터를 상기 타겟 시스템에 복제하도록 하고, 상기 제2 복제 모듈은: 상기 소스 시스템의 데이터를 SQL 단위로 추출하고, 상기 소스 시스템의 데이터는 SQL 단위로 캡쳐 및 추출해 해당 로그를 타겟 시스템에 전송되도록 하며, 이후 커밋(commint)이 이루어지면 소스 시스템의 변경 데이터를 상기 타겟 시스템에 복제하도록 할 수 있다.
또한 상기 선택 모듈은: 상기 제1 복제 모듈을 우선적으로 실행하고 미리 설정된 기준에 만족하는 경우에 제2 복제 모듈을 선택하여 실행하여 복제 방식을 변경시킬 수 있다.
또한 상기 선택 모듈은: 상기 소스 시스템에서 상기 타겟 시스템으로 전송되는 트랜잭션 데이터량과 미리 설정된 데이터량을 비교하여 상기 트랜잭션 데이터량이 미리 설정된 데이터량을 초과하는지 여부를 판단하는 트랜잭션 판단 모듈; 및 상기 트랜잭션 판단 모듈의 판단결과 상기 트랜잭션 데이터량이 미리 설정된 데이터량을 초과하면 상기 제2 복제 방식을 선택하기 위해 상기 제2 복제 모듈을 구동시키는 제어 모듈;을 포함할 수 있다.
또한 상기 제어 모듈은: 상기 제2 복제 모듈을 구동시킬 때, 상기 제1 복제 방식에서 제2 복제 방식으로 복제 방식을 변경하도록 하기 위해 상기 제1 복제 모듈의 구동을 중지시킬 수 있다.
또한 상기 제어 모듈은: 트랜잭션이 커밋에 의해 완료되는 경우 트랜잭션 간의 구분을 위해 트랜잭션 뒤에 식별자를 붙이도록 상기 복제 모듈을 제어할 수 있다.
또한 상기 삭제 모듈은: 제1 복제 방식으로 변경이 이루어지는 경우, 상기 트랜잭션 뒤에 붙는 식별자 중에서 가장 마지막에 붙은 최종 식별자를 찾고 그 이후의 데이터를 삭제할 수 있다.
본 발명에 따른 통합 복제 시스템에 의하면, 데이터베이스의 복제 솔루션이 이기종 데이터베이스의 실시간 복제를 지원하지 못하고 있는 한계점을 극복하려는 것이며, 데이터를 실시간 복제함으로써 업무의 연속성을 유지할 수 있는 시스템을 제공하는 효과를 가진다.
본 발명에 따른 통합 복제 시스템에 의하면, 복제된 데이터의 정합성을 보장하는 기술과 변경된 데이터 복제 기술을 통해 데이터베이스 서버 및 네트워크의 부하를 최소화할 수 있는 시스템을 제공하는 효과를 가진다.
본 발명에 따른 통합 복제 시스템에 의하면, 실시간으로 데이터의 정합성을 검증하고 보정이 가능함으로 데이터의 가용성을 증대시킬 수 있는 시스템을 제공하는 효과를 가진다.
본 발명에 따른 통합 복제 시스템에 의하면, 특정 시점 이후의 데이터를 삭제하여 복제 방식의 변경이 있더라도 변경 데이터를 정확하게 복제할 수 있는 효과를 가진다.
도 1은 본 발명의 일 실시예에 따른 통합 복제 시스템을 설명하기 위한 도면이다.
도 2는 도 1의 통합 복제 시스템을 구체적으로 설명하기 위한 블록도이다.
도 3은 도 2의 선택 모듈을 구체적으로 설명하기 위한 블록도이다.
도 4는 본 발명의 일 실시예에 따른 통합 복제 시스템의 제1 복제 방식을 설명하기 위한 도면이다.
도 5는 본 발명의 일 실시예에 따른 통합 복제 시스템의 제2 복제 방식을 설명하기 위한 도면이다.
도 6 및 도 7은 본 발명의 일 실시예에 따른 통합 복제 방법을 설명하기 위한 도면이다.
도 8은 본 발명의 일 실시예에 따른 복제 방식 변경시의 통합 복제 방법을 설명하기 위한 도면이다.
도 9는 본 발명의 일 실시예에 따른 복제 방식 변경시의 통합 복제 방법에 대한 흐름도이다.
명세서 또는 출원에 개시되어 있는 본 발명의 실시 예들에 대해서 특정한 구조적 내지 기능적 설명들은 단지 본 발명에 따른 실시 예를 설명하기 위한 목적으로 예시된 것으로, 본 발명에 따른 실시 예들은 다양한 형태로 실시될 수 있으며 본 명세서 또는 출원에 설명된 실시예들에 한정되는 것으로 해석되어서는 아니 된다.
본 발명에 따른 실시예는 다양한 변경을 가할 수 있고 여러가지 형태를 가질 수 있으므로 특정실시 예들을 도면에 예시하고 본 명세서 또는 출원에 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시 예를 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1 및/또는 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만, 예컨대 본 발명의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다.
반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 명세서에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다.
일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시 예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.
도 1은 본 발명의 일 실시예에 따른 통합 복제 시스템을 설명하기 위한 도면으로, 본 발명의 일 실시예에 따른 복제 환경을 개략적으로 나타내는 도면이다.
상기 통합 복제 시스템(300)은 네트워크(400)를 통해 소스 시스템(100) 및 타겟 시스템(200)과 연결되며, 소스 시스템(100)에서 타겟 시스템(200)으로 데이터의 복제를 수행한다.
상기 네트워크(400)는 인터넷, 컴퓨터 네트워크와 같은 통상의 지식을 가진자에게 알려진 통신 링크를 포함할 수 있으며, 전화 또는 케이블 서비스, 무선 또는 위성 서비스 등을 포함 할 수 있다.
상기 소스 시스템(100) 및 타겟 시스템(200)은 데이터베이스 관리 시스템 (DBMS)에 따라 데이터를 구성 및 저장한다.
상기 통합 복제 시스템(300)은 소스 시스템(100)에 대한 변경을 포착하고, 이러한 변경을 제1 복제 방식 또는 제2 복제 방식을 선택하여 선택된 복제 방식을 통해 타겟 시스템(200)에 전송함으로써 소스 시스템(100)의 데이터 및 타겟 시스템(200)의 데이터가 서로 동기화되게 한다.
상기 통합 복제 시스템(300)은 다양한 컴퓨팅 장치 또는 시스템의 하드웨어 및 소프트웨어 구성에 기초하여 로드 밸런싱 기능을 제공할 수 있다. 또한, 통합 복제 시스템(300)은 로컬 복사본이 데이터베이스의 중앙 복사본과 동기화되거나 또는 그 반대의 경우와 같은 브로드 캐스트 또는 통합 기능을 제공할 수 있다.
상기 통합 복제 시스템(300)에 대해서는 이하에서 더 구체적으로 설명하기로 한다.
도 2는 도 1의 통합 복제 시스템을 구체적으로 설명하기 위한 블록도이다. 상기 통합 복제 시스템(300)은 리더(310), 복제 모듈(320), 선택 모듈(330), 저장 모듈(340), 삭제 모듈(350)을 포함하고, 상기 복제 모듈(320)은 제1 복제 모듈(321) 및 제2 복제 모듈(323)을 포함한다.
상기 리더(310)는 상기 소스 시스템(100)의 로그 파일들을 분석할 수 있다. 예컨대, 상기 리더(310)는 상기 소스 시스템(100)의 데이터 변경들을 나타내는 트랜잭션 또는 SQL 정보를 수집할 수 있으며, 수집된 정보를 저장 모듈(340)에 저장하게 할 수 있다.
상기 복제 모듈(320)은 특정 방식(예컨대, 제1 복제 방식 또는 제2 복제 방식)을 통해 소스 시스템(100)의 변경 데이터를 타겟 시스템(200)에 복제시키도록 한다.
상기 제1 복제 모듈(321)은 소스 시스템(100)의 데이터를 트랜잭션 단위로 추출할 수 있다. 예컨대, 트랜잭션을 완료하도록 상기 소스 시스템(100)에 명령하는 커밋(commint)이 이루어지면 소스 시스템(100)의 변경 데이터를 타겟 시스템(200)에 복제하도록 한다.
예컨대, 상기 제1 복제 모듈(321)은 커밋이 이루어지면 커밋된 로그를 타겟 시스템(200)에 전송하여 커밋된 로그에 상응하는 변경 데이터를 타겟 시스템(200)에 적용하여 복제가 이루어지도록 한다.
즉, 상기 제1 복제 모듈(321)은 커밋을 통해 트랜잭션 단위로 캡쳐하고 커밋이 이루어지면 이를 추출하여 타겟 시스템(200)으로 커밋된 로그를 전송하여 변경 데이터가 타겟 시스템(200)에 적용, 즉 복제될 수 있도록 한다.
상기 제1 복제 모듈(321)에 의하면, 불필요한 롤백(Rollback) 데이터 전송이 발생하지 않는 장점이 있으나, 대량의 트랜잭션 발생시 순간적인 부하 및 반영시간이 증가하는 면을 고려해 특정 조건 하에 제2 방식이 선택될 수 있다.
상기 제2 복제 모듈(323)은 소스 시스템(100)의 데이터를 SQL 단위로 추출할 수 있다. 예컨대, 소스 시스템(100)의 데이터는 SQL 단위로 캡쳐되어 추출되고 해당 로그가 타겟 시스템(200)에 전송된다.
이후 상기 제2 복제 모듈(323)은 커밋(commint)이 이루어지면 소스 시스템(100)의 변경 데이터를 타겟 시스템(200)에 적용, 즉 복제하도록 한다.
상기 제2 복제 모듈(323)은 커밋이 이루어지지 않더라도 SQL 단위로 추출된 데이터의 로그를 타겟 시스템(200)에 전송하고 이후 커밋이 이루어지면, 커밋된 로그에 상응하는 변경 데이터를 타겟 시스템(200)에 적용하여 복제가 이루어지도록 한다.
상기 선택 모듈(330)은 제1 복제 방식 및 제2 복제 방식을 미리 설정된 기준에 따라 상황에 맞게 선택적으로 적용하기 위하여 상기 제1 복제 모듈(321) 및 상기 제2 복제 모듈(323) 중 어느 하나를 선택하여 실행할 수 있다.
상기 선택 모듈(330)은 기본적으로는 제1 복제 모듈(321)을 우선적으로 실행하고 미리 설정된 기준에 만족하는 경우 제2 복제 모듈(323)을 선택하여 실행하도록 설정될 수 있다.
상기 삭제 모듈(350)은 예컨대, 제2 복제 모듈(323)에 의해 제2 복제 방식이 실행 중인 경우에 제1 복제 방식으로 변경이 이루어지는 경우, 하나의 트랜잭션 뒤에 붙는 최종 식별자를 찾고 그 이후의 데이터를 삭제한다.
제2 복제 방식에 의해 복제가 이루어지는 경우 타겟 시스템(200)에 SQL 단위로 추출되어 데이터 로그 전송이 이루어지기 때문에, 상기 삭제 모듈(350)은 트랜잭션 단위의 전송을 취하는 제1 복제 방식으로의 변경이 이루어지는 경우에는 최종 식별자(ID_2)를 검색하여 그 이후의 자료를 삭제하도록 하는 것이다.
도 3은 도 2의 선택 모듈을 구체적으로 설명하기 위한 블록도이다. 상기 선택 모듈(330)은 트랜잭션 판단 모듈(331) 및 제어 모듈(333)을 포함한다.
상기 트랜잭션 판단 모듈(331)은 소스 시스템(100)에서 타겟 시스템(200)으로 전송되는 트랜잭션 데이터량과 미리 설정된 데이터량을 비교하여 상기 트랜잭션 데이터량이 미리 설정된 데이터량을 초과하는지 여부를 판단한다.
상기 제어 모듈(333)은 판단결과, 상기 트랜잭션 데이터량이 미리 설정된 데이터량을 초과하면 제2 복제 방식을 선택하기 위해 제2 복제 모듈(323)을 구동시키킨다.
즉, 상기 제어 모듈(333)은 제1 복제 방식에서 제2 복제 방식으로 복제 방식을 변경하도록 하여 제1 복제 모듈(321)의 구동을 중지시키고 제2 복제 모듈(323)을 활성화 시킨다.
도 4는 본 발명의 일 실시예에 따른 통합 복제 시스템의 제1 복제 방식을 설명하기 위한 도면이다. 상기 제1 복제 방식은 도 2에 도시된 통합 복제 시스템(300)의 제1 복제 모듈(321)을 통해 실행된다.
상기 제1 복제 모듈(321)은 소스 시스템(100)의 데이터를 트랜잭션 단위로 추출할 수 있다. 예컨대, 트랜잭션을 완료하도록 상기 소스 시스템(100)에 명령하는 커밋(commint)이 이루어지면 소스 시스템(100)의 변경 데이터를 타겟 시스템(200)에 복제하도록 한다.
예컨대, 상기 제1 복제 모듈(321)은 커밋이 이루어지면 커밋된 로그를 타겟 시스템(200)에 전송하여 커밋된 로그에 상응하는 변경 데이터를 타겟 시스템(200)에 적용하여 복제가 이루어지도록 한다.
즉, 상기 제1 복제 모듈(321)은 커밋을 통해 트랜잭션 단위로 캡쳐하고 커밋이 이루어지면 이를 추출하여 타겟 시스템(200)으로 커밋된 로그를 전송하여 변경 데이터가 타겟 시스템(200)에 적용, 즉 복제될 수 있도록 한다.
도 5는 본 발명의 일 실시예에 따른 통합 복제 시스템의 제2 복제 방식을 설명하기 위한 도면이다. 상기 제2 복제 방식은 도 2에 도시된 통합 복제 시스템(300)의 제2 복제 모듈(323)을 통해 실행된다.
상기 제2 복제 모듈(323)은 소스 시스템(100)의 데이터를 SQL 단위로 추출할 수 있다. 예컨대, 소스 시스템(100)의 데이터는 SQL 단위로 캡쳐되어 추출되고 해당 로그가 타겟 시스템(200)에 전송된다.
이후 상기 제2 복제 모듈(323)은 커밋(commint)이 이루어지면 소스 시스템(100)의 변경 데이터를 타겟 시스템(200)에 적용, 즉 복제하도록 한다.
상기 제2 복제 모듈(323)은 커밋이 이루어지지 않더라도 SQL 단위로 추출된 데이터의 로그를 타겟 시스템(200)에 전송하고 이후 커밋이 이루어지면, 커밋된 로그에 상응하는 변경 데이터를 타겟 시스템(200)에 적용하여 복제가 이루어지도록 한다.
도 6 및 도 7은 본 발명의 일 실시예에 따른 통합 복제 방법을 설명하기 위한 도면이다. 상기 통합 복제 방법은 도 1에 도시된 통합 복제 시스템(300)에 의해 수행될 수 있다.
도 6을 참고하면, 상기 통합 복제 시스템(300)은 선택 모듈(330)을 통해 제1 복제 모듈(321)을 동작시켜 제1 복제 방식을 선택한다(S10).
다음으로, 트랜잭션 데이터를 로그에 기록하며(S20), 커밋 명령이 이루어졌는지를 판단한다(S30).
커밋이 이루어진 경우, 추출된 커밋된 로그가 타겟 시스템(200)에 전송되어 커밋된 로그에 상응하는 데이터가 타겟 시스템에 적용, 즉 복제된다(S40).
이후, 상기 선택 모듈(330)은 소스 시스템(100)에서 타겟 시스템(200)으로 전송되는 트랜잭션 데이터량과 미리 설정된 데이터량을 비교하여 상기 트랜잭션 데이터량이 미리 설정된 데이터량을 초과하는 것을 감지하게 되면(S50), 상기 선택 모듈(330)은 제2 복제 방식을 선택하기 위해 제2 복제 모듈(323)을 동작시킨다(S60).
도 7은 제2 복제 모듈(323)을 동작되어 제2 복제 방식이 선택된 흐름도이다.
도 7을 참고하면, 상기 통합 복제 시스템(300)은 데이터를 SQL 단위로 캡쳐하고 추출한다(S100). 이후 SQL 단위 추출된 데이터 로그는 타겟 시스템(200)에 전송된다(S200).
이후 커밋이 이루어졌는지가 판단되어(S300), 커밋이 이루어진 경우에는 커밋된 로그에 상응하는 데이터가 타겟 시스템(200)에 적용, 즉 복제된다(S400).
본 발명의 일 실시예에 따른 통합 복제 시스템(300)은 제1 복제 방식 및 제2 복제 방식을 미리 설정된 기준에 따라 상황에 맞게 선택적으로 적용시킬 수 있으며, 이로써 사용자의 업무 특성에 따라 제1 복제 방식 및 제2 복제 방식 중 어느 하나로 선택적으로 운영이 가능힌 효과가 있다.
도 8은 본 발명의 일 실시예에 따른 복제 방식 변경시의 통합 복제 방법을 설명하기 위한 도면이다.
도 8에서는 제2 복제 방식이 실행 중인 경우에 제1 복제 방식으로 변경이 이루어진 경우의 데이터 삭제 영역을 나타낸다.
각 트랜잭션(T1, T2)이 커밋(commit_1, commit_2)에 의해 완료되는 경우 그 뒤에는 식별자(ID_1, ID_2)가 붙도록 하며, 식별자(ID_1, ID_2)를 통해 트랜잭션을 구분할 수 있다.
제2 복제 방식에 의해 복제가 이루어지는 경우 타겟 시스템(200)에 SQL 단위로 추출되어 데이터 로그 전송이 이루어지기 때문에, 트랜잭션 단위의 전송을 취하는 제1 복제 방식으로의 변경이 이루어지는 경우에는 최종 식별자(ID_2)를 검색하여 그 이후의 자료를 삭제하도록 하는 것이다.
도 9는 본 발명의 일 실시예에 따른 복제 방식 변경시의 통합 복제 방법에 대한 흐름도이다.
도 9를 참고하면, 선택 모듈(330)이 제1 복제 방식을 선택하면(S1000), 도 8에서 설명한 것처럼 최종 식별자(ID_2)를 검색한다(S2000).
최종 식별자(ID_2)가 검색되면, 최종 식별자(ID_2) 이후의 데이터를 삭제 처리한다(S3000).
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다.
컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장장치 등이 있으며, 또한 본 발명에 따른 객체 정보 추정 방법을 수행하기 위한 프로그램 코드는 캐리어 웨이브(예를 들어, 인터넷을 통한 전송)의 형태로 전송될 수도 있다.
또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.
본 발명은 도면에 도시된 일 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다.
따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.

Claims (7)

  1. 소스 시스템의 데이터 변경들을 나타내는 트랜잭션 또는 SQL 정보를 포함하는 정보를 수집하는 리더;
    상기 리더에 의해 수집된 정보를 저장하는 저장 모듈;
    제1 복제 방식 또는 제2 복제 방식을 통해 상기 소스 시스템의 변경 데이터를 타겟 시스템에 복제하는 복제 모듈;
    상기 제1 복제 방식 및 제2 복제 방식을 미리 설정된 기준에 따라 어느 하나의 방식으로 선택적으로 적용하기 위하여 상기 복제 모듈을 제어하는 선택 모듈; 및
    상기 복제 모듈에 의해 복제 방식의 변경이 이루어지는 경우, 특정 시점 이후의 데이터를 삭제하는 삭제 모듈;을 포함하는 것을 특징으로 하는 통합 복제 시스템.
  2. 제1항에 있어서,
    상기 복제 모듈은
    상기 제1 복제 방식을 실행시키는 제1 복제 모듈; 및
    상기 제2 복제 방식을 실행시키는 제2 복제 모듈;을 포함하되,
    상기 제1 복제 모듈은:
    상기 소스 시스템의 데이터를 트랜잭션 단위로 추출하고, 트랜잭션을 완료하도록 상기 소스 시스템에 커밋(commint)이 이루어지면 상기 소스 시스템의 변경 데이터를 상기 타겟 시스템에 복제하도록 하고,
    상기 제2 복제 모듈은:
    상기 소스 시스템의 데이터를 SQL 단위로 추출하고, 상기 소스 시스템의 데이터는 SQL 단위로 캡쳐 및 추출해 해당 로그를 타겟 시스템에 전송되도록 하며, 이후 커밋(commint)이 이루어지면 소스 시스템의 변경 데이터를 상기 타겟 시스템에 복제하도록 하는 것을 특징으로 하는 통합 복제 시스템.
  3. 제2항에 있어서,
    상기 선택 모듈은:
    상기 제1 복제 모듈을 우선적으로 실행하고 미리 설정된 기준에 만족하는 경우에 제2 복제 모듈을 선택하여 실행하여 복제 방식을 변경시키는 것을 특징으로 하는 통합 복제 시스템.
  4. 제3항에 있어서,
    상기 선택 모듈은:
    상기 소스 시스템에서 상기 타겟 시스템으로 전송되는 트랜잭션 데이터량과 미리 설정된 데이터량을 비교하여 상기 트랜잭션 데이터량이 미리 설정된 데이터량을 초과하는지 여부를 판단하는 트랜잭션 판단 모듈; 및
    상기 트랜잭션 판단 모듈의 판단결과 상기 트랜잭션 데이터량이 미리 설정된 데이터량을 초과하면 상기 제2 복제 방식을 선택하기 위해 상기 제2 복제 모듈을 구동시키는 제어 모듈;을 포함하는 것을 특징으로 하는 통합 복제 시스템.
  5. 제4항에 있어서,
    상기 제어 모듈은:
    상기 제2 복제 모듈을 구동시킬 때, 상기 제1 복제 방식에서 제2 복제 방식으로 복제 방식을 변경하도록 하기 위해 상기 제1 복제 모듈의 구동을 중지시키는 것을 특징으로 하는 통합 복제 시스템.
  6. 제4항에 있어서,
    상기 제어 모듈은:
    트랜잭션이 커밋에 의해 완료되는 경우 트랜잭션 간의 구분을 위해 트랜잭션 뒤에 식별자를 붙이도록 상기 복제 모듈을 제어하는 것을 특징으로 하는 통합 복제 시스템.
  7. 제6항에 있어서,
    상기 삭제 모듈은:
    제1 복제 방식으로 변경이 이루어지는 경우, 상기 트랜잭션 뒤에 붙는 식별자 중에서 가장 마지막에 붙은 최종 식별자를 찾고 그 이후의 데이터를 삭제하는 것을 특징으로 하는 통합 복제 시스템.
PCT/KR2017/013091 2017-10-11 2017-11-17 데이터베이스 간의 실시간 통합 복제 시스템 WO2019074155A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US15/770,214 US10303701B1 (en) 2017-10-11 2017-11-17 Real-time integrated replication system between databases

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020170129429A KR101826827B1 (ko) 2017-10-11 2017-10-11 데이터베이스 간의 실시간 통합 복제 시스템
KR10-2017-0129429 2017-10-11

Publications (1)

Publication Number Publication Date
WO2019074155A1 true WO2019074155A1 (ko) 2019-04-18

Family

ID=61199031

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2017/013091 WO2019074155A1 (ko) 2017-10-11 2017-11-17 데이터베이스 간의 실시간 통합 복제 시스템

Country Status (3)

Country Link
US (1) US10303701B1 (ko)
KR (1) KR101826827B1 (ko)
WO (1) WO2019074155A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11256713B2 (en) * 2020-04-27 2022-02-22 International Business Machines Corporation Virtual transaction queues for database replication
US11630814B2 (en) 2020-12-10 2023-04-18 International Business Machines Corporation Automated online upgrade of database replication
US20230244691A1 (en) * 2022-01-31 2023-08-03 Nutanix, Inc. Replication using data identity

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004348701A (ja) * 2003-03-27 2004-12-09 Hitachi Ltd 計算機システム間のデータ二重化制御方法
KR20140050903A (ko) * 2012-10-22 2014-04-30 주식회사 엔써티 데이터베이스의 실시간 백업 시스템, 데이터 복구 시스템 및 데이터 복구 방법
KR101562359B1 (ko) * 2014-10-14 2015-10-22 주식회사 웨어밸리 Oltp와 olap의 동시 서비스를 위한 데이터 베이스 이중화 시스템 및 그 방법
KR20160050930A (ko) * 2014-10-31 2016-05-11 에스케이텔레콤 주식회사 대용량 분산 파일 시스템에서 데이터의 수정을 포함하는 트랜잭션 처리 장치 및 컴퓨터로 읽을 수 있는 기록매체
JP2017027326A (ja) * 2015-07-22 2017-02-02 株式会社東芝 ストレージシステムおよびストレージシステム用プログラム
KR20170089067A (ko) * 2016-01-25 2017-08-03 한국전자통신연구원 빅데이터 처리 시스템 및 처리 방법

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100503899B1 (ko) 2002-11-26 2005-07-25 진진시스템(주) 데이터베이스 복제시스템 및 그 복제방법
KR100926880B1 (ko) * 2007-05-21 2009-11-16 엔에이치엔(주) Dbms에서의 데이터 복제 방법 및 시스템
KR101024249B1 (ko) 2008-05-28 2011-03-29 매크로임팩트 주식회사 실시간 데이터 복제 시스템
KR100891036B1 (ko) 2008-09-08 2009-03-31 (주)데이타뱅크시스템즈 데이터베이스의 실시간 복제를 통한 자동 복구 시스템 및 그 방법
KR101513943B1 (ko) 2008-12-01 2015-04-23 주식회사 케이티 실시간 복제 환경의 데이터베이스 운용 관리 방법 및 시스템
US9658841B2 (en) * 2012-08-30 2017-05-23 Avaya Inc. System and method for efficient software replication
WO2014101207A1 (en) * 2012-12-31 2014-07-03 Sybase, Inc. Continuous change data capture without disruption of ddl
US9589041B2 (en) * 2013-07-25 2017-03-07 Oracle International Corporation Client and server integration for replicating data
GB2524540A (en) * 2014-03-26 2015-09-30 Ibm Replication of a relational database

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004348701A (ja) * 2003-03-27 2004-12-09 Hitachi Ltd 計算機システム間のデータ二重化制御方法
KR20140050903A (ko) * 2012-10-22 2014-04-30 주식회사 엔써티 데이터베이스의 실시간 백업 시스템, 데이터 복구 시스템 및 데이터 복구 방법
KR101562359B1 (ko) * 2014-10-14 2015-10-22 주식회사 웨어밸리 Oltp와 olap의 동시 서비스를 위한 데이터 베이스 이중화 시스템 및 그 방법
KR20160050930A (ko) * 2014-10-31 2016-05-11 에스케이텔레콤 주식회사 대용량 분산 파일 시스템에서 데이터의 수정을 포함하는 트랜잭션 처리 장치 및 컴퓨터로 읽을 수 있는 기록매체
JP2017027326A (ja) * 2015-07-22 2017-02-02 株式会社東芝 ストレージシステムおよびストレージシステム用プログラム
KR20170089067A (ko) * 2016-01-25 2017-08-03 한국전자통신연구원 빅데이터 처리 시스템 및 처리 방법

Also Published As

Publication number Publication date
KR101826827B1 (ko) 2018-02-09
US10303701B1 (en) 2019-05-28
US20190138535A1 (en) 2019-05-09

Similar Documents

Publication Publication Date Title
WO2018093094A1 (ko) 데이터베이스 관리 시스템에서의 데이터 복제 기법
US7483928B2 (en) Storage operation management program and method and a storage management computer
WO2012057581A4 (ko) 클라우드 컴퓨팅 시스템 및 그의 데이터 동기화 방법
WO2019074155A1 (ko) 데이터베이스 간의 실시간 통합 복제 시스템
WO2010058949A2 (ko) 스냅샷 데이터베이스를 이용한 정보 복구 방법 및 장치
WO2014193037A1 (ko) 맵리듀스 연산 가속 시스템 및 방법
WO2010123168A1 (ko) 데이터베이스 관리 방법 및 시스템
WO2021040166A1 (ko) 소프트웨어 업데이트를 위한 신구 데이터간의 차분 생성 방법 및 그 장치
WO2021107211A1 (ko) 인메모리 데이터베이스 기반의 시계열 데이터 관리시스템
WO2014189190A1 (ko) 데이터 부재 태깅 기반의 정보 검색 시스템 및 방법
WO2019045309A1 (ko) 실시간 파일 변경 감지 기반 자동백업 장치
WO2024090932A1 (ko) 수집 데이터 자동 처리를 위한 데이터 적재 프로파일링 장치 및 방법
WO2022181958A1 (ko) 시스템 프로세스 정보를 이용한 클라우드 마이그레이션 데이터 분석 방법 및 그 시스템
WO2021133076A1 (ko) 인공지능 학습데이터 생성을 위한 크라우드소싱 기반 프로젝트의 작업단가 관리 방법 및 장치
WO2018043767A1 (ko) 데이터 에이전트 컨테이너를 이용한 데이터 수집 방법 및 이의 시스템
WO2019074156A1 (ko) 복제 방식의 변경을 고려한 통합 복제 시스템
WO2010093084A1 (ko) 분산 스페이스를 이용하여 분산 프로그래밍 환경을 제공하기 위한 방법, 시스템 및 컴퓨터 판독 가능한 기록 매체
WO2019074154A1 (ko) 통합 복제 시스템
WO2013100415A1 (ko) 분산 데이터 품질 관리 시스템 및 그 방법
WO2015163697A1 (ko) Db2 데이터베이스에서 데이터를 복원하는 방법 및 장치
WO2022260399A1 (ko) 작성된 리스트 기반 백업 데이터 자동 압축 방법 및 컴퓨터 프로그램
WO2023249156A1 (ko) 코드 정보 제공을 위한 전자 장치 및 그 방법
WO2023090807A1 (ko) 모델 서버 스케일링을 제어하는 ai 모델 운영 장치 및 방법
US11449551B2 (en) Handling out-of-order data during stream processing and persisting it in a temporal graph database
WO2013073761A1 (ko) 비정상 종료 처리 방법, 이를 수행하는 비정상 종료 처리 서버 및 이를 저장한 기록 매체

Legal Events

Date Code Title Description
NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17928195

Country of ref document: EP

Kind code of ref document: A1