KR20030054442A - 안전 기억장치가 없는 환경에서 로그정보를 이용한주메모리 상주 데이터베이스 관리시스템의 이중화 구조 및데이터 일치성 제어방법 - Google Patents

안전 기억장치가 없는 환경에서 로그정보를 이용한주메모리 상주 데이터베이스 관리시스템의 이중화 구조 및데이터 일치성 제어방법 Download PDF

Info

Publication number
KR20030054442A
KR20030054442A KR1020010084603A KR20010084603A KR20030054442A KR 20030054442 A KR20030054442 A KR 20030054442A KR 1020010084603 A KR1020010084603 A KR 1020010084603A KR 20010084603 A KR20010084603 A KR 20010084603A KR 20030054442 A KR20030054442 A KR 20030054442A
Authority
KR
South Korea
Prior art keywords
log
dbms
transaction
log record
record
Prior art date
Application number
KR1020010084603A
Other languages
English (en)
Other versions
KR100450400B1 (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 KR10-2001-0084603A priority Critical patent/KR100450400B1/ko
Priority to US10/310,465 priority patent/US20030120669A1/en
Publication of KR20030054442A publication Critical patent/KR20030054442A/ko
Application granted granted Critical
Publication of KR100450400B1 publication Critical patent/KR100450400B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/40Data acquisition and logging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1666Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area
    • 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/2358Change logging, detection, and notification
    • 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/2365Ensuring data consistency and integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements

Landscapes

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

Abstract

본 발명은 디스크와 같은 안전 기억장치가 없는 환경에서 데이터 관리를 위해 주메모리 상주 데이터베이스 관리 시스템을 이중화하기 위한 이중화 구조 및 데이터 일치성 제어방법에 관한 것으로, 본 발명에 따른 이중화 구조는, 대기측 DBMS 시스템과 활성측 DBMS 시스템이 네트워크를 통해 연결된 이중화 구조에 있어서, 상기 DBMS 시스템 각각은, 대기 또는 활성 상태를 설정하고 관리하는 상태관리자; 로그페이지를 포함하는 로그 풀을 구비하고, 메모리 데이터베이스에 대한 변경 작업 및 변경 내역을 로그레코드 구조를 이용하여 트랜잭션 별로 작성하며, 트랜잭션에 대한 완료 및 회복 처리를 수행하는 DBMS 서버; 이중화된 메모리 데이터베이스에 대한 일치성 제어를 위해, 상기 활성측 DBMS 시스템의 메모리 데이터베이스 변경 사항인 로그레코드를 상기 대기측 DBMS 시스템으로 전송하고, 상기 수신된 로그레코드를 메모리 데이터베이스에 반영하는 이중화 관리기를 포함하되, 상기 DBMS 서버는 상기 로그 풀로부터 로그페이지를 할당받아, 트랜잭션 테이블에 연결한 후, 상기 로그페이지에 로그레코드를 저장하고, 해당 데이터베이스 영역을 변경하는 것을 특징으로 한다.

Description

안전 기억장치가 없는 환경에서 로그정보를 이용한 주메모리 상주 데이터베이스 관리시스템의 이중화 구조 및 데이터 일치성 제어방법{A High Avaliability Structure of MMDBMS Using Log Information for Diskless Environment}
본 발명은 디스크와 같은 안전 기억장치가 없는 환경에서 데이터 관리를 위해 주메모리 상주 데이터베이스 관리 시스템(DBMS: DataBase Management System)을 운용하면서 지속적인 데이터 서비스를 위해 이중화 기능을 요구하는 경우, 이를 효율적으로 지원하기 위한 로그정보를 이용한 주메모리 상주 DBMS의 이중화 구조 및 데이터 일치성 제어방법에 관한 것이다.
초기의 데이터베이스 관리시스템(DBMS)들은 고 가용성을 위해 동일한 데이터를 각 프로세서에 중복시켜 관리하는 데이터 중복 기법을 주로 이용하였다. 데이터베이스 중복을 위해서는 한 사이트에서 변경된 사항을 다른 사이트에 전달하여, 데이터간의 일치성을 보장해야 한다. 데이터 동기를 위해 이단계 완료 프로토콜(2Phase Commit Protocol)이나 비동기식 전달 방법에 의한 일치성 제어 방법 등이 사용되고 있으며, 데이터에 대한 변경 권한이나 접근 권한을 분리하여 중앙 데이터베이스 서버에서만 변경을 할 수 있도록 하는 방법도 사용되고 있다. 그러나, 이단계완료 프로토콜에 의한 방법의 경우, 모든 중복된 프로세서들이 처리 가능해야 하므로, 트랜잭션 실패의 확률이 높고, 비동기식 방법에서는 데이터의 일치성 보장이 미흡하다. 이를 보완하기 위한 중앙 데이터베이스 서버를 이용한 변경 방법은 중앙 데이터베이스 서버 시스템의 오류 발생시, 일관성 있는 데이터 서비스를 지속할 수 없으며, 그 이외의 일치성 제어 방법의 경우 중복 프로세서의 수가 많으면, 일치성 제어를 위한 시간이 많이 소요되고, 복잡한 구조로 인해 고 가용성 구조 시스템에서 고장 발생 가능성인 SPOF(Single Point OF Failure)를 다수 고려해야 하는 문제를 내포한다.
이러한 문제를 해결하기 위해 종래에는 고장 감내 특성을 제공하기 위해 하드웨어나 클러스터링 소프트웨어를 이용하는 방법도 적용되나, 이는 워낙 고가의 시스템이고, 클러스터링 기법의 경우 프로세스의 상태 관리를 위주로 하므로, 주메모리 데이터베이스 관리를 위해서는 적용될 수 없는 한계가 있다.
Polyhedra는 메모리 상주 DBMS로 데이터베이스 이중화를 위해 활성측과 대기측의 DBMS이외에 조정자 DB(arbitrator DB)를 별도로 두어 관리하는 복잡한 구조를 갖는다. Polyhedra는 데이터 변경을 위해 데이터베이스 변경 이전에 해당 데이터베이스의 스키마와 데이터 내용들을 디스크 파일에 복사해 두는 snapshot 방법을 이용한다. 그리고, 시스템 회복을 위해서는 저널 제어 데이터(journal control data)를 작성하여 디스크에 파일로 기록한다. 트랜잭션 회복 시점에는 복사해 둔 원본 데이터를 데이터베이스에 복사하여 트랜잭션 이전의 상태로 회복한다. 작성된 저널 제어 데이터들은 대기 프로세서로 전송하여 두 시스템간의 일치성 제어를 수행하는데 이용된다. Polyhedra의 경우 데이터 변경을 위해 snapshot을 저장해야 하므로, 반드시 안정화된 기억장치를 필요로 하며, 대기측에서도 저널 제어 데이터를 적용하기 위해 snapshot 기법을 이용한다. 따라서, 여러 트랜잭션이 동시에 수행중인 경우 트랜잭션 시작 시점에 데이터베이스 복사를 위한 많은 시간과 공간이소요되며, 이들을 관리하기 위한 방법이 복잡한 단점을 갖는다.
따라서, 본 발명은 상기와 같은 종래 기술의 문제점을 해결하기 위한 것으로, 본 발명의 목적은 간략화된 로그 레코드 구조를 이용하여 트랜잭션별로 로그를 저장, 관리하면서 트랜잭션 회복 기능이나 이중화 기능을 제공하여, 주메모리 데이터베이스 시스템의 성능을 보장하면서 저비용으로 고장 감내 특성까지도 제공할 수 있는 안전 기억장치가 없는 환경에서 로그정보를 이용한 주메모리 상주 DBMS의 이중화 구조 및 데이터 일치성 제어방법을 제공하는데 있다.
도1은 본 발명에 따른 주기억장치 DBMS의 이중화 구조도.
도2는 본 발명에 따른 이중화를 위한 로그레코드 구조도.
도3은 본 발명에 따른 안전기억장치가 없는 환경에서 트랜잭션별 로그레코드 관리 구조도.
도4는 본 발명에 따른 트랜잭션별 로그레코드 관리 처리 흐름도.
도5는 본 발명에 따른 데이터베이스의 데이터 일치성 제어 흐름도.
*도면의 주요부분에 대한 부호의 설명
101, 102 : DBMS 시스템
103 : 네트워크
104 : 상태 관리자
105 : DBMS 서버
106 : 로그 풀
107 : 이중화 관리기
상기 목적을 달성하기 위한 본 발명에 따른 이중화 구조는, 디스크와 같은 안전기억장치가 없는 시스템 환경에서 주메모리 상주 DBMS를 이중화하기 위해, 대기측 DBMS 시스템과 활성측 DBMS 시스템이 네트워크를 통해 연결된 이중화 구조에 있어서,
상기 DBMS 시스템 각각은, 대기 또는 활성 상태를 설정하고 관리하는 상태관리자;
로그페이지를 포함하는 로그 풀을 구비하고, 메모리 데이터베이스에 대한 변경 작업 및 변경 내역을 로그레코드 구조를 이용하여 트랜잭션 별로 작성하며, 트랜잭션에 대한 완료 및 회복 처리를 수행하는 DBMS 서버;
이중화된 메모리 데이터베이스에 대한 일치성 제어를 위해, 상기 활성측 DBMS 시스템의 메모리 데이터베이스 변경 사항인 로그레코드를 상기 대기측 DBMS시스템으로 전송하고, 상기 수신된 로그레코드를 메모리 데이터베이스에 반영하는 이중화 관리기를 포함하되,
상기 DBMS 서버는 상기 로그 풀로부터 로그페이지를 할당받아, 트랜잭션 테이블에 연결한 후, 상기 로그페이지에 로그레코드를 저장하고, 해당 데이터베이스 영역을 변경하는 것을 특징으로 한다.
또한, 본 발명에 따른 데이터 일치성 제어방법은, 디스크와 같은 안전기억장치가 없는 시스템 환경에서 주메모리 상주 DBMS를 이중화하기 위해, 대기측 DBMS 시스템과 활성측 DBMS 시스템이 네트워크를 통해 연결된 이중화 구조에서의 메모리 데이터베이스의 데이터 일치성 제어방법에 있어서,
상기 활성측 DBMS 시스템의 질의 처리기가 사용자로부터 변경 명령을 수신하면 트랜잭션별로 로그레코드를 작성하되, 로그 풀로부터 로그페이지를 할당받아, 트랜잭션 테이블에 연결한 후, 상기 로그페이지에 로그레코드를 저장하고, 해당 데이터베이스 영역을 변경하는 제1 단계;
트랜잭션이 종료되면 상기 대기측 DBMS 시스템으로 로그레코드를 전송한 후, 상기 로그 풀에 할당받은 로그페이지를 반환하고, 트랜잭션을 종료하는 제2 단계;
상기 대기측 DBMS 시스템이 상기 활성측 DBMS 시스템으로부터 로그레코드를 수신하면, 로그풀로부터 로그페이지를 할당받아, 트랜잭션 테이블에 연결한 후, 상기 로그페이지에 상기 수신된 로그레코드를 저장하는 제3 단계; 및
로그레코드를 저장한 후, 상기 활성측 DBMS 시스템으로 수신결과를 전송하고, 상기 저장된 로그레코드를 이용하여 메모리 데이터베이스를 변경하는 제4 단계를 포함하는 것을 특징으로 한다.
또한, 본 발명은, 이중화된 컴퓨터에서,
활성측의 질의 처리기가 사용자로부터 변경 명령을 수신하면 트랜잭션별로 로그레코드를 작성하되, 로그 풀로부터 로그페이지를 할당받아, 트랜잭션 테이블에 연결한 후, 상기 로그페이지에 로그레코드를 저장하고, 해당 데이터베이스 영역을 변경하는 제1 기능;
트랜잭션이 종료되면 대기측으로 로그레코드를 전송한 후, 상기 로그 풀에 할당받은 로그페이지를 반환하고, 트랜잭션을 종료하는 제2 기능;
상기 대기측이 상기 활성측으로부터 로그레코드를 수신하면, 로그풀로부터 로그페이지를 할당받아, 트랜잭션 테이블에 연결한 후, 상기 로그페이지에 상기 수신된 로그레코드를 저장하는 제3 기능; 및
상기 대기측이 로그레코드를 저장한 후, 상기 활성측으로 수신결과를 전송하고, 상기 저장된 로그레코드를 이용하여 메모리 데이터베이스를 변경하는 제4 기능을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.
본 발명에서는 DBMS를 상주시킨 두개의 시스템을 네트워크로 연결하고, 두 시스템을 각각 활성측과 대기측 DBMS로 구분하여 활성측 DBMS만이 외부 응용 소프트웨어와 연동하여 동작할 수 있도록 한다. 트랜잭션 회복을 위해 데이터베이스 변경에 대한 기록은 데이터베이스 변경 이전에 간략화된 로그레코드 구조를 이용하여 기록하며, 트랜잭션 별로 저장 관리한다. DBMS 서버는 트랜잭션 별로 로그를 관리하기 위해 로그 풀을 생성하여 관리한다. 활성측 DBMS의 메모리 데이터베이스에 대한 변경은 고장감내 특성을 제공하기 위해 작성된 로그정보를 트랜잭션 완료 시점에 대기측 DBMS로 동시에 전송하여, 대기측 DBMS와 활성측 DBMS의 메모리 데이터베이스 간의 일치성 제어를 수행한다. 본 발명은 트랜잭션 별로 로그 레코드를 관리하게 되므로, 로그레코드 구조를 단순화하였고, DBMS내에 로그 풀을 관리하면서 트랜잭션 별로 로그레코드들을 기록할 수 있도록 하고, 완료된 트랜잭션에 대한 정보만을 대기측으로 전송하여, 기존의 DBMS에서 로그버퍼 공유로 로그레코드를 기록하는 과정에서 상호 배제를 위한 알고리즘 적용을 배제할 수 있으므로, 고성능과 고가용성을 제공할 수 있다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시 예를 상세히 설명한다.
도1은 본 발명에 따른 안전 기억장치가 없는 내장형 시스템 환경에서 이중화된 DBMS를 설명하기 위한 도면이다.
본 발명에 따른 DBMS의 이중화 구조에서 두개의 시스템에 실장 되어 운용되는 DBMS는 각각 활성측 DBMS(101)와 대기측 DBMS(102)로 동작하며, 이들 두 시스템은 네트워크(103)를 통해 정보를 송,수신한다.
각 시스템에서 상태관리자(104)는 DBMS의 상태를 점검하거나, 시스템의 상태를 설정하고, 두 시스템간의 상태 변경을 요청하는 등 시스템의 상태와 관련된 작업을 수행한다. 상태관리자는 두 시스템의 상태를 확인하기 위해 하트비트(heart-beat) 정보를 이용한다. DBMS 서버(105)는 메모리 데이터베이스에 대한 변경 작업 및 변경 내역을 로그레코드 구조를 이용하여 트랜잭션 별로 작성하며, 트랜잭션에 대한 완료 및 회복 처리를 수행한다. 이때, 트랜잭션별 로그 관리를 위해 서버 내에 로그 페이지들을 포함하는 로그 풀(106)을 두어 관리한다.
이중화 관리기(107)는 이중화된 두개의 메모리 데이터베이스에 대한 일치성 제어를 담당한다. 이중화 관리기는 활성측 DBMS에서는 메모리 데이터베이스의 변경 사항인 로그레코드를 대기측 DBMS로 전송하는 역할을 수행하며, 대기측 DBMS에서는 수신된 로그레코드들을 메모리 데이터베이스에 반영하여 두 시스템의 상태 교체 시, 즉각적인 서비스를 수행할 수 있도록 DBMS내의 운영 정보들을 변경하는 작업을 수행한다.
도2는 본 발명에 따른 트랜잭션 회복 및 이중화를 위한 로그레코드 구조를 나타낸다.
로그레코드는 트랜잭션별로 생성 및 관리되므로, 실제 트랜잭션의 회복을 위한 정보와 이중화를 위한 최소한의 정보만을 포함한다. 로그레코드에서 Record_Type(201)은 로그레코드가 물리적 로그레코드 타입인지, 논리적 로그레코드 타입인지 등의 정보를 저장한다. 객체 식별자(OID)(202)는 실제 데이터베이스 내 변경 데이터의 위치 정보이고, Length(203)은 변경 데이터의 크기를 저장한다. TransPrevOffset(204)은 트랜잭션별 로그 풀에 기록된 로그레코드들을 이용하여 트랜잭션 회복과정 수행 시 다음에 회복을 위해 사용될 로그레코드의 위치 정보를 저장한다. Before_Image(205)는 트랜잭션 회복을 위해 사용되는 정보로 변경 이전의 데이터 값이며, After_Image(206)는 이중화를 위해 사용되는 정보로 변경 이후의 값 정보를 포함하게 된다.
도3은 본 발명에 따른 안전기억장치가 없는 내장형 시스템 환경에서 로그 풀을 이용한 트랜잭션별 로그레코드 관리 구조를 나타낸 예시 도이다.
메모리 데이터베이스(MDB)(301)에 대한 변경내역은 트랜잭션별로 로그레코드 구조를 이용하여 기록한다. 이때, 트랜잭션 테이블(302)은 작성된 로그레코드들을 트랜잭션별로 저장 및 관리하기 위해 DBMS가 관리하는 메모리의 로그 풀(303)로부터 로그페이지를(304) 할당받아 해당 영역에 저장한다. 트랜잭션이 완료되면 해당 로그레코드들을 대기측으로 전송한 후, 로그페이지를 로그 풀에 반환하여 재사용하도록 하며, 트랜잭션 회복 시점에는 이들 정보를 이용하여 회복 과정을 수행하고 역시 로그 풀에 반환한다.
도4는 본 발명에 따른 트랜잭션별 로그레코드 관리 과정을 나타낸 처리 흐름도이다.
트랜잭션이 시작(401)되면, 데이터베이스 접근을 위한 명령어 타입에 따라(402), 검색 명령인 경우(403) 해당 명령 처리를 수행하며(404), 변경 명령인 경우는 해당 데이터 변경을 위한 로그레코드를 작성하는데(405), 그 과정은 다음과 같다. 먼저, 로그 풀로부터 로그레코드를 할당받는데, 할당된 로그페이지가 없거나 할당된 로그페이지에 로그레코드 저장 공간이 부족한 경우(406), 로그 풀로부터 새로운 로그페이지를 할당받아(407), 트랜잭션 테이블에 연결한 후, 로그페이지에 로그레코드를 저장하고(408), 해당 데이터베이스 영역을 변경(409)한다. 이러한 데이터베이스 접근에 대한 명령어 처리 과정을 수행한 후. 트랜잭션 철회 명령이 요구되는 경우엔 해당 트랜잭션 테이블에 연결된 로그페이지 내 로그레코드들을 이용하여 회복 과정을 수행하며(410), 트랜잭션 종료명령이 요청된 경우에는 해당 로그 페이지내의 로그레코드들을 대기측으로 전송한 후(411), 할당 받았던 로그페이지들을 재사용을 위해 로그풀에 반환하고(412), 트랜잭션 종료 처리를 수행한다(413).
도5는 본 발명에 따른 트랜잭션별 로그처리를 이용한 메모리 데이터베이스의 데이터 일치성 제어 흐름도이다.
DBMS의 상태에 따라(501) 활성측인 경우 질의처리기는 사용자의 데이터베이스 접근 요구를 분석하여(502), 변경 명령인 경우 변경 내역을 로그레코드로 작성하고, 질의 처리 과정을 수행한다(503). 상기 503과정은 도4에서 상술한 바와 같다. 트랜잭션 종료 요청이 요구된 경우(504) 데이터베이스 일치성 제어를 통한 지속적인 서비스 제공을 위해 이중화 관리기를 통해 대기측 DBMS에게 로그레코드들을 전송하고(505), 대기측 DBMS로부터 전송 결과를 수신한다(506). 대기측 DBMS에서는 이중화관리기를 통해 활성측으로부터 로그레코드들을 수신하면(507), 이들을 저장하기 위해 로그 풀에서 로그페이지를 할당 받아(508), 트랜잭션 테이블에 할당받은 로그페이지를 연결하고(509), 활성측 DBMS에서 수신된 로그레코드들을 저장하고(510), 수신결과를 활성측에 전송한다(511). 대기측에서는 저장된 로그레코드들을 이용해 데이터베이스 일치성 제어를 위한 메모리 데이터베이스 변경 작업을 수행하여(512), 어떤 순간에서도 상태를 교체하여 데이터베이스에 대한 접근 처리를 제공할 수 있도록 준비한다.
상기와 같은 본 발명에 의하면, 디스크와 같은 안전기억장치가 없는 내장형 시스템 환경에서 주메모리 상주 DBMS를 사용하면서 고 가용성을 제공하기 위한 이중화 처리가 가능하도록 함으로써, 일반적으로 고장감내를 위해 사용되는 클러스터링 기술에서는 제공할 수 없는 데이터베이스의 상태 및 DBMS시스템 상태에 대한 고장감내 기술을 제공하여, 시스템에 대한 오류 발생시에도 지속적으로 사용자 요구 처리를 수행할 수 있으며, 완료된 트랜잭션에 대한 로그만을 대기측으로 전송하도록 하여 전송량을 줄이고, 불필요한 트랜잭션 회복의 가능성을 배제시켰으며, 로그레코드 기록을 위해서는 DBMS내에 로그 풀을 운용하면서 로그페이지를 할당 받아 트랜잭션 별로 로그레코드를 기록하도록 함으로써, 일반적으로 로그버퍼를 공유하는 알고리즘 적용시의 상호 배제를 위한 잠금 및 해제 기능을 생략할 수 있어, 고성능을 제공할 수 있다. 또한 본 발명은 로그 레코드 구조도 트랜잭션 별로 로그를 관리하게 되므로, 트랜잭션 회복이나 대기측 데이터베이스 일치성 제어를 위해 필요한 최소한의 정보만을 포함하도록 간략화함으로써, 로그의 양을 최소화하였으며, 기존 DBMS의 구조 변경을 최소화하면서 저 비용으로 고장감내의 특성을 제공할 수 있다.

Claims (7)

  1. 디스크와 같은 안전기억장치가 없는 시스템 환경에서 주메모리 상주 DBMS를 이중화하기 위해, 대기측 DBMS 시스템과 활성측 DBMS 시스템이 네트워크를 통해 연결된 이중화 구조에 있어서,
    상기 DBMS 시스템 각각은,
    대기 또는 활성 상태를 설정하고 관리하는 상태관리자;
    로그페이지를 포함하는 로그 풀을 구비하고, 메모리 데이터베이스에 대한 변경 작업 및 변경 내역을 로그레코드 구조를 이용하여 트랜잭션 별로 작성하며, 트랜잭션에 대한 완료 및 회복 처리를 수행하는 DBMS 서버;
    이중화된 메모리 데이터베이스에 대한 일치성 제어를 위해, 상기 활성측 DBMS 시스템의 메모리 데이터베이스 변경 사항인 로그레코드를 상기 대기측 DBMS 시스템으로 전송하고, 상기 수신된 로그레코드를 메모리 데이터베이스에 반영하는 이중화 관리기를 포함하되,
    상기 DBMS 서버는 상기 로그 풀로부터 로그페이지를 할당받아, 트랜잭션 테이블에 연결한 후, 상기 로그페이지에 로그레코드를 저장하고, 해당 데이터베이스 영역을 변경하는 것을 특징으로 하는 주메모리 상주 데이터베이스 관리시스템의 이중화 구조.
  2. 제 1 항에 있어서, 상기 로그레코드는,
    물리적 로그레코드 타입인지, 논리적 로그레코드 타입인지를 저장하는 레코드 타입 필드, 실제 데이터베이스 내 변경 데이터의 위치 정보를 저장하는 객체 식별자 필드, 변경 데이터의 크기를 저장하는 길이 필드, 트랜잭션별 로그 풀에 기록된 로그레코드들을 이용하여 트랜잭션 회복과정 수행 시, 다음에 회복을 위해 사용될 로그레코드의 위치 정보를 저장하는 필드, 트랜잭션 회복을 위해 사용되는 정보로 변경 이전의 데이터 값을 저장하는 필드, 이중화를 위해 사용되는 정보로 변경 이후의 값 정보를 저장하는 필드를 포함하는 것을 특징으로 하는 주메모리 상주 데이터베이스 관리시스템의 이중화 구조.
  3. 제 1 항에 있어서,
    상기 DBMS 서버는, 상기 로그 풀로부터 할당된 로그페이지가 없거나 할당된 로그페이지에 로그레코드 저장 공간이 부족한 경우에는 상기 로그 풀로부터 새로운 로그페이지를 할당 받아 로그레코드를 저장하는 것을 특징으로 하는 주메모리 상주 데이터베이스 관리시스템의 이중화 구조.
  4. 디스크와 같은 안전기억장치가 없는 시스템 환경에서 주메모리 상주 DBMS를 이중화하기 위해, 대기측 DBMS 시스템과 활성측 DBMS 시스템이 네트워크를 통해 연결된 이중화 구조에서의 메모리 데이터베이스의 데이터 일치성 제어방법에 있어서,
    상기 활성측 DBMS 시스템의 질의 처리기가 사용자로부터 변경 명령을 수신하면 트랜잭션별로 로그레코드를 작성하되, 로그 풀로부터 로그페이지를 할당받아,트랜잭션 테이블에 연결한 후, 상기 로그페이지에 로그레코드를 저장하고, 해당 데이터베이스 영역을 변경하는 제1 단계;
    트랜잭션이 종료되면 상기 대기측 DBMS 시스템으로 로그레코드를 전송한 후, 상기 로그 풀에 할당받은 로그페이지를 반환하고, 트랜잭션을 종료하는 제2 단계;
    상기 대기측 DBMS 시스템이 상기 활성측 DBMS 시스템으로부터 로그레코드를 수신하면, 로그풀로부터 로그페이지를 할당받아, 트랜잭션 테이블에 연결한 후, 상기 로그페이지에 상기 수신된 로그레코드를 저장하는 제3 단계; 및
    로그레코드를 저장한 후, 상기 활성측 DBMS 시스템으로 수신결과를 전송하고, 상기 저장된 로그레코드를 이용하여 메모리 데이터베이스를 변경하는 제4 단계를 포함하는 것을 특징으로 하는 메모리 데이터베이스의 데이터 일치성 제어방법.
  5. 제 4 항에 있어서, 상기 로그레코드는,
    물리적 로그레코드 타입인지, 논리적 로그레코드 타입인지를 저장하는 레코드 타입 필드, 실제 데이터베이스 내 변경 데이터의 위치 정보를 저장하는 객체 식별자 필드, 변경 데이터의 크기를 저장하는 길이 필드, 트랜잭션별 로그 풀에 기록된 로그레코드들을 이용하여 트랜잭션 회복과정 수행 시, 다음에 회복을 위해 사용될 로그레코드의 위치 정보를 저장하는 필드, 트랜잭션 회복을 위해 사용되는 정보로 변경 이전의 데이터 값을 저장하는 필드, 이중화를 위해 사용되는 정보로 변경 이후의 값 정보를 저장하는 필드를 포함하는 것을 특징으로 하는 메모리 데이터베이스의 데이터 일치성 제어방법.
  6. 제 4 항에 있어서,
    상기 제1 단계에서 상기 로그 풀로부터 할당된 로그페이지가 없거나 할당된 로그페이지에 로그레코드 저장 공간이 부족한 경우에는 상기 로그 풀로부터 새로운 로그페이지를 할당 받아 트랜잭션 테이블에 연결하는 것을 특징으로 하는 메모리 데이터베이스의 데이터 일치성 제어방법.
  7. 이중화된 컴퓨터에서,
    활성측의 질의 처리기가 사용자로부터 변경 명령을 수신하면 트랜잭션별로 로그레코드를 작성하되, 로그 풀로부터 로그페이지를 할당받아, 트랜잭션 테이블에 연결한 후, 상기 로그페이지에 로그레코드를 저장하고, 해당 데이터베이스 영역을 변경하는 제1 기능;
    트랜잭션이 종료되면 대기측으로 로그레코드를 전송한 후, 상기 로그 풀에 할당받은 로그페이지를 반환하고, 트랜잭션을 종료하는 제2 기능;
    상기 대기측이 상기 활성측으로부터 로그레코드를 수신하면, 로그풀로부터 로그페이지를 할당받아, 트랜잭션 테이블에 연결한 후, 상기 로그페이지에 상기 수신된 로그레코드를 저장하는 제3 기능; 및
    상기 대기측이 로그레코드를 저장한 후, 상기 활성측으로 수신결과를 전송하고, 상기 저장된 로그레코드를 이용하여 메모리 데이터베이스를 변경하는 제4 기능을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR10-2001-0084603A 2001-12-26 2001-12-26 안전 기억 장치가 없는 환경을 위한 이중화 구조의 주 메모리 상주 데이터베이스 관리시스템 및 그 데이터 일치성 제어방법 KR100450400B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR10-2001-0084603A KR100450400B1 (ko) 2001-12-26 2001-12-26 안전 기억 장치가 없는 환경을 위한 이중화 구조의 주 메모리 상주 데이터베이스 관리시스템 및 그 데이터 일치성 제어방법
US10/310,465 US20030120669A1 (en) 2001-12-26 2002-12-04 Duplex structure of main-memory DBMS using log information in diskless environment and method for controlling consistency of data of main-memory DBMS

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2001-0084603A KR100450400B1 (ko) 2001-12-26 2001-12-26 안전 기억 장치가 없는 환경을 위한 이중화 구조의 주 메모리 상주 데이터베이스 관리시스템 및 그 데이터 일치성 제어방법

Publications (2)

Publication Number Publication Date
KR20030054442A true KR20030054442A (ko) 2003-07-02
KR100450400B1 KR100450400B1 (ko) 2004-09-30

Family

ID=19717561

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-0084603A KR100450400B1 (ko) 2001-12-26 2001-12-26 안전 기억 장치가 없는 환경을 위한 이중화 구조의 주 메모리 상주 데이터베이스 관리시스템 및 그 데이터 일치성 제어방법

Country Status (2)

Country Link
US (1) US20030120669A1 (ko)
KR (1) KR100450400B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100509946B1 (ko) * 2002-11-27 2005-08-24 한국전자통신연구원 이중화 dbms에서의 상태제어 및 일관성 유지 방법
KR100671789B1 (ko) * 2004-06-08 2007-01-22 주식회사 엘비에스플러스 유무선 분산 환경하의 공간 데이터간의 데이터 전송과데이터 동기화 방법 및 그러한 방법의 실행을 위한 분산공간 데이터 동기화 시스템

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7209920B2 (en) * 2003-06-20 2007-04-24 International Business Machines Corporation Low-overhead consistency check for shared resource using flux indicator
US7487188B2 (en) * 2004-09-07 2009-02-03 Computer Associates Think, Inc. System and method for providing increased database fault tolerance
US7860847B2 (en) * 2006-11-17 2010-12-28 Microsoft Corporation Exception ordering in contention management to support speculative sequential semantics
US8010550B2 (en) * 2006-11-17 2011-08-30 Microsoft Corporation Parallelizing sequential frameworks using transactions
US8024714B2 (en) 2006-11-17 2011-09-20 Microsoft Corporation Parallelizing sequential frameworks using transactions
US7870095B2 (en) * 2007-12-03 2011-01-11 International Business Machines Corporation Apparatus, system, and method for replication of data management information
JP5365128B2 (ja) * 2008-10-03 2013-12-11 富士通株式会社 一括登録されるデータに係る情報システム、方法、およびプログラム
US9864772B2 (en) 2010-09-30 2018-01-09 International Business Machines Corporation Log-shipping data replication with early log record fetching
IL208641A0 (en) * 2010-10-12 2010-12-30 Eci Telecom Ltd Method for accelerating start up of a computerized system
US9665599B2 (en) * 2013-06-03 2017-05-30 International Business Machines Corporation Maintaining database consistency when nearing the end of a database recovery log
US9558229B2 (en) * 2013-11-26 2017-01-31 Sap Se Transaction private log buffering for high performance of transaction processing
US9934008B2 (en) * 2014-06-18 2018-04-03 Netapp, Inc. Methods for facilitating persistent storage of in-memory databases and devices thereof
WO2015200544A1 (en) * 2014-06-24 2015-12-30 Keepsayk LLC Cloud system and method with mobile supercloud computing, data link redirection and layout editing
US10965608B2 (en) 2014-06-24 2021-03-30 Keepsayk LLC Mobile supercloud computing system and method
CN104993940A (zh) * 2015-05-11 2015-10-21 广东小天才科技有限公司 一种减少主备节点故障切换过程中数据丢失的方法和装置
US10009438B2 (en) 2015-05-20 2018-06-26 Sandisk Technologies Llc Transaction log acceleration
CN105468475A (zh) * 2015-11-16 2016-04-06 北京奇虎科技有限公司 数据库的备份方法及备份装置
US10747572B2 (en) 2016-09-30 2020-08-18 International Business Machines Corporation Computing system including enhanced application performance based on last completed operation sequence value
CN107729222B (zh) * 2017-07-26 2020-01-07 深圳壹账通智能科技有限公司 用户行为统计方法、系统、计算机设备和存储介质
CN108520069A (zh) * 2018-04-13 2018-09-11 郑州云海信息技术有限公司 一种数据库高可用实现方法及数据库服务器
CN109936481B (zh) * 2019-03-22 2021-06-18 北京达佳互联信息技术有限公司 主从服务器切换方法、装置、电子设备及存储介质
CN110222042B (zh) * 2019-05-30 2020-06-16 口碑(上海)信息技术有限公司 用于确定已核对业务数据的方法、装置、设备及系统架构

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5613106A (en) * 1989-09-15 1997-03-18 Motorola, Inc. Method for processing and storing a transaction in a distributed database system
GB2273180A (en) * 1992-12-02 1994-06-08 Ibm Database backup and recovery.
US5455946A (en) * 1993-05-21 1995-10-03 International Business Machines Corporation Method and means for archiving modifiable pages in a log based transaction management system
US5561795A (en) * 1994-05-13 1996-10-01 Unisys Corporation Method and apparatus for audit trail logging and data base recovery
US6226651B1 (en) * 1998-03-27 2001-05-01 International Business Machines Corporation Database disaster remote site recovery
US20020107837A1 (en) * 1998-03-31 2002-08-08 Brian Osborne Method and apparatus for logically reconstructing incomplete records in a database using a transaction log
US6202067B1 (en) * 1998-04-07 2001-03-13 Lucent Technologies, Inc. Method and apparatus for correct and complete transactions in a fault tolerant distributed database system
US6289357B1 (en) * 1998-04-24 2001-09-11 Platinum Technology Ip, Inc. Method of automatically synchronizing mirrored database objects
US6178427B1 (en) * 1998-05-07 2001-01-23 Platinum Technology Ip, Inc. Method of mirroring log datasets using both log file data and live log data including gaps between the two data logs
KR19990078536A (ko) * 1998-12-26 1999-11-05 김형순 지능망서비스시스템을위한데이터베이스의이중화방법
JP4282030B2 (ja) * 1999-06-03 2009-06-17 株式会社日立製作所 データ二重化制御方法および二重化した記憶サブシステム
KR100693710B1 (ko) * 1999-12-23 2007-03-13 주식회사 케이티 마스터/슬레이브 구조를 갖는 데이터베이스간의 데이터 일치 방법
KR20010092154A (ko) * 2000-03-21 2001-10-24 김형순 서버 이중화 방법 및 시스템
US6856993B1 (en) * 2000-03-30 2005-02-15 Microsoft Corporation Transactional file system
US6769074B2 (en) * 2000-05-25 2004-07-27 Lumigent Technologies, Inc. System and method for transaction-selective rollback reconstruction of database objects
KR100471567B1 (ko) * 2000-07-29 2005-03-07 엘지전자 주식회사 이중화 시스템 환경에서 데이터 동기화를 위한 트랜잭션관리 방법
US20030126133A1 (en) * 2001-12-27 2003-07-03 Slamdunk Networks, Inc. Database replication using application program event playback

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100509946B1 (ko) * 2002-11-27 2005-08-24 한국전자통신연구원 이중화 dbms에서의 상태제어 및 일관성 유지 방법
KR100671789B1 (ko) * 2004-06-08 2007-01-22 주식회사 엘비에스플러스 유무선 분산 환경하의 공간 데이터간의 데이터 전송과데이터 동기화 방법 및 그러한 방법의 실행을 위한 분산공간 데이터 동기화 시스템

Also Published As

Publication number Publication date
US20030120669A1 (en) 2003-06-26
KR100450400B1 (ko) 2004-09-30

Similar Documents

Publication Publication Date Title
KR100450400B1 (ko) 안전 기억 장치가 없는 환경을 위한 이중화 구조의 주 메모리 상주 데이터베이스 관리시스템 및 그 데이터 일치성 제어방법
US7921080B2 (en) System and method for a backup parallel server data storage system
US6973549B1 (en) Locking technique for control and synchronization
US6389459B1 (en) Virtualized storage devices for network disk mirroring applications
US7702866B2 (en) Use of volume containers in replication and provisioning management
US6490659B1 (en) Warm start cache recovery in a dual active controller with cache coherency using stripe locks for implied storage volume reservations
US6510500B2 (en) System and method for minimizing message transactions for fault-tolerant snapshots in a dual-controller environment
US7280536B2 (en) Fast path for performing data operations
US7120824B2 (en) Method, apparatus and program storage device for maintaining data consistency and cache coherency during communications failures between nodes in a remote mirror pair
KR100674642B1 (ko) 멀티호스트의사결정지원시스템
US7013379B1 (en) I/O primitives
US7228398B2 (en) Multi-site remote-copy system
US20030140210A1 (en) Dynamic and variable length extents
US20030140209A1 (en) Fast path caching
US7913046B2 (en) Method for performing a snapshot in a distributed shared file system
US10180812B2 (en) Consensus protocol enhancements for supporting flexible durability options
US20030037071A1 (en) Quiesce system storage device and method in a dual active controller with cache coherency using stripe locks for implied storage volume reservations
US7809907B2 (en) System and method for backup by splitting a copy pair and storing a snapshot
US7266665B2 (en) Method, system, and article of manufacture for remote copying of data
WO1999026143A1 (en) Computer system transparent data migration
US20050234916A1 (en) Method, apparatus and program storage device for providing control to a networked storage architecture
EP1636690B1 (en) Managing a relationship between one target volume and one source volume
KR20020036502A (ko) 이중화 구조를 가지는 데이터베이스 관리시스템 및 그의이중화 처리방법
JPH1185594A (ja) リモートコピー用情報処理システム
US11914571B1 (en) Optimistic concurrency for a multi-writer database

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
J201 Request for trial against refusal decision
AMND Amendment
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20090914

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee