KR100327122B1 - 재삽입 연산을 수행하는 고차원 색인구조를 위한 회복방법 - Google Patents

재삽입 연산을 수행하는 고차원 색인구조를 위한 회복방법 Download PDF

Info

Publication number
KR100327122B1
KR100327122B1 KR1019990061940A KR19990061940A KR100327122B1 KR 100327122 B1 KR100327122 B1 KR 100327122B1 KR 1019990061940 A KR1019990061940 A KR 1019990061940A KR 19990061940 A KR19990061940 A KR 19990061940A KR 100327122 B1 KR100327122 B1 KR 100327122B1
Authority
KR
South Korea
Prior art keywords
node
entry
reinsert
log record
entries
Prior art date
Application number
KR1019990061940A
Other languages
English (en)
Other versions
KR20010063839A (ko
Inventor
이장선
김준
이훈순
김명준
오길록
유재수
송석일
Original Assignee
오길록
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 오길록, 한국전자통신연구원 filed Critical 오길록
Priority to KR1019990061940A priority Critical patent/KR100327122B1/ko
Priority to US09/497,136 priority patent/US6631385B2/en
Publication of KR20010063839A publication Critical patent/KR20010063839A/ko
Application granted granted Critical
Publication of KR100327122B1 publication Critical patent/KR100327122B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • 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/1474Saving, restoring, recovering or retrying in transactions
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 재삽입 연산을 수행하는 고차원 색인구조를 위한 회복방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것으로, 'ARIES'(Algorithm for Recovery and Isolation Exploiting Semantics)에 기반하고, 페이지 지향 재시행 및 페이지 지향 복귀를 기본으로 하여, 재삽입연산시 효율적인 회복을 보장하는 재삽입 연산을 수행하는 고차원 색인구조를 위한 회복방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하기 위하여, 노드에 엔트리를 삽입하고, 최소 경계 영역을 조정하고, 넘침을 처리를 하며, 해당하는 로그 레코드를 저장하는 제 1 단계; 및 상기 저장된 로그 레코드를 회복시키는 제 2 단계를 포함하며, 고차원 색인구조 회복장치 등에 이용됨.

Description

재삽입 연산을 수행하는 고차원 색인구조를 위한 회복방법{EFFICIENT RECOVERY METHOD FOR HIGH-DIMENSIONAL INDEX STRUCTURE EMPLOYING REINSERT OPERATION}
본 발명은 고차원 색인구조를 위한 회복방법에 관한 것으로, 특히 재삽입 연산을 수행하는 고차원 색인구조를 위한 회복방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것이다.
종래의 고차원 색인 구조를 위한 회복방법은, 주로 'WAL'(Write Ahead Logging)을 기반으로하여 페이지 지향 재수행(Page-Oriented Redo)과 논리적 복귀(Logical Undo)를 수행한다. 논리적 복귀라 함은 복귀를 수행할 때 색인 구조를 개방하고 루트부터 순회하여 해당하는 노드를 찾은 후 작업을 수행하는 것을 말한다. 반면에 페이지 지향 복귀 / 재수행은, 색인 구조를 개방하지 않고 로그 레코드에 기록되어 있는 노드에서 작업을 수행하는 것을 말한다.
'RLink-Tree'에서 제시하고 있는 회복 기법에서는, 연산을 단말 노드에 엔트리를 삽입하고 삭제하는 내용 변경 연산과 노드 분할 및 노드 삭제, 비단말 노드의 최소 경계 영역(MBR : Minimum Bounding Region) 변경을 포함하는 트리구조 변경 연산으로 나누어 다루고 있다. 엔트리 삽입이나 삭제로 인한 단말 노드의 변경은 트랜잭션이 철회(Rollback)되면 항상 복귀되고 트랜잭션이 완료되면 재수행 된다.
반면에, 트리구조 변경 연산은 별개의 회복 가능한 단위(Atomic Actions)로취급한다. 트리구조 변경 연산을 별개의 단위로 취급하여 트랜잭션들 사이의 복귀 의존 관계를 만들지 않고, 이를 포함한 트랜잭션이 완료(Commit)되지 않더라도 다른 트랜잭션들이 변경 내용을 볼 수 있게 한다. 즉, 트리구조 변경 연산(노드 분할 등)에 참여한 페이지들을 그 트랜잭션이 완료될 때까지 잠금 상태로 둘 필요가 없다는 것이다.
'GiST'(Generalized Search Tree)라는 트리를 기반으로하는 색인구조를 쉽게 개발할 수 있는 틀 구조(Frame Work)에 대한 연구에서도 역시 동시성 제어기법과 회복 기법을 제안하고 있는데 여기서 제시하는 회복 기법 역시 WAL 규약에 기반하며 페이지 지향 재수행과 논리적 복귀를 기본으로 한다.
또한, 변경연산을 노드 삭제 및 최소 경계 영역의 변경을 포함하는 트리구조 변경 연산과 단순 변경 연산으로 나누어 처리한다.
하지만, 'RLink-Tree'에서 제안한 방법과는 다르게 트리구조 변경연산을 'NTA'(Nested Top Action)형태로 처리한다. 이들간의 가장 큰 차이점은 'RLink-Tree'에 서는 트리구조 변경연산의 범위가 단말/비단말 노드의 분할에서 끝나지만 'GiST'에서는 단말 노드의 분할과 분할된 내용을 상위노드에 반영하면서 발생할 수 있는 다른 노드 분할을 포함한다.
상기한 바와 같은 종래의 고차원 색인구조의 회복 기법은, WAL 규약에 기반하여 페이지 지향 재수행과 논리적 복귀를 수행하며, 색인구조에서 발생하는 변경연산들을 트리구조 변경연산과 일반 내용 변경연산들로 나누고 트리구조 변경연산의 경우 'NTA'나 별개의 회복 가능한 단위(Atomic Action)으로 처리하고, 이 트리구조 변경연산의 수행이 완료되면 다른 트랜잭션들이 이 변경 내용을 볼 수 있게 하여 동시성 성능을 높이고 있다. 하지만 이들 회복 기법은 재삽입 연산을 효과적으로 처리할 수 있는 어떠한 방법도 제시하고 있지 않으며, 재삽입 연산을 구성하는 하나 하나의 삽입연산에 모두 이와 같은 회복 기법을 적용하면 재삽입 연산을 수행하던 연산이 철회되거나 시스템 고장으로 인한 복귀 시에 매우 많은 시간이 필요한 문제가 있다.
따라서, 본 발명은 상기와 같은 문제점을 해결하기 위해 안출된 것으로, 'ARIES'(Algorithm for Recovery and Isolation Exploiting Semantics)에 기반하고, 페이지 지향 재시행 및 페이지 지향 복귀를 기본으로 하여, 재삽입연산시 효율적인 회복을 보장하는 재삽입 연산을 수행하는 고차원 색인구조를 위한 회복방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하는데 그 목적이 있다.
도 1 은 본 발명이 적용되는 재삽입 연산을 수행하는 고차원 색인구조를 위한 회복장치의 일실시예 구성도.
도 2 는 본 발명에 따른 재삽입 연산에 대한 일실시예 처리 흐름도.
도 3 은 상기 도 2 에서 최소 경계 영역을 조정하는 서브루틴의 일실시예 상세 흐름도.
도 4 는 상기 도 2 에서 넘침을 처리하는 서브루틴의 일실시예 상세 흐름도.
도 5 는 본 발명에 따른 재삽입 연산을 수행하는 고차원 색인구조를 위한 회복방법에 대한 일실시예 처리 흐름도.
도 6 은 상기 도 5 에서 재삽입 엔트리의 삭제를 회복하는 서브루틴에 대한 일실시예 상세 흐름도.
* 도면의 주요 부분에 대한 부호의 설명
11 : 중앙처리장치 12 : 주기억장치
13 : 보조기억장치 14 : 입출력장치
상기 목적을 달성하기 위한 본 발명의 방법은, 고차원 색인구조 회복장치에 적용되는 재삽입 연산을 수행하는 고차원 색인구조를 위한 회복방법에 있어서, 노드에 엔트리를 삽입하고, 최소 경계 영역을 조정하고, 넘침을 처리를 하며, 해당하는 로그 레코드를 저장하는 제 1 단계; 및 상기 저장된 로그 레코드를 회복시키는제 2 단계를 포함한다.
또한, 본 발명은, 마이크로 프로세서를 구비한 고차원 색인구조 회복장치에, 노드에 엔트리를 삽입하고, 최소 경계 영역을 조정하고, 넘침을 처리를 하며, 해당하는 로그 레코드를 저장하는 제 1 기능; 및 상기 저장된 로그 레코드를 회복시키는 제 2 기능을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.
상술한 목적, 특징들 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일실시예를 상세히 설명한다.
도 1 은 본 발명이 적용되는 재삽입 연산을 수행하는 고차원 색인구조를 위한 회복장치의 일실시예 구성도이다.
도 1 에 도시된 바와 같이, 본 발명이 적용되는 재삽입 연산을 수행하는 고차원 색인구조를 위한 회복장치는, 전체적인 동작을 제어하고 관리하는 중앙처리장치(11)와, 상기 중앙처리장치(11)에서 수행되는 프로그램을 저장하고 작업 수행중 이용되는 또는 작업 수행중에 발생되는 각종 데이터를 저장하는 주기억장치(12)와 보조기억장치(13) 및 사용자와의 데이터 입출력을 위한 입출력장치(14)를 포함한다.
그리고, 상기 보조기억장치(13)는 대량의 데이터를 저장하는 역할을 하며, 상기 입출력장치(14)는 일반적인 키보드, 디스플레이 장치 및 프린터 등을 포함한다.
그러나, 상기한 바와 같은 구성을 갖는 컴퓨터 하드웨어 환경을 당해 분야에서 이미 주지된 기술에 지나지 아니하므로 여기에서는 그에 관한 자세한 설명은 생략하기로 한다.
이제, 상기 주기억장치(12)에 탑재되어 재삽입 연산을 수행하는 고차원 색인구조를 위한 회복을 수행하는 과정에 대해 보다 상세히 설명한다.
첨부된 도 2 는 본 발명에 따른 재삽입 연산에 대한 일실시예 처리 흐름도이다.
먼저, 트리를 순회하면서 삽입할 새로운 엔트리가 삽입될 가장 적절한 단말노드를 찾고(10), 상기 단말노드에 새로운 엔트리를 삽입할 수 있는 충분한 여유공간이 있는지를 판단한다(20).
상기 판단결과(20), 여유공간이 있으면, 새로운 엔트리를 삽입하고(30), 최소 경계 영역(MBR : Minimum Bounding Region)을 조정한다(40).
상기 판단결과(20), 여유공간이 없으면, 재삽입 작업인가를 판단한다(50).
상기 판단결과(50), 재삽입 작업이 아니면, 넘침 처리를 수행하고(60), 재삽입 작업이면면, 해당 노드의 분할을 수행한다(60).
첨부된 도 3 은 상기 도 2 에서 최소 경계 영역을 조정하는 서브루틴의 일실시예 상세 흐름도이다.
먼저, 현재 노드가 루트 노드(root node)인가를 판단한다(41).
상기 판단결과(41), 루트 노드이면 최소 경계 영역의 조정이 완료되었음을 의미하므로, 반환되고, 루트 노드가 아니면, 현재 노드의 상위 노드에접근하여(42), 해당 엔트리의 최소 경계 영역을 변경하고(43), 정상적으로 처리되었는가를 판단한다(44).
상기 판단결과(44), 정상적으로 처리되었으면, 재삽입 엔트리들을 삭제하여 변경한 최소 경계 영역을 상위에 반영할 때의 로그 레코드(LG_UPMBR_RO)를 기록하고(46), 현재노드의 부모노드의 최소 경계 영역이 변경되었는가를 판단한다(47).
상기 판단결과(45), 정상적으로 처리되지 않았으면, 노드에 엔트리를 삽입하거나 삭제함으로 인해 최소 경계 영역의 변경이 발생하여 이 내용을 상위 노드에 반영할 때의 로그 레코드(LG_UPMBR)를 기록한 후, 상기 현재노드의 부모노드의 최소 경계 영역이 변경되었는가를 판단하는 과정(47)을 수행한다.
상기 판단결과(47), 부모노드의 최소 경계 영역이 변경되었으면, 상기 현재의 노드가 루트노드인가를 판단하는 과정(41)을 수행하고, 부모노드의 최소 경계 영역이 변경되지 않았으면, 반환된다.
첨부된 도 4 는 상기 도 2 에서 넘침을 처리하는 서브루틴의 일실시예 상세 흐름도이다.
먼저, 트리의 잠금을 획득하고, 'NTA'를 시작한 후(61), 재삽입할 엔트리를 선택하고(62), 현재 노드에 재삽입할 엔트리의 개수(ReCnt)를 기록한다(63).
그리고, 현재 노드에서 재삽입 엔트리를 삭제하고, 단말 또는 비단말 노드에서 선택된 재삽입 엔트리를 삭제의 로그 레코드(LG_DELREGRP)를 기록한 후(64), 최소 경계 영역 변경을 조상 노드들에 반영하고(65), 현재 노드의 엔트리의 개수가 '0'인가를 판단한다(66).
상기 판단결과(66), 현재 노드의 엔트리의 개수가 '0'이면, 하나의 재삽입 엔트리를 삽입과정을 끝냈다는 의미의 'dummyCLR'을 기록하고, 트리 잠금을 해제한다(67).
상기 판단결과(66), 현재 노드의 엔트리의 개수가 '0'이 아니면, 새로운 재삽입 엔트리를 삽입하기 위한 'NTA'를 시작하고(69), 재삽입 엔트리를 삽입한다(70).
그리고, 현재 노드의 엔트리의 개수를 하나 감소시키고, 현재 노드의 엔트리의 개수 감소의 로그 레코드(LG_DECRENUM)를 기록하며, 하나의 재삽입 엔트리를 삽입과정을 끝냈다는 의미의 'dummyCLR'을 기록한 후(71), 상기 현재 노드의 엔트리의 개수가 '0'인가를 판단하는 과정(66)을 수행한다.
이제, 첨부된 도 5 및 도 6 을 참조하여 본 발명에 따른 재삽입 연산을 수행하는 고차원 색인구조를 위한 회복방법에 대해 상세히 설명하면 다음과 같다.
도 5 는 본 발명에 따른 재삽입 연산을 수행하는 고차원 색인구조를 위한 회복방법에 대한 일실시예 처리 흐름도이다.
먼저, 로그레코드를 하나 읽어와서(100), 읽어온 로그레코드가 있는가를 판단한다(102).
상기 판단결과(102), 읽어온 로그레코드가 없으면, 모든 로그를 회복했다는 의미이므로, 종료하고, 읽어온 로그레코드가 있으면, 읽어온 로그 레코드가 단말 또는 비단말 노드에서 선택된 재삽입 엔트리를 삭제할 때의 로그 레코드(LG_DELREGRP)인가를 판단한다(104).
상기 판단결과(104), 읽어온 로그 레코드가 단말 또는 비단말 노드에서 선택된 재삽입 엔트리를 삭제할 때의 로그 레코드(LG_DELREGRP)이면, 재삽입 엔트리 삭제를 회복하고(106), 읽어온 로그 레코드가 단말 또는 비단말 노드에서 선택된 재삽입 엔트리를 삭제할 때의 로그 레코드(LG_DELREGRP)가 아니면, 상기 로그 레코드를 읽어오는 과정(100)을 수행한다. 상기 도 5 에서는 로그 레코드의 회복 작업을 단말 또는 비단말 노드에서 선택된 재삽입 엔트리를 삭제할 때의 로그 레코드(LG_DELREGRP)에 대해서만 설명하였으나, 로그 레코드의 종류에 대하여 해당 로그 레코드의 회복을 수행할 수 있다.
첨부된 도 6 은 상기 도 5 에서 재삽입 엔트리의 삭제를 회복하는 서브루틴에 대한 일실시예 상세 흐름도이다.
먼저, 하나의 재삽입 엔트리의 삭제를 회복하기 위한 'NTA'를 시작하고(200), 복귀가 수행될 노드(CN)에서 현재 삽입되지 않고 남아있는 엔트리의 개수(ReCnt)를 판독하여 로그 레코드(LG_DELREGRP)에 기록된 삭제한 엔트리들 중에서 상기 현재 삽입되지 않고 남아있는 엔트리의 개수(ReCnt)만큼만 다시 복귀가 수행될 노드(CN)에 삽입하고, 상기 단말 또는 비단말 노드에서 선택된 재삽입 엔트리를 삭제할 때의 로그 레코드(LG_DELREGRP)를 복귀할 때 재삽입 엔트리들의 일부 또는 전부를 삽입하는 경우의 로그 레코드(LG_INSGRP)를 기록한다(201).
그리고, 엔트리를 삽입한 후 변경된 최소 경계 영역을 조상 노드에 반영하고(202), 하나의 재삽입 엔트리를 회복과정을 끝냈다는 의미의 'dummyCLR'을 기록한 후(203), 복귀한다.
이상에서 설명한 본 발명은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 한정되는 것이 아니다.
상기와 같은 본 발명은, 로그레코드 분석, 재수행 및 회복을 수행함으로써 재삽입 연산 수행시 발생하는 변경을 효율적으로 수행하고, 재시작을 빠르게 하며, 재삽입연산을 포함하는 트랜잭션 철회로 인해 다른 트랜잭션에 주는 영향을 최소화시킬 수 있는 효과가 있다.

Claims (7)

  1. 고차원 색인구조 회복장치에 적용되는 재삽입 연산을 수행하는 고차원 색인구조를 위한 회복방법에 있어서,
    노드에 엔트리를 삽입하고, 최소 경계 영역을 조정하고, 넘침을 처리를 하며, 해당하는 로그 레코드를 저장하는 제 1 단계; 및
    상기 저장된 로그 레코드를 회복시키는 제 2 단계
    를 포함하는 재삽입 연산을 수행하는 고차원 색인구조를 위한 회복방법
  2. 제 1 항에 있어서,
    상기 제 1 단계는,
    트리를 순회하면서 삽입할 새로운 엔트리가 삽입될 가장 적절한 단말노드를 탐색하는 제 3 단계;
    상기 단말노드에 새로운 엔트리를 삽입할 수 있는 충분한 여유공간이 있는지를 판단하는 제 4 단계;
    상기 제 4 단계의 판단결과, 여유공간이 있으면, 새로운 엔트리를 삽입하고, 최소 경계 영역(MBR : Minimum Bounding Region)을 조정하는 제 5 단계; 및
    상기 제 4 단계의 판단결과, 여유공간이 없으면, 재삽입 작업인가를 판단하여, 재삽입 작업이 아니면 넘침 처리를 수행하고, 재삽입 작업이면 해당 노드의 분할을 수행하는 제 6 단계를 포함하는 재삽입 연산을 수행하는 고차원 색인구조를 위한 회복방법.
  3. 제 2 항에 있어서,
    상기 제 5 단계는,
    상기 탐색된 노드에 새로운 엔트리를 삽입하는 제 7 단계;
    상기 새로운 엔트리가 삽입된 노드가 루트 노드인가를 확인하여, 루트노드이면 종료하고, 루트 노드가 아니면 현재 노드의 상위 노드에 접근하고, 해당 엔트리의 최소 경계 영역을 변경한 후, 정상적으로 처리되었는가를 판단하는 제 8 단계;
    상기 제 8 단계의 판단결과, 정상적으로 처리되었으면, 재삽입 엔트리들을 삭제하여 변경한 최소 경계 영역을 상위에 반영할 때의 로그 레코드를 기록하고, 현재노드의 부모노드의 최소 경계 영역이 변경되었는가를 확인한 후에 상기 제 8 단계로 넘어가는 제 9 단계; 및
    상기 제 8 단계의 판단결과, 정상적으로 처리되지 않았으면, 노드에 엔트리를 삽입하거나 삭제함으로 인해 발생된 최소 경계 영역의 변경내용을 상위 노드에 반영할 때의 로그 레코드를 기록하는 제 10 단계를 포함하는 재삽입 연산을 수행하는 고차원 색인구조를 위한 회복방법.
  4. 제 2 항 또는 제 3 항에 있어서,
    상기 제 6 단계의 넘침처리 과정은,
    재삽입할 엔트리를 선택하고, 현재 노드에 재삽입할 엔트리의 개수를 기록하는 제 11 단계;
    현재 노드에서 재삽입 엔트리를 삭제하고, 단말 또는 비단말 노드에서 선택된 재삽입 엔트리를 삭제의 로그 레코드를 기록한 후, 최소 경계 영역 변경을 조상 노드들에 반영하고, 현재 노드의 엔트리의 개수가 소정 개수인가를 판단하는 제 12 단계;
    상기 제 12 단계의 판단결과, 현재 노드의 엔트리의 개수가 소정개수이면, 하나의 재삽입 엔트리를 삽입하는 과정을 끝냈다는 의미의 레코드를 기록하고, 트리 잠금을 해제하는 제 13 단계;
    상기 제 12 단계의 판단결과, 현재 노드의 엔트리의 개수가 소정개수가 아니면, 새로운 재삽입 엔트리를 삽입하기 위한 NTA를 시작하고, 재삽입 엔트리를 삽입하는 제 14 단계; 및
    현재 노드의 엔트리의 개수를 하나 감소시키고, 현재 노드의 엔트리의 개수 감소의 로그 레코드를 기록하며, 하나의 재삽입 엔트리를 삽입하는 과정을 끝냈다는 의미의 레코드를 기록한 후, 상기 제 12 단계로 넘어가는 제 15 단계를 포함하는 재삽입 연산을 수행하는 고차원 색인구조를 위한 회복방법.
  5. 제 1 항 또는 제 2 항에 있어서,
    상기 제 2 단계는,
    상기 기록된 다수의 로그레코드들 중 어느 하나 판독하여, 읽어온 로그레코드가 있는가를 판단하는 제 7 단계;
    상기 제 7 단계의 판단결과, 판독된 로그레코드가 없으면, 모든 로그를 회복했다는 의미이므로, 종료하는 제 8 단계; 및
    상기 제 7 단계의 판단결과, 판독된 로그레코드가 있으면, 상기 판독된 로그레코드의 종류에 따라, 해당 연산을 회복하는 제 9 단계를 포함하는 재삽입 연산을 수행하는 고차원 색인구조를 위한 회복방법.
  6. 제 5 항에 있어서,
    상기 제 9 단계는,
    하나의 재삽입 엔트리 삭제를 회복하기 위한 'NTA'를 시작하는 제 10 단계;
    상기 복귀가 수행될 노드에서 현재 삽입되지 않고 남아있는 엔트리의 개수를 판독하여 로그 레코드에 기록된 삭제한 엔트리들 중에서 상기 현재 삽입되지 않고 남아있는 엔트리의 개수만큼 다시 복귀가 수행될 노드에 삽입하는 제 11 단계;
    상기 재삽입 엔트리들의 일부 또는 전부를 삽입하는 경우의 로그 레코드를 기록하는 제 12 단계; 및
    상기 엔트리를 삽입한 후 변경된 최소 경계 영역을 조상 노드에 반영하고,하나의 재삽입 엔트리를 회복하는 과정을 끝냈다는 의미의 레코드를 기록하는 제 13 단계를 포함하는 재삽입 연산을 수행하는 고차원 색인구조를 위한 회복방법.
  7. 마이크로 프로세서를 구비한 고차원 색인구조 회복장치에,
    노드에 엔트리를 삽입하고, 최소 경계 영역을 조정하고, 넘침을 처리를 하며, 해당하는 로그 레코드를 저장하는 제 1 기능; 및
    상기 저장된 로그 레코드를 회복시키는 제 2 기능
    을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1019990061940A 1999-12-24 1999-12-24 재삽입 연산을 수행하는 고차원 색인구조를 위한 회복방법 KR100327122B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1019990061940A KR100327122B1 (ko) 1999-12-24 1999-12-24 재삽입 연산을 수행하는 고차원 색인구조를 위한 회복방법
US09/497,136 US6631385B2 (en) 1999-12-24 2000-02-03 Efficient recovery method for high-dimensional index structure employing reinsert operation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019990061940A KR100327122B1 (ko) 1999-12-24 1999-12-24 재삽입 연산을 수행하는 고차원 색인구조를 위한 회복방법

Publications (2)

Publication Number Publication Date
KR20010063839A KR20010063839A (ko) 2001-07-09
KR100327122B1 true KR100327122B1 (ko) 2002-03-13

Family

ID=19629500

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990061940A KR100327122B1 (ko) 1999-12-24 1999-12-24 재삽입 연산을 수행하는 고차원 색인구조를 위한 회복방법

Country Status (2)

Country Link
US (1) US6631385B2 (ko)
KR (1) KR100327122B1 (ko)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002108662A (ja) * 2000-10-02 2002-04-12 Fujitsu Ltd 情報管理方法
US20060218176A1 (en) * 2005-03-24 2006-09-28 International Business Machines Corporation System, method, and service for organizing data for fast retrieval
US8145686B2 (en) * 2005-05-06 2012-03-27 Microsoft Corporation Maintenance of link level consistency between database and file system
US7765361B2 (en) * 2006-11-21 2010-07-27 Microsoft Corporation Enforced transaction system recoverability on media without write-through
US10896767B2 (en) * 2011-04-07 2021-01-19 Westinghouse Electric Company Llc Method of detecting an existence of a loose part in a steam generator of a nuclear power plant
CN105830041B (zh) * 2014-11-27 2019-06-18 华为技术有限公司 元数据的恢复方法及装置
EP3091451A1 (en) * 2015-04-28 2016-11-09 Micro Systemation AB Database rollback using wal
US10325014B2 (en) 2015-04-30 2019-06-18 Workiva Inc. System and method for convergent document collaboration
US10255263B2 (en) * 2015-05-18 2019-04-09 Workiva Inc. Data storage and retrieval system and method for storing cell coordinates in a computer memory
CN106850282A (zh) * 2017-01-19 2017-06-13 郑州云海信息技术有限公司 一种集群文件系统中主机管理方法及系统
US11755825B2 (en) 2019-09-12 2023-09-12 Workiva Inc. Method, system, and computing device for facilitating private drafting
US11443108B2 (en) 2020-08-17 2022-09-13 Workiva Inc. System and method for document management using branching
US11100281B1 (en) 2020-08-17 2021-08-24 Workiva Inc. System and method for maintaining links and revisions
US11100277B1 (en) 2021-02-15 2021-08-24 Workiva Inc. Systems, methods, and computer-readable media for flow-through formatting for links
US11354362B1 (en) 2021-05-06 2022-06-07 Workiva Inc. System and method for copying linked documents
US11640495B1 (en) 2021-10-15 2023-05-02 Workiva Inc. Systems and methods for translation comments flowback

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5276872A (en) 1991-06-25 1994-01-04 Digital Equipment Corporation Concurrency and recovery for index trees with nodal updates using multiple atomic actions by which the trees integrity is preserved during undesired system interruptions
JP3441807B2 (ja) * 1994-09-19 2003-09-02 株式会社日立製作所 B木インデクスの管理方法およびシステム
US5956705A (en) * 1996-10-30 1999-09-21 Oracle Corporation Reverse-byte indexing
US5799300A (en) * 1996-12-12 1998-08-25 International Business Machines Corporations Method and system for performing range-sum queries on a data cube
US6026406A (en) * 1997-06-04 2000-02-15 Oracle Corporation Batch processing of updates to indexes
US6282546B1 (en) * 1998-06-30 2001-08-28 Cisco Technology, Inc. System and method for real-time insertion of data into a multi-dimensional database for network intrusion detection and vulnerability assessment
US6397204B1 (en) * 1999-06-25 2002-05-28 International Business Machines Corporation Method, system, and program for determining the join ordering of tables in a join query
US6374235B1 (en) * 1999-06-25 2002-04-16 International Business Machines Corporation Method, system, and program for a join operation on a multi-column table and satellite tables including duplicate values

Also Published As

Publication number Publication date
KR20010063839A (ko) 2001-07-09
US6631385B2 (en) 2003-10-07
US20030079157A1 (en) 2003-04-24

Similar Documents

Publication Publication Date Title
KR100327122B1 (ko) 재삽입 연산을 수행하는 고차원 색인구조를 위한 회복방법
US5758356A (en) High concurrency and recoverable B-tree index management method and system
US5430869A (en) System and method for restructuring a B-Tree
Chatzistergiou et al. Rewind: Recovery write-ahead system for in-memory non-volatile data-structures
JP4237354B2 (ja) トランザクション処理方法及びトランザクション処理システム
KR100862661B1 (ko) 지연된 로깅 방법 및 그 장치
US6021414A (en) Single transaction technique for a journaling file system of a computer operating system
JP4603546B2 (ja) 効率的なバージョン制御を有するデータベース管理システム
US8909610B2 (en) Shared log-structured multi-version transactional datastore with metadata to enable melding trees
US9569254B2 (en) Automatic checkpointing and partial rollback in software transaction memory
US8386421B2 (en) Concurrency control for confluent trees
KR940008605B1 (ko) 언두 로그 사용을 최적화하는 방법 및 장치
US7194589B2 (en) Reducing disk IO by full-cache write-merging
JPH01263745A (ja) データベースの回復方法
JPH04337850A (ja) データベース・トランザクション及び照会処理システム
RU2391720C2 (ru) Способ и машиночитаемый носитель для верификации и сохранения электронного документа
US5953728A (en) System for modifying a database using a transaction log
EP1850250A1 (en) Method and system for renewing an index
US6571250B1 (en) Method and system for processing queries in a data processing system using index
Do et al. Fast peak-to-peak behavior with SSD buffer pool
Jaluta et al. Recoverable B+-trees in centralized database management systems
Alhajri et al. OCC2T: An Early-Read Dual-Track OCC Algorithm For Mixed Mode Systems
Soisalon-Soininen et al. Concurrency and recovery in full-text indexing
Forfang Evaluation of High Performance Key-Value Stores
Do et al. Fast peak-to-peak restart for SSD buffer pool Extension

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20110131

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20111208

Year of fee payment: 20