KR101207510B1 - 클러스터 데이터 관리시스템 및 클러스터 데이터 관리 시스템에서 공유 재수행 로그를 이용한 데이터 재구축 방법 - Google Patents
클러스터 데이터 관리시스템 및 클러스터 데이터 관리 시스템에서 공유 재수행 로그를 이용한 데이터 재구축 방법 Download PDFInfo
- 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
Links
- 238000013523 data management Methods 0.000 title claims abstract description 46
- 238000000034 method Methods 0.000 title claims abstract description 39
- 238000005192 partition Methods 0.000 claims abstract description 234
- 238000007726 management method Methods 0.000 claims description 5
- 238000000638 solvent extraction Methods 0.000 claims description 2
- 238000011084 recovery Methods 0.000 abstract description 8
- 238000010586 diagram Methods 0.000 description 9
- 230000008859 change Effects 0.000 description 4
- 230000001174 ascending effect Effects 0.000 description 3
- 238000013499 data model Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 238000012217 deletion Methods 0.000 description 3
- 230000037430 deletion Effects 0.000 description 3
- 238000003780 insertion Methods 0.000 description 3
- 230000037431 insertion Effects 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 235000014121 butter Nutrition 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/202—Error 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/2023—Failover techniques
- G06F11/2028—Failover techniques eliminating a faulty processor or activating a spare
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1469—Backup restoration techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1471—Saving, restoring, recovering or retrying involving logging of persistent data for recovery
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/202—Error 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/2023—Failover techniques
- G06F11/2025—Failover techniques using centralised failover control functionality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/202—Error 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/2023—Failover techniques
- G06F11/203—Failover techniques using migration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/202—Error 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/2035—Error 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/202—Error 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/2046—Error 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
본 발명은 클러스터 데이터 관리 시스템의 데이터 재구축 방법에 관한 것으로서, 오류가 발생한 파티션 서버에서 서비스한 파티션의 서비스 정보를 수집하는 단계; 상기 파티션 서버에서 작성된 재수행 로그 파일을 상기 파티션이 속한 테이블의 열 별로 분할하는 단계; 수집된 상기 서비스 정보와 분할된 상기 재수행 로그 파일의 로그 레코드를 근거로 파티션의 데이터를 재구축하는 단계; 및 상기 데이터가 재구축된 상기 파티션을 서비스할 새로운 파티션 서버를 선정하고, 상기 선정된 파티션 서버에 상기 파티션을 할당하는 단계를 포함하는 클러스터 데이터 관리 시스템에서 공유 재수행 로그를 이용한 데이터 재구축 방법을 제공한다.
노드 오류, 복구, 파티션, 재수행 로그, 재구축, 분할
Description
본 발명은 클러스터 데이터 관리 시스템의 데이터 재구축 방법에 관한 것으로서, 보다 구체적으로는 컴퓨팅 노드에 오류 발생시 해당 컴퓨팅 노드에서 서비스하던 데이터를 공유 재수행 로그를 이용하여 빠르게 재구축하는 클러스터 데이터 관리 시스템의 데이터 복구 방법에 관한 것이다.
본 발명은 지식경제부 및 정보통신연구진흥원의 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항에 있어서, 상기 서비스 정보는,상기 오류가 발생한 파티션 서버가 서비스한 파티션의 정보, 상기 각 파티션을 구성하는 상기 열의 정보, 상기 각 파티션을 구성하는 상기 각 파티션이 속한 테이블의 행 범위 정보를 포함하는 것인 클러스터 데이터 관리 시스템에서 공유 재수행 로그를 이용한 데이터 재구축 방법.
- 제1항에 있어서, 상기 열 별로 분할하는 단계는,기설정된 기준 정보를 근거로 상기 재수행 로그 파일의 로그 정보를 정렬하는 단계;정렬된 상기 재수행 로그 파일의 로그 정보를 상기 열 별로 분류하는 단계; 및상기 로그 정보가 분류된 상기 재수행 로그 파일을 상기 열 별로 분할하는 단계를 포함하는 것인 클러스터 데이터 관리 시스템에서 공유 재수행 로그를 이용한 데이터 재구축 방법.
- 제3항에 있어서, 상기 기준 정보는상기 오류가 발생한 파티션 서버가 서비스한 파티션이 속한 테이블, 행 키, 셀 키 및 타임 스템프를 포함하는 것인 클러스터 데이터 관리 시스템에서 공유 재수행 로그를 이용한 데이터 재구축 방법.
- 제1항에 있어서, 상기 데이터를 재구축하는 단계는,전달받은 상기 서비스 정보 및 상기 재수행 로그 파일의 로그 정보를 근거로 새로운 데이터 파일을 생성하는 단계; 및생성된 상기 데이터 파일에 상기 재수행 로그 파일의 로그 레코드를 반영하는 단계를 더 포함하는 것인 클러스터 데이터 관리 시스템에서 공유 재수행 로그를 이용한 데이터 재구축 방법.
- 제5항에 있어서, 상기 반영하는 단계는,상기 재수행 로그 파일의 기록 정보가 현재 데이터 재구축 중인 상기 파티션에 속하는지 여부를 판단하는 단계; 및상기 판단결과, 속할 경우 생성된 상기 데이터 파일에 상기 재수행 로그 파일의 로그 레코드를 기록하는 단계를 포함하는 것인 클러스터 데이터 관리 시스템에서 공유 재수행 로그를 이용한 데이터 재구축 방법.
- 제6항에 있어서, 상기 반영하는 단계는,상기 판단결과, 속하지 않을 경우, 새로운 데이터 파일을 생성하는 단계; 및생성된 상기 데이터 파일에 상기 재수행 로그 파일의 로그 레코드를 기록하는 단계를 더 포함하는 것인 클러스터 데이터 관리 시스템에서 공유 재수행 로그를 이용한 데이터 재구축 방법.
- 제6항 또는 제7항에 있어서, 상기 로그 레코드를 기록하는 단계는,상기 재수행 로그 파일의 로그 정보 중 로그 일련 번호를 제외한 나머지 정보로 데이터 파일에 기록할 정보를 생성하는 단계; 및생성된 상기 데이터 파일에 기록할 정보를 상기 데이터 파일에 기록하는 단계를 포함하는 것인 클러스터 데이터 관리 시스템에서 공유 재수행 로그를 이용한 데이터 재구축 방법.
- 제1항에 있어서,할당받은 상기 파티션 서버에서 상기 데이터가 재구축된 파티션의 서비스를 시작하는 단계를 더 포함하는 것인 클러스터 데이터 관리 시스템에서 공유 재수행 로그를 이용한 데이터 재구축 방법.
- 공유 재수행 로그를 이용하여 데이터를 재구축하는 클러스터 데이터 관리 시스템에 있어서,적어도 하나 이상의 파티션에 대해 서비스를 담당하며 상기 파티션의 서비스에 따라 재수행 로그 파일을 작성하는 파티션 서버; 및상기 파티션 서버에 오류 발생시 상기 파티션의 서비스 정보를 수집하고, 상기 재수행 로그 파일을 상기 파티션이 속한 테이블의 열 별로 분할하며 수집된 상기 파티션의 서비스 정보 및 분할된 상기 재수행 로그 파일의 로그 정보를 근거로 상기 파티션의 데이터를 재구축할 상기 파티션 서버를 선정하는 마스터 서버를 포함하고,상기 마스터 서버는,선정된 상기 파티션 서버로 수집된 상기 서비스 정보 및 분할된 상기 재수행 로그 파일의 정보를 전달하는 것인 클러스터 데이터 관리 시스템.
- 제10항에 있어서, 상기 서비스 정보는,상기 오류가 발생한 파티션 서버가 서비스한 파티션의 정보, 상기 각 파티션을 구성하는 상기 열의 정보, 상기 각 파티션을 구성하는 상기 각 파티션이 속한 테이블의 행 범위 정보를 포함하는 것인 클러스터 데이터 관리 시스템.
- 제10항에 있어서, 상기 마스터 서버는,기설정된 기준 정보를 근거로 상기 재수행 로그 파일의 로그 정보를 정렬하고, 정렬된 상기 재수행 로그 파일의 로그 정보를 상기 열 별로 분류하여 분류된 상기 열 별로 상기 재수행 로그 파일을 분할하는 것인 클러스터 데이터 관리 시스템.
- 제12항에 있어서, 상기 기준 정보는상기 오류가 발생한 파티션 서버가 서비스한 파티션이 속한 테이블, 상기 테이블의 행 키, 상기 테이블의 셀 키 및 상기 테이블의 타임 스템프를 포함하는 것인 클러스터 데이터 관리 시스템.
- 삭제
- 제10항에 있어서, 상기 파티션 서버는,전달받은 상기 서비스 정보 및 분할된 상기 재수행 로그 파일의 로그 정보를 근거로 상기 파티션의 데이터를 재구축하는 것인 클러스터 데이터 관리 시스템.
- 제15항에 있어서, 상기 파티션 서버는,전달받은 상기 서비스 정보 및 상기 재수행 로그 파일의 로그 정보를 근거로 상기 파티션의 재구축할 데이터 파일을 생성하고, 생성된 상기 파티션의 데이터 파일에 상기 재수행 로그 파일의 로그 정보를 기록하는 것인 클러스터 데이터 관리 시스템.
- 제16항에 있어서, 상기 파티션 서버는,상기 재수행 로그 파일의 로그 정보 기록시, 상기 로그 정보가 현재 데이터 재구축 중인 상기 파티션에 속하는지 여부를 판단하고, 상기 판단결과, 속할 경우, 생성된 상기 데이터 파일에 상기 로그 정보를 기록하는 것인 클러스터 데이터 관리 시스템.
- 제17항에 있어서, 상기 파티션 서버는,상기 판단결과, 속하지 않을 경우, 새로운 데이터 파일을 생성하고, 생성된 상기 데이터 파일에 상기 로그 정보를 기록하는 것인 클러스터 데이터 관리 시스템.
- 제17 또는 제18 항에 있어서, 상기 파티션 서버는,상기 재수행 로그 파일의 로그 정보 중 로그 일련 번호를 제외한 나머지 정보를 이용하여 상기 데이터 파일에 기록할 정보를 생성하고, 생성된 상기 데이터 파일에 기록할 정보를 상기 데이터 파일에 기록하는 것인 클러스터 데이터 관리 시스템.
- 제15항에 있어서, 상기 마스터 서버는,상기 데이터가 재구축된 상기 파티션을 서비스할 새로운 파티션 서버를 선정하고, 상기 선정된 파티션 서버에 상기 파티션을 할당하는 것인 클러스터 데이터 관리 시스템.
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)
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)
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 |
-
2009
- 2009-03-20 KR KR1020090024149A patent/KR101207510B1/ko active IP Right Grant
- 2009-08-18 US US12/543,208 patent/US20100161565A1/en not_active Abandoned
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 |