KR20060114675A - 에스오에이피 및 타임스탬프를 이용한 이기종데이터베이스간의 데이터 동기화 프로세스 - Google Patents

에스오에이피 및 타임스탬프를 이용한 이기종데이터베이스간의 데이터 동기화 프로세스 Download PDF

Info

Publication number
KR20060114675A
KR20060114675A KR1020060101133A KR20060101133A KR20060114675A KR 20060114675 A KR20060114675 A KR 20060114675A KR 1020060101133 A KR1020060101133 A KR 1020060101133A KR 20060101133 A KR20060101133 A KR 20060101133A KR 20060114675 A KR20060114675 A KR 20060114675A
Authority
KR
South Korea
Prior art keywords
data
soap
time
protocol
heterogeneous
Prior art date
Application number
KR1020060101133A
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 KR1020060101133A priority Critical patent/KR20060114675A/ko
Publication of KR20060114675A publication Critical patent/KR20060114675A/ko

Links

Images

Classifications

    • 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/211Schema design and management
    • 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/2308Concurrency control
    • G06F16/2315Optimistic concurrency control
    • G06F16/2322Optimistic concurrency control using timestamps
    • 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

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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 에스오에이피(Simple Object Access Protocol, SOAP) 및 타임스탬프
(Timestamp)를 이용한 이기종 데이터베이스 간의 실시간 데이터 동기화를 위한 방안을 제시한다. 이기종 데이터베이스 간의 데이터 동기화의 문제는 데이터 액세스 시간을 최소화하고 서로 다른 플랫폼과 서로 다른 데이터베이스 간의 상이함을 해결하기 위한 기술이 필요하다. 이를 위해 본 발명에서는 데이터베이스의 데이터 객체에 타임스탬프를 이용하여 변경된 데이터만을 추출할 수 있게 하였으며, SOAP을 이용해 이기종 플랫폼 및 이기종 데이터베이스 간의 통신을 가능하게 하였다. 즉 소스 데이터베이스의 데이터 객체에 변경이 발생하면 변경된 데이터 레코드 셋에 변경 시간을 나타내는 타임스탬프가 기록되며, 변경 데이터 추출 프로세스는 실시간 혹은 주기적으로 마지막 타임스탬프 이후의 타임스탬프를 비교하여 해당 레코드 셋을 추출하게 된다. 이렇게 추출된 레코드 셋은 적재 프로세스에 전달하며 적재 프로세스는 SOAP 통신 방법을 사용하여 원격지 데이터베이스에 바로 반영하게 된다. 타임스탬프를 이용한 변경 데이터 추출 방식은 데이터 객체 이외의 변경 기록 공간이 필요하지 않으며, 타임스탬프의 성질을 갖는 데이터 객체 속성을 추가하는 것으로 가능하다는 장점이 있으며, SOAP 통신 방법은 http
(Hyper Text Transfer Protocol)와 같은 프로토콜을 이용하여 텍스트 파일을 전달하는 방식으로써 기존의 이진 파일을 전달하기 위해 플랫폼마다 이진 파일의 재해석과 같은 작업이 필요 없다는 효과가 있다. 본 발명으로 플랫폼과 데이터베이스의 종에 관계 없이 웹 서비스가 가능하다면, 이기종 데이터베이스 간의 데이터 동기화를 해결하여 기존에 제기 되던 이기종 데이터베이스 간의 이중화 문제 혹은 연동 문제를 해결할 수 있다는 효과가 있으리라 예상된다.
이기종, 다임스탬프(Timestap), SOAP, 동기화, 실시간, 웹서비스, 데이터베이스

Description

에스오에이피 및 타임스탬프를 이용한 이기종 데이터베이스간의 데이터 동기화 프로세스{The Data Syncronization Process of Heterogeneous Database Systems Using SOAP(Simple Object Aeccess Protocol) and Timestamp Mechanism}
도 1) 데이터베이스 간 동기화 서버 구성 방식
도 2) 동기화 프로세스의 구성
도 3) 동기화 환경 설정의 구성
도 4) 동기화 작동 모니터링
일반적으로, 이기종 데이터베이스 간의 데이터 동기화 문제는 기술적으로 두 가지가 선행되어야 한다. 하나는 변경된 데이터를 어떻게 추출하는 것이고 하나는 추출된 데이터를 어떻게 전달하느냐이다.
첫번째 기술로 변경된 데이터를 추출하는 종래의 방법으로는 트리거를 이용하여 변경된 데이터 셋을 다른 데이터 객체에 저장하는 방법과 이중화를 지원하는 데이터 베이스 시스템일 경우 자동적으로 변경된 데이터 셋을 로그로 저장하는 방법이 있다.
트리거를 이용하는 방법은 거의 모든 데이터베이스 시스템에서 지원하는 트리거 이벤트를 이용하는 방법이다. 이를 위해 미리 트리거 이벤트를 기술해야 한다. 트리거 이벤트란 일종의 프로시저와 같은 것으로, 데이터 변경 셋 추출을 위한 트리거란 데이터 삽입, 삭제, 변경과 같은 데이터 조작이 발생할 경우 변경된 데이터 셋을 다른 데이터 저장 공간에 저장하도록 설계하여 놓는 것이다. 이러한 방법은 트리거만 정의하여 놓으면 변경된 데이터 셋만 따로 보관하여 관리하기 쉽고, 원 소스 데이터는 그대로 유지할 수 있다는 장점이 있을 수 있지만 별도의 저장 공간이 필요하다는 점과 트리거 장애 시 소스 데이터의 변경까지 롤백될 수 있다는 문제점이 노출된다.
변경된 데이터 셋을 로그로 저장하는 방법은 일부 데이터 이중화를 지원하는 시스템에서 사용할 수 있는 방법이다. Oracle이나 Altibase와 같은 시스템은 데이터 이중화를 지원하며, 데이터 변경 작업 시 이중화 로그를 기록하게 된다. 이러한 이중화 로그는 원격지 데이터베이스에 전달되어 실시간으로 바로 반영될 수 있다. 하지만 이러한 방법은 이중화를 지원하는 시스템에 한정되어 있으며, 그나마 이중화를 지원하는 시스템일지라도 소스 데이터베이스와 원격지 데이터베이스가 같은 기종에 한해 이중화가 되는 것이 대부분이다. Kairos와 같은 메모리 상주형 데이터베이스 같은 경우에는 Oracle이나 MS SQL Server와 같은 몇몇의 디스크 기반의 데이터베이스와 데이터 동기화를 지원하고 있지만, 이도 Kairos가 지원하는 시스템에 한하는 것이다.
두번째 기술로 변경된 데이터를 이기종 시스템에 전송하는 종래의 방법으로는 디비링크(DBLink)를 이용하는 방법과 이중화 로그를 전송하는 방법, 이진 파일을 재컴파일하여 사용하는 방법이 있다.
디비링크란 일반적으로 사용자가 데이터베이스에 접속할 때 사용하는 프로토콜을 그대로 DB대 DB로 적용하여 데이터를 전송하는 방식이다. Oracle과 같은 경우 SQL*Net이라는 프로토콜을 이용하여 데이터베이스에 접속한다. 일반적으로 디비링크를 지원하는 시스템일경우, 동종의 데이터베이스라면 크게 문제가 없지만, 이기종 데이터베이스 간의 디비링크는 대부분 지원하지 않고 있다. 이는 데이터베이스 간의 데이터 표현 방식과 스키마 기술 방식이 서로 다르기 때문이다. 예를 들어, Oracle에서 Altibase로의 디비링크는 지원하지 않는다.
이중화 로그를 전송하는 방법은 데이터베이스 시스템이 지원하는 이중화 방법을 사용하는 것이다. 이러한 방법은 데이터베이스 시스템 자체에서 이중화를 지원해야 한다는 것이 선행되어야 이 또한 대부분의 데이터베이스 시스템에서 동종의 시스템간의 이중화만을 지원하고 있으므로, 적절한 방법이라고 할 수 없다.
이진 파일을 재컴파일하여 통신하는 방법은 CORBA나 DCOM과 같은 분산 객체를 지원하는 통신 방법이다. 이러한 방법은 통신 대상에 되는 양측에 ORB과 같은 미들웨어를 설치하고 일명 스터브(Stub)라고 지칭하는 객체를 만들어 통신하는 방법이다. 스터브는 양쪽 모두에서 공통적으로 사용하는 데이터 정의 언어를 이용하여 이진파일로 재컴파일하여 생성하여 놓으면 이러한 이진파일 간의 통신으로 이기종 통신이 가능하게 된다. 하지만 이러한 방법은 이진 파일을 자신의 플랫폼에서 해석할 수 있는 미들웨어의 존재가 필요하며, 새로운 플랫폼 추가 시 이러한 미들웨어의 존재는 상당한 부담이 된다. 그러므로 미들웨어 없이도 기존에 존재하는 프로토콜을 이용하여 통신한다면 최상의 방법이라 하겠다. 예를 들어 http와 같은 프로토콜은 태그로 구성된 텍스트 파일로 전달하기 때문에 별도의 미들웨어 없이도 해석이 가능하며, 대부분의 시스템이 웹 서비스를 지원하므로 그 활용 범위가 매우 크다.
따라서 본 발명은 기존의 데이터 동기화에서 제기되었던 변경 데이터 추출 부분과 이기종 플랫폼 간의 데이터 전송 문제를 해결한 것으로, 그 목적은 변경 데이터의 액세스 시간을 최소화하고 저장 공간을 아끼며 이기종 플랫폼과 데이터베이스 간의 데이터 통신을 폭 넓게 지원하기 위한 것이다.
본 발명에서 제시한 변경 데이터 추출 방식은 타임스탬프를 이용하여 각각의 데이터 객체에 변경 시간을 기록하는 방식으로 변경 시간을 기록하기 위한 최소 저장 공간만이 필요로 하며, 트리거 이벤트 발생이나 로그 저장 등으로 인한 부가적인 오버헤드가 들지 않는다. 또한 트리거 발생이나 로그 저장 등의 장애 시 발생할 수 있는 원 데이터의 롤백 문제를 해결할 수 있다.
또한 본 발명에서 제시한 SOAP을 이용한 이기종 시스템 간의 데이터 전송은 기존의 방식이 이기종 환경에서 많은 제약이 있던 부분을 해결하였다. SOAP이란 텍스트의 전송을 기본으로 한다. 텍스트는 이진 파일들과 달리 어느 플랫폼에서도 인식 가능하다. 또한 이미 널려 알려진 http와 같은 프로토콜을 사용하므로 웹 서비스를 사용하는 모든 응용 프로그램들에서 사용할 수 있다는 장점이 있다.
첨부된 도면에 따라 본 발명의 구성 및 작동 방법에 대해 설명한다.
도면 1은 본 발명의 전체적인 시스템 구성이다. 본 발명은 소스 데이터베이스와 원격지 데이터베이스 간의 데이터 동기화를 위해 동기화 서버를 구성한다. 동기화 서버는 동기화만 담당하도록 별도의 시스템으로 구성하여 소스 혹은 원격지 데이터베이스의 부하를 최소화 할 수 있도록 하는 방안과 동기화 서버를 소스 혹은 원격지 데이터베이스에 포함시키도록 하는 방안이 있다.
도면 2는 도면 1의 상세 프로세싱 과정이다. 동기화 서버의 프로세스는 크게 추출 프로세스와 적재 프로세스로 구성된다. 데이터베이스의 데이터 스키마를 구성할 때 이미 타임스탬프가 기록되도록 속성을 넣어두었기 때문에 추출 프로세스는 타임스탬프와 최근 데이터 동기화 시간을 비교하여 최근 동기화 시간 이후 변경이 발생한 데이터 셋을 찾아 낸다. 추출 프로세는 소스 데이터베이스의 종류에 따라 한 개 이상이 될 수도 있다. 적재 프로세는 추출 프로세스로부터 변경 데이터 셋을 받아 들인다. 이를 다시 원격 데이터베이스에 반영하게 된다. 반영 방식에 따라 원천 테이블에 직접 반영할 수도 있고, 변경된 데이터 셋만 별도의 변경 테이블에 반영할 수 있다. 추출 프로세스와 적재 프로세스의 통신 방법이 SOAP 방식이다.
도면 3은 환경 설정 방식이다. LINCYCLE은 연동 주기를 나타낸다. 이 값이 0이면 실시간 연동이고 양수이면 연동 주기를 나타내는데 초단위이다. 다음 []안 부터가 DB 접속 정보이다.
도면 4는 연동 프로세스가 작동될 때의 동작화면이다. 현재 3개의 연동 쓰레드가 동작하고 있으며, 연동 시각과 작동 여부, 연동 갯수 등을 모니터링 할 수 있다.
본 발명은 에스오에이피(Simple Object Access Protocol, SOAP) 및 타임스탬프 (Timestamp)를 이용한 이기종 데이터베이스 간의 실시간 데이터 동기화를 위한 방안을 제시한 것이다. 시스템의 통합 및 업무 부서 혹은 회사 간 혹은 시스템 간의 협업 등의 이유로 이기종 플랫폼과 이기종 데이터베이스 시스템 간의 데이터를 서로 공유해야 하는 문제가 발생한다. 최초부터 데이터 공유를 위해 계획하여 같은 플랫폼을 쓰지 않는 한 기존의 체제에 대한 수정 없이 데이터 공유를 하는 것이 절실하다. 본 발명에서 제시한 데이터 동기화 방안은 데이터 액세스 시간을 최소화하고 시공간의 제약을 가장 적게 받을 수 있도록 데이터를 추출하고 적재할 수 있게 하였으며, 가장 보편적으로 알려져 있는 데이터 통신 방법을 사용하여 시스템과 프로토콜의 제약을 받지 않도록 데이터를 주고 받을 수 있다. 따라서 본 발명은 이기종 데이터베이스 간의 데이터 동기화를 위한 기본 프레임워크로 사용할 수 있는 효과가 있다.

Claims (3)

  1. 타임스탬프를 이용한 테이블 스키마 구성 방법 및 변경 데이터의 기록 장치
  2. 타임스탬프를 이용한 변경 데이터 추적 및 추출 장치
  3. SOAP을 이용한 변경 데이터의 전송 및 데이터 적재 장치
KR1020060101133A 2006-10-18 2006-10-18 에스오에이피 및 타임스탬프를 이용한 이기종데이터베이스간의 데이터 동기화 프로세스 KR20060114675A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060101133A KR20060114675A (ko) 2006-10-18 2006-10-18 에스오에이피 및 타임스탬프를 이용한 이기종데이터베이스간의 데이터 동기화 프로세스

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060101133A KR20060114675A (ko) 2006-10-18 2006-10-18 에스오에이피 및 타임스탬프를 이용한 이기종데이터베이스간의 데이터 동기화 프로세스

Publications (1)

Publication Number Publication Date
KR20060114675A true KR20060114675A (ko) 2006-11-07

Family

ID=37652299

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060101133A KR20060114675A (ko) 2006-10-18 2006-10-18 에스오에이피 및 타임스탬프를 이용한 이기종데이터베이스간의 데이터 동기화 프로세스

Country Status (1)

Country Link
KR (1) KR20060114675A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101672724B1 (ko) 2015-05-08 2016-11-04 주식회사 엘지유플러스 미들티어, 이를 포함하는 데이터 처리 시스템, 및 데이터베이스 이관 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101672724B1 (ko) 2015-05-08 2016-11-04 주식회사 엘지유플러스 미들티어, 이를 포함하는 데이터 처리 시스템, 및 데이터베이스 이관 방법

Similar Documents

Publication Publication Date Title
CN110209726B (zh) 分布式数据库集群系统、数据同步方法及存储介质
US11575746B2 (en) System and method for real-time cloud data synchronization using a database binary log
CN112000737B (zh) 基于多云管理的数据同步方法、系统、终端及存储介质
CN100449548C (zh) 数据库同步方法及系统
CN109656934B (zh) 基于日志解析的源端Oracle数据库DDL同步方法及设备
WO2020237797A1 (zh) 一种微服务框架下动态配置管理方法及系统
US8595381B2 (en) Hierarchical file synchronization method, software and devices
CN103617176B (zh) 一种实现多源异构数据资源自动同步的方法
US10565071B2 (en) Smart data replication recoverer
CN104506625A (zh) 一种提升云数据库元数据节点可靠性的方法
JP2020527264A (ja) 異種ターゲットに対して使用するために分散型データソースからの変更データをキャプチャするためのシステムおよび方法
CN110175213A (zh) 一种基于SCN方式的Oracle数据库同步系统及方法
US20150347250A1 (en) Database management system for providing partial re-synchronization and partial re-synchronization method of using the same
US20070255763A1 (en) Database replication method and system
US9515878B2 (en) Method, medium, and system for configuring a new node in a distributed memory network
US7899783B1 (en) Monitoring data integrity
CN111177161B (zh) 数据处理方法、装置、计算设备和存储介质
CN105808643A (zh) 一种Redis内存数据库刷新的方法
KR102119258B1 (ko) 데이터베이스 관리 시스템에서의 변경 데이터 캡쳐 구현 기법
US20120278429A1 (en) Cluster system, synchronization controlling method, server, and synchronization controlling program
KR20150083938A (ko) Dds-db 연동 시스템
US20200019536A1 (en) Network partition tolerance in a high available centralized vcs implementation
KR20060114675A (ko) 에스오에이피 및 타임스탬프를 이용한 이기종데이터베이스간의 데이터 동기화 프로세스
JP2001034518A (ja) 分散データベースシステムにおける主従関係情報同期方式
CA2609083A1 (en) Hierarchical file synchronization method, software and devices

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application