[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

KR101207510B1 - 클러스터 데이터 관리시스템 및 클러스터 데이터 관리 시스템에서 공유 재수행 로그를 이용한 데이터 재구축 방법 - Google Patents

클러스터 데이터 관리시스템 및 클러스터 데이터 관리 시스템에서 공유 재수행 로그를 이용한 데이터 재구축 방법 Download PDF

Info

Publication number
KR101207510B1
KR101207510B1 KR1020090024149A KR20090024149A KR101207510B1 KR 101207510 B1 KR101207510 B1 KR 101207510B1 KR 1020090024149 A KR1020090024149 A KR 1020090024149A KR 20090024149 A KR20090024149 A KR 20090024149A KR 101207510 B1 KR101207510 B1 KR 101207510B1
Authority
KR
South Korea
Prior art keywords
partition
information
data
log
file
Prior art date
Application number
KR1020090024149A
Other languages
English (en)
Other versions
KR20100070967A (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 KR20100070967A publication Critical patent/KR20100070967A/ko
Application granted granted Critical
Publication of KR101207510B1 publication Critical patent/KR101207510B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • 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/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명은 클러스터 데이터 관리 시스템의 데이터 재구축 방법에 관한 것으로서, 오류가 발생한 파티션 서버에서 서비스한 파티션의 서비스 정보를 수집하는 단계; 상기 파티션 서버에서 작성된 재수행 로그 파일을 상기 파티션이 속한 테이블의 열 별로 분할하는 단계; 수집된 상기 서비스 정보와 분할된 상기 재수행 로그 파일의 로그 레코드를 근거로 파티션의 데이터를 재구축하는 단계; 및 상기 데이터가 재구축된 상기 파티션을 서비스할 새로운 파티션 서버를 선정하고, 상기 선정된 파티션 서버에 상기 파티션을 할당하는 단계를 포함하는 클러스터 데이터 관리 시스템에서 공유 재수행 로그를 이용한 데이터 재구축 방법을 제공한다.
Figure R1020090024149
노드 오류, 복구, 파티션, 재수행 로그, 재구축, 분할

Description

클러스터 데이터 관리시스템 및 클러스터 데이터 관리 시스템에서 공유 재수행 로그를 이용한 데이터 재구축 방법{Cluster Data Management System And Method for Data Restoring Using Shared Read-Only Log in Cluster Data Management System}
본 발명은 클러스터 데이터 관리 시스템의 데이터 재구축 방법에 관한 것으로서, 보다 구체적으로는 컴퓨팅 노드에 오류 발생시 해당 컴퓨팅 노드에서 서비스하던 데이터를 공유 재수행 로그를 이용하여 빠르게 재구축하는 클러스터 데이터 관리 시스템의 데이터 복구 방법에 관한 것이다.
본 발명은 지식경제부 및 정보통신연구진흥원의 IT성장동력핵심기술개발사업의 일환으로 수행한 연구로부터 도출된 것이다[과제관리번호:2007-S-016-02,과제명:저비용 대규모 글로벌 인터넷 서비스 솔루션 개발].
최근 들어 UCC, 개인화 서비스와 같은 사용자 중심의 인터넷 서비스 시장이 급속도로 증가함으로 인해 인터넷 서비스를 제공하기 위해 관리해야 하는 데이터 양이 빠르게 증가하고 있다. 이러한 사용자 중심의 인터넷 서비스를 제공하기 위해서는 대용량의 데이터에 대한 효율적인 관리가 필요하다. 하지만 사용자 중심의 서 비스 제공을 위한 데이터들은 그 양이 방대하여 성능이나 비용 측면에서 기존의 DBMS(Database Management System)로는 효율적으로 관리하기에는 어려움이 있다.
이에 근래에 인터넷 서비스 업체를 중심으로 다수의 보급형 서버(Commodity pc server)들과 인터넷 서비스에 특화된 소프트웨어를 이용하여 고성능 및 고가용성을 향상시키기 위한 연구가 활발히 진행되고 있다. 인터넷 서비스에 특화된 데이터 관리 소프트웨어의 하나로 클러스터 데이터 관리 시스템을 들 수 있다.
이러한 클러스터 데이터 관리 시스템에 대한 연구로는 구글(google)에서 만들어서 구글의 다양한 인터넷 서비스에 적용하고 있는 시스템인 Bigtable과 Apache Software Foundation에서 구글의 Bigtable의 개념을 모방하여 오픈 소스 프로젝트로 활발히 진행 중인 시스템인 HBase가 있다.
도 1은 일반적인 클러스터 데이터 관리 시스템을 설명하기 위한 블럭도이고, 도 2는 도 1에서 사용하는 다차원 맵 구조의 데이터 모델을 나타낸 예시도이고, 도 3 및 도 4는 도 1에서 갱신 버퍼를 사용한 데이터 관리를 설명하기 위한 예시도이고, 도 5는 갱신 버퍼가 디스크에 반영되는 방식을 설명하기 위한 예시도이다.
먼저 도 1을 참조하면, 일반적인 클러스터 데이터 관리 시스템은 하나의 마스터 서버(11)와 n개의 파티션 서버(12-1,12-2,...,12-n)를 포함한다.
마스터 서버(11)는 해당 시스템의 동작에 있어서 전반적인 제어를 담당한다.
각 파티션 서버(12-1,12-2,...,12-n)는 데이터 서비스를 담당한다.
일반적인 클러스터 데이터 관리 시스템(10)은 분산 파일 시스템(20) 상에서 동작하며, 로그와 데이터를 분산 파일 시스템(20)을 통해 영구 저장한다.
도 2를 참조하여 일반적인 클러스터 데이터 관리 시스템에서 사용하는 인터넷 서비스에 특화된 다차원 맵 구조의 데이터 모델을 설명하면, 다차원 맵 구조(30)는 행(row)과 열(column)로 구성된다.
다차원 맵 구조(30)의 테이블 데이터는 행 키(row key)를 기반으로 관리되며, 열의 이름을 통해 특정 열의 데이터에 접근할 수 있다. 열은 테이블 내 유일한 이름을 가지며, 열에 저장 관리되는 모든 데이터는 기본적으로 데이터 타입을 가지지 않는 바이트 스트림(stream) 형태이다. 또한, 열에는 단일 데이터뿐만 아니라 여러 개의 값으로 구성된 데이터 집합도 저장 관리 가능하다. 열에 저장 관리되는 데이터가 집합인 경우에 하나의 데이터를 셀(cell)이라고 하며, 셀은 키 값을 가지고, 셀 키 값은 문자열 타입만 지원한다.
행 기반으로 데이터를 저장(row-oriented storage)하는 대부분의 전통적인 데이터 관리 시스템들과 달리 일반적인 클러스터 데이터 관리 시스템(10)은 열, 즉 열 그룹 기반으로 데이터를 저장(column-oriented storage)한다. 열 그룹(column group)이란 함께 접근될 가능성이 높은 열들을 그룹핑한 것을 의미한다. 이하에서 '열'은 열 그룹'을 포함한다. 또한, 데이터를 열 기반 저장을 위해 세로로 나누는 것뿐 아니라 데이터를 일정 크기를 가지도록 가로로 나눈다. 이하에서는 데이터를 일정 크기를 가지도록 가로로 나눈 것을 파티션(partition)이라 칭한다. 특정 파티션에 대한 서비스 책임을 특정 노드에게 부여하여 동시에 여러 파티션에 대한 서비스가 가능하도록 한다. 하나의 파티션은 하나 이상의 행으로 구성되고, 하나의 파티션은 하나의 노드에 의해 서비스가 되고 하나의 노드는 다수의 파티션에 대한 서 비스를 담당한다.
일반적인 클러스터 데이터 관리 시스템(10)에서는 삽입과 삭제 요청으로 인해 데이터에 대한 변경 발생시 이전 데이터에 대해 변경하는 것이 아닌 새로운 값을 가지는 데이터가 추가되는 형태로 저장을 한다. 이러한 데이터 변경을 메모리상에서 관리하기 위해 열 별로 별도의 갱신 버퍼(update buffer)를 둔다. 이 갱신 버퍼는 일정 크기보다 커진 경우나 일정 시간이 지났음에도 디스크에 반영되지 않았으면 디스크에 기록한다.
도 3 내지 도 4를 참조하여 일반적인 클러스터 데이터 관리 시스템에서 갱신 버퍼를 이용한 데이터 관리를 설명하면, 먼저 도 3은 이름(Name)을 행 키로 하는 테이블에 열 Address에 데이터를 삽입하는 연산을 나타낸다. 도 4는 데이터 삽입시 갱신 버퍼의 모습이다. 갱신 버퍼는 행 키, 열 이름, 셀 키, 타임 스탬프를 기준으로 정렬된 모양을 갖는다.
도 5를 참조하여 도 4의 갱신 버퍼가 디스크에 반영된 모습을 설명하면, 갱신 버퍼의 내용이 디스크에 그대로 저장된다.
일반적인 클러스터 데이터 관리 시스템(10)은 전통적인 데이터 관리 시스템들과 달리 디스크 오류에 대한 별도의 고려를 하지 않는다. 디스크 오류에 대한 대처는 분산 파일 시스템(20)에서 제공되는 파일 복제 저장(file replication) 기능을 이용한다. 다만 노드 오류에 대한 대처를 위해 모든 컴퓨팅 노드에서 접근 가능한 곳에 파티션 서버, 즉 노드별로 변경 관련하여 재수행만을 위한 로그를 기록한다. 로그 정보는 로그 일련 번호(LSN : Log Sequence Number), 테이블, 행 키, 열 이름, 셀 키, 타임 스탬프, 변경 값을 포함한다. 컴퓨팅 노드에 오류가 발생하면 오류가 발생한 노드에서 오류 복구에 활용할 목적으로 기록한 재수행 로그를 이용하여 데이터를 오류가 발생하기 전의 상태로 복구한다. 보급형 PC 서버와 같은 저비용의 컴퓨팅 노드는 하트웨어 이중화와 같은 오류에 대한 대처가 거의 되어 있지 않으므로, 소프트웨어 수준에서 효과적으로 노드 오류에 대처하는 것이 고가용성을 달성하는 데 중요한 요인이 될 수 있다.
도 6은 일반적인 클러스터 데이터 관리 시스템에서 오류를 복구하는 방법을 설명하기 위한 흐름도이다.
도 6을 참조하면, 마스터 서버(11)는 파티션 서버(예컨대, 12-1)의 오류를 탐지하면(S610), 파티션 서버(12-1)에서 작성한 로그의 정보를 테이블, 행 키, 로그 일련 번호를 기준으로 정렬하고(S620), 이 후 회복을 위한 디스크 탐색을 줄이도록 하기 위해 로그 파일을 파티션 별로 분할한다(S630).
마스터 서버(11)는 파티션 서버(12-1)에서 서빙하고 있던 파티션을 새로운 파티션 서버(예컨대, 12-2)에 서빙하도록 할당할 때 재수행 로그 경로 정보를 함께 전달한다(S640).
파티션을 할당받은 파티션 서버(12-2)는 재수행 로그를 순차적으로 읽어서 갱신 사항을 갱신 버퍼에 반영한 후 디스크에 기록하는 과정을 통해 데이터를 복구한다(S650).
복구를 완료한 후 파티션 서버(12-2)는 데이터 서빙을 시작한다(S660).
그러나, 오류 발생한 파티션 서버에서 관리하던 파티션들에 대한 복구를 다 수의 파티션 서버에서 나누어 병렬로 복구하도록 하는 방식은 데이터 저장시 갱신된 내용만을 기록하는 데이터 저장 특성을 잘 활용하지 못하는 단점이 있다.
본 발명은 상기와 같은 문제점을 감안하여 창출한 것으로서, 삽입 또는 삭제에 따른 데이터 변경시 새로운 값만을 추가하는 방식의 데이터 저장 특성을 이용하여 오류가 발생한 파티션 서버에서 서비스하던 파티션의 데이터를 재구축하는 클러스터 데이터 관리 시스템의 재수행 로그를 이용한 데이터 재구축 방법을 제공하는 데 그 목적이 있다.
전술한 목적을 달성하기 위하여, 본 발명의 일면에 따라, 클러스터 데이터 관리 시스템을 이용한 데이터 재구축 방법에 있어서, 오류가 발생한 파티션 서버에서 서비스한 파티션의 서비스 정보를 수집하는 단계; 상기 파티션 서버에서 작성된 재수행 로그 파일을 상기 파티션이 속한 테이블의 열 별로 분할하는 단계; 수집된 상기 서비스 정보와 분할된 상기 재수행 로그 파일의 로그 레코드를 근거로 파티션의 데이터를 재구축하는 단계; 및 상기 데이터가 재구축된 상기 파티션을 서비스할 새로운 파티션 서버를 선정하고, 상기 선정된 파티션 서버에 상기 파티션을 할당하는 단계를 포함하고, 상기 데이터를 재구축하는 단계는, 상기 파티션의 데이터를 재구축하도록 선정된 파티션 서버로 수집된 상기 서비스 정보 및 분할된 상기 재수행 로그 파일의 정보를 전달하는 단계를 포함하는 것인 클러스터 데이터 관리 시스템에서 재수행 로그를 이용한 데이터 재구축 방법을 제공한다.
본 발명의 다른 면에 따라, 재수행 로그를 이용하여 데이터를 재구축하는 클러스터 데이터 관리 시스템에 있어서, 적어도 하나 이상의 파티션에 대해 서비스를 담당하며 상기 파티션의 서비스에 따라 재수행 로그 파일을 작성하는 파티션 서버; 및 상기 파티션 서버에 오류 발생시 상기 파티션의 서비스 정보를 수집하고, 상기 재수행 로그 파일을 상기 파티션이 속한 테이블의 열 별로 분할하며 수집된 상기 파티션의 서비스 정보 및 분할된 상기 재수행 로그 파일의 로그 레코드를 근거로 상기 파티션의 데이터를 재구축할 상기 파티션 서버를 선정하는 마스터 서버를 포함하고, 상기 마스터 서버는, 선정된 상기 파티션 서버로 수집된 상기 서비스 정보 및 분할된 상기 재수행 로그 파일의 정보를 전달하는 것인 클러스터 데이터 관리 시스템을 제공한다.
본 발명에 따르면, 삽입 또는 삭제에 따른 데이터 변경시 새로운 값만을 추가하는 방식의 데이터 저장 특성을 이용하여 노드 오류시 갱신 버퍼를 통하지 않고 열별로 정렬된 로그를 이용하여 직접 데이터를 재구축함으로써, 디스크 입출력 및 CPU와 같은 컴퓨팅 자원의 사용을 줄일 수 있는 효과가 있다.
특히 CPU와 같은 컴퓨팅 자원의 사용을 줄임으로써 여분의 자원을 데이터 복구에 활용하여 데이터 복구 시간을 단축시킬 수 있는 이점이 있다.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세히 설명하되, 본 발명에 따른 동작 및 작용을 이해하는 데 필요한 부분을 중심으로 설명한다.
본 발명에서 제안하는 데이터 재구축 방법은 삽입과 삭제 요청으로 인해 데이터에 대한 변경 발생시 이전 데이터에 대해 변경하는 것이 아닌 새로운 값을 갖는 데이터가 추가되는 형태로 저장하는 특성을 이용한다.
이하, 첨부된 도면을 참조하여 본 발명에 대하여 상세하게 설명한다.
도 7은 본 발명에 따른 클러스터 데이터 관리 시스템을 설명하기 위한 블럭도이고, 도 8은 도 7의 데이터 복구를 설명하기 위한 예시도이다.
먼저 도 7를 참조하면, 클러스터 데이터 관리 시스템은 하나의 마스터 서버(100)와 n개의 파티션 서버(200-1,200-2,...,200-n)를 포함한다.
마스터 서버(100)는 각 파티션 서버(200-1,200-2,...,200-n)를 제어하고, 각 파티션 서버(200-1,200-2,...,200-n)에 오류 발생 여부를 탐지한다.
마스터 서버(100)는 오류 탐지시, 오류가 발생한 파티션 서버(예컨대, 200-3)에서 서비스한 파티션의 서비스 정보를 수집하고, 파티션 서버(200-3)에서 작성한 재수행 로그 파일을 파티션 서버(200-3)에서 서비스한 파티션(예컨대, P1,P2,P3)이 속한 테이블(예컨대, T1)의 열 별로 분할한다.
여기서 파티션의 서비스 정보는 오류가 발생한 파티션 서버(200-3)가 서비스한 파티션(P1, P2, P3)의 정보[예컨대, 오류가 발생한 파티션 서버(200-3)에서 테이블(T1)에 포함된 파티션 중 어느 파티션을 서비스하였는지 알 수 있는 정보], 각 파티션(P1, P2, P3)을 구성하는 열의 정보(예컨대, C1,C2,C3), 각 파티션(P1, P2, P3)을 구성하는 각 파티션(P1, P2, P3)이 속한 테이블(T1)의 행 범위 정보(예컨대, R1<=P1<R4, R4<=P2<R7, R7<=P3<R10)를 포함한다.
마스터 서버(100)는 기설정된 기준 정보, 예컨대 오류가 발생한 파티션 서버(200-3)가 서비스한 파티션(P1,P2,P3)이 속한 테이블(T1), 행 키, 셀 키 및 타임 스템프를 근거로 재수행 로그 파일의 로그 정보를 오름 차순으로 정렬하고, 정렬된 재수행 로그 파일의 로그 레코드를 오류가 발생한 파티션 서버(200-3)가 서비스한 파티션(P1,P2,P3)이 속한 테이블(T1)의 열 별로 분류한다.
마스터 서버(100)는 분류된 재수행 로그 파일을 열 별로 분할한다.
마스터 서버(100)는 파티션의 서비스 정보 및 재수행 로그 파일의 로그 정보를 근거로 오류가 발생한 파티션 서버(200-3)에서 서비스한 파티션(P1,P2,P3)의 데이터를 재구축할 새로운 파티션 서버(예컨대, 200-1)를 선정한다.
마스터 서버(100)는 선정된 파티션 서버(200-1)에 수집된 서비스 정보 및 분할된 재수행 로그 파일을 전달한다.
마스터 서버(100)는 선정된 파티션 서버(200-1)에서 파티션(P1,P2,P3)의 데이터 재구축을 완료할 경우, 데이터 재구축이 완료된 파티션을 서비스할 새로운 파티션 서버(예컨대, 200-2)를 선정한다.
마스터 서버(100)는 새롭게 선정된 파티션 서버(200-2)에게 데이터가 재구축된 파티션을 할당한다.
각 파티션 서버(200-1,200-2,...,200-n)는 마스터 서버(100)로부터 서비스 정보 및 재수행 로그 파일을 전달받을 경우, 전달받은 서비스 정보 및 분할된 재수행 로그 파일의 로그 정보를 근거로 파티션의 데이터를 재구축한다.
각 파티션 서버(200-1,200-2,...,200-n)는 전달받은 서비스 정보 및 재수행 로그 파일의 로그 정보를 근거로 파티션의 데이터를 재구축할 데이터 파일을 생성하고, 생성된 데이터 파일에 재수행 로그 파일의 로그 정보를 기록한다.
여기서 로그 정보는 로그 레코드인 것이 바람직하다.
각 파티션 서버(200-1,200-2,...,200-n)는 재수행 로그 파일의 로그 정보를 생성된 파티션의 데이터 파일에 기록할 경우, 재수행 로그 파일의 로그 정보가 현재 데이터를 재구축 중인 파티션에 속하는지 여부를 판단한다.
상기 판단결과, 속할 경우, 각 파티션 서버(200-1,200-2,...,200-n)는 생성된 데이터 파일에 재수행 로그 파일의 로그 정보를 이용하여 데이터 파일에 기록할 정보를 생성하여 기록한다.
그러나 판단결과, 속하지 않을 경우, 각 파티션 서버(200-1,200-2,...,200-n)는 새로운 데이터 파일을 생성하고, 생성된 데이터 파일에 재수행 로그 파일의 로그 정보를 이용하여 데이터 파일에 기록할 정보를 생성하여 기록한다. 로그 레코드를 이용하여 데이터 파일에 기록할 정보 생성시 로그 일련 번호는 제외한다.
여기서 데이터 파일에 기록할 정보는 데이터 파일의 레코드인 것이 바람직하다.
각 파티션 서버(200-1,200-2,...,200-n)는 데이터가 재구축된 파티션을 할당받을 경우, 할당받은 파티션에 대해 서비스를 시작한다.
도 8을 참조하여 본 발명에 따른 데이터 재구축을 설명하면, 파티션 서버(200-3)에 오류가 발생하고, 파티션 서버(200-1)는 마스터 서버에 의해 파티션 서버(200-3)에서 서비스한 파티션(P1,P2,P3)의 데이터를 재구축하도록 선정되며, 테이블 T1은 열 C1,C2,C3로 구성되고, 파티션 서버(200-3)에서 서비스한 파티션(P1,P2,P3)은 테이블(T1)에 속한다.
마스터 서버(100)는 재수행 로그 파일(810)의 로그 정보를 기설정된 기준 정보, 즉 오류가 발생한 파티션 서버(200-3)가 서비스한 파티션(P1,P2,P3)이 속한 테 이블(T1), 행 키, 셀 키 및 타임 스템프를 근거로 오름 차순으로 정렬하고, 테이블(T1)의 열 별로 분류한다.
마스터 서버(100)는 로그 정보가 테이블(T1)의 열 별로 분류된 재수행 로그 파일을 열 별로 분할한다.
즉, 재수행 로그 파일은 821(T1.C1), 822(T1.C2), 823(T1.C3)과 같이 열 별로 분할될 수 있다.
821(T1.C1)은 테이블(T1)의 열(C1)에 대한 로그 정보를 포함하고, 822(T1.C2)는 테이블(T1)의 열(C2)에 대한 로그 정보, 823(T1.C3)은 테이블(T1)의 열(C3)에 대한 로그 정보를 포함한다.
파티션 서버(200-1)는 열 별로 분할된 재수행 로그 파일의 로그 정보가 파티션(P1,P2,P3)의 서비스 정보(830)를 근거로 어느 파티션(P1 또는 P2 또는 P3)에 속하는지를 판단하고, 판단 결과에 따라 파티션의 데이터 파일을 생성한다. 파티션 서버(200-1)는 생성된 데이터 파일에 재수행 로그 파일의 로그 정보를 근거로 기록할 정보를 생성한 후 데이터 파일에 기록하면 841,842,843과 같다. 841은 파티션 P1, 842는 파티션 P2, 843은 파티션 P3에 대한 데이터 파일이다.
본 발명에서는 열 그룹 개념을 적용하는 시스템에 대한 설명은 별도로 하지 않았다. 하지만 본 발명의 핵심 개념은 열 그룹 개념을 적용하는 시스템에도 쉽게 적용할 수 있는 것은 물론이다.
또한 본 발명에서는 파티션 서버에 오류 발생시 오류가 발생한 파티션이 서비스한 파티션의 데이터를 재구축할 경우, 갱신 버퍼를 사용하지 않고 재수행 로그 파일로부터 직접 데이터를 구축할 수 있도록 함으로써 불필요한 디스크 입출력을 줄일 수 있다.
도 9는 본 발명에 따른 클러스터 데이터 관리 시스템을 이용한 데이터 재구축 방법을 설명하기 위한 흐름도이다.
도 9를 참조하면, 마스터 서버(100)는 각 파티션 서버(200-1,200-2,...,200-n)에 오류 발생 여부를 탐지한다(S900).
탐지결과, 오류가 발생한 경우, 마스터 서버(100)는 오류가 발생한 파티션 서버(예컨대, 200-3)가 서비스한 파티션(예컨대, P1,P2,P3)의 서비스 정보를 수집한다(S910).
여기서 파티션의 서비스 정보는 오류가 발생한 파티션 서버(200-3)가 서비스한 파티션(P1, P2, P3)의 정보[예컨대, 오류가 발생한 파티션 서버(200-3)에서 어느 파티션을 서비스하였는지 알 수 있는 정보], 각 파티션(P1, P2, P3)을 구성하는 열의 정보(예컨대, C1,C2,C3), 각 파티션(P1, P2, P3)을 구성하는 각 파티션(P1, P2, P3)이 속한 테이블(T1)의 행 범위 정보(예컨대, R1<=P1<R4, R4<=P2<R7, R7<=P3<R10)를 포함한다.
마스터 서버(100)는 오류가 발생한 파티션 서버(200-3)에서 작성한 재수행 로그 파일을 열 별로 분할한다(920).
마스터 서버(100)는 먼저 재수행 로그 파일의 로그 정보를 기설정된 기준 정보(예컨대, 오류가 발생한 파티션 서버(200-3)가 서비스한 파티션(P1,P2,P3)이 속한 테이블(T1), 행 키, 셀 키 및 타임 스템프)를 근거로 오름 차순으로 정렬한다. 마스터 서버(100)는 정렬된 재수행 로그 파일의 정보를 파티션(P1,P2,P3)이 속한 테이블(T1)의 열 별로 분류하고, 분류된 재수행 로그 파일을 열 별로 분할한다.
마스터 서버(100)는 오류가 발생한 파티션 서버(200-3)가 서비스한 파티션(P1,P2,P3)의 데이터를 재구축할 파티션 서버(예컨대, 200-1)를 선정한다.
예컨대, 마스터 서버(100)는 파티션(P1,P2,P3)의 데이터를 재구축하도록 파티션 서버(200-1)를 선정할 수 있다.
마스터 서버(100)는 선정된 파티션 서버(200-1)로 수집된 서비스 정보 및 분할된 재수행 로그 파일을 전달한다.
파티션 서버(200-1)는 마스터 서버(100)로부터 전달받은 서비스 정보 및 분할된 재수행 로그 파일의 로그 정보를 근거로 파티션(P1,P2,P3)의 데이터를 재구축한다(S930).
마스터 서버(100)는 파티션 서버(200-1)에서 파티션(P1,P2,P3)의 데이터 재구축을 완료한 경우, 파티션(P1,P2,P3)을 서비스할 새로운 파티션 서버(예컨대, 200-2)를 선정하고, 파티션(P1,P2,P3)을 할당한다.
파티션 서버(200-2)는 데이터가 재구축된 파티션(P1,P2,P3)을 할당받아 파티션(P1,P2,P3)에 대한 서비스를 시작한다(S940).
재수행 로그의 열 별로 분할 정렬하는 일과 데이터를 재구축하는 일은 맵/리듀스(map/reduce)와 같은 병렬 처리를 위한 소프트웨어를 이용할 수 있다.
도 10은 본 발명에 따른 서비스 정보와 열 별로 분할된 재수행 로그파일의 로그 정보를 근거로 파티션의 데이터를 재구축하는 방법을 설명하기 위한 흐름도이 다.
파티션 서버(200-1)는 마스터 서버로부터 서비스 정보 및 분할된 재수행 로그 파일을 전달받는다.
파티션 서버(200-1)는 전달받은 서비스 정보 및 분할된 재수행 로그 파일의 정보를 근거로 파티션(P1,P2,P3)의 데이터 재구축을 진행하기에 앞서 파티션의 정보(예컨대, 현재 데이터를 재구축할 파티션의 구별자, 즉 P)를 초기화한다(S1000).
파티션 서버(200-1)는 서비스 정보와 재수행 로그 파일의 로그 정보를 근거로(S1010) 재수행 로그 파일의 로그 정보가 현재 데이터의 재구축을 진행 중인 파티션에 속하는지 여부를 판단한다(S1020).
판단결과, 진행 중인 파티션에 속하지 않을 경우, 파티션 서버(200-1)는 파티션의 데이터 파일을 생성하고(S1030), 현재 데이터의 재구축을 진행 중인 파티션 정보를 재수행 로그 파일의 로그 정보, 즉 로그 레코드가 속한 파티션 정보로 수정한다(S1040).
예를 들어, 현재 데이터 재구축을 진행 중인 파티션 정보(P)가 파티션(P1)일 경우, 파티션 서버(200-1)는 821(T1.C1)의 R4가 현재 재구축을 진행 중인 파티션(P1)에 속하는지 여부를 821(T1.C1)의 R4가 속한 서비스 정보(예컨대, R1<=P1<R4, R4<=P2<R7, R7<=P3<R10)에 근거하여 판단하고, R4가 현재 재구축을 진행 중인 파티션(P1)에 속하지 않으므로, R4가 속한 파티션(P2)의 데이터 파일(842)을 생성하고, 현재 재구축을 진행 중인 파티션 정보(P)를 재수행 로그 파일의 로그 정보, 즉 R4가 속한 파티션(P2)으로 수정한다.
그러나 판단결과, 현재 데이터 재구축을 진행 중인 파티션에 속할 경우, 파티션 서버(200-1)는 재수행 로그 파일의 로그 정보, 즉 로그 레코드를 이용하여 생성된 데이터 파일에 기록할 정보, 즉 데이터 파일의 레코드를 형성한다(S1050).
파티션 서버(200-1)는 형성된 정보, 즉 데이터 파일의 레코드를 데이터 파일에 직접 기록한다(S1060).
예를 들어, 파티션 서버(200-1)는 822(T1.C2)의 R2가 현재 데이터 재구축을 진행 중인 파티션(P1)에 속하므로 R2를 갱신 버퍼를 통하지 않고 파티션(P1)의 데이터 파일(841)에 직접 기록한다.
분할한 모든 열에 대한 재수행 로그가 각 파티션(P1,P2,P3)의 데이터 재구축에 이용될 때까지 단계(1010 내지 1060)를 반복 수행한다.
이상 바람직한 실시예와 첨부도면을 참조하여 본 발명의 구성에 관해 구체적으로 설명하였으나, 이는 예시에 불과한 것으로 본 발명의 기술적 사상을 벗어나지 않는 범주내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 안되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.
도 1은 일반적인 클러스터 데이터 관리 시스템을 설명한 블럭도.
도 2는 도 1에서 사용하는 다차원 맵 구조의 데이터 모델을 나타낸 예시도.
도 3 및 도 4는 도 1에서 갱신 버터를 사용한 데이터 관리를 설명한 예시도.
도 5는 갱신 버퍼가 디스크에 반영되는 방식을 설명한 예시도.
도 6은 일반적인 클러스터 데이터 관리 시스템에서 오류를 복구하는 방법을 설명한 흐름도.
도 7은 본 발명에 따른 클러스터 데이터 관리 시스템을 설명한 블럭도.
도 8은 도 7의 데이터 복구를 설명한 예시도.
도 9는 본 발명에 따른 클러스터 데이터 관리 시스템을 이용한 데이터 재구축 방법을 설명한 흐름도.
도 10은 본 발명에 따른 서비스 정보와 열 별로 분할된 재수행 로그파일의 로그 정보를 근거로 파티션의 데이터를 재구축하는 방법을 설명한 흐름도.
<도면의 주요 참조부호에 대한 설명>
100 : 마스터 서버 200-1 : 파티션 서버
200-2 : 파티션 서버 200-3 : 파티션 서버
810 : 재수행 로그 파일 821 : 열 별 분할된 로그 파일
822 : 열 별 분할된 로그 파일 823 : 열 별 분할된 로그 파일
830 : 서비스 정보 841 : 파티션
842 : 파티션 843 : 파티션

Claims (20)

  1. 클러스터 데이터 관리 시스템에서 공유 재수행 로그를 이용한 데이터 재구축 방법에 있어서,
    오류가 발생한 파티션 서버에서 서비스한 파티션의 서비스 정보를 수집하는 단계;
    상기 파티션 서버에서 작성된 재수행 로그 파일을 상기 파티션이 속한 테이블의 열 별로 분할하는 단계;
    수집된 상기 서비스 정보와 분할된 상기 재수행 로그 파일의 로그 레코드를 근거로 파티션의 데이터를 재구축하는 단계; 및
    상기 데이터가 재구축된 상기 파티션을 서비스할 새로운 파티션 서버를 선정하고, 상기 선정된 파티션 서버에 상기 파티션을 할당하는 단계를 포함하고,
    상기 데이터를 재구축하는 단계는,
    상기 파티션의 데이터를 재구축하도록 선정된 파티션 서버로 수집된 상기 서비스 정보 및 분할된 상기 재수행 로그 파일의 정보를 전달하는 단계를 포함하는 것
    인 클러스터 데이터 관리 시스템에서 공유 재수행 로그를 이용한 데이터 재구축 방법.
  2. 제1항에 있어서, 상기 서비스 정보는,
    상기 오류가 발생한 파티션 서버가 서비스한 파티션의 정보, 상기 각 파티션을 구성하는 상기 열의 정보, 상기 각 파티션을 구성하는 상기 각 파티션이 속한 테이블의 행 범위 정보를 포함하는 것인 클러스터 데이터 관리 시스템에서 공유 재수행 로그를 이용한 데이터 재구축 방법.
  3. 제1항에 있어서, 상기 열 별로 분할하는 단계는,
    기설정된 기준 정보를 근거로 상기 재수행 로그 파일의 로그 정보를 정렬하는 단계;
    정렬된 상기 재수행 로그 파일의 로그 정보를 상기 열 별로 분류하는 단계; 및
    상기 로그 정보가 분류된 상기 재수행 로그 파일을 상기 열 별로 분할하는 단계
    를 포함하는 것인 클러스터 데이터 관리 시스템에서 공유 재수행 로그를 이용한 데이터 재구축 방법.
  4. 제3항에 있어서, 상기 기준 정보는
    상기 오류가 발생한 파티션 서버가 서비스한 파티션이 속한 테이블, 행 키, 셀 키 및 타임 스템프를 포함하는 것인 클러스터 데이터 관리 시스템에서 공유 재수행 로그를 이용한 데이터 재구축 방법.
  5. 제1항에 있어서, 상기 데이터를 재구축하는 단계는,
    전달받은 상기 서비스 정보 및 상기 재수행 로그 파일의 로그 정보를 근거로 새로운 데이터 파일을 생성하는 단계; 및
    생성된 상기 데이터 파일에 상기 재수행 로그 파일의 로그 레코드를 반영하는 단계를 더 포함하는 것
    인 클러스터 데이터 관리 시스템에서 공유 재수행 로그를 이용한 데이터 재구축 방법.
  6. 제5항에 있어서, 상기 반영하는 단계는,
    상기 재수행 로그 파일의 기록 정보가 현재 데이터 재구축 중인 상기 파티션에 속하는지 여부를 판단하는 단계; 및
    상기 판단결과, 속할 경우 생성된 상기 데이터 파일에 상기 재수행 로그 파일의 로그 레코드를 기록하는 단계
    를 포함하는 것인 클러스터 데이터 관리 시스템에서 공유 재수행 로그를 이용한 데이터 재구축 방법.
  7. 제6항에 있어서, 상기 반영하는 단계는,
    상기 판단결과, 속하지 않을 경우, 새로운 데이터 파일을 생성하는 단계; 및
    생성된 상기 데이터 파일에 상기 재수행 로그 파일의 로그 레코드를 기록하는 단계
    를 더 포함하는 것인 클러스터 데이터 관리 시스템에서 공유 재수행 로그를 이용한 데이터 재구축 방법.
  8. 제6항 또는 제7항에 있어서, 상기 로그 레코드를 기록하는 단계는,
    상기 재수행 로그 파일의 로그 정보 중 로그 일련 번호를 제외한 나머지 정보로 데이터 파일에 기록할 정보를 생성하는 단계; 및
    생성된 상기 데이터 파일에 기록할 정보를 상기 데이터 파일에 기록하는 단계
    를 포함하는 것인 클러스터 데이터 관리 시스템에서 공유 재수행 로그를 이용한 데이터 재구축 방법.
  9. 제1항에 있어서,
    할당받은 상기 파티션 서버에서 상기 데이터가 재구축된 파티션의 서비스를 시작하는 단계를 더 포함하는 것인 클러스터 데이터 관리 시스템에서 공유 재수행 로그를 이용한 데이터 재구축 방법.
  10. 공유 재수행 로그를 이용하여 데이터를 재구축하는 클러스터 데이터 관리 시스템에 있어서,
    적어도 하나 이상의 파티션에 대해 서비스를 담당하며 상기 파티션의 서비스에 따라 재수행 로그 파일을 작성하는 파티션 서버; 및
    상기 파티션 서버에 오류 발생시 상기 파티션의 서비스 정보를 수집하고, 상기 재수행 로그 파일을 상기 파티션이 속한 테이블의 열 별로 분할하며 수집된 상기 파티션의 서비스 정보 및 분할된 상기 재수행 로그 파일의 로그 정보를 근거로 상기 파티션의 데이터를 재구축할 상기 파티션 서버를 선정하는 마스터 서버를 포함하고,
    상기 마스터 서버는,
    선정된 상기 파티션 서버로 수집된 상기 서비스 정보 및 분할된 상기 재수행 로그 파일의 정보를 전달하는 것
    인 클러스터 데이터 관리 시스템.
  11. 제10항에 있어서, 상기 서비스 정보는,
    상기 오류가 발생한 파티션 서버가 서비스한 파티션의 정보, 상기 각 파티션을 구성하는 상기 열의 정보, 상기 각 파티션을 구성하는 상기 각 파티션이 속한 테이블의 행 범위 정보를 포함하는 것인 클러스터 데이터 관리 시스템.
  12. 제10항에 있어서, 상기 마스터 서버는,
    기설정된 기준 정보를 근거로 상기 재수행 로그 파일의 로그 정보를 정렬하고, 정렬된 상기 재수행 로그 파일의 로그 정보를 상기 열 별로 분류하여 분류된 상기 열 별로 상기 재수행 로그 파일을 분할하는 것인 클러스터 데이터 관리 시스템.
  13. 제12항에 있어서, 상기 기준 정보는
    상기 오류가 발생한 파티션 서버가 서비스한 파티션이 속한 테이블, 상기 테이블의 행 키, 상기 테이블의 셀 키 및 상기 테이블의 타임 스템프를 포함하는 것인 클러스터 데이터 관리 시스템.
  14. 삭제
  15. 제10항에 있어서, 상기 파티션 서버는,
    전달받은 상기 서비스 정보 및 분할된 상기 재수행 로그 파일의 로그 정보를 근거로 상기 파티션의 데이터를 재구축하는 것인 클러스터 데이터 관리 시스템.
  16. 제15항에 있어서, 상기 파티션 서버는,
    전달받은 상기 서비스 정보 및 상기 재수행 로그 파일의 로그 정보를 근거로 상기 파티션의 재구축할 데이터 파일을 생성하고, 생성된 상기 파티션의 데이터 파일에 상기 재수행 로그 파일의 로그 정보를 기록하는 것인 클러스터 데이터 관리 시스템.
  17. 제16항에 있어서, 상기 파티션 서버는,
    상기 재수행 로그 파일의 로그 정보 기록시, 상기 로그 정보가 현재 데이터 재구축 중인 상기 파티션에 속하는지 여부를 판단하고, 상기 판단결과, 속할 경우, 생성된 상기 데이터 파일에 상기 로그 정보를 기록하는 것인 클러스터 데이터 관리 시스템.
  18. 제17항에 있어서, 상기 파티션 서버는,
    상기 판단결과, 속하지 않을 경우, 새로운 데이터 파일을 생성하고, 생성된 상기 데이터 파일에 상기 로그 정보를 기록하는 것인 클러스터 데이터 관리 시스템.
  19. 제17 또는 제18 항에 있어서, 상기 파티션 서버는,
    상기 재수행 로그 파일의 로그 정보 중 로그 일련 번호를 제외한 나머지 정보를 이용하여 상기 데이터 파일에 기록할 정보를 생성하고, 생성된 상기 데이터 파일에 기록할 정보를 상기 데이터 파일에 기록하는 것인 클러스터 데이터 관리 시스템.
  20. 제15항에 있어서, 상기 마스터 서버는,
    상기 데이터가 재구축된 상기 파티션을 서비스할 새로운 파티션 서버를 선정하고, 상기 선정된 파티션 서버에 상기 파티션을 할당하는 것인 클러스터 데이터 관리 시스템.
KR1020090024149A 2008-12-18 2009-03-20 클러스터 데이터 관리시스템 및 클러스터 데이터 관리 시스템에서 공유 재수행 로그를 이용한 데이터 재구축 방법 KR101207510B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020080129638 2008-12-18
KR20080129638 2008-12-18

Publications (2)

Publication Number Publication Date
KR20100070967A KR20100070967A (ko) 2010-06-28
KR101207510B1 true KR101207510B1 (ko) 2012-12-03

Family

ID=42267530

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090024149A KR101207510B1 (ko) 2008-12-18 2009-03-20 클러스터 데이터 관리시스템 및 클러스터 데이터 관리 시스템에서 공유 재수행 로그를 이용한 데이터 재구축 방법

Country Status (2)

Country Link
US (1) US20100161565A1 (ko)
KR (1) KR101207510B1 (ko)

Families Citing this family (121)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8745503B2 (en) * 2006-04-20 2014-06-03 Hewlett-Packard Development Company, L.P. Graphical interface for managing server environment
US8930331B2 (en) 2007-02-21 2015-01-06 Palantir Technologies Providing unique views of data based on changes or rules
US8028090B2 (en) 2008-11-17 2011-09-27 Amazon Technologies, Inc. Request routing utilizing client location information
US7991910B2 (en) 2008-11-17 2011-08-02 Amazon Technologies, Inc. Updating routing information based on client location
US7962597B2 (en) 2008-03-31 2011-06-14 Amazon Technologies, Inc. Request routing based on class
US8447831B1 (en) 2008-03-31 2013-05-21 Amazon Technologies, Inc. Incentive driven content delivery
US8321568B2 (en) 2008-03-31 2012-11-27 Amazon Technologies, Inc. Content management
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
US7970820B1 (en) 2008-03-31 2011-06-28 Amazon Technologies, Inc. Locality based content distribution
US9407681B1 (en) 2010-09-28 2016-08-02 Amazon Technologies, Inc. Latency measurement in resource requests
US9383911B2 (en) 2008-09-15 2016-07-05 Palantir Technologies, Inc. Modal-less interface enhancements
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
US9495338B1 (en) 2010-01-28 2016-11-15 Amazon Technologies, Inc. Content distribution network
US8468247B1 (en) 2010-09-28 2013-06-18 Amazon Technologies, Inc. Point of presence management in request routing
US9003035B1 (en) 2010-09-28 2015-04-07 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
US10958501B1 (en) 2010-09-28 2021-03-23 Amazon Technologies, Inc. Request routing information based on client IP groupings
US8515945B2 (en) 2010-11-16 2013-08-20 Sybase, Inc. Parallel partitioning index scan
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
US9547693B1 (en) 2011-06-23 2017-01-17 Palantir Technologies Inc. Periodic database search manager for multiple data sources
US8799240B2 (en) 2011-06-23 2014-08-05 Palantir Technologies, Inc. System and method for investigating large amounts of data
US9092482B2 (en) 2013-03-14 2015-07-28 Palantir Technologies, Inc. Fair scheduling for mixed-query loads
US9280532B2 (en) 2011-08-02 2016-03-08 Palantir Technologies, Inc. System and method for accessing rich objects via spreadsheets
US8504542B2 (en) 2011-09-02 2013-08-06 Palantir Technologies, Inc. Multi-row transactions
US20140289735A1 (en) * 2012-03-02 2014-09-25 Nec Corporation Capacity management support apparatus, capacity management method and program
CN103365897A (zh) * 2012-04-01 2013-10-23 华东师范大学 一种支持Bigtable数据模型的片段缓存方法
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
CN103020325A (zh) * 2013-01-17 2013-04-03 中国科学院计算机网络信息中心 基于NoSQL数据库的分布式遥感数据组织查询方法
US10223431B2 (en) 2013-01-31 2019-03-05 Facebook, Inc. Data stream splitting for low-latency data access
US9609050B2 (en) * 2013-01-31 2017-03-28 Facebook, Inc. Multi-level data staging for low latency data access
US10275778B1 (en) 2013-03-15 2019-04-30 Palantir Technologies Inc. Systems and user interfaces for dynamic and interactive investigation based on automatic malfeasance clustering of related data in various data structures
US9294391B1 (en) 2013-06-04 2016-03-22 Amazon Technologies, Inc. Managing network computing components utilizing request routing
US9116975B2 (en) 2013-10-18 2015-08-25 Palantir Technologies Inc. Systems and user interfaces for dynamic and interactive simultaneous querying of multiple data stores
EP3084617A4 (en) * 2013-12-19 2018-01-10 Intel Corporation Elastic virtual multipath resource access using sequestered partitions
US9043696B1 (en) 2014-01-03 2015-05-26 Palantir Technologies Inc. Systems and methods for visual definition of data associations
CN104778182B (zh) * 2014-01-14 2018-03-02 博雅网络游戏开发(深圳)有限公司 基于HBase的数据导入方法和系统
TWI626547B (zh) * 2014-03-03 2018-06-11 國立清華大學 於分散式資料庫中將系統狀態一致地還原至欲還原時間點之方法及系統
US20170212902A1 (en) * 2014-05-30 2017-07-27 Hewlett Packard Enterprise Development Lp Partially sorted log archive
US9619557B2 (en) 2014-06-30 2017-04-11 Palantir Technologies, Inc. Systems and methods for key phrase characterization of documents
US9535974B1 (en) 2014-06-30 2017-01-03 Palantir Technologies Inc. Systems and methods for identifying key phrase clusters within documents
US9419992B2 (en) 2014-08-13 2016-08-16 Palantir Technologies Inc. Unwanted tunneling alert system
CN104219292B (zh) * 2014-08-21 2017-06-30 浪潮软件股份有限公司 一种基于HBase的互联网资源共享的方法
US9454281B2 (en) 2014-09-03 2016-09-27 Palantir Technologies Inc. System for providing dynamic linked panels in user interface
US9672122B1 (en) * 2014-09-29 2017-06-06 Amazon Technologies, Inc. Fault tolerant distributed tasks using distributed file systems
CN104376047B (zh) * 2014-10-28 2017-06-30 浪潮电子信息产业股份有限公司 一种基于HBase的大表join方法
US10097448B1 (en) 2014-12-18 2018-10-09 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US10362133B1 (en) 2014-12-22 2019-07-23 Palantir Technologies Inc. Communication data processing architecture
US9348920B1 (en) 2014-12-22 2016-05-24 Palantir Technologies Inc. Concept indexing among database of documents using machine learning techniques
US10552994B2 (en) 2014-12-22 2020-02-04 Palantir Technologies Inc. Systems and interactive user interfaces for dynamic retrieval, analysis, and triage of data items
US10452651B1 (en) 2014-12-23 2019-10-22 Palantir Technologies Inc. Searching charts
US9817563B1 (en) 2014-12-29 2017-11-14 Palantir Technologies Inc. System and method of generating data points from one or more data stores of data items for chart creation and manipulation
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
WO2016183550A1 (en) 2015-05-14 2016-11-17 Walleye Software, LLC Dynamic table index mapping
US9672257B2 (en) 2015-06-05 2017-06-06 Palantir Technologies Inc. Time-series data storage and processing database system
US9384203B1 (en) 2015-06-09 2016-07-05 Palantir Technologies Inc. Systems and methods for indexing and aggregating data records
US9407652B1 (en) 2015-06-26 2016-08-02 Palantir Technologies Inc. Network anomaly detection
US9537880B1 (en) 2015-08-19 2017-01-03 Palantir Technologies Inc. Anomalous network monitoring, user behavior detection and database system
CN105045917B (zh) * 2015-08-20 2019-06-18 北京百度网讯科技有限公司 一种基于实例的分布式数据恢复方法和装置
US10402385B1 (en) 2015-08-27 2019-09-03 Palantir Technologies Inc. Database live reindex
US9454564B1 (en) 2015-09-09 2016-09-27 Palantir Technologies Inc. Data integrity checks
US10044745B1 (en) 2015-10-12 2018-08-07 Palantir Technologies, Inc. Systems for computer network security risk assessment including user compromise analysis associated with a network of devices
US10270878B1 (en) 2015-11-10 2019-04-23 Amazon Technologies, Inc. Routing for origin-facing points of presence
US9542446B1 (en) 2015-12-17 2017-01-10 Palantir Technologies, Inc. Automatic generation of composite datasets based on hierarchical fields
US10348639B2 (en) 2015-12-18 2019-07-09 Amazon Technologies, Inc. Use of virtual endpoints to improve data transmission rates
US10452491B2 (en) * 2016-04-14 2019-10-22 Sap Se Scalable log partitioning system
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
US9753935B1 (en) 2016-08-02 2017-09-05 Palantir Technologies Inc. Time-series data storage and processing database system
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
US10505961B2 (en) 2016-10-05 2019-12-10 Amazon Technologies, Inc. Digitally signed network address
US10133588B1 (en) 2016-10-20 2018-11-20 Palantir Technologies Inc. Transforming instructions for collaborative updates
US10318630B1 (en) 2016-11-21 2019-06-11 Palantir Technologies Inc. Analysis of large bodies of textual data
US10884875B2 (en) 2016-12-15 2021-01-05 Palantir Technologies Inc. Incremental backup of computer data files
CN108228083A (zh) 2016-12-21 2018-06-29 伊姆西Ip控股有限责任公司 用于数据去重的方法和设备
US10223099B2 (en) 2016-12-21 2019-03-05 Palantir Technologies Inc. Systems and methods for peer-to-peer build sharing
CN106790549B (zh) * 2016-12-23 2021-01-15 北京奇虎科技有限公司 一种数据更新方法及装置
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
CN106991137B (zh) * 2017-03-15 2019-10-18 浙江大学 基于Hbase散列概要森林对时序数据进行索引的方法
US10503613B1 (en) 2017-04-21 2019-12-10 Amazon Technologies, Inc. Efficient serving of resources during server unavailability
CN107239517B (zh) * 2017-05-23 2020-09-29 中国联合网络通信集团有限公司 基于Hbase数据库的多条件搜索方法及装置
US10896097B1 (en) 2017-05-25 2021-01-19 Palantir Technologies Inc. Approaches for backup and restoration of integrated databases
GB201708818D0 (en) 2017-06-02 2017-07-19 Palantir Technologies Inc Systems and methods for retrieving and processing data
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
CN107357915A (zh) * 2017-07-19 2017-11-17 郑州云海信息技术有限公司 一种数据存储方法及系统
US11334552B2 (en) 2017-07-31 2022-05-17 Palantir Technologies Inc. Lightweight redundancy tool for performing transactions
CN107577547B (zh) * 2017-08-08 2020-11-27 国家超级计算深圳中心(深圳云计算中心) 一种高性能集群的紧急作业续算方法以及系统
KR101990329B1 (ko) * 2017-08-10 2019-06-18 주식회사 티맥스데이터 로그 데이터 분석을 이용한 데이터베이스 복구 속도 향상 기법 및 장치
US10417224B2 (en) 2017-08-14 2019-09-17 Palantir Technologies Inc. Time series database processing system
US10002154B1 (en) 2017-08-24 2018-06-19 Illumon Llc Computer data system data source having an update propagation graph with feedback cyclicality
US10216695B1 (en) 2017-09-21 2019-02-26 Palantir Technologies Inc. Database system for time series data storage, processing, and analysis
US10742593B1 (en) 2017-09-25 2020-08-11 Amazon Technologies, Inc. Hybrid content request routing system
US11281726B2 (en) 2017-12-01 2022-03-22 Palantir Technologies Inc. System and methods for faster processor comparisons of visual graph features
US10614069B2 (en) 2017-12-01 2020-04-07 Palantir Technologies Inc. Workflow driven database partitioning
US11016986B2 (en) 2017-12-04 2021-05-25 Palantir Technologies Inc. Query-based time-series data display and processing system
US10592578B1 (en) 2018-03-07 2020-03-17 Amazon Technologies, Inc. Predictive content push-enabled content delivery network
CN108733546A (zh) * 2018-04-02 2018-11-02 阿里巴巴集团控股有限公司 一种日志采集方法、装置及设备
CN110362582B (zh) * 2018-04-03 2024-06-18 北京京东尚科信息技术有限公司 一种实现零停机升级的方法和装置
CN108667929A (zh) * 2018-05-08 2018-10-16 浪潮软件集团有限公司 一种基于HBase协处理器同步数据到elasticsearch的方法
GB201807534D0 (en) 2018-05-09 2018-06-20 Palantir Technologies Inc Systems and methods for indexing and searching
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
CN110147353B (zh) * 2019-04-24 2022-04-26 深圳先进技术研究院 基于日志分析的MongoDB数据迁移监控方法及装置
CN110532123B (zh) * 2019-08-30 2023-08-04 北京小米移动软件有限公司 HBase系统的故障转移方法及装置
CN113495894B (zh) * 2020-04-01 2024-07-16 北京京东振世信息技术有限公司 数据同步方法、装置、设备及存储介质
CN112261108A (zh) * 2020-10-16 2021-01-22 江苏奥工信息技术有限公司 一种基于大数据共享服务的集群管理平台
CN115114370B (zh) * 2022-01-20 2023-06-13 腾讯科技(深圳)有限公司 主从数据库的同步方法、装置、电子设备和存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6119128A (en) * 1998-03-30 2000-09-12 International Business Machines Corporation Recovering different types of objects with one pass of the log
JP2002082825A (ja) * 2000-06-23 2002-03-22 Sharp Corp ファイル管理方法
JP4923990B2 (ja) * 2006-12-04 2012-04-25 株式会社日立製作所 フェイルオーバ方法、およびその計算機システム。
US9996572B2 (en) * 2008-10-24 2018-06-12 Microsoft Technology Licensing, Llc Partition management in a partitioned, scalable, and available structured storage

Also Published As

Publication number Publication date
US20100161565A1 (en) 2010-06-24
KR20100070967A (ko) 2010-06-28

Similar Documents

Publication Publication Date Title
KR101207510B1 (ko) 클러스터 데이터 관리시스템 및 클러스터 데이터 관리 시스템에서 공유 재수행 로그를 이용한 데이터 재구축 방법
KR101259557B1 (ko) 클러스터 데이터 관리 시스템 및 클러스터 데이터 관리 시스템에서 병렬 처리를 이용한 데이터 복구 방법
CN110531940B (zh) 视频文件处理方法及装置
Salzberg et al. Comparison of access methods for time-evolving data
CN105786408B (zh) 闪存阵列中的逻辑扇区映射
US8396840B1 (en) System and method for targeted consistency improvement in a distributed storage system
CN103064765B (zh) 数据恢复方法、装置及集群存储系统
US20090327642A1 (en) Storage management program, storage management method, and storage management apparatus
CN111639082B (zh) 基于Ceph的十亿级节点规模知识图谱的对象存储管理方法及系统
CN111427847B (zh) 面向用户自定义元数据的索引与查询方法和系统
US11048678B2 (en) Bulk-load for B-trees
CN105468473A (zh) 数据迁移方法及数据迁移装置
Hua et al. Scalable and adaptive metadata management in ultra large-scale file systems
CN110222030A (zh) 数据库动态扩容的方法、存储介质
CN113377292B (zh) 一种单机存储引擎
CN111782135A (zh) 数据存储方法、系统、数据节点和计算机可读存储介质
CN108334277A (zh) 一种日志写入及同步方法、装置、系统、计算机存储介质
CN109407985B (zh) 一种数据管理的方法以及相关装置
CN115114370B (zh) 主从数据库的同步方法、装置、电子设备和存储介质
CN109947730A (zh) 元数据恢复方法、装置、分布式文件系统及可读存储介质
CN106547484A (zh) 一种基于raid5的实现内存数据可靠性方法及系统
CN117473021B (zh) 一种基于cdc方式的达梦数据库增量同步实现方法
CN113778341A (zh) 遥感数据分布式存储方法和装置及遥感数据读取方法
Wildani et al. PERSES: Data layout for low impact failures
CN117873405B (zh) 数据存储方法、装置、计算机设备和存储介质

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
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20150917

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20161122

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170926

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180918

Year of fee payment: 7