KR101859094B1 - 복제 방식의 변경을 고려한 통합 복제 시스템 - Google Patents

복제 방식의 변경을 고려한 통합 복제 시스템 Download PDF

Info

Publication number
KR101859094B1
KR101859094B1 KR1020170129431A KR20170129431A KR101859094B1 KR 101859094 B1 KR101859094 B1 KR 101859094B1 KR 1020170129431 A KR1020170129431 A KR 1020170129431A KR 20170129431 A KR20170129431 A KR 20170129431A KR 101859094 B1 KR101859094 B1 KR 101859094B1
Authority
KR
South Korea
Prior art keywords
replication
module
data
change
transaction
Prior art date
Application number
KR1020170129431A
Other languages
English (en)
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 KR1020170129431A priority Critical patent/KR101859094B1/ko
Priority to PCT/KR2017/013095 priority patent/WO2019074156A1/ko
Application granted granted Critical
Publication of KR101859094B1 publication Critical patent/KR101859094B1/ko

Links

Images

Classifications

    • G06F17/30115
    • 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

Landscapes

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

Abstract

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

Description

복제 방식의 변경을 고려한 통합 복제 시스템{INTEGRATED REPLICATION SYSTEM CONSIDERING CHANGE OF REPLICATION METHOD}
본 발명은 다양한 데이터베이스간의 전환, 이전 및 통합을 위한 이기종 데이터베이스 간의 실시간 통합 복제 시스템에 관한 것으로, 더 구체적으로는 복제 방식의 변경을 고려한 통합 복제 시스템에 관한 것이다.
최근 정형 및 비정형 데이터베이스가 다양화되면서 정보 관리 환경은 더욱 복잡해지고 있으며, 다양한 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 복제 방식을 유지하도록 하는 변경 대기 모듈;을 더 포함할 수 있다.
또힌 상기 변경 대기 모듈은: 상기 제1 복제 방식을 유지하다가 이후 커밋이 이루어진 경우에 상기 제어 모듈이 제2 복제 방식으로 변경을 하도록 알려 제2 복제 방식으로의 변경을 수행할 수 있다.
본 발명에 따른 통합 복제 시스템에 의하면, 데이터베이스의 복제 솔루션이 이기종 데이터베이스의 실시간 복제를 지원하지 못하고 있는 한계점을 극복하려는 것이며, 데이터를 실시간 복제함으로써 업무의 연속성을 유지할 수 있는 시스템을 제공하는 효과를 가진다.
본 발명에 따른 통합 복제 시스템에 의하면, 복제된 데이터의 정합성을 보장하는 기술과 변경된 데이터 복제 기술을 통해 데이터베이스 서버 및 네트워크의 부하를 최소화할 수 있는 시스템을 제공하는 효과를 가진다.
본 발명에 따른 통합 복제 시스템에 의하면, 실시간으로 데이터의 정합성을 검증하고 보정이 가능함으로 데이터의 가용성을 증대시킬 수 있는 시스템을 제공하는 효과를 가진다.
본 발명에 따른 통합 복제 시스템에 의하면, 특정 시점 이후의 데이터를 삭제하여 복제 방식의 변경이 있더라도 변경 데이터를 정확하게 복제할 수 있는 효과를 가진다.
도 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)을 포함하고, 상기 복제 모듈(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)을 선택하여 실행하도록 설정될 수 있다.
도 3은 도 2의 선택 모듈을 구체적으로 설명하기 위한 블록도이다. 상기 선택 모듈(330)은 트랜잭션 판단 모듈(331), 제어 모듈(333) 및 변경 대기 모듈(335)을 포함한다.
상기 트랜잭션 판단 모듈(331)은 소스 시스템(100)에서 타겟 시스템(200)으로 전송되는 트랜잭션 데이터량과 미리 설정된 데이터량을 비교하여 상기 트랜잭션 데이터량이 미리 설정된 데이터량을 초과하는지 여부를 판단한다.
상기 제어 모듈(333)은 판단결과, 상기 트랜잭션 데이터량이 미리 설정된 데이터량을 초과하면 제2 복제 방식을 선택하기 위해 제2 복제 모듈(323)을 구동시키킨다.
즉, 상기 제어 모듈(333)은 제1 복제 방식에서 제2 복제 방식으로 복제 방식을 변경하도록 하여 제1 복제 모듈(321)의 구동을 중지시키고 제2 복제 모듈(323)을 활성화 시킨다.
상기 변경 대기 모듈(335)은 제1 복제 방식으로의 변경 명령이 이루어지는 경우에는 최종 식별자(ID_2)를 검색하고, 그 이후의 데이터가 있을 경우, 제1 복제 방식을 유지하면서 커밋(commit_3) 명령을 대기하고 이후 커밋(commit_3)이 이루어진 경우에 제2 복제 방식으로 변경을 수행한다. 이때, 커밋(commit_3)이 이루어진 경우에 트랜잭션을 완료하는 식별자가 붙을 수 있다. 이에 대한 구체적인 설명은 도 8에서 하기로 한다.
도 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)를 검색하고, 그 이후의 데이터가 있을 경우, 제1 복제 방식을 유지하면서 커밋(commit_3) 명령을 대기하고 이후 커밋(commit_3)이 이루어진 경우에 제2 복제 방식으로 변경을 수행한다.
이로써, Q3 부분은 제1 복제 방식을 통해 타겟 시스템(200)에 복제된다.
이때, 커밋(commit_3)이 이루어진 경우에 도 8에는 도시하지 않았지만 트랜잭션을 완료하는 식별자를 붙일 수 있다.
도 9는 본 발명의 일 실시예에 따른 복제 방식 변경시의 통합 복제 방법에 대한 흐름도이다.
도 9를 참고하면, 선택 모듈(330)이 제1 복제 방식을 선택하면(S1000), 도 8에서 설명한 것처럼 최종 식별자(ID_2)를 검색하고, 최종 식별자(ID_2)가 검색되면, 최종 식별자(ID_2) 이후의 데이터가 있는 경우 제2 복제 방식을 유지하면서 커밋이 이루어지는지를 판단한다(S2000).
이후 커밋이 이루어지면 제1 복제 방식을 선택하여 복제방식의 변경을 수행한다(S3000).
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다.
컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장장치 등이 있으며, 또한 본 발명에 따른 객체 정보 추정 방법을 수행하기 위한 프로그램 코드는 캐리어 웨이브(예를 들어, 인터넷을 통한 전송)의 형태로 전송될 수도 있다.
또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.
본 발명은 도면에 도시된 일 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다.
따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.

Claims (8)

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

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020170129431A KR101859094B1 (ko) 2017-10-11 2017-10-11 복제 방식의 변경을 고려한 통합 복제 시스템
PCT/KR2017/013095 WO2019074156A1 (ko) 2017-10-11 2017-11-17 복제 방식의 변경을 고려한 통합 복제 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170129431A KR101859094B1 (ko) 2017-10-11 2017-10-11 복제 방식의 변경을 고려한 통합 복제 시스템

Publications (1)

Publication Number Publication Date
KR101859094B1 true KR101859094B1 (ko) 2018-05-18

Family

ID=62453801

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170129431A KR101859094B1 (ko) 2017-10-11 2017-10-11 복제 방식의 변경을 고려한 통합 복제 시스템

Country Status (2)

Country Link
KR (1) KR101859094B1 (ko)
WO (1) WO2019074156A1 (ko)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090005289A (ko) * 2006-02-10 2009-01-13 마이크로소프트 코포레이션 파일 복제 메커니즘을 자동으로 결정하는 방법, 파일 업데이트를 저장 매체에 백업하는 방법, 및 컴퓨터 프로그램 제품
US20090313311A1 (en) * 2008-06-12 2009-12-17 Gravic, Inc. Mixed mode synchronous and asynchronous replication system
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 (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4289056B2 (ja) * 2003-03-27 2009-07-01 株式会社日立製作所 計算機システム間のデータ二重化制御方法
KR100926880B1 (ko) * 2007-05-21 2009-11-16 엔에이치엔(주) Dbms에서의 데이터 복제 방법 및 시스템
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 (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090005289A (ko) * 2006-02-10 2009-01-13 마이크로소프트 코포레이션 파일 복제 메커니즘을 자동으로 결정하는 방법, 파일 업데이트를 저장 매체에 백업하는 방법, 및 컴퓨터 프로그램 제품
US20090313311A1 (en) * 2008-06-12 2009-12-17 Gravic, Inc. Mixed mode synchronous and asynchronous replication system
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
WO2019074156A1 (ko) 2019-04-18

Similar Documents

Publication Publication Date Title
US11741046B2 (en) Method and apparatus for creating system disk snapshot of virtual machine
US9672126B2 (en) Hybrid data replication
KR100926880B1 (ko) Dbms에서의 데이터 복제 방법 및 시스템
CN102402596B (zh) 一种主从分离数据库的读写方法和系统
US8024712B1 (en) Collecting application logs
US7698319B2 (en) Database system management method, database system, database device, and backup program
US20130138616A1 (en) Synchronizing updates across cluster filesystems
US20050246386A1 (en) Hierarchical storage management
US20070083563A1 (en) Online tablespace recovery for export
US10846081B2 (en) System and method for code synchronization between mainframe environment and distributed environment
US10089313B2 (en) Conversion of data integration system files
US7689790B2 (en) Storage system, remote copy and management method therefor
KR101826827B1 (ko) 데이터베이스 간의 실시간 통합 복제 시스템
CN110019469B (zh) 分布式数据库数据处理方法、装置、存储介质及电子装置
US7069270B1 (en) Automated method and mechanism for converting a single instance application to a multiple instance application
US8056052B2 (en) Populating service requests
KR101859094B1 (ko) 복제 방식의 변경을 고려한 통합 복제 시스템
KR101859090B1 (ko) 통합 복제 시스템
US8386732B1 (en) Methods and apparatus for storing collected network management data
CN117648198B (zh) 应用适配方法及装置、设备及存储介质
US20230161733A1 (en) Change block tracking for transfer of data for backups
US8769065B1 (en) Methods and apparatus for implementing a data management framework to collect network management data
Shaik et al. Assimilating sense into disaster recovery databases and judgement framing proceedings for the fastest recovery
JP2022133010A (ja) ジョブ管理装置、ジョブ管理方法及びプログラム
CN117493389A (zh) 基于日志的处理方法及相关设备

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant