KR20090041624A - 액티브-액티브 데이터베이스 서버 시스템에서 데이터동기화 장치 및 방법 - Google Patents

액티브-액티브 데이터베이스 서버 시스템에서 데이터동기화 장치 및 방법 Download PDF

Info

Publication number
KR20090041624A
KR20090041624A KR1020070107236A KR20070107236A KR20090041624A KR 20090041624 A KR20090041624 A KR 20090041624A KR 1020070107236 A KR1020070107236 A KR 1020070107236A KR 20070107236 A KR20070107236 A KR 20070107236A KR 20090041624 A KR20090041624 A KR 20090041624A
Authority
KR
South Korea
Prior art keywords
log
server
transaction processing
data synchronization
database server
Prior art date
Application number
KR1020070107236A
Other languages
English (en)
Other versions
KR101430239B1 (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 KR1020070107236A priority Critical patent/KR101430239B1/ko
Publication of KR20090041624A publication Critical patent/KR20090041624A/ko
Application granted granted Critical
Publication of KR101430239B1 publication Critical patent/KR101430239B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Hardware Redundancy (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 액티브-액티브 데이터베이스 서버 시스템에서 데이터 동기화 장치 및 방법에 관한 것이다.
본 발명은 두 개의 스토리지가 존재하는 액티브-액티브 데이터베이스 서버 시스템에서 하나의 데이터베이스 노드에 장애가 발생하는 경우 응용 프로그램을 이용하여 두 데이터베이스 노드 간의 데이터 동기화를 맞추는 방법을 제공한다.
본 발명은 스토리지가 다수인 데이터베이스 서버 시스템에서 성능을 보장하면서 데이터베이스 서버 간 데이터 동기화를 보장할 수 있는 효과를 기대할 수 있다.
트랜잭션, 데이터 동기화, 액티브-액티브 데이터베이스 시스템

Description

액티브-액티브 데이터베이스 서버 시스템에서 데이터 동기화 장치 및 방법{Method and Apparatus for Synchronizing Data in Active-Active Database Server System}
본 발명은 데이터 동기화 장치 및 방법에 관한 것으로서, 특히 액티브-액티브 데이터베이스 서버 시스템에서 데이터 동기화 장치 및 방법에 관한 것이다.
정보 기술 분야는 디스크 기반의 데이터베이스 관리 시스템(Database Management System, 이하 'DBMS'라 칭함)이 주로 활용되고 있다. 최근에는 응용 분야에 메인 메모리 DBMS도 활용되고 있는 추세이다.
상용 DBMS에서는 데이터 가용성, 신뢰성, 정합성을 제공하기 위해서 엔진 자체에 복제 기능, 동기화 기능을 제공한다.
그러나 상용 DBMS는 실제 데이터베이스 서버 구축시 성능이 기대에 미치지 못하거나 사용자가 요구하는 기능을 만족하지 못하는 경우가 많기 때문에 응용 프로그램을 별도로 개발하여 복제 및 데이터 동기화를 수행하는 경우가 많았다.
특히, DBMS 서버뿐만 아니라 스토리지까지 이중화되어 있는 액티브-액티브 데이터베이스 서버 환경에서는 하나의 데이터베이스 노드에 장애가 발생하는 경우 다른 데이터베이스 노드가 계속 서비스를 수행하면서 장애 서버의 복구 이후에 두 데이터베이스 노드 간의 데이터 동기화를 보장하는 방법이 매우 중요하다.
상용 DBMS에 종래 기술로 2PC(2 Phase Commit)을 사용하는 경우 트랜잭션 일치성을 보장할 수 있으나 처리 속도가 느리기 때문에 상용 DBMS 서비스에 활용하기에 부적합하다.
이와 같은 문제점을 해결하기 위하여, 본 발명은 액티브-액티브 데이터베이스 서버 시스템에서 하나의 데이터베이스 노드에 장애가 발생한 경우 응용 프로그램을 이용하여 두 데이터베이스 노드 간 데이터 동기화를 맞추는 데이터 동기화 장치 및 방법을 제공하기 위한 것이다.
이러한 기술적 과제를 달성하기 위한 본 발명의 특징에 따른 데이터 동기화 방법은 (a) 장애가 발생한 데이터베이스 서버의 장애 상태를 체크하고 상기 데이터베이스 서버로부터 장애 회복 신호가 수신되는 경우, 트랜잭션을 수행하는 하나 이상의 애플리케이션 서버―각 애플리케이션 서버는 로그 기록기를 가진 미들웨어를 포함함―로부터 수신한 제1 로그를 질의문으로 변환하여 상기 데이터베이스 서버로 트랜잭션 처리를 요청하는 단계; (b) 상기 트랜잭션 처리를 완료하면, 트랜잭션 처리 완료 신호를 생성하여 상기 하나 이상의 애플리케이션 서버로 전송하는 단계; 및 (c) 상기 (a)단계에서 상기 트랜잭션 처리하는 동안, 상기 하나 이상의 애플리케이션 서버로부터 수신된 제2 로그를 질의문으로 변환하여 상기 데이터베이스 서버로 잔여 트랜잭션 처리를 요청함으로써 데이터 동기화를 맞추는 단계를 포함한다.
본 발명의 특징에 따른 데이터 동기화 장치는 연동하고 있는 하나 이상의 데이터베이스 서버를 폴링 방식으로 제어하여 서버의 장애 여부를 판단하는 장애 확 인부; 트랜잭션을 수행하는 하나 이상의 애플리케이션 서버―각 애플리케이션 서버는 로그 기록기를 가진 미들웨어를 포함함―로부터 제1 로그를 수신하여 저장하는 로그 수신부; 및 장애가 발생한 데이터베이스 서버로부터 장애 회복 신호를 수신하는 경우, 상기 저장한 제1 로그를 질의문으로 변환하여 상기 장애를 발생한 데이터베이스 서버로 제1 트랜잭션 처리를 요청하고, 상기 제1 트랜잭션 처리를 완료하면 상기 제1 트랜잭션 처리를 수행하는 동안 수신된 제2 로그를 질의문으로 변환하여 상기 장애를 발생한 데이터베이스 서버로 제2 트랜잭션 처리를 요청하는 트랜잭션 처리부를 포함한다.
전술한 구성에 의하여, 본 발명은 스토리지가 다수인 데이터베이스 서버 시스템에서 성능을 보장하면서 데이터베이스 서버 간 데이터 동기화를 보장할 수 있는 효과를 기대할 수 있다.
본 발명은 액티브-액티브 데이터베이스 서버 시스템에서 하나의 데이터베이스 노드에 장애가 발생한 경우 응용 프로그램을 이용하여 두 서버 간의 트랜잭션 누수 없이 데이터 동기화를 맞추는 효과를 기대할 수 있다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설 명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 어떤 구성요소 "포함" 한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "…부", "…기", "모듈", "블록" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
도 1은 본 발명의 실시예에 따른 액티브-액티브 이중화 데이터베이스 서버 시스템에서 정상 상태를 나타낸 도면이고, 도 2는 본 발명의 실시예에 따른 액티브-액티브 이중화 데이터베이스 서버 시스템에서 디스크 기반 제2 DBMS 서버(130)에 장애가 발생한 경우를 나타낸 도면이다.
본 발명의 실시예에서는 제1 애플리케이션 서버(100), 제2 애플리케이션 서버(110), 디스크 기반 제1 DBMS 서버(120), 디스크 기반 제2 DBMS 서버(130) 및 데이터 동기화 장치(140)를 포함한다.
제1 애플리케이션 서버(100) 및 제2 애플리케이션 서버(110)는 각각 미들웨어1(102) 및 미들웨어2(112)가 응용 프로그램으로 탑재되어 있다.
제1 애플리케이션 서버(100)의 미들웨어1(102)과 제2 애플리케이션 서버(110)의 미들웨어2(112)에서 처리한 트랜잭션 데이터는 디스크 기반 제1 DBMS 서버(120)의 스토리지1(124)과 디스크 기반 제2 DBMS 서버(130)의 스토리지2(134)에 동시에 저장된다.
디스크 기반 제1 DBMS 서버(120)은 제1 DBMS 서버(122)와 스토리지1(124)을 포함하고, 디스크 기반 제2 DBMS 서버(130)은 제2 DBMS 서버(132)와 스토리지2(134)을 포함한다.
제1 애플리케이션 서버(100)의 미들웨어1(102)과 제2 애플리케이션 서버(110)의 미들웨어2(112)는 각각 디스크 기반 제1 DBMS 서버(120)와 디스크 기반 제2 DBMS 서버(130)에 데이터를 읽고 쓸 수 있다.
예를 들어, 미들웨어1(102)에서 트랜잭션 데이터를 생성하여 라이트(Write)하면 디스크 기반 제1 DBMS 서버(120)와 디스크 기반 제2 DBMS 서버(130)에 동일한 트랜잭션 데이터를 전송한다. 따라서, 디스크 기반 제1 DBMS 서버(120)와 디스크 기반 제2 DBMS 서버(130)은 동일한 트랜잭션 데이터를 저장한다.
제1 애플리케이션 서버(100)의 미들웨어1(102)과 제2 애플리케이션 서버(110)의 미들웨어2(112)는 디스크 기반 제1 DBMS 서버(120) 또는 디스크 기반 제2 DBMS 서버(130)에 장애가 발생하는 경우, 디스크 기반 제1 DBMS 서버(120) 및 디스크 기반 제2 DBMS 서버(130)에서 수행된 트랜잭션이 그 순서를 유지하면서 데이터 동기화 장치(140)에 각각 로그를 전송한다.
데이터 동기화 장치(140)는 제1 애플리케이션 서버(100)의 미들웨어1(102)와 제2 애플리케이션 서버(110)의 미들웨어2(112)로부터 로그를 수신하고, 로그에 쌓여 있는 트랜잭션을 디스크 기반 제1 DBMS 서버(120) 또는 디스크 기반 제2 DBMS 서버(130)에 트랜잭션 처리를 요청한다.
전술한 미들웨어1(102) 및 미들웨어2(112)는 구조적 질의 언어(Structured Query Language: SQL)를 파싱하여 오퍼레이션별로 로그를 저장하는 로그 기록기(응용 프로그램)를 포함한다.
데이터 동기화 장치(140)에 저장할 로그의 형태는 다음과 같다.
로그 스키마 = (일련번호, 수행 시간, 호출 서비스, 오퍼레이션명, 테이블명, 컬럼명, 값, 조건)
여기서, 일련번호는 수행되는 구조적 질의 언어문의 순서, 수행 시간은 로그를 기록하는 시간, 호출 서비스는 로그 기록을 호출한 미들웨어의 서비스, 오퍼레이션명은 쓰기 전용 DML(Data Manipulation Language)문의 종류(INSERT, UPDATE, DELETE), 테이블명은 테이블 이름, 컬럼명은 처리되는 컬럼 이름, 값은 컬럼에 반영되는 값, 조건은 쓰기 DML을 수행할 행의 조건을 의미한다.
예를 들어, 아래와 같은 스키마가 있다고 가정할 때,
create table AAA (a integer, b varchar(20));
create table BBB (a integer, b varchar(20), c varchar(20));
create table CCC (x integer, y varchar(10));
제1 애플리케이션 서버(100)의 미들웨어1(102)와 제2 애플리케이션 서버(110)의 미들웨어2(112)는 아래와 같은 트랜잭션을 디스크 기반 제1 DBMS 서버(120)에 수행하면서 동시에 로그 기록기를 호출하여 데이터 동기화 장치(140)에도 로그를 저장시킨다.
Trans_begin
insert into AAA values (1, ' aaa');
update AAA set a = ' bbb' where a = ' aaa' ;
insert into BBB values (2, ' bbb' , ' ccc');
delete from CCC where x=1 and y <> ' zzz' ;
Trans_end
Figure 112007076188315-PAT00001
다음, 도 3을 참조하여 액티브-액티브 이중화 데이터베이스 서버 시스템에서 데이터 동기화 장치(140)의 내부 구성을 상세하게 설명한다.
도 3은 본 발명의 실시예에 따른 액티브-액티브 이중화 데이터베이스 서버 시스템에서 데이터 동기화 장치(140)의 내부 구성을 간략하게 나타낸 블록 구성도이다.
본 발명의 실시예에 따른 데이터 동기화 장치(140)는 장애 확인부(142), 로그 수신부(144), 트랜잭션 처리부(146) 및 신호 처리부(148)를 포함한다.
장애 확인부(142)는 연동되어 있는 디스크 기반 제1 DBMS 서버(120)와 디스크 기반 제2 DBMS 서버(130)를 폴링 방식으로 제어하여 서버의 장애 여부를 체크한다.
로그 수신부(144)는 제1 애플리케이션 서버(100)의 로그 기록기1(104)과 제2 애플리케이션 서버(110)의 로그 기록기2(114)로부터 로그를 수신하여 로그 형식으로 저장한다.
트랜잭션 처리부(146)는 장애가 발생한 디스크 기반 제1 DBMS 서버(120) 또는 디스크 기반 제2 DBMS 서버(130)에서 장애 상태가 회복되는 경우(장애 회복 신호를 수신하는 경우), 제1 애플리케이션 서버(100)의 로그 기록기1(104)과 제2 애플리케이션 서버(110)의 로그 기록기2(114)로부터 수신한 로그를 질의문으로 변환하여 디스크 기반 제2 DBMS 서버(130)로 트랜잭션 처리를 요청한다. 또한, 트랜잭션 처리부(146)는 트랜잭션 처리하는 동안 제1 애플리케이션 서버(100)의 로그 기록기1(104)과 제2 애플리케이션 서버(110)의 로그 기록기2(114)로부터 수신한 잔여 로그를 질의문으로 변환하여 디스크 기반 제2 DBMS 서버(130)로 트랜잭션 처리를 요청한다.
신호 처리부(148)는 트랜잭션 처리부(146)에서 로그에 대한 트랜잭션 처리를 완료하면 트랜잭션 처리 완료 신호를 생성하여 제1 애플리케이션 서버(100)의 미들웨어1(102) 및 제2 애플리케이션 서버(110)의 미들웨어2(112)로 전송한다. 또한, 신호 처리부(148)는 데이터 동기화를 위한 로그를 모두 처리한 경우, 정상 복제 완료 신호를 생성하여 제1 애플리케이션 서버(100)의 미들웨어1(102) 및 제2 애플리케이션 서버(110)의 미들웨어2(112)로 전송한다.
다음, 도 4를 참조하여 액티브-액티브 이중화 데이터베이스 서버 시스템에서 데이터 동기화 방법을 상세하게 설명한다.
도 4는 본 발명의 실시예에 따른 액티브-액티브 이중화 데이터베이스 서버 시스템에서 데이터 동기화 방법을 설명하기 위한 도면이다.
도 4에 도시된 바와 같이, 액티브-액티브 이중화 데이터베이스 서버 시스템에서 디스크 기반 제2 DBMS 서버(130)에 장애가 발생한 후 정상으로 다시 장애 회복하는 경우 데이터 동기화를 맞추는 방법을 나타낸 것이다.
제1 애플리케이션 서버(100)의 미들웨어1(102) 및 제2 애플리케이션 서버(110)의 미들웨어2(112)는 각각 디스크 기반 제1 DBMS 서버(120)와 디스크 기반 제2 DBMS 서버(130)와 연결되어 주기적으로 장애 여부를 체크한다(S100).
제2 애플리케이션 서버(110)의 미들웨어2(112)는 디스크 기반 제2 DBMS 서버(130)에 장애가 발생한다고 판단하는 경우 디스크 기반 제2 DBMS 서버(130)에 연결하는 대신에 데이터 동기화를 위한 버퍼 공간인 데이터 동기화 장치(140)에 연결한다(S102).
제1 애플리케이션 서버(100)의 로그 기록기1(104)과 제2 애플리케이션 서버(110)의 로그 기록기2(114)는 각각 제1 애플리케이션 서버(100) 및 제2 애플리케이션 서버(110)에서 수행된 트랜잭션 데이터를 그 순서를 유지하면서 데이터 동기화 장치(140)에 제1 로그를 전송한다(S104).
데이터 동기화 장치(140)는 제1 애플리케이션 서버(100) 및 제2 애플리케이션 서버(110)로부터 수신한 제1 로그를 로그 형식으로 저장한다.
장애 확인부(142)는 연동된 디스크 기반 제1 DBMS 서버(120) 및 디스크 기반 제2 DBMS 서버(130)와 폴링하면서 장애 상태를 계속 체크한다(S106). 이어서, 트랜잭션 처리부(146)는 디스크 기반 제2 DBMS 서버(130)가 장애가 회복되어 연결이 된다고 판단하는 경우(즉 장애 회복 신호가 수신되는 경우), 기저장되어 있는 제1 로그를 질의문으로 변환하여 디스크 기반 제2 DBMS 서버(130)로 트랜잭션 처리를 요청한다(S108).
디스크 기반 제2 DBMS 서버(130)는 데이터 동기화 장치(140)로부터 수신된 제1 로그에 쌓여 있는 트랜잭션들을 순서대로 실행한다.
신호 처리부(148)는 제1 로그에 쌓여 있는 트랜잭션들을 모두 처리하면 트랜잭션 처리 완료 신호를 생성하여 제1 애플리케이션 서버(100)의 미들웨어1(102) 및 제2 애플리케이션 서버(110)의 미들웨어2(112)로 전송한다(S110). 이어서, 제1 애플리케이션 서버(100)의 미들웨어1(102) 및 제2 애플리케이션 서버(110)의 미들웨어2(112)는 트랜잭션 처리 완료 신호를 수신하는 경우, 기설정된 시간 동안 트랜잭션을 처리하지 않고 슬립 타임(Sleep Time)을 가진다(S112).
트랜잭션 처리부(146)는 전술한 슬립 타임 동안 제2 로그를 질의문으로 변환하여 디스크 기반 제2 DBMS 서버(130)로 잔여 트랜잭션 처리를 요청한다(S114).
여기서, 제2 로그는 단계 S108에서 트랜잭션 처리하는 동안 제1 애플리케이션 서버(100)의 로그 기록기1(104)과 제2 애플리케이션 서버(110)의 로그 기록기2(114)로부터 수신되는 로그를 의미한다.
더욱 자세하게 설명하면, 제2 로그는 단계 S108에서 트랜잭션 처리하고, 트랜잭션 처리 완료 신호가 제1 애플리케이션 서버(100)의 미들웨어1(102)과 제2 애플리케이션 서버(110)의 미들웨어2(112)로 수신할 때까지 제1 애플리케이션 서버(100)의 로그 기록기1(104)과 제2 애플리케이션 서버(110)의 로그 기록기2(114)로부터 수신되는 로그를 의미한다.
잔여 트랜잭션 처리를 요청하는 이유는 디스크 기반 제2 DBMS 서버(130)가 장애를 회복한 후, 단계 S108에서 저장된 제1 로그를 기초로 트랜잭션 처리를 수행하게 되는데, 이때에도 미들웨어1(102) 및 미들웨어2(112)에서 계속하여 트랜잭션을 발생시켜 데이터 동기화 장치(140)에 로그를 남기기 때문이다.
신호 처리부(148)는 디스크 기반 제2 DBMS 서버(130)로부터 잔여 트랜잭션 처리 완료 신호를 수신하는 경우, 모든 로그들을 처리했음을 알리는 정상 복제 완료 신호를 생성하여 제1 애플리케이션 서버(100)의 미들웨어1(102) 및 제2 애플리케이션 서버(110)의 미들웨어2(112)로 전송한다(S116). 이어서, 데이터 동기화 장치(140)는 정상적으로 복구된 로그를 삭제한다(S118).
이상에서 설명한 본 발명의 실시예는 장치 및/또는 방법을 통해서만 구현이 되는 것은 아니며, 본 발명의 실시예의 구성에 대응하는 기능을 실현하기 위한 프로그램, 그 프로그램이 기록된 기록 매체 등을 통해 구현될 수도 있으며, 이러한 구현은 앞서 설명한 실시예의 기재로부터 본 발명이 속하는 기술분야의 전문가라면 쉽게 구현할 수 있는 것이다.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.
도 1은 본 발명의 실시예에 따른 액티브-액티브 이중화 데이터베이스 서버 시스템에서 정상 상태를 나타낸 도면이다.
도 2는 본 발명의 실시예에 따른 액티브-액티브 이중화 데이터베이스 서버 시스템에서 디스크 기반 제2 DBMS 서버에 장애가 발생한 경우를 나타낸 도면이다.
도 3은 본 발명의 실시예에 따른 액티브-액티브 이중화 데이터베이스 서버 시스템에서 데이터 동기화 장치의 내부 구성을 간략하게 나타낸 블록 구성도이다.
도 4는 본 발명의 실시예에 따른 액티브-액티브 이중화 데이터베이스 서버 시스템에서 데이터 동기화 방법을 설명하기 위한 도면이다.

Claims (6)

  1. (a) 장애가 발생한 데이터베이스 서버의 장애 상태를 체크하고 상기 데이터베이스 서버로부터 장애 회복 신호가 수신되는 경우, 트랜잭션을 수행하는 하나 이상의 애플리케이션 서버―각 애플리케이션 서버는 로그 기록기를 가진 미들웨어를 포함함―로부터 수신한 제1 로그를 질의문으로 변환하여 상기 데이터베이스 서버로 트랜잭션 처리를 요청하는 단계;
    (b) 상기 트랜잭션 처리를 완료하면, 트랜잭션 처리 완료 신호를 생성하여 상기 하나 이상의 애플리케이션 서버로 전송하는 단계; 및
    (c) 상기 (a)단계에서 상기 트랜잭션 처리하는 동안, 상기 하나 이상의 애플리케이션 서버로부터 수신된 제2 로그를 질의문으로 변환하여 상기 데이터베이스 서버로 잔여 트랜잭션 처리를 요청함으로써 데이터 동기화를 맞추는 단계
    를 포함하는 데이터 동기화 방법.
  2. 제1 항에 있어서,
    상기 (c)단계 이후에,
    상기 잔여 트랜잭션 처리를 완료하면, 데이터 동기화를 위한 모든 로그를 처리했음을 나타내는 정상 복제 완료 신호를 생성하여 상기 하나 이상의 애플리케이션 서버로 전송하는 단계; 및
    데이터 동기화를 위해 처리된 로그를 삭제하는 단계
    를 더 포함하는 데이터 동기화 방법.
  3. 연동하고 있는 하나 이상의 데이터베이스 서버를 폴링 방식으로 제어하여 서버의 장애 여부를 판단하는 장애 확인부;
    트랜잭션을 수행하는 하나 이상의 애플리케이션 서버―각 애플리케이션 서버는 로그 기록기를 가진 미들웨어를 포함함―로부터 제1 로그를 수신하여 저장하는 로그 수신부; 및
    장애가 발생한 데이터베이스 서버로부터 장애 회복 신호를 수신하는 경우, 상기 저장한 제1 로그를 질의문으로 변환하여 상기 장애를 발생한 데이터베이스 서버로 제1 트랜잭션 처리를 요청하고, 상기 제1 트랜잭션 처리를 완료하면 상기 제1 트랜잭션 처리를 수행하는 동안 수신된 제2 로그를 질의문으로 변환하여 상기 장애를 발생한 데이터베이스 서버로 제2 트랜잭션 처리를 요청하는 트랜잭션 처리부
    를 포함하는 데이터 동기화 장치.
  4. 제3 항에 있어서,
    상기 제1 트랜잭션 처리를 완료하면 트랜잭션 처리 완료 신호를 생성하여 상기 하나 이상의 애플리케이션 서버로 전송하고, 상기 제2 트랜잭션 처리를 완료하면 데이터 동기화를 위한 모든 로그를 처리했음을 나타내는 정상 복제 완료 신호를 생성하여 상기 하나 이상의 애플리케이션 서버로 전송하는 신호 처리부
    를 더 포함하는 데이터 동기화 장치.
  5. 제3 항 또는 제4 항에 있어서,
    상기 제1 로그는 상기 장애가 발생한 데이터베이스 서버로부터 상기 상기 장애 회복 신호를 수신할 때까지, 상기 하나 이상의 애플리케이션 서버로부터 수신되는 로그를 의미하는 것을 특징으로 하는 데이터 동기화 장치.
  6. 제4 항에 있어서,
    상기 제2 로그는 상기 제1 트랜잭션 처리를 수행하고 상기 트랜잭션 처리 완료 신호가 상기 하나 이상의 애플리케이션 서버로 수신할 때까지 상기 하나 이상의 애플리케이션 서버로부터 수신되는 로그를 의미하는 것을 특징으로 하는 데이터 동기화 장치.
KR1020070107236A 2007-10-24 2007-10-24 액티브-액티브 데이터베이스 서버 시스템에서 데이터동기화 장치 및 방법 KR101430239B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070107236A KR101430239B1 (ko) 2007-10-24 2007-10-24 액티브-액티브 데이터베이스 서버 시스템에서 데이터동기화 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070107236A KR101430239B1 (ko) 2007-10-24 2007-10-24 액티브-액티브 데이터베이스 서버 시스템에서 데이터동기화 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20090041624A true KR20090041624A (ko) 2009-04-29
KR101430239B1 KR101430239B1 (ko) 2014-08-19

Family

ID=40764624

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070107236A KR101430239B1 (ko) 2007-10-24 2007-10-24 액티브-액티브 데이터베이스 서버 시스템에서 데이터동기화 장치 및 방법

Country Status (1)

Country Link
KR (1) KR101430239B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150137884A (ko) * 2014-05-30 2015-12-09 주식회사 알티베이스 부분동기화 지원 데이터베이스 관리 시스템 및 데이터베이스 관리 시스템에서 부분동기화 방법
KR20150142957A (ko) * 2014-06-12 2015-12-23 주식회사 리얼타임테크 In-memory 기반 실시간 DBMS를 활용한 DDS 노드 간 데이터 동기화 방법
CN113949704A (zh) * 2021-10-15 2022-01-18 北京奇艺世纪科技有限公司 一种用户信息处理方法及服务器集群

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020036502A (ko) * 2000-11-10 2002-05-16 오길록 이중화 구조를 가지는 데이터베이스 관리시스템 및 그의이중화 처리방법
KR20030048503A (ko) * 2001-12-12 2003-06-25 주식회사 엘지이아이 이중화 서버 구조의 데이터 동기화를 위한 통신 시스템 및방법
US7383264B2 (en) 2003-03-27 2008-06-03 Hitachi, Ltd. Data control method for duplicating data between computer systems

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150137884A (ko) * 2014-05-30 2015-12-09 주식회사 알티베이스 부분동기화 지원 데이터베이스 관리 시스템 및 데이터베이스 관리 시스템에서 부분동기화 방법
KR20150142957A (ko) * 2014-06-12 2015-12-23 주식회사 리얼타임테크 In-memory 기반 실시간 DBMS를 활용한 DDS 노드 간 데이터 동기화 방법
CN113949704A (zh) * 2021-10-15 2022-01-18 北京奇艺世纪科技有限公司 一种用户信息处理方法及服务器集群
CN113949704B (zh) * 2021-10-15 2024-03-08 北京奇艺世纪科技有限公司 一种用户信息处理方法及服务器集群

Also Published As

Publication number Publication date
KR101430239B1 (ko) 2014-08-19

Similar Documents

Publication Publication Date Title
US10929428B1 (en) Adaptive database replication for database copies
US11068501B2 (en) Single phase transaction commits for distributed database transactions
US9946735B2 (en) Index structure navigation using page versions for read-only nodes
US8229893B2 (en) Metadata management for fixed content distributed data storage
US7657581B2 (en) Metadata management for fixed content distributed data storage
US9436752B2 (en) High availability via data services
US7383293B2 (en) Database backup system using data and user-defined routines replicators for maintaining a copy of database on a secondary server
KR101662212B1 (ko) 부분동기화 지원 데이터베이스 관리 시스템 및 데이터베이스 관리 시스템에서 부분동기화 방법
KR101265388B1 (ko) 고가용성 데이터베이스 관리 시스템 및 이를 이용한 데이터베이스 관리 방법
US20030126133A1 (en) Database replication using application program event playback
KR100450400B1 (ko) 안전 기억 장치가 없는 환경을 위한 이중화 구조의 주 메모리 상주 데이터베이스 관리시스템 및 그 데이터 일치성 제어방법
US20120278429A1 (en) Cluster system, synchronization controlling method, server, and synchronization controlling program
US20110137874A1 (en) Methods to Minimize Communication in a Cluster Database System
US7197519B2 (en) Database system including center server and local servers
US11995099B2 (en) System and method for switching from consistent database to an eventual consistent database replica in real time while preventing reads of past versions of the data
KR100521742B1 (ko) 엑스엠엘 문서의 구조 및 속성 정보의 손실 없이 엑스엠엘문서를 원격 서버로 복제하는 엑스엠엘 데이터베이스이중화 장치 및 그 방법
US20230315713A1 (en) Operation request processing method, apparatus, device, readable storage medium, and system
KR20090041624A (ko) 액티브-액티브 데이터베이스 서버 시스템에서 데이터동기화 장치 및 방법
US20070266061A1 (en) Data Multiplexing System
JP2001034518A (ja) 分散データベースシステムにおける主従関係情報同期方式
Narasani Clustering implementation for H2 database

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
FPAY Annual fee payment

Payment date: 20180801

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190731

Year of fee payment: 6