KR101259557B1 - 클러스터 데이터 관리 시스템 및 클러스터 데이터 관리 시스템에서 병렬 처리를 이용한 데이터 복구 방법 - Google Patents

클러스터 데이터 관리 시스템 및 클러스터 데이터 관리 시스템에서 병렬 처리를 이용한 데이터 복구 방법 Download PDF

Info

Publication number
KR101259557B1
KR101259557B1 KR1020090024150A KR20090024150A KR101259557B1 KR 101259557 B1 KR101259557 B1 KR 101259557B1 KR 1020090024150 A KR1020090024150 A KR 1020090024150A KR 20090024150 A KR20090024150 A KR 20090024150A KR 101259557 B1 KR101259557 B1 KR 101259557B1
Authority
KR
South Korea
Prior art keywords
partition
server
log
management system
data management
Prior art date
Application number
KR1020090024150A
Other languages
English (en)
Other versions
KR20100070968A (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 한국전자통신연구원
Publication of KR20100070968A publication Critical patent/KR20100070968A/ko
Application granted granted Critical
Publication of KR101259557B1 publication Critical patent/KR101259557B1/ko

Links

Images

Classifications

    • 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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • 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
    • G06F11/202Error 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 where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/2028Failover techniques eliminating a faulty processor or activating a spare
    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1471Saving, restoring, recovering or retrying involving logging of persistent data for recovery
    • 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
    • G06F11/202Error 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 where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/2025Failover techniques using centralised failover control functionality
    • 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
    • G06F11/202Error 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 where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/203Failover techniques using migration
    • 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
    • G06F11/202Error 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 where processing functionality is redundant
    • G06F11/2035Error 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 where processing functionality is redundant without idle spare hardware
    • 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
    • G06F11/202Error 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 where processing functionality is redundant
    • G06F11/2046Error 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 where processing functionality is redundant where the redundant components share persistent storage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/16Protection against loss of memory contents
    • 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
    • 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

Abstract

본 발명은 클러스터 데이터 관리 시스템에서 병렬 처리를 이용한 데이터 복구 방법에 있어서, 오류가 발생한 파티션 서버에서 작성된 재수행 로그를 정렬하는 단계; 정렬된 상기 재수행 로그를 상기 파티션의 열 별로 분할하는 단계; 및 분할된 상기 재수행 로그를 근거로 데이터를 복구하는 단계를 포함하는 클러스터 데이터 관리 시스템에서 병렬 처리를 이용한 데이터 복구 방법을 제공한다.
클러스터, 데이터 관리 시스템, 파티션, 열, 병렬처리

Description

클러스터 데이터 관리 시스템 및 클러스터 데이터 관리 시스템에서 병렬 처리를 이용한 데이터 복구 방법 {CLUSTER DATA MANAGEMENT SYSTEM AND METHOD FOR DATA RECOVERY USING PARALLEL PROCESSING IN CLUSTER DATA MANAGEMENT SYSTEM}
본 발명은 클러스터 데이터 관리 시스템에서 데이터 복구 방법에 관한 것으로서, 보다 구체적으로는 클러스터 데이터 관리 시스템을 구성하는 컴퓨팅 노드에 오류 발생시 해당 컴퓨팅 노드에서 작성된 재수행 로그를 기반으로 병렬 처리를 이용하여 데이터를 복구하는 방법에 관한 것이다.
본 발명은 지식경제부 및 정보통신연구진흥원의 IT성장동력핵심기술개발사업의 일환으로 수행한 연구로부터 도출된 것이다[과제관리번호:2007-S-016-02,과제명:저비용 대규모 글로벌 인터넷 서비스 솔루션 개발].
최근 들어 웹 2.0의 등장으로 인터넷 서비스가 공급자 중심에서 사용자 중심으로 패러다임이 이동함에 따라 UCC, 개인화 서비스와 같은 인터넷 서비스 시장이 급속도로 증가하고 있다. 이러한 패러다임 변화로 인터넷 서비스를 제공하기 위해 관리해야 하는 데이터 양이 빠르게 증가하고 있다. 따라서, 인터넷 서비스를 제공하기 위해서는 대용량의 데이터에 대한 효율적인 관리가 필요하다. 하지만 이러한 데이터들은 그 양이 방대하여 성능이나 비용 측면에서 기존의 DBMS(Database Management System)로는 효율적인 관리가 어렵다.
근래에는 이를 위한 대처 방안으로 저비용의 컴퓨팅 노드들을 연결하여 컴퓨팅 성능을 높이고, 부족한 부분은 소프트웨어를 이용하여 고성능 및 고가용성을 향상시키는 연구가 진행되고 있다.
이러한 클러스터 데이터 관리 시스템에 대한 연구로는 Bigtable과 HBase가 있다. Bigtable은 구글(google)에서 만들어 구글의 다양한 인터넷 서비스에 적용하고 있고, HBase는 Apache Software Foundation에서 구글의 Bigtable의 개념을 모방한 오픈 소스 프로젝트로 이에 대한 개발이 활발히 진행 중이다.
도 1은 일반적인 클러스터 데이터 관리 시스템을 보여주는 도면이고, 도 2는 도 1의 데이터 저장 및 서비스 모델을 설명하기 위한 도면이다.
먼저 도 1을 참조하면, 일반적인 클러스터 데이터 관리 시스템은 마스터 서버(11)와 n개의 파티션 서버(12-1,12-2,...,12-n)를 포함한다.
마스터 서버(11)는 해당 시스템의 동작에 있어서 전반적인 제어를 담당한다.
각 파티션 서버(12-1,12-2,...,12-n)는 실제 데이터에 대한 서비스를 담당한다.
클러스터 데이터 관리 시스템(10)은 로그와 데이터를 영구 저장하기 위해 분산 파일 시스템(20)을 사용한다.
클러스터 데이터 관리 시스템(10)은 사용자 요구 사항을 처리하는데 있어서 컴퓨팅 자원의 사용을 최적으로 사용하기 위해 이전의 데이터 관리 시스템들과 달 리 다음과 같은 특징을 갖는다.
첫째, 대부분의 전통적인 데이터 관리 시스템들은 행 기반으로 데이터를 저장(row-oriented storage)하는데 비해, 클러스터 데이터 관리 시스템(10)은 도 2를 참조하여 설명하면, 열(혹은 열그룹, 예컨대, C1,C2,...,Cr,Cs,Ct,...Cn) 기반으로 데이터를 저장(Column-oriented storage)한다. 열 그룹(column group)이란 함께 접근될 가능성이 높은 열들을 그룹핑한 것을 의미한다. 본 명세서 전반에 걸쳐 열(column)이라는 용어는 열 및 열 그룹(column group)을 통칭하는 의미로 이용된다.
둘째, 삽입과 삭제 요청으로 인해 데이터에 대한 변경 발생시 이전 데이터에 대해 변경하는 것이 아닌 새로운 값을 가지는 데이터가 추가되는 형태로 저장을 한다.
셋째, 데이터 변경에 대한 메모리 상에서 관리하기 위해 열 별로 별도의 갱신 버퍼(update buffer)를 둔다. 이 갱신 버퍼는 일정 크기가 되거나 주기적으로 디스크에 기록된다.
넷째, 오류에 대한 대처를 위해 모든 컴퓨팅 노드에서 접근 가능한 곳에 파티션 서버(노드)별로 변경 관련하여 재수행만을 위한 로그를 기록한다.
다섯째, 서비스의 대상이 되는 데이터에 대한 서비스 책임을 여러 노드에 나누어 주어 동시에 여러 데이터에 대한 서비스가 가능하도록 한다. 데이터를 열 기반 저장을 위해 세로로 나누는 것뿐만 아니라 데이터를 일정 크기를 가지도록 가로로 나눈다. 이하에서 설명의 편의를 위해 데이터를 일정 크기를 가지도록 가로로 나눈 것을 파티션(partition)이라 칭한다. 하나의 파티션은 하나 이상의 행으로 구성되고, 하나의 노드는 다수의 파티션에 대한 서비스를 담당한다.
여섯째, 전통적인 데이터 관리 시스템들과 달리 클러스터 데이터 관리 시스템(10)은 디스크 오류에 대한 별도의 고려를 하지 않는다. 디스크 오류에 대한 대처는 분산 파일 시스템(20)의 파일 복제 저장(file replication) 기능을 이용한다.
저비용의 컴퓨팅 노드는 하드웨어를 이용한 오류에 대한 대처가 거의 되어 있지 않으므로 쉽게 다운될 수 있다. 따라서 소프트웨어 수준에서 효과적으로 노드 오류에 대처하는 것이 고가용성을 달성하는 데 중요한 요인이 될 수 있다. 클러스터 데이터 관리 시스템(10)에서는 컴퓨팅 노드에 오류가 발생하면 오류가 발생한 노드에서 오류 복구에 활용할 목적으로 기록한 갱신 로그를 이용하여 데이터를 오류가 발생하기 전의 상태로 복구한다.
도 3은 일반적인 클러스터 데이터 관리 시스템에서 데이터를 복구하는 방법을 설명하기 위한 흐름도이다.
도 3을 참조하면, 우선 마스터 서버(11)는 각 파티션 서버(12-1,12-2,...,12-n)에 오류가 발생하였는지 여부를 탐지한다(S310).
오류가 탐지될 경우, 마스터 서버(11)는 오류가 발생한 파티션 서버(예컨대, 12-1)에서 작성한 재수행 로그를 기설정된 기준 정보, 예컨대 테이블, 행 키, 로그 일련 번호에 근거하여 오름차순으로 정렬한다(S320).
할당받은 각 파티션 서버에서 재수행 로그에 근거하여 데이터 복구시 디스크 탐색 횟수를 줄이기 위해 재수행 로그를 파티션 별로 분할한다(S330).
오류가 발생한 파티션 서버(12-1)에서 서비스를 담당하고 있던 다수의 파티션을 새로운 파티션 서버(예컨대, 12-2, 12-3, 12-5)에서 서비스를 담당하도록 할당한다(S340).
이때 해당 파티션에 대한 재수행 로그 경로 정보를 함께 전달한다.
할당받은 각 파티션 서버(12-2,12-3,12-5)는 재수행 로그를 순차적으로 읽어서 갱신 사항을 갱선 버퍼에 반영한 후 디스크에 기록하는 과정을 통해 데이터를 복구한다(S350).
이렇게 할당받은 각 파티션 서버(12-2,12-3,12-5)에 의해 병렬적으로 데이터 복구가 완료되면, 각 파티션 서버(12-2,12-3,12-5)는 복구된 파티션에 대한 데이터 서비스를 다시 시작한다(S360).
이 방법은 오류가 발생한 하나의 파티션 서버(12-1)에서 서비스를 담당하던 파티션들을 다수의 파티션 서버(12-2,12-3,12-5)에 나누어 복구하도록 함으로써 데이터 복구를 병렬로 처리하게 할 수 있다.
하지만 파티션별로 분할된 로그파일에 따라 파티션을 복구하는 각 파티션 서버(12-2,12-3,12-5)들이 다수의 CPU를 보유한 경우, 각 파티션 서버(12-2,12-3,12-5)들은 보유한 CPU 자원을 제대로 활용하지 못하는 단점이 있다.또한, 데이터를 저장할 때 열 별로 물리적으로 나누어 저장하는 데이터 저장 모델을 잘 활용하지 못하는 단점이 있다.
본 발명은 상기와 같은 문제점을 감안하여 창출한 것으로, 클러스터 데이터 관리 시스템에 있어서 파티션 서버에 오류가 발생할 경우, 이를 감지한 마스터 서버는 해당 파티션 서버에서 작성한 재수행 로그를 파티션의 열 별로 분할한 후에 파티션을 다른 파티션 서버에 할당하고, 할당받은 파티션 서버는 분할된 재수행 로그를 근거로 데이터를 복구할 수 있는 클러스터 데이터 관리 시스템에서 데이터 복구 방법을 제공하는 데 그 목적이 있다.
본 발명의 다른 목적은 분할된 재수행 로그를 근거로 데이터 복구시 파티션 서버는 자체 내에 보유하고 있는 다수의 CPU 자원을 활용하여 데이터를 병렬로 복구할 수 있는 클러스터 기반의 데이터 관리 시스템에서 데이터 복구 방법을 제공함에 있다.
전술한 목적을 달성하기 위하여, 본 발명의 일면에 따라, 클러스터 데이터 관리 시스템에서 병렬 처리를 이용한 데이터 복구 방법은 오류가 발생한 파티션 서버에서 작성된 재수행 로그를 정렬하는 단계; 기설정된 파티션 구성 정보에 근거하여 정렬된 상기 재수행 로그를 상기 파티션 서버가 서비스를 담당한 파티션 별로 분류한 후 다시 각 파티션의 열 별로 분류하고, 상기 열 별로 분류된 재수행 로그가 기록된 파일을 열 별로 분할하는 단계; 및 상기 오류가 발생한 파티션 서버에서 서비스를 담당한 파티션들을 서비스할 파티션 서버를 선정하며, 선정된 상기 파티션 서버에 상기 오류가 발생한 파티션 서버에서 서비스하던 파티션을 할당하고 상기 열 별로 분할된 파일에 대한 경로 정보를 전달하여, 선정된 상기 파티션 서버에서 상기 경로 정보에 대응하는 상기 열 별로 분할된 파일에 기록된 로그를 근거로 할당받은 상기 파티션을 재구축하는 단계를 포함하고, 상기 파티션을 재구축하는 단계는, 선정된 상기 파티션 서버가 상기 열 별로 분할된 파일에 대응하여 쓰레드를 생성하는 단계 및 생성된 상기 쓰레드가 상기 열 별로 분할된 파일에 기록된 로그를 근거로 데이터를 복구하는 단계를 포함하는 것을 특징으로 한다.
본 발명의 다른 면에 따라, 병렬 처리를 이용하여 데이터를 복구하는 클러스터 데이터 관리 시스템은 적어도 하나 이상의 파티션에 대해 서비스를 담당하며 상기 파티션의 서비스에 따라 재수행 로그를 기록하는 파티션 서버 및 상기 파티션 서버에 오류 발생시 기설정된 파티션 구성 정보에 근거하여 정렬된 상기 재수행 로그를 상기 파티션 별로 분류한 다음 상기 파티션의 열 별로 분류하고, 열 별로 분류된 재수행 로그가 기록된 파일을 열 별로 분할하며, 분할된 상기 재수행 로그를 근거로 상기 파티션을 재구축할 상기 파티션 서버를 선정하여, 상기 파티션을 할당하고 열 별로 분할된 파일에 대한 경로 정보를 전달하는 마스터 서버를 포함하고, 상기 파티션 서버는 상기 경로 정보에 대응하는 분할된 상기 파일에 기록된 로그를 근거로 상기 마스터 서버로부터 할당받은 파티션을 재구축하며, 분할된 상기 파일에 대응하여 쓰레드를 생성하고, 생성된 상기 쓰레드를 통해 분할된 상기 파일에 기록된 재수행 로그를 근거로 데이터를 병렬적으로 복구하도록 하는 것을 특징으로 한다.
본 발명에 따르면, 파티션의 열 별로 재수행 로그를 분할함으로써, 데이터 복구를 위해 분할된 재수행 로그 접근시 디스크의 입출력을 감소시킬 수 있는 효과가 있다.
또한, 분할된 재수행 로그를 근거로 데이터를 복구함에 있어서, 파티션 서버는 자체 내에 보유하고 있는 다수의 CPU 자원을 활용함으로써, 자체 자원 활용도를 높일 수 있고, 다수의 CPU 자원에서 동시에 동작하는 쓰레드를 통한 병렬 방식으로 데이터를 복구할 수 있는 효과가 있다.
특히, 분할된 재수행 로그에 대한 디스크 입출력 감소 및 다수의 CPU를 활용한 병렬 처리 방식의 데이터 복원으로 정상적인 데이터 서비스를 제공할 때까지 걸리는 시간을 단축시킬 수 있는 이점이 있다.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세히 설명하되, 본 발명에 따른 동작 및 작용을 이해하는 데 필요한 부분을 중심으로 설명한다.
한편, 특허청구범위를 본 명세서 전반에 걸쳐 열(column)이라는 용어는 열 및 열 그룹(column group)을 통칭하는 의미로 이용된다.
이하, 첨부된 도면을 참조하여 본 발명에 대하여 상세하게 설명한다.
본 발명에서 제안하는 파티션 서버, 즉 노드 오류 복구 방법은 열 별로 데이터가 물리적으로 나뉘어 저장되는 특성을 이용한다.
도 4는 본 발명에 따른 클러스터 데이터 관리 시스템에서 오류 복구 방법을 설명하기 위한 블럭도이고, 도 5는 마스터 서버의 재수행 로그의 정렬을 설명하기 위한 도면이고, 도 6은 마스터 서버의 재수행 로그 분할을 설명하기 위한 도면이다.
먼저 도 4를 참조하면, 클러스터 기반의 데이터 관리 시스템은 마스터 서버(100)와 n개의 파티션 서버(200-1,200-2,...,200-n)를 포함한다.
마스터 서버(100)는 각 파티션 서버(200-1,200-2,...,200-n)를 제어하고, 각 파티션 서버(200-1,200-2,...,200-n)에 오류 발생 여부를 탐지하며, 오류가 발생한 경우, 오류가 발생한 파티션 서버에서 작성된 재수행 로그를 파티션들의 열별로 분할하고, 분할된 재수행 로그를 이용하여 오류 발생한 파티션 서버에서 서비스를 담당하던 파티션들을 재구축하여 서비스할 새로운 파티션 서버를 선정한다.
예를 들어, 파티션 서버(200-3)에 오류가 발생한 경우, 마스터 서버(100)는 파티션 서버(200-3)에서 작성된 재수행 로그를 기설정된 기준 정보를 근거로 오름 차순으로 정렬한다.
여기서 기설정된 기준 정보는 테이블, 행 키, 열, 로그 일련 번호(LSN, Log Sequence Number)를 포함한다.
마스터 서버(100)는 정렬된 재수행 로그를 오류가 발생한 파티션 서버(200-3)에서 서비스를 담당하던 파티션들(예컨대, P1, P2)의 열(예컨대, C1,C2)별로 분할(예컨대, P1.C1.LOG, P1.C2.LOG, P2.C1.LOG, P2.C2.LOG) 한 후 오류가 발생한 파티션 서버(200-3)에서 서비스를 제공했던 파티션들(P1,P2)을 새롭게 서비스할 파티션 서버들(예컨대, 200-1, 200-2)을 선정한다.
마스터 서버(100)는 선정된 파티션 서버들(200-1,200-2)에 파티션들(P1,P2)을 각각 할당한다. 즉, 파티션 서버(200-1)는 마스터 서버(100)로부터 파티션(P1)을 할당받고, 파티션 서버(200-2)는 마스터 서버(100)로부터 파티션(P2)을 할당받는다.
마스터 서버(100)는 분할된 재수행 로그가 기록된 파일(P1.C1.LOG,P1.C2.LOG, P2.C1.LOG, P2.C2.LOG)에 대한 경로 정보를 선정된 파티션 서버(200-1,200-2)에 각각 전달한다. 즉, 마스터 서버(100)는 파티션 서버(200-1)에 파티션 P1을 서비스하라는 것과 함께 P1 관련 분할된 재수행 로그 파일(P1.C1.LOG, P1.C2.LOG)에 대한 경로 정보를 전달하고, 파티션 서버(200-2)에 파티션 P2를 서비스하라는 것과 함께 P2 관련 분할된 재수행 로그 파일(P2.C1.LOG, P2.C2.LOG)에 대한 경로 정보를 전달한다.
각 파티션 서버(200-1,200-2,...,200-n)는 적어도 하나 이상의 파티션에 대해 서비스를 담당하며 갱신에 대한 재수행 로그를 하나의 파일(예컨대, 재수행 로그 파일)에 기록한다.
각 파티션 서버(200-1,200-2,...,200-n)는 마스터 서버(100)로부터 재구축하여 서비스할 파티션을 할당받고, 해당 파티션에 대해 재구축의 근거가 되는 분할된 재수행 로그 파일에 대한 경로정보를 전달받는다.
각 파티션 서버(200-1,200-2,...,200-n)는 전달받은 경로 정보에 대응하는 분할된 재수행 로그 파일에 기록된 재수행 로그를 근거로 마스터 서버(100)로부터 할당받은 파티션을 재구축한다.
파티션 재구축시, 각 파티션 서버(200-1,200-2,...,200-n)는 분할된 재수행 로그 파일에 대응하여 쓰레드(200-1-1,...,200-1-n, 200-2-1,...,200-2-n,...,200-n-1,...,200-n-n)를 생성하고, 생성된 쓰레드(200-1-1,...,200-1-n, 200-2-1,...,200-2-n,...,200-n-1,...,200-n-n)를 통해 분할된 파일에 기록된 재수행 로그를 이용하여 데이터를 병렬적으로 복구한다.
예를 들어, 선정된 파티션 서버(200-1)는 분할된 재수행 로그 파일(P1.C1.LOG, P1.C2.LOG)에 대응하여 쓰레드(예컨대, 200-1-1,200-1-2)를 생성하고, 생성된 쓰레드(200-1-1,200-1-2)에서 분할된 재수행 로그 파일(P1.C1.LOG, P1.C2.LOG)에 기록된 재수행 로그를 근거로 파티션을 재구축, 즉 데이터를 복구하도록 한다.
선정된 파티션 서버(200-2)는 분할된 재수행 로그 파일(P2.C1.LOG, P2.C2.LOG)에 대응하여 쓰레드(예컨대, 200-2-1,200-2-2)를 생성하고, 생성된 쓰레드(200-2-1,200-2-2)에서 분할된 재수행 로그 파일(P2.C1.LOG, P2.C2.LOG)에 기록된 재수행 로그를 근거로 파티션을 재구축, 즉 데이터를 복구하도록 한다.
도 5를 참조하여 마스터 서버의 재수행 로그에 대한 오름 차순 정렬을 설명하면, 오류가 발생한 파티션 서버(200-3)에서 작성된 재수행 로그 레코드는 테이블(T1,T2), 행 키(R1,R2,R3), 열(C1,C2), 로그 일련 번호(1,2,3,...,19,20)을 포함한다. 정렬되기 전의 재수행 로그 파일에 기록된 로그 레코드는 로그 일련 번호를 기준으로 오름 차순 정렬이 되어 있음을 알 수 있다.
마스터 서버(100)는 재수행 로그 레코드를 먼저 테이블을 기준으로 오름차순, 즉 T1, T2순으로 정렬하고 그런 다음, 행 키를 기준으로 오름 차순, 즉 T1에 대한 R1,R2,R3, T2에 대한 R1,R2 순으로 정렬한 후, 열을 기준으로 오름차순, 즉 T1,R1에 대한 C1,C2, T1,R2에 대한 C1,C2, T1,R3에 대한 C2, T2,R1에 대한 C1,C2, T2,R2에 대한 C1,C2 순으로 정렬한다.
마스터 서버(100)는 기설정된 파티션 구성 정보에 근거하여 정렬된 재수행 로그를 파티션 별로 분류하고, 파티션 별로 분류된 재수행 로그를 파티션의 열별로 분류한다.
도 6을 참조하여 마스터 서버의 재수행 로그 분할을 설명하면, 오류가 발생한 파티션 서버(200-3)에서 작성된 재수행 로그 레코드는 테이블(T1), 행 키(R1,R2,R3,R4), 열(C1,C2), 로그 일련 번호(1,2,3,...,19,20)을 포함한다. 재수행 로그는 도 5에 대한 설명의 절차에 따라 오름 차순 정렬되고, 오류가 발생한 파티션 서버(200-3)에서 서비스를 담당한 파티션은 P1, P2이며, 기설정된 파티션 구성 정보에 포함된 행 범위 정보에 따라 파티션 P1은 R1보다 크거나 같고 R3보다 작으며, 파티션 P2는 R3보다 크거나 같고 R5보다 작다.
마스터 서버(100)는 기설정된 파티션 구성 정보에 근거하여 정렬된 재수행 로그를 파티션 별(P1, P2)로 분류한다. 파티션 구성 정보는 파티션(P1, P2) 분할에 사용된 기준 정보로서 파티션(P1, P2)의 행 범위 정보를 포함한다. 즉, 파티션 구성 정보는 재수행 로그 파일에 기록된 로그 레코드가 어느 파티션에 대한 로그 레코드인지를 알 수 있는 행 범위 정보(에컨대, R1<=P1<R3, R3<=P2<R5)를 포함한다.
마스터 서버(100)는 파티션 별로 분류된 재수행 로그를 파티션(P1,P2)의 열(C1,C2)별로 분류한다.
마스터 서버(100)는 파티션(P1,P2)의 열(C1,C2)별로 분류된 재수행 로그를 각각 하나의 파일로 하여 저장한다. 예를 들어, 도 6에서 P1.C1.LOG는 파티션 P1의 열 C1에 대한 로그 레코드만을 모아 놓은 로그 파일이다.
도 7는 본 발명에 따른 클러스터 데이터 관리 시스템에서 데이터 복구 방법을 설명하기 위한 흐름도이다.
도 7을 참조하면, 마스터 서버(100)는 각 파티션 서버(200-1,200-2,...,200-n)에 대해 오류 발생 여부를 탐지한다(S700).
탐지결과, 오류가 발생한 경우, 마스터 서버(100)는 테이블, 행 키, 열 및 로그 일련 번호를 포함하는 기설정된 기준 정보를 근거로 오류가 발생한 파티션 서버(200-3)에서 작성된 재수행 로그를 오름 차순으로 정렬한다(S710).
마스터 서버(100)는 정렬된 재수행 로그를 파티션 서버(200-3)에서 서비스한 파티션(P1,P2)의 열(C1,C2)별로 분할한다(S720).
로그 정렬 및 분할은 기설명한 도 5와 도 6에 대한 설명을 참조한다.
마스터 서버(100)는 오류가 발생한 파티션 서버(200-3)에서 서비스한 파티션(P1,P2)을 새롭게 서비스할 파티션 서버(200-1,200-2)를 선정하고, 오류가 발생한 파티션 서버(200-3)에서 서비스를 담당한 파티션(P1,P2)을 해당 서버(200-1,200-2)에 할당한다(S730).
즉, 선정된 파티션 서버(200-1)는 마스터 서버(100)로부터 파티션(P1)을 할당받고, 선정된 파티션 서버(200-2)는 마스터 서버(100)로부터 파티션(P2)를 할당받는다.
마스터 서버(100)는 파티션을 할당한 파티션 서버(200-1,200-2)로 분할된 재수행 로그 파일(P1.C1.LOG, P1.C2.LOG, P2.C1.LOG, P2.C2.LOG에 대한 경로 정보를 전달한다.
파티션 서버(200-1,200-2)는 분할된 재수행 로그 파일(P1.C1.LOG, P1.C2.LOG, P2.C1.LOG, P2.C2.LOG)에 기록된 재수행 로그를 근거로 할당받은 파티션(P1,P2)을 재구축한다(S740).
파티션 서버(200-1,200-2)는 분할된 재수행 로그 파일에 대응하여 쓰레드(200-1-1,200-1-2,200-2-1,200-2-2)를 생성하고, 생성된 쓰레드(200-1-1,200-1-2, 200-2-1,200-2-2)를 통해 분할된 재수행 로그 파일(P1.C1.LOG, P1.C2.LOG, P2.C1.LOG, P2.C2.LOG)에 기록된 재수행 로그를 근거로 데이터를 병렬적으로 복구한다.
파티션 서버(200-1,200-2)는 데이터를 복구한 파티션에 대한 서비스를 시작한다(S750).
이상 바람직한 실시예와 첨부도면을 참조하여 본 발명의 구성에 관해 구체적으로 설명하였으나, 이는 예시에 불과한 것으로 본 발명의 기술적 사상을 벗어나지 않는 범주내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 안되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.
도 1은 일반적인 클러스터 데이터 관리 시스템을 보여주는 도면.
도 2는 도 1의 데이터 저장 및 서비스 방식을 설명한 도면.
도 3은 일반적인 클러스터 데이터 관리 시스템에서 데이터 복구 방법을 설명한 흐름도.
도 4는 본 발명에 따른 클러스터 데이터 관리 시스템에서 오류 복구 방법을 설명한 블럭도.
도 5는 마스터 서버의 재수행 로그 정렬을 설명한 도면.
도 6은 마스터 서버의 재수행 로그 분할을 설명한 도면.
도 7는 본 발명에 따른 클러스터 데이터 관리 시스템에서 데이터 복구 방법을 설명한 흐름도.
<도면의 주요 참조부호에 대한 설명>
100 : 마스터 서버 200-1 : 파티션 서버
200-2 : 파티션 서버 200-3 : 파티션 서버
200-1-1 : 쓰레드 200-1-2 : 쓰레드
200-2-1 : 쓰레드 200-2-2 : 쓰세드

Claims (18)

  1. 클러스터 데이터 관리 시스템에서 병렬 처리를 이용한 데이터 복구 방법에 있어서,
    오류가 발생한 파티션 서버에서 작성된 재수행 로그를 정렬하는 단계;
    기설정된 파티션 구성 정보에 근거하여 정렬된 상기 재수행 로그를 상기 파티션 서버가 서비스를 담당한 파티션 별로 분류한 후 다시 각 파티션의 열 별로 분류하고, 상기 열 별로 분류된 재수행 로그가 기록된 파일을 열 별로 분할하는 단계; 및
    상기 오류가 발생한 파티션 서버에서 서비스를 담당한 파티션들을 서비스할 파티션 서버를 선정하며, 선정된 상기 파티션 서버에 상기 오류가 발생한 파티션 서버에서 서비스하던 파티션을 할당하고 상기 열 별로 분할된 파일에 대한 경로 정보를 전달하여, 선정된 상기 파티션 서버에서 상기 경로 정보에 대응하는 상기 열 별로 분할된 파일에 기록된 로그를 근거로 할당받은 상기 파티션을 재구축하는 단계를 포함하고,
    상기 파티션을 재구축하는 단계는,
    선정된 상기 파티션 서버가 상기 열 별로 분할된 파일에 대응하여 쓰레드를 생성하는 단계 및
    생성된 상기 쓰레드가 상기 열 별로 분할된 파일에 기록된 로그를 근거로 데이터를 복구하는 단계를 포함하는 것
    인 클러스터 데이터 관리 시스템에서 병렬 처리를 이용한 데이터 복구 방법.
  2. 제1항에 있어서, 상기 정렬하는 단계는,
    상기 재수행 로그를 기설정된 기준 정보를 근거로 오름 차순으로 정렬하는 단계를 포함하는 것인 클러스터 데이터 관리 시스템에서 병렬 처리를 이용한 데이터 복구 방법.
  3. 제2항에 있어서, 상기 기설정된 기준 정보는,
    테이블, 행 키, 열, 로그 일련 번호를 포함하는 것인 클러스터 데이터 관리 시스템에서 병렬 처리를 이용한 데이터 복구 방법.
  4. 삭제
  5. 제1항에 있어서, 상기 파티션 구성 정보는,
    파티션 분할에 사용된 기준 정보로서 상기 각 파티션이 상기 재수행 로그에 포함된 행 정보 중 어느 행보다 크거나 같은지 및 어느 행보다 작거나 같은지를 나타내는 행 범위 정보를 포함하는 것인 클러스터 데이터 관리 시스템에서 병렬 처리를 이용한 데이터 복구 방법.
  6. 삭제
  7. 삭제
  8. 삭제
  9. 제1항에 있어서, 상기 데이터를 복구하는 단계는,
    상기 열 별로 분할된 파일마다 하나 이상의 연산기를 할당하여 병렬로 처리하는 것인 클러스터 데이터 관리 시스템에서 병렬 처리를 이용한 데이터 복구 방법.
  10. 병렬 처리를 이용하여 데이터를 복구하는 클러스터 데이터 관리 시스템에 있어서,
    적어도 하나 이상의 파티션에 대해 서비스를 담당하며 상기 파티션의 서비스에 따라 재수행 로그를 기록하는 파티션 서버 및
    상기 파티션 서버에 오류 발생시 기설정된 파티션 구성 정보에 근거하여 정렬된 상기 재수행 로그를 상기 파티션 별로 분류한 다음 상기 파티션의 열 별로 분류하고, 열 별로 분류된 재수행 로그가 기록된 파일을 열 별로 분할하며, 분할된 상기 재수행 로그를 근거로 상기 파티션을 재구축할 상기 파티션 서버를 선정하여, 상기 파티션을 할당하고 열 별로 분할된 파일에 대한 경로 정보를 전달하는 마스터 서버를 포함하고,
    상기 파티션 서버는
    상기 경로 정보에 대응하는 분할된 상기 파일에 기록된 로그를 근거로 상기 마스터 서버로부터 할당받은 파티션을 재구축하며, 분할된 상기 파일에 대응하여 쓰레드를 생성하고, 생성된 상기 쓰레드를 통해 분할된 상기 파일에 기록된 재수행 로그를 근거로 데이터를 병렬적으로 복구하도록 하는 것
    인 클러스터 데이터 관리 시스템.
  11. 제10항에 있어서, 상기 마스터 서버는,
    상기 재수행 로그를 기설정된 기준 정보를 근거로 오름 차순으로 정렬하는 것인 클러스터 데이터 관리 시스템.
  12. 제11항에 있어서, 기설정된 기준 정보는,
    테이블, 행 키, 열, 로그 일련 번호를 포함하는 것인 클러스터 데이터 관리 시스템.
  13. 삭제
  14. 삭제
  15. 제10항에 있어서, 상기 파티션 구성 정보는,
    상기 파티션 분할에 사용된 기준 정보로서 상기 재수행 로그에 포함된 행 정보 중 상기 파티션이 어느 행보다 크거나 같은지 및 어느 행보다 작거나 같은지를 나타내는 행 범위 정보를 포함하는 것인 클러스터 데이터 관리 시스템.
  16. 삭제
  17. 삭제
  18. 삭제
KR1020090024150A 2008-12-18 2009-03-20 클러스터 데이터 관리 시스템 및 클러스터 데이터 관리 시스템에서 병렬 처리를 이용한 데이터 복구 방법 KR101259557B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20080129637 2008-12-18
KR1020080129637 2008-12-18

Publications (2)

Publication Number Publication Date
KR20100070968A KR20100070968A (ko) 2010-06-28
KR101259557B1 true KR101259557B1 (ko) 2013-04-30

Family

ID=42267529

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090024150A KR101259557B1 (ko) 2008-12-18 2009-03-20 클러스터 데이터 관리 시스템 및 클러스터 데이터 관리 시스템에서 병렬 처리를 이용한 데이터 복구 방법

Country Status (2)

Country Link
US (1) US20100161564A1 (ko)
KR (1) KR101259557B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190128443A (ko) * 2018-05-08 2019-11-18 한국전자통신연구원 분산 파일 시스템 복구 장치 및 방법

Families Citing this family (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8566326B2 (en) 2004-11-05 2013-10-22 Oracle International Corporation High-performance log-based processing
US7991910B2 (en) 2008-11-17 2011-08-02 Amazon Technologies, Inc. Updating routing information based on client location
US8028090B2 (en) 2008-11-17 2011-09-27 Amazon Technologies, Inc. Request routing utilizing client location information
US8601090B1 (en) 2008-03-31 2013-12-03 Amazon Technologies, Inc. Network resource identification
US8606996B2 (en) 2008-03-31 2013-12-10 Amazon Technologies, Inc. Cache optimization
US7962597B2 (en) 2008-03-31 2011-06-14 Amazon Technologies, Inc. Request routing based on class
US8321568B2 (en) 2008-03-31 2012-11-27 Amazon Technologies, Inc. Content management
US7970820B1 (en) 2008-03-31 2011-06-28 Amazon Technologies, Inc. Locality based content distribution
US8447831B1 (en) 2008-03-31 2013-05-21 Amazon Technologies, Inc. Incentive driven content delivery
US9407681B1 (en) 2010-09-28 2016-08-02 Amazon Technologies, Inc. Latency measurement in resource requests
US8412823B1 (en) 2009-03-27 2013-04-02 Amazon Technologies, Inc. Managing tracking information entries in resource cache components
US8688837B1 (en) 2009-03-27 2014-04-01 Amazon Technologies, Inc. Dynamically translating resource identifiers for request routing using popularity information
US8782236B1 (en) 2009-06-16 2014-07-15 Amazon Technologies, Inc. Managing resources using resource expiration data
US8397073B1 (en) 2009-09-04 2013-03-12 Amazon Technologies, Inc. Managing secure content in a content delivery network
US8433771B1 (en) * 2009-10-02 2013-04-30 Amazon Technologies, Inc. Distribution network with forward resource propagation
KR101313107B1 (ko) * 2009-12-18 2013-09-30 한국전자통신연구원 열 기반 데이터 관리 방법 및 관리 장치
US9495338B1 (en) 2010-01-28 2016-11-15 Amazon Technologies, Inc. Content distribution network
US9003035B1 (en) 2010-09-28 2015-04-07 Amazon Technologies, Inc. Point of presence management in request routing
US10958501B1 (en) 2010-09-28 2021-03-23 Amazon Technologies, Inc. Request routing information based on client IP groupings
US8468247B1 (en) 2010-09-28 2013-06-18 Amazon Technologies, Inc. Point of presence management in request routing
US9712484B1 (en) 2010-09-28 2017-07-18 Amazon Technologies, Inc. Managing request routing information utilizing client identifiers
US8452874B2 (en) 2010-11-22 2013-05-28 Amazon Technologies, Inc. Request routing processing
US10467042B1 (en) 2011-04-27 2019-11-05 Amazon Technologies, Inc. Optimized deployment based upon customer locality
US10623408B1 (en) 2012-04-02 2020-04-14 Amazon Technologies, Inc. Context sensitive object management
US9154551B1 (en) 2012-06-11 2015-10-06 Amazon Technologies, Inc. Processing DNS queries to identify pre-processing information
US9323577B2 (en) 2012-09-20 2016-04-26 Amazon Technologies, Inc. Automated profiling of resource usage
US10205698B1 (en) 2012-12-19 2019-02-12 Amazon Technologies, Inc. Source-dependent address resolution
US9294391B1 (en) 2013-06-04 2016-03-22 Amazon Technologies, Inc. Managing network computing components utilizing request routing
US10097448B1 (en) 2014-12-18 2018-10-09 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US10225326B1 (en) 2015-03-23 2019-03-05 Amazon Technologies, Inc. Point of presence based data uploading
US9819567B1 (en) 2015-03-30 2017-11-14 Amazon Technologies, Inc. Traffic surge management for points of presence
US9832141B1 (en) 2015-05-13 2017-11-28 Amazon Technologies, Inc. Routing based request correlation
JP2017068342A (ja) * 2015-09-28 2017-04-06 富士通株式会社 制御プログラム、制御方法、及び、情報処理装置
US10270878B1 (en) 2015-11-10 2019-04-23 Amazon Technologies, Inc. Routing for origin-facing points of presence
US10348639B2 (en) 2015-12-18 2019-07-09 Amazon Technologies, Inc. Use of virtual endpoints to improve data transmission rates
US10075551B1 (en) 2016-06-06 2018-09-11 Amazon Technologies, Inc. Request management for hierarchical cache
US10110694B1 (en) 2016-06-29 2018-10-23 Amazon Technologies, Inc. Adaptive transfer rate for retrieving content from a server
US9992086B1 (en) 2016-08-23 2018-06-05 Amazon Technologies, Inc. External health checking of virtual private cloud network environments
US10033691B1 (en) 2016-08-24 2018-07-24 Amazon Technologies, Inc. Adaptive resolution of domain name requests in virtual private cloud network environments
US10616250B2 (en) 2016-10-05 2020-04-07 Amazon Technologies, Inc. Network addresses with encoded DNS-level information
US10372499B1 (en) 2016-12-27 2019-08-06 Amazon Technologies, Inc. Efficient region selection system for executing request-driven code
US10831549B1 (en) 2016-12-27 2020-11-10 Amazon Technologies, Inc. Multi-region request-driven code execution system
US10938884B1 (en) 2017-01-30 2021-03-02 Amazon Technologies, Inc. Origin server cloaking using virtual private cloud network environments
US10503613B1 (en) 2017-04-21 2019-12-10 Amazon Technologies, Inc. Efficient serving of resources during server unavailability
US11075987B1 (en) 2017-06-12 2021-07-27 Amazon Technologies, Inc. Load estimating content delivery network
US10447648B2 (en) 2017-06-19 2019-10-15 Amazon Technologies, Inc. Assignment of a POP to a DNS resolver based on volume of communications over a link between client devices and the POP
CN107491314A (zh) * 2017-08-30 2017-12-19 四川长虹电器股份有限公司 基于读写锁算法对hbase实时数据无障碍写处理方法
US10742593B1 (en) 2017-09-25 2020-08-11 Amazon Technologies, Inc. Hybrid content request routing system
US10592578B1 (en) 2018-03-07 2020-03-17 Amazon Technologies, Inc. Predictive content push-enabled content delivery network
US10862852B1 (en) 2018-11-16 2020-12-08 Amazon Technologies, Inc. Resolution of domain name requests in heterogeneous network environments
US11025747B1 (en) 2018-12-12 2021-06-01 Amazon Technologies, Inc. Content request pattern-based routing system
EP3944101B1 (en) * 2019-03-22 2024-01-10 Fujitsu Limited Information processing program, information processing method, and information processing device

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5636360A (en) * 1991-03-28 1997-06-03 Texas Instruments Incorporated Method for preventing overwriting cache buffer transaction entries until corresponding log buffer entries have been copied to log partition of the disk
US7277900B1 (en) * 2000-09-29 2007-10-02 Oracle International Corporation Method and mechanism for rolling back a transaction on a row of data

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7177866B2 (en) * 2001-03-16 2007-02-13 Gravic, Inc. Asynchronous coordinated commit replication and dual write with replication transmission and locking of target database on updates only
US7305421B2 (en) * 2001-07-16 2007-12-04 Sap Ag Parallelized redo-only logging and recovery for highly available main memory database systems
JP3640187B2 (ja) * 2002-07-29 2005-04-20 日本電気株式会社 マルチプロセッサシステムの障害処理方法、マルチプロセッサシステム及びノード
JP4561254B2 (ja) * 2004-09-03 2010-10-13 セイコーエプソン株式会社 デバイス管理システム
US20080059492A1 (en) * 2006-08-31 2008-03-06 Tarin Stephen A Systems, methods, and storage structures for cached databases
US8880480B2 (en) * 2007-01-03 2014-11-04 Oracle International Corporation Method and apparatus for data rollback
US7711741B2 (en) * 2007-05-14 2010-05-04 Oracle International Corp. Desensitizing data in cloning

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5636360A (en) * 1991-03-28 1997-06-03 Texas Instruments Incorporated Method for preventing overwriting cache buffer transaction entries until corresponding log buffer entries have been copied to log partition of the disk
US7277900B1 (en) * 2000-09-29 2007-10-02 Oracle International Corporation Method and mechanism for rolling back a transaction on a row of data

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190128443A (ko) * 2018-05-08 2019-11-18 한국전자통신연구원 분산 파일 시스템 복구 장치 및 방법
KR102146293B1 (ko) * 2018-05-08 2020-08-28 한국전자통신연구원 분산 파일 시스템 복구 장치 및 방법

Also Published As

Publication number Publication date
KR20100070968A (ko) 2010-06-28
US20100161564A1 (en) 2010-06-24

Similar Documents

Publication Publication Date Title
KR101259557B1 (ko) 클러스터 데이터 관리 시스템 및 클러스터 데이터 관리 시스템에서 병렬 처리를 이용한 데이터 복구 방법
KR101207510B1 (ko) 클러스터 데이터 관리시스템 및 클러스터 데이터 관리 시스템에서 공유 재수행 로그를 이용한 데이터 재구축 방법
US10372559B2 (en) Managing a redundant computerized database using a replicated database cache
US20220137849A1 (en) Fragment Management Method and Fragment Management Apparatus
CN103064765B (zh) 数据恢复方法、装置及集群存储系统
Calder et al. Windows azure storage: a highly available cloud storage service with strong consistency
CN104965850B (zh) 一种基于开源技术的数据库高可用实现方法
JP5539683B2 (ja) 拡張可能な2次ストレージシステムと方法
US8429369B2 (en) Storage management program, storage management method, and storage management apparatus
US10346245B2 (en) Data storage system and data storage method
CN109542342B (zh) 元数据管理与数据重构方法、设备及存储介质
US8601312B2 (en) Storage apparatus, controller, and method for allocating storage area in storage apparatus
CN102750317B (zh) 数据持久化处理方法、装置及数据库系统
US8032784B2 (en) Duplication combination management program, duplication combination management apparatus, and duplication combination management method
CN103516736A (zh) 分布式缓存系统的数据恢复方法及装置
US20140181042A1 (en) Information processor, distributed database system, and backup method
CN103080909A (zh) 计算机系统及其管理方法以及程序
JP5104855B2 (ja) 負荷分散プログラム、負荷分散方法、及びストレージ管理装置
WO2016180049A1 (zh) 一种存储管理方法及分布式文件系统
CN112379825B (zh) 基于数据特征分池的分布式数据存储方法及装置
JP2007079787A (ja) 論理ディスク管理方法及び仮想化装置
CN111930716A (zh) 一种数据库扩容方法、装置及系统
CN114385755A (zh) 一种分布式存储系统
US10365853B2 (en) Data storage apparatus, recording medium and method for selectively duplicating data blocks to another medium based on data block size and dimension information or an axis of obtaining data
CN111124251B (zh) 用于i/o控制的方法、装置以及计算机可读介质

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: 20160226

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170317

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180411

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20190515

Year of fee payment: 7