KR101120235B1 - 트랜잭션 로그의 병렬처리를 이용한 변경 데이타 추출방법 - Google Patents

트랜잭션 로그의 병렬처리를 이용한 변경 데이타 추출방법 Download PDF

Info

Publication number
KR101120235B1
KR101120235B1 KR1020080070154A KR20080070154A KR101120235B1 KR 101120235 B1 KR101120235 B1 KR 101120235B1 KR 1020080070154 A KR1020080070154 A KR 1020080070154A KR 20080070154 A KR20080070154 A KR 20080070154A KR 101120235 B1 KR101120235 B1 KR 101120235B1
Authority
KR
South Korea
Prior art keywords
data
parallel
extracted
transaction log
database
Prior art date
Application number
KR1020080070154A
Other languages
English (en)
Other versions
KR20100009315A (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 KR1020080070154A priority Critical patent/KR101120235B1/ko
Publication of KR20100009315A publication Critical patent/KR20100009315A/ko
Application granted granted Critical
Publication of KR101120235B1 publication Critical patent/KR101120235B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명은 원천 시스템에서 대량의 트랜잭션이 발생하는 데이타베이스로부터 병렬로 로그를 추출하여 이를 고속으로 재정렬한 변경 데이타를 타겟 시스템에 적용할 수 있도록 변경 데이타를 추출하는 방법에 관한 것으로, 특히 원천 시스템의 데이타베이스로부터 추출 대상 변경 데이타의 양을 고려하여 병렬 프로세스의 수를 계산하고, 상기 계산된 병렬 프로세스 간에 안전영역(Safety Zone)을 설정하여 정합성을 유지하며, 상기 병렬로 추출된 데이타를 트랜지언트 영역에 취합하여 시계열성을 갖는 트랜잭션으로 재정렬한 후 재가공한 데이타를 타겟 시스템에 적용함으로써 원천 시스템으로부터 효율적인 변경 데이타를 추출할 수 있는 트랜잭션 로그의 병렬처리를 이용한 변경 데이타 추출방법을 제공한다.
데이타베이스, 트랜잭션 로그, 변경 데이타 추출

Description

트랜잭션 로그의 병렬처리를 이용한 변경 데이타 추출방법{Extraction method of modified data using parallel processing of transaction log}
본 발명은 원천 시스템에서 대량의 트랜잭션이 발생하는 데이타베이스로부터 병렬로 로그를 추출하여 이를 고속으로 재정렬한 변경데이타를 타겟 시스템에 적용할 수 있도록 추출 대상 변경 데이타의 양을 고려하여 병렬 프로세스의 수를 계산하고, 상기 계산된 병렬 프로세스 간에 안전영역(Safety Zone)을 설정하여 정합성을 유지하며, 상기 병렬로 추출된 데이타를 트랜지언트 영역에 취합하여 시계열성을 갖는 트랜잭션으로 재정렬한 후, 재가공한 데이타를 타겟 시스템에 적용함으로써 원천 시스템으로부터 효율적인 변경 데이타를 추출할 수 있는 트랜잭션 로그의 병렬처리를 이용한 변경 데이타 추출방법에 관한 것이다.
일반적으로 원천 시스템의 데이타베이스로부터 변경 데이타를 추출하는 방법으로는 테이블(Schema) 내에 트랜잭션(Transaction; 통상적으로 정보의 교환이나 데이타베이스 갱신 등 일련의 작업들에 대한 연속처리단위를 의미하고, 데이타베이스의 무결성이 보장되는 상태에서 요청된 작업을 완수하기 위한 작업의 기본 단위) 이 발생한 시점을 기록하는 컬럼을 이용하여 레코드의 변경 정보를 인식하여 변경 데이타를 추출하는 타임스탬프(Time Stamp) 방법과, 데이타베이스의 트랜잭션 로그(Log)를 이용하여 일련의 트랜잭션을 로그로부터 추출하는 방법이 사용되고 있다.
상기 타임스탬프 방법을 사용하여 변경 데이타를 추출하는 경우에는 원천 시스템의 현재 테이블 내에 반영되어 있는 최종 버전(Version)의 레코드만을 추출할 수 있으며, 레코드가 삭제되어 현재 존재하지 않는 경우에는 변경 이력을 관리할 수 없다는 문제점이 있었다.
또한, 상기 타임스탬프 방법으로 원천 시스템의 데이타베이스에 저장된 각각의 단위 테이블로부터 데이타를 추출하는 경우에는 관계형 데이타베이스 관리 시스템(Relational Database Management System; 이하 RDBMS)에 과도한 과부하(Overload)가 발생하여 원천 시스템의 업무처리 지연과 같은 문제점이 있었다.
상기와 같은 타임스탬프 방법에 비해 데이타베이스의 트랜잭션 로그(Log)를 이용하여 일련의 트랜잭션을 로그로부터 추출하는 방법은 원천 시스템의 데이타베이스에 현재 존재하지 않는 삭제(Delete) 트랜잭션을 포함하여 데이타가 변경된 시점의 모든 로그를 추출하며, 원천 시스템에서 작업 중에 있는 경우에도 트랜잭션 로그를 이용하는 경우에는 원천 시스템의 데이타베이스의 부하를 최소화하여 변경 데이타를 추출할 수 있다. 그러나 이 경우에는 DDL(Data Definition Language; 이하, 'DDL'이라 함-데이타와 데이타간의 관계를 정의하는데 사용되는 언어로 데이타 베이스 내에서 데이타 구조를 만드는데 사용됨)에 의해서 테이블의 구조가 변경되는 경우에는 추출된 데이타의 형태가 원래 데이타의 구조와 상이하여 이를 사용하는 타겟 시스템의 프로세스가 인식 불가능한 형태가 된다는 문제가 있었다. 상기 트랙잭션 로그를 이용하여 변경 데이타를 구조화된 형태로 추출하여 연계 시스템에 제공하는 경우에는 배치(Batch) 성격으로 데이타 추출 시 금융권 및 통신사와 같은 대량의 트랜잭션이 발생하는 데이타베이스에서는 하나의 세션(Session)을 이용하여 추출하여야 하기 때문에 데이타의 추출시간이 선형적으로 증가한다는 문제점이 있었다.
따라서, 본 발명은 원천 시스템의 트랜잭션 로그 추출 이전에 대상 테이블내의 트랜잭션 로그를 나눌 수 있는 구간의 갯수를 산출하고, 그 구분된 트랜잭션 로그들로부터 각각 데이타를 추출한 후, 이 추출된 데이타들을 타켓 시스템에 적용할 수 있도록 함으로써 대량의 트랜잭션 로그 추출에서 발생하던 문제점을 해결하고 효율적인 변경 데이타 추출 방법을 제공하는 것을 목적으로 한다.
상기 목적을 달성하기 위하여 본 발명은, 타겟 시스템에 적용할 추출 대상 데이타의 양을 원천 시스템의 데이타베이스로부터 산출하여 트랜잭션 로그를 추출할 병렬 프로세스의 수(N)를 계산하는 단계와; 상기 계산된 병렬 프로세스별로 트랜잭션 로그 데이타를 병렬로 추출하고, 상기 병렬 프로세스별로 안전영역을 설정하여 그 각각의 안전영역에 데이타의 정합성이 유지되도록 저장하는 단계와; 상기 병렬로 추출된 데이타가 저장된 각 안전영역을 트랜지언트 영역에 취합하여 시계열성을 가지는 트랜잭션으로 재정렬하는 단계와; 상기 재정렬된 데이타를 메타데이타를 이용하여 타겟 시스템의 프로세스에서 인식 가능한 데이타로 가공하는 단계를 포함하는 것을 특징으로 하는 트랜잭션 로그의 병렬처리를 이용한 변경 데이타 추출방법을 제공한다.
상술한 바와 같이 본 발명은 원천 시스템의 트랜잭션 로그 추출 이전에 대상 테이블내의 트랜잭션 로그를 다수의 발생 수행영역으로 구분하여 대량의 트랜잭션 로그 추출에서 발생하던 문제점을 해결하고 빠른 시간 내에 원천 데이타로부터 원하는 변경 데이타를 추출할 수 있다.
일반적으로 원천 시스템의 데이타베이스로부터 트랜잭션 로그를 빠른 시간 내에 추출하기 위해서는 병렬 프로세스를 통해 추출할 수 있으나, 상기 트랜잭션 로그의 처리 시에는 각각의 데이타 발생시간에 따른 종속성을 가지고 있으므로 병렬도를 산술적으로 나누어 트랜잭션 로그의 양에 의해 나누는 방법은 유효한 트랜 잭션을 미싱(Missing)할 수 있는 문제가 발생하였다,
따라서, 본 발명은 변경 데이타를 추출하고자 메타데이타에 입력한 각각의 도메인별 병렬도 정보를 참조하여, 원천 시스템의 데이타베이스로부터 트랜잭션 로그를 추출하기 전에 대상 테이블 내의 트랜잭션 로그를 나눌 수 있는 구간의 개수를 판단하고, 이에 따라 각 단위별로 추출 프로세서의 수를 조절하고, 각 단위 추출 프로세서의 시작 트랜잭션 번호(Number)와, 종류 트랜잭션 번호를 파라미터로 전달하여 작업하도록 구성한다. 또한, 상기 각각의 추출된 데이타는 트랜지언트 영역 레벨(Level)에서 재구성하여 별도의 프로세서에게 전달하도록 구성한다.
이하, 첨부된 도면을 참조하여 본 발명을 좀더 상세히 설명하기로 한다.
먼저, 도1 및 도2는 본 발명에 따른 트랜잭션 로그의 병렬처리를 이용한 변경 데이타 추출방법을 나타낸 도면으로서, 원천 시스템의 데이타베이스로부터 추출하고자 하는 변경 데이타의 양을 고려하여 병렬프로세스의 수를 계산하고, 상기 계산된 병렬 프로세스간의 안전영역을 설정하여 데이타의 정합성을 유지한다(100). 이때, 상기 병렬 프로세서의 수는 미리 등록된 메타데이타를 이용하여 산출한다.
구체적으로, 메타데이타는 도메인 정보, 대상테이블 정보, 대상 컬럼 정보,테이블 변경 이력 정보, 추출 수행정보 등을 관리하게 되고, 또한 메타데이타에는 각각의 도메인별 병렬도 정보가 입력되어 관리되게 되는데, 병렬 프로세서의 수는 이러한 메타데이터의 도메인별 병렬도 정보 등 도메인 정보와 대상테이블 정보, 대상 컬럼 정보 등을 토대로 추출하게 된다.
상기 메타데이타에서 관리하는 도메인 정보는 대상 DBMS의 정보 및 추출 대상 테이블을 하나의 단위로 나타내기 위하여 관리하는 테이블로서 대상 도메인의 수행결과 및 처리 트랜잭션의 논리적인 SCN(System Change Number)을 관리한다.
또한, 대상 테이블 정보는 대상 테이블의 각 단위 테이타베이스 내의 대 상(Object) 번호, 테이블 스페이스, 테이블명, 레코드의 저장길이, 사용 문자셋 정보를 등록한다.
또한, 대상 컬럼정보는 추출 대상 테이블 내에 추출하고자 하는 컬럼의 정보를 관리하며, 컬럼의 타입, 길이, 스케일, 테이블 내 컬럼의 순서, 생성된 일자를 데이타베이스의 카탈로그로부터 조회하여 등록하며, 상기 테이블 이력정보는 DDL에 의해 대상 테이블이 변경된 정보를 이력으로 관리한다.
또한, 상기 추출수행정보는 각 도메인별로 추출작업이 수행된 히스토리(History)를 관리하는 테이블로서 각 단위작업의 수행 시작시간, 종료시간, SCN, CSCN(Confirmed SCN), 임시저장영역의 위치정보를 관리한다.
다음에, 상기 안전영역에서 정합성이 유지된 병렬 프로세스들로부터 계산된 수(N) 만큼의 병렬 로그를 추출하고(200), 상기 추출된 N개의 병렬로그를 트랜지언트 영역에 취합하여 시계열성을 가지는 트랜잭션으로 재 정렬한다(300). 이때, 상기 트랜지언트 영역은 병렬 로그를 추출한 수 만큼의 임시 저장영역을 갖는다.
다음에, 상기 트랜지언트 영역에 시계열적으로 임시 저장된 트랜잭션들로부터 DMBS 이벤트의 커미트(Commit; 레코드의 실제갱신 수행)/롤백(roll-back; 데이타베이스에서 현재 트랜잭션을 무효로 하여 데이타를 원래 상태로 되돌리는 DBMS 기능) 정보를 검출하고(400), 미리 등록한 메타데이타 내의 대상 테이블 및 컬럼 정보와 비교하여 각 단위 쓰레드(Thread)별로 통합하여 정의된 상기 메타데이타 형식으로 데이타를 재구성한다(500).
상기와 같이 메타데이타에 정의된 형식으로 재구성된 데이타는 트랜잭션을 시계열 정보로 재정렬하여 타겟 시스템의 프로세스가 인식 가능한 데이타로 가공한다.
상술한 바와 같이 본 발명은 원천 시스템의 데이타베이스에서 생성된 트랜잭션 로그를 다수의 수행영역으로 구분하여 대량의 트랜잭션 로그 추출에서 발생하던 문제점을 해결하고, 원천 시스템의 데이타베이스로부터 과부하 발생없이 빠른 시간 내에 대량의 변경 데이타를 추출할 수 있다.
한 실시예로서 은행의 시스템은 일반적으로 대량의 트랜잭션이 특정일자에 대량으로 발생하게 된다. 이 경우 대량의 트랜잭션 로그를 하나의 프로세스로 처리 하게 되면, 추출 시간이 선형으로 증가하게 된다. 이 경우 트랜잭션 로그를 각각의 안전영역으로 나누어 병렬 처리를 하게 되면 병렬도에 따라 추출 시간이 1/N으로 줄어 들게 된다. 특히 금융권 시스템은 10, 20, 25, 30일에 입출금이 증가하며, 데이타 웨어하우스(DW) 내에 입출금 내역을 분석하기 위해 추출 시에도 추출 시간이 증가하게 된다. 이 경우 도2와 같이 병렬 추출 작업을 수행하게 되므로 데이타의 추출에 따르는 시간을 현격히 줄일 수 있게 된다.
이상과 같이 본 발명을 도면에 도시한 실시 예를 참고하여 설명하였으나, 이는 발명을 설명하기 위한 것일 뿐이며, 본 발명이 속하는 기술 분야의 통상의 지식 을 가진 자라면 발명의 상세한 설명으로부터 다양한 변형 또는 균등한 실시예가 가능하다는 것을 이해할 수 있을 것이다. 따라서 본 발명의 진정한 권리범위는 특허청구 범위의 기술적 사상에 의해 결정되어야 한다.
도1은 본 발명에 따른 트랜잭션 로그의 병렬처리를 이용한 변경 데이타 추출방법을 순차적으로 나타낸 도면.
도2는 본 발명에 따른 트랜잭션 로그의 병렬처리를 이용한 변경 데이타 추출방법을 개략적으로 나타낸 모식도.

Claims (4)

  1. 타겟 시스템에 적용할 추출 대상 데이타의 양을 원천 시스템의 데이타베이스로부터 산출하여 트랜잭션 로그를 추출할 병렬 프로세스의 수(N)를 계산하는 단계와;
    상기 계산된 병렬 프로세스별로 트랜잭션 로그 데이타를 병렬로 추출하고, 상기 병렬 프로세스별로 안전 영역을 설정하여 그 각각의 안전영역에 데이타의 정합성이 유지되도록 저장하는 단계와;
    상기 병렬로 추출된 데이타가 저장된 각 안전영역을 트랜지언트 영역에 취합하여 시계열성을 가지는 트랜잭션으로 재정렬하는 단계와;
    상기 재정렬된 데이타를 메타데이타를 이용하여 타겟 시스템의 프로세스에서 인식 가능한 데이타로 가공하는 단계를 포함하는 것을 특징으로 하는 트랜잭션 로그의 병렬처리를 이용한 변경 데이타 추출방법.
  2. 제 1 항에 있어서,
    상기 추출 대상 데이타양은, 미리 등록된 메타데이타를 이용하여 산정하는 것을 특징으로 하는 트랜잭션 로그의 병렬처리를 이용한 변경 데이타 추출방법.
  3. 제 1 항에 있어서,
    상기 메타데이타에는,
    도메인 정보, 대상테이블 정보, 대상 컬럼 정보, 테이블 변경 이력정보, 추출 수행정보가 등록 관리되는 것을 특징으로 하는 트랜잭션 로그의 병렬처리를 이용한 변경 데이타 추출방법.
  4. 제 1 항에 있어서,
    상기 트랜지언트 영역은, 상기 병렬 트랜잭션 로그를 추출한 수만큼의 임시 저장영역을 갖는 것을 특징으로 하는 트랜잭션 로그의 병렬처리를 이용한 변경 데이타 추출방법.
KR1020080070154A 2008-07-18 2008-07-18 트랜잭션 로그의 병렬처리를 이용한 변경 데이타 추출방법 KR101120235B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080070154A KR101120235B1 (ko) 2008-07-18 2008-07-18 트랜잭션 로그의 병렬처리를 이용한 변경 데이타 추출방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080070154A KR101120235B1 (ko) 2008-07-18 2008-07-18 트랜잭션 로그의 병렬처리를 이용한 변경 데이타 추출방법

Publications (2)

Publication Number Publication Date
KR20100009315A KR20100009315A (ko) 2010-01-27
KR101120235B1 true KR101120235B1 (ko) 2012-03-16

Family

ID=41817757

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080070154A KR101120235B1 (ko) 2008-07-18 2008-07-18 트랜잭션 로그의 병렬처리를 이용한 변경 데이타 추출방법

Country Status (1)

Country Link
KR (1) KR101120235B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101641419B1 (ko) * 2014-08-06 2016-07-21 주식회사 하이드 일자리 매칭 서비스 제공 시스템 및 방법
WO2021011869A1 (en) * 2019-07-17 2021-01-21 Aveva Software, Llc System and server comprising database schema for accessing and managing utilization and job data

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19980049353A (ko) * 1996-12-19 1998-09-15 양승택 분산 트랜잭션의 회복방법
JP2001060163A (ja) 1999-08-24 2001-03-06 Nec Corp トランザクションログ情報の処理装置
JP2001229063A (ja) 2000-02-17 2001-08-24 Mitsubishi Electric Corp データ管理システム
KR20020090520A (ko) * 2001-05-28 2002-12-05 한국전자통신연구원 트랜잭션 처리 시스템의 병렬 로깅 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19980049353A (ko) * 1996-12-19 1998-09-15 양승택 분산 트랜잭션의 회복방법
JP2001060163A (ja) 1999-08-24 2001-03-06 Nec Corp トランザクションログ情報の処理装置
JP2001229063A (ja) 2000-02-17 2001-08-24 Mitsubishi Electric Corp データ管理システム
KR20020090520A (ko) * 2001-05-28 2002-12-05 한국전자통신연구원 트랜잭션 처리 시스템의 병렬 로깅 방법

Also Published As

Publication number Publication date
KR20100009315A (ko) 2010-01-27

Similar Documents

Publication Publication Date Title
US8234248B2 (en) Tracking changes to a business object
CN105630863B (zh) 用于多版本并发提交状态的事务控制块
US8688622B2 (en) Methods and systems for loading data into a temporal data warehouse
US7730044B2 (en) Log data store and assembler for large objects in database system
US10977228B2 (en) Data trend analysis
US11138227B2 (en) Consistent query execution in hybrid DBMS
US20080140627A1 (en) Method and apparatus for aggregating database runtime information and analyzing application performance
WO2017183065A1 (ja) リレーショナルデータベースのチューニング装置及び方法
GB2574282A (en) Data consistency verification method and system minimizing load of original database
US20190018851A1 (en) Data processing system
CA2652115A1 (en) Apparatus and method for read consistency in a log mining system
US7236993B2 (en) On-demand multi-version denormalized data dictionary to support log-based applications
US20120197925A1 (en) Optimization of Database Driver Performance
JP2014191593A (ja) カラムストア型データベース管理システム
US11281651B2 (en) Method and system for ingesting data in a database
KR101120235B1 (ko) 트랜잭션 로그의 병렬처리를 이용한 변경 데이타 추출방법
Jörg et al. Incremental recomputations in mapreduce
US20180341709A1 (en) Unstructured search query generation from a set of structured data terms
KR101024494B1 (ko) 메타데이타를 이용한 변경 데이타 추출방법
US20170124153A1 (en) Fuzzy join key
JP2017010376A (ja) マートレス検証支援システムおよびマートレス検証支援方法
KR101046338B1 (ko) 전역 데이타베이스 하의 지역 데이타베이스 직접 접속을통한 변경 데이타 추출 방법
US20170124198A1 (en) Transforms using column dictionaries
CN117573687B (zh) 一种基于ClickHouse数据库的业务表单反写/读取方法及系统
Dimitrov et al. Next generation database relational solutions for ATLAS distributed computing

Legal Events

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

Payment date: 20150217

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160217

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170217

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180219

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20190218

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20200217

Year of fee payment: 9