KR20110042576A - 차세대 대용량 저장장치에 적합한 동적 색인 관리 시스템 및 그 방법과 그 소스 프로그램을 기록한 기록매체 - Google Patents

차세대 대용량 저장장치에 적합한 동적 색인 관리 시스템 및 그 방법과 그 소스 프로그램을 기록한 기록매체 Download PDF

Info

Publication number
KR20110042576A
KR20110042576A KR1020090099306A KR20090099306A KR20110042576A KR 20110042576 A KR20110042576 A KR 20110042576A KR 1020090099306 A KR1020090099306 A KR 1020090099306A KR 20090099306 A KR20090099306 A KR 20090099306A KR 20110042576 A KR20110042576 A KR 20110042576A
Authority
KR
South Korea
Prior art keywords
index
information
posting information
frequency
store
Prior art date
Application number
KR1020090099306A
Other languages
English (en)
Other versions
KR101104112B1 (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 KR1020090099306A priority Critical patent/KR101104112B1/ko
Publication of KR20110042576A publication Critical patent/KR20110042576A/ko
Application granted granted Critical
Publication of KR101104112B1 publication Critical patent/KR101104112B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/40Data acquisition and logging

Abstract

차세대 대용량 저장장치에 적합한 동적 색인 관리 시스템 및 방법과 그 방법에 관한 소스 프로그램을 기록한 기록매체가 개시된다. 본 발명은 새로운 저장장치의 빠른 접근 속도 특성을 최대한 활용할 수 있는 분할 포스팅 구조를 기반으로 하여 In-Place 방식과 Merge-based 방식을 혼합한 형태의 동적 색인 구조로서, 보조 색인 저장기에 추가로 저장되는 문서의 색인 빈도수에 따라 포스팅 정보를 분할하고, 분할된 고빈도의 포스팅 정보를 주 색인 저장기로 이동시키며, 주 색인 저장기에 추가되는 문서의 포스팅 정보를 주기적으로 병합하는 색인 관리기, 및, 주 색인 저장기와 보조 색인 저장기에 저장된 포스팅 정보를 사용하여 정보의 검색 및 색인을 관리하는 정보 검색기를 포함하는, 동적 색인 관리 시스템을 제공하여, 검색 처리속도 및 색인정보 관리속도를 크게 향상시킬 수 있게 한다.
SSD, 동적, 색인, 분할, 펄싱, 병합

Description

차세대 대용량 저장장치에 적합한 동적 색인 관리 시스템 및 그 방법과 그 소스 프로그램을 기록한 기록매체{Dynamic index information maintenance system adapted solid state disk and method thereof and Recording medium having program source thereof}
본 발명은 차세대 대용량 저장장치에 적합한 동적 색인 저장 기술에 관한 것으로, 보다 상세하게는 분할(Segmentation) 포스팅 구조에 기반하여 수정된 In-Place 색인 방식(Plusing)과 Merge-based 색인 방식(Merging)을 혼합한 형태의 동적 색인 구조를 제공함으로써, 차세대 대용량 저장장치(SSD, SCRAM)의 빠른 접근 속도(Low access latency) 특성을 최대한 활용할 수 있도록 하여 정보의 검색 처리시간 및 색인정보 관리시간을 효과적으로 줄일 수 있게 한 차세대 대용량 저장장치에 적합한 동적 색인 관리시스템 및 방법과 그 방법에 관한 소스 프로그램을 기록한 기록매체에 관한 것이다.
종래의 역파일 색인 구조는 대용량 텍스트 데이터의 색인 저장 기법을 위한 효율적인 데이터 구조로 널리 활용되고 있다. 특히, 최근 이슈가 되고 있는 온라인 색인 관리 측면에서는 동적 검색 환경에 적합한 In-Place(Plusing) 색인 방식과 Merge-based(Merging) 색인 방식이 주로 사용되고 있다. 위의 색인 방식들의 핵심은 검색 처리시간을 줄이기 위해서 포스팅 정보의 저장 연속성(Contiguity)을 보장하면서 동시에 색인 관리(Index Maintenance) 시간을 최소화하기 위한 색인저장 구조에 중점을 두고 있다.
그러나 최근에는 기존 저장장치(HDD)와는 근본적으로 구조가 다른 새로운 대용량 저장장치(SSD, SCRAM)가 데이터 저장소로 이용되면서 이러한 장치들의 특성을 효과적으로 활용할 수 있는 새로운 형태의 색인 저장 방법이 필요하게 되었다.
이에 따라 전통적인 디스크 기반의 저장장치(HDD)보다 수십 배 빠른 접근 속도를 보장하는 새로운 저장장치(SSD)의 용량 증가와 가격 하락으로 서버 저장소로서 SSD의 활용 방안에 대한 많은 연구가 진행되고 있다.
그러나 SSD는 HDD와 근본적인 구조부터 다르고 동작 특성이나 사용 환경에도 차이가 있다. 따라서 이를 변환해주는 FTL(Flash Translation Layer)과 같은 별도의 소프트웨어가 필요할 뿐만 아니라 기존의 HDD 환경에서 동작하였던 소프트웨어들이 SSD 환경에서 적절한 성능을 발휘하기 위해서는 SSD의 특성을 고려한 형태로 수정이 필요하다.
그 중에서도 특히 본 발명에서 다루고자 하는 색인정보 관리 측면에 중점을 두고 살펴보면 HDD에서 가장 중요시 여겨졌던 포스팅(Posting) 정보의 연속성(Contiguity)이 SSD의 빠른 디스크 접근 속도(Low disk access latency)로 SSD에서는 거의 영향을 주지 않는다.
또한 색인 정보 수정시 HDD방식에서는 포스팅 정보의 연속성 보장을 위해 많 은 추가적인 블록(Block)의 정보 수정이 발생한다. 하지만 이러한 점은 임의 쓰기(Random write) 성능이 취약한 SSD에서는 색인정보 관리성능을 크게 저하시킨다. 최악의 경우에는 HDD를 사용한 경우보다 못한 성능을 보이기 때문에 기존 HDD를 기반으로 연구된 색인 구조를 SSD에 그대로 적용하기에는 적절하지 못하며, 따라서 SSD에 적합한 형태의 새로운 색인 저장 구조가 필요하였다.
이러한 문제 해결을 위해 개발된 종래의 기술들을 아래와 같다.
1. 색인 관리(Index Maintenance)
텍스트 정보검색 분야에서 색인정보의 저장 구조로는 B-tree 기반의 역파일 색인 구조가 가장 보편적이다. 역파일 색인 구조란 문서에서 검색어가 될 만한 것들의 정보를 미리 추출하고 정렬하여 구축해 놓는 방식으로 빠른 검색속도를 제공한다. 특히, 1990년대 중반부터는 추가적인 문서에 대해 즉시 검색 가능한 동적 역파일 색인 구조에 대한 연구의 필요성이 제시되었고 수많은 연구가 진행되고 있다. 동적 색인 구조의 대표적인 방식은 Rebuild, In-Place, Merge-based 방법이 있다. 그 중에서도 In-Place 방식의 개선된 형태나 Merge-based 방식이 가장 우수한 성능으로 평가된다. 위 방식에서 검색 성능을 결정짓는 요인은 디스크 접근 속도(Access latency time)에 영향을 주는 포스팅 정보의 연속성이다. 물리적으로 연속된 위치에 검색 및 관리에 필요한 정보들(Posting information)이 함께 모여 있으면 디스크 탐색 시간(Seek time)이 줄어들어 검색 시간이 줄어들기 때문이다.
대표적인 동적 색인 구조 방식들의 가장 큰 차이점은 기존 색인 포스팅 정보와 추가되는 포스팅 정보의 병합(Merge) 방식이다. 각각에 적용된 병합 알고리즘에 따라 매우 큰 성능 차이를 보이며 각 방식들의 특징을 살펴보면 다음과 같다.
첫째, Rebuild 방식은 매우 간단한 방법으로 추가되는 문서의 색인 정보는 메모리에 저장되었다가, 일정량 이상이 되면 전체를 다시 디스크에 저장하는 방식이다. 동적인 환경에는 매우 비효율적인 구조임에도 불구하고, 데이터 집합의 크기가 비교적 작고 추가되는 문서가 빈번하지 않는 경우에 가장 널리 쓰이고 있는 방식이다.
둘째, Merge-based 방식은 추가 색인(Incremental Indexing)을 지원하기 위한 구조로서 새로 추가된 문서의 색인 정보를 별도의 저장구조에 유지하다가 일정량 이상이 되는 경우 추가 색인정보들끼리 병합하거나 또는 주 색인(Main Index) 정보에 병합한다. 이때 검색 속도를 빠르게 하기 위해서 전체 색인어 리스트를 순차적으로 읽어서 새로운 영역에 정렬된 형태로 디스크 상에 연속적으로 저장한 후 기존 색인정보들은 제거한다. 위 방식은 색인 정보 전체를 병합해야 하는 단점을 가지고 있다.
셋째, In-place 방식은 새로운 문서가 추가되었을 때 가능하면 기존 색인어 리스트의 포스팅 정보 마지막에 새로운 정보를 추가하는 방식으로 수정되는 색인 정보의 양을 최소화시키는 방식이다. 그러나 기존 포스팅 정보의 마지막에 새로운 정보를 추가할 수 없는 경우에는 새로운 연속된 공간을 할당하고 기존 정보를 새로 할당받은 공간으로 이동한 후 추가된 정보를 병합한다. 이때 발생한 새로운 할당(Relocation)에 의해서 처음에 구성된 색인정보의 순차적인 순서가 파괴된다. 이로 인해서 색인 정보 수정 시 많은 수의 비순차적 디스크 접근(Non-sequential disk access)이 발생한다. 따라서 이러한 비순차적 디스크 접근을 줄이기 위한 방법으로 새로운 공간을 할당할 때 여유 공간을 포함한 포스팅 저장 공간 할당(Over-allocation)을 하기도 한다.
2. Tomasic(1994)
Tomasic(1994)은 위에서 설명한 In-place 방식과 유사하나 연속된 공간에 포스팅 정보를 저장하는 것이 아니라, 포스팅 정보가 커짐에 따라 비연속적(Discontiguous)인 고정길이(Fixed size)의 단편 리스트(Fragment list) 구조로 포스팅 정보를 저장한다. Tomasic 방식은 포스팅 리스트를 긴 리스트(Longlist)와 짧은 리스트(Shortlist)로 구분하고 긴 리스트들은 고정길이 단편(Fixed size fragment)으로 분할하여 리스트 형태를 유지함으로써 갱신되는 포스팅 정보의 영역을 리스트의 마지막 단편 영역으로 한정한다. 따라서 새로운 문서가 추가되었을 때 이전 리스트들은 수정하지 않고 마지막 리스트 단편만 갱신하거나 추가적인 단편을 할당하여 마지막 리스트에 연결하는 방식으로 구성된다. 그러나 이 방법은 추가되는 문서가 많아짐에 따라 단편화(Spread)가 심해져서 검색 시간이 느려지는 단점을 가지고 있다.
3. Buttcher(2006)
Buttcher(2006)는 Merge-based 방식의 단점인 대다수의 변경되지 않은 색인어 정보 리스트의 수정과 In-Place방식의 단점인 포스팅 정보 수정시 발생하는 많은 비순차적 디스크 접근 문제를 보완하기 위한 새로운 색인저장 구조를 제안하였다. 일반적으로 긴 리스트는 디스크 탐색 연산(Disk seek operation)보다 전체 리 스트를 복사하는 시간이 더 많이 걸리며, 짧은 리스트는 리스트를 복사하는 시간보다 디스크 탐색 연산이 시간이 더 걸린다. 이러한 사실에 기반하여 Buttcher 방식은 긴 리스트와 짧은 리스트에 서로 다른 색인 관리방식을 적용한 혼합 색인 관리(Hybrid index maintenance) 방식을 제안하였다. 즉, 짧은 리스트는 Merge-based 색인 방식을 이용하고 긴 리스트는 In-Place 방식을 이용함으로써 각각을 이용한 방식들에 비해 거의 비슷한 수준의 검색 성능을 유지하면서 우수한 색인 관리 성능을 보였다.
4. SSD Storage
SSD(Solid State Disk)는 크기와 전력 소모가 작고, 임의 접근 속도가 빠르며, 충격과 진동에 강하기 때문에 노트북과 같은 모바일 멀티미디어 정보기기의 저장 매체로 사용되고 있다. 최근에는 플래시 SSD의 집적도가 증가하고 단위 용량 당 가격이 감소함에 따라 플래시 메모리를 기반으로 한 서버용 데이터베이스 저장장치로의 활용도 증가하고 있다. 그러나 플래시 메모리는 제자리 갱신이 되지 않기 때문에 읽기, 쓰기 이외에 소거 연산이 필요하며 한 번 쓴 영역을 다시 쓰기 위해서는 소거 연산이 선행되어야 한다. 플래시의 내부 구조는 512Byte 또는 2Kbyte의 페이지들이 모여 블록을 구성하고 다수 개의 블록이 모여 플래시 메모리 칩이 구성되는데 읽기와 쓰기 연산은 페이지 단위로 이루어지고 소거 연산은 블록 단위로 이루어진다. 이러한 구조로 인해 읽기와 쓰기 속도에 비해 갱신 속도가 매우 느린 단점을 가지고 있다. 따라서 플래시 메모리를 서버용 데이터베이스 저장장치로 사용하기 위해서는 플래시 메모리의 느린 갱신 속도를 보완할 수 있는 IPL(In-Page Logging) 방식과 같은 새로운 갱신 연산 방식이 필요하다. 또한, 최근에는 SRAM과 동일한 인터페이스를 가지면서 수십 ns의 접근속도로 읽기와 쓰기가 가능하고 제자리 갱신이 가능한 FRAM, MRAM, PRAM과 같은 차세대 NVRAM에 대한 연구가 활성화 되고는 있지만 이들 메모리는 아직까지는 집적도가 낮아 서버 저장소로서의 상용화에는 많은 시간이 필요하다.
따라서, 상기 문제점을 해결하기 위한 본 발명의 목적은 새로운 저장장치의 빠른 접근 속도(Low access latency) 특성을 최대한 활용할 수 있는 분할(Segmenation) 포스팅 구조를 기반으로 하여 In-Place 방식(플러싱)과 Merge-based 방식(머징)을 혼합한 형태의 동적 색인 구조(Segmentation-Plusing-Merging; 이하 'SPM'라 칭함)를 제공함으로써, 검색 처리속도 및 색인정보 관리속도를 크게 향상시킬 수 있는 차세대 대용량 저장장치에 적합한 동적 색인 관리 시스템 및 방법과 그 방법에 관한 소스 프로그램을 기록한 기록매체를 제공하고자 하는 것이다.
상기 목적을 달성하기 위하여 본 발명의 일 실시형태는, 디스크 기반의 주 색인 저장기와 보조 색인 저장기를 가진 이중 저장 구조에 문서를 동적으로 저장하고 관리하는 시스템에 있어서, 상기 보조 색인 저장기에 추가로 저장되는 문서 또는 단어의 색인 빈도수에 따라 고빈도와 저빈도의 포스팅 정보를 분할하고, 상기 분할된 고빈도의 포스팅 정보 중에서 미리 정해진 임계치 크기에 도달한 빈도수의 포스팅 정보를 주 색인 저장기로 이동시키며, 상기 주 색인 저장기에 추가되는 문서의 포스팅 정보를 주기적으로 병합하는 색인 관리기, 및, 상기 주 색인 저장기와 상기 보조 색인 저장기에 저장된 포스팅 정보를 사용하여 문서를 포함하는 원하는 정보의 검색 및 색인 관리를 실시하는 정보 검색기를 포함하는, 차세대 대용량 저장장치에 적합한 동적 색인 관리 시스템이다.
상기 목적을 달성하기 위한 본 발명의 다른 실시 형태는, 디스크 기반의 주 색인 저장기와 보조 색인 저장기를 가진 이중 저장 구조에 문서를 동적으로 저장하고 관리하며, 상기 주 색인 저장기와 상기 보조 색인 저장기에 저장된 포스팅 정보를 사용하여 문서를 포함하는 원하는 정보의 검색 및 색인 관리를 실시하는 정보 검색 시스템에서의 색인 저장방법에 있어서, 상기 보조 색인 저장기에 추가로 저장되는 문서 또는 단어의 색인 빈도수에 따라 고빈도와 저빈도의 포스팅 정보를 분할하는 색인 분할 단계, 상기 분할된 고빈도의 포스팅 정보 중에서 미리 정해진 임계치 크기에 도달한 고빈도의 포스팅 정보를 주 색인 저장기로 이동시키는 색인 펄싱 단계, 및, 상기 주 색인 저장기에 추가되는 문서의 포스팅 정보를 주기적으로 병합하는 색인 병합 단계를 포함하는 차세대 대용량 저장장치에 적합한 동적 색인 관리 방법과, 이들 방법에 관한 소스 프로그램을 기록한 프로그램 기록매체이다.
본 발명에 의하면, 새로운 저장장치의 빠른 접근 속도 특성을 최대한 활용할 수 있는 분할 포스팅 구조를 기반으로 새로운 저장장치에 적합하도록 변형된 In-Place 방식과 수정된 Merge-based 방식을 혼합한 형태의 동적 색인 저장구조를 제 공할 수 있게 되므로, 정보 검색 및 색인 관리시 검색 처리속도 및 색인정보 관리속도를 크게 향상시킬 수 있게 된다.
또한 본 발명에 의하면, HDD를 대상으로 오랫동안 연구되어 온 색인저장 구조를 새로운 저장장치(SSD)에 적합하도록 개선할 수 있게 되므로, SSD의 우수한 읽기 성능을 최대한 활용하면서 SSD의 단점인 임의 쓰기 문제를 최소화시킬 수 있게 되는 이점이 있다.
본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정 해석되지 아니하며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위해 용어의 개념을 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다.
이하, 첨부된 도면을 참조하여 본 발명에 의한 SSD에 적합한 동적 색인 저장구조에 대하여 설명한다. 도면에서 구성요소의 크기와 형상 등은 발명의 이해를 돕기 위해 과장되거나 단순화되어 나타날 수 있다.
도 1은 본 발명에 의한 SSD에 적합한 동적 색인 관리 시스템의 개략적인 구성도로서, 도면에 도시된 바와 같이, 본 발명은 문서 또는 단어의 색인 저장을 위한 보조 색인 저장기(10)와 주 색인 저장기(20), 색인의 분할-펄싱-병합을 위한 색인 관리기(30), 정보의 검색 및 색인 관리를 위한 정보 검색기(40)로 구성된다.
보조 색인 저장기(10)와 주 색인 저장기(20)는 이중 저장 구조의 저장장치로 이루어지며, 디스크 기반으로 구성된다.
색인 관리기(30)는 상기 보조 색인 저장기에 추가로 저장되는 문서 또는 단어의 색인 빈도수에 따라 고빈도와 저빈도의 포스팅 정보를 분할하고, 상기 분할된 고빈도의 포스팅 정보 중에서 미리 정해진 임계치 크기에 도달한 빈도수의 포스팅 정보를 주 색인 저장기로 이동시키며, 상기 주 색인 저장기에 추가되는 문서의 포스팅 정보를 주기적으로 병합한다.
이러한 동작을 위하여 색인 관리기(30)는 고빈도의 포스팅 정보는 고정길이 세그먼트 리스트(Segment list)로 구성하고, 저빈도의 포스팅 정보는 직접 수정하여 추가(In-palce)하는 방식으로 색인 분할하는 색인 분할부(31)를 포함한다. 이 색인 분할부(31)는 미리 정해진 임계치 크기에 도달한 포스팅 정보를 기준으로 고빈도 단어와 저빈도 단어로 구분한다. 상기 색인 분할(Segmentation)은 Tomsaic 방법의 단편 리스트 아이디어에 기반하여 정해진 임의의 값에 따라 고빈도 단어와 저빈도 단어로 구분하여 이루어지며, 고빈도 단어의 포스팅 정보는 고정길이 세그먼트 리스트(Segment list)로 구성되고, 저빈도 단어의 포스팅 정보는 직접 수정하는 In-place 방식과 동일하게 처리된다. 이러한 색인 분할은 Buttcher 방식의 혼합 색인 관리와 유사하나 저빈도 및 고빈도 단어의 색인 관리에서 Buttcher 방식은 각각 Merge-based, In-place 방식을 사용하지만 SPM 색인 저장 구조에서는 SSD의 특성에 적합한 분할(segmentation), In-place 방식을 사용한다.
또한 색인 관리기(30)는 상기 보조 색인 저장기에 저장되는 문서의 색인 빈도수가 임계치 이상이면 고빈도의 문서 또는 단어로 변경하고 새로운 세그먼트를 할당하여 주 색인 저장기에 저장한 후 해당 문서 또는 단어의 색인정보는 보조 색 인 저장기에서 삭제하는 색인 펄싱부(32)를 포함한다. 이 색인 펄싱부(32)는 상기 보조 색인 저장기에 저장된 포스팅 정보 중에서 미리 정해진 임계치 크기에 도달한 빈도수의 포스팅 정보를 주 색인 저장기로 이동시킨다. 이러한 색인 펄싱(pulsing)은 주 색인 저장기(20)와 보조 색인 저장기(10)를 가진 디스크 기반의 이중 구조로 색인 저장구조가 이루어져 있으므로 추가되는 문서 또는 단어의 색인은 보조 색인 저장기(10)에 저장하고, 저장된 단어의 색인정보 빈도수가 임계치 이상이 되면 고빈도 단어로 변경한 후 새로운 세그먼트를 할당하여 주 색인 저장기(20)에 저장하는 동작을 통해 이루어진다. 이때 색인 펄싱이 이루어진 해당 문서 또는 단어의 색인정보는 보조 색인 저장기(10)에서는 삭제된다.
또한 색인 관리기(30)는 상기 주 색인 저장기에 추가되는 문서 수에 따라 주기적인 병합(Merging)을 실시하되, 상기 분할 구조 기반의 펄싱 방식을 이용하여 색인을 병합하는 색인 병합부(33)를 포함한다. 일반적으로 새로운 문서가 추가될수록 고빈도 단어들의 색인정보 뿐만 아니라 저빈도 단어들의 색인 정보도 점차 늘어난다. 따라서 보조 색인 저장기의 크기가 지속적으로 커지면서 갱신 속도가 점점 느려지는 현상이 발생한다. 이러한 문제점을 해결하기 위해서 본 발명에서는 추가되는 문서 수에 따라 주기적인 색인 병합(Merging)을 수행한다. 이때 색인 병합 속도를 빠르게 하기 위해서 기존의 병합 방식처럼 새로운 영역에 전체 색인정보를 재구성하는 게 아니라 주 색인 저장기에 본 발명에서 제안하는 분할 구조를 활용한 펄싱 방식으로 병합한다. 이러한 방식을 사용하는 이유는 SSD의 특성상 연속된 공간에 위치하지 않아도 접근속도에 큰 영향을 받지 않기 때문이다. 이러한 분할구조 기반의 펄싱 및 병합 부분이 기존 방식들과 다른 특징이며 검색속도에 거의 영향을 미치지 않고 색인관리 성능을 크게 향상시킬 수 있는 핵심적인 원인이다.
정보 검색기(40)는 상기 주 색인 저장기와 상기 보조 색인 저장기에 저장된 포스팅 정보를 사용하여 문서를 포함하는 원하는 정보의 검색 및 색인 관리를 실시한다. 이 정보 검색기(40)는 주어진 질의에 대해서 상기 주 색인 저장기의 포스팅 정보와 상기 보조 색인저장기의 포스팅 정보를 모두 활용하여 삽입, 삭제, 변경된 문서에 대한 정보의 검색 및 색인을 처리한다.
또한 상기 색인 관리기(30)에 의해 이루어지는 색인 저장 및 관리동작은, 색인 분할, 색인 펄싱, 색인 병합 단계를 통해 이루어진다.
색인 분할 단계에서는 상기 보조 색인 저장기에 추가로 저장되는 문서 또는 단어의 색인 빈도수에 따라 고빈도와 저빈도의 포스팅 정보를 분할하게 된다. 즉 이 단계에서는 미리 정해진 임계치 크기에 도달한 포스팅 정보를 기준으로 고빈도 단어와 저빈도 단어로 구분하여, 고빈도의 포스팅 정보는 고정길이 세그먼트 리스트(Segment list)로 구성하고, 저빈도의 포스팅 정보는 직접 수정하여 추가(In-palce)하는 방식으로 처리된다.
색인 펄싱 단계에서는 상기 분할된 고빈도의 포스팅 정보 중에서 미리 정해진 임계치 크기에 도달한 고빈도의 포스팅 정보를 주 색인 저장기로 이동시키게 된다. 이 단계에서는 보조 색인 저장기에 저장되는 단어의 색인 빈도수가 임계치 이상이면 고빈도 문서 또는 단어로 변경하고 새로운 세그먼트를 할당하여 주 색인 저장기에 저장한 후 해당 문서 또는 단어의 색인정보는 보조 색인 저장기에서 삭제하 게 된다. 특히 이 단계에서는 상기 보조 색인 저장기에 저장된 포스팅 정보 중에서 미리 정해진 임계치 크기에 도달한 포스팅 정보를 주 색인 저장기로 이동시키게 된다.
색인 병합 단계에서는 상기 주 색인 저장기에 추가되는 문서의 포스팅 정보를 주기적으로 병합하게 된다. 이 단계에서는 상기 주 색인 저장기에 추가되는 문서 수에 따라 주기적인 병합(Merging)을 실시하되, 상기 분할 구조 기반의 펄싱 방식을 이용하여 색인 병합을 실시하게 된다.
이러한 본 발명의 분할-펄싱-병합단계를 통한 동적 색인 저장 구조(SPM)는, 메모리 기반의 저장장치들 중에서 현재 서버용 저장소로 상용화되고 있는 SSD를 대상으로 SSD의 특성을 최대한 활용할 수 있는 새로운 형태의 동적 색인 저장구조로서, 분할(Segmentation) 포스팅 구조에 기반하여 SSD에 적합한 형태로 변형된 In-Place 방식(Plusing)과 수정된 Merge-based 방식(Merging)의 혼합 형태이다.
앞서 기술한 바와 같이, Tomasic 방법에서 분석한 결과 텍스트 데이터의 특징은 빈도수 상위 5.0%의 단어가 전체의 93.6%를 차지하는 대략적인 지수분포(exponential distribution : the Zipf curve) 형태로서, 문서가 추가될 때 빈도수가 높은 단어들의 포스팅 정보는 빠르게 증가하며 반대로 빈도수가 낮은 단어들의 포스팅 정보는 매우 느리게 증가하거나 전혀 증가하지 않게 되므로, 따라서 일반적인 색인 저장구조에서는 긴 포스팅 리스트들이 짧은 포스팅 리스트보다 빈번하게 갱신되기 때문에 문서가 추가될수록 점점 갱신 속도가 느려지는 현상이 발생한다.
위의 문제점을 해결하기 위한 가장 효과적인 구조가 분할구조이며, 또한 SSD를 이용한 경우 낮은 갱신 속도를 보완할 수 있는 형태의 수정된 In-place 방식과 Merge-based 방식을 적용한 본 발명의 SPM이다.
도 2는 본 발명에 의한 SPM 주 색인구조에서 색인 분할 구조를 나타낸 예시도로서, 도 2에 도시된 SPM 주 색인 구조의 세그먼트 크기는 3인 경우이며 투명 노드는 초기 데이터를 구축(Build)해 놓은 것이며 점과 사선으로 각각 해칭된 노드는 동적으로 추가된 노드들이다. 따라서 초기 구축된 노드들은 세그먼트 리스트로 구성되어있지만 연속된 공간(Contiguous region)에 저장되어있고 추가로 삽입된 노드들은 기존 노드에 여유 공간이 있는 경우 연속적으로 추가되고 여유 공간이 없는 경우 추가적인 세그먼트를 할당받아서 링크로 연결된다.
도 3은 본 발명에 의한 동적 색인 관리시스템에서, 주 색인 저장기와 보조 색인 저장기 사이에서 색인정보가 펄싱되는 과정을 예시한 색인 구조도로서, 도 3에 도시된 바와 같이 주 색인 저장기와 보조 색인 저장기 사이의 색인정보 펄싱과정은, 예를 들면 단어(Term) K의 경우 보조 색인 저장기의 단어 K에 대한 빈도수가 세그먼트 사이즈 이상이 되면 주 색인 저장기로 해당 세그먼트 정보가 이동되는 펄싱작업이 수행된다. 이때 주 색인 저장기에 단어 K가 존재하는 경우에는 마지막 링크 리스트에 세그먼트가 추가 되고, 단어 K가 존재하지 않는 경우에는 단어 K와 색인정보 세그먼트가 생성된다. 주 색인 저장기로 펄싱한 후 보조 색인 저장기에서는 해당 단어의 포스팅 정보를 삭제한다. 즉, 펄싱작업은 보조 색인 저장기에는 항상 단어 당 하나의 세그먼트만 존재하도록 유지시켜 주는 역할을 한다.
도 4는 본 발명에 의한 SPM 색인 저장구조의 전체적인 구조를 나타낸 예시도로서, 도 4에 도시된 바와 같이 SPM 색인 저장구조에서, 주 색인 정보 포스팅 구조는 고정길이 세그먼트 리스트로 구성되어 있으며 보조 색인정보 포스팅 구조는 가변길이 레코드로 구성되어 있다.
보조 색인정보 포스팅 크기가 임계치 이상이면 펄싱 과정을 통하여 주 색인저장기로 병합된다. 또한 보조 색인 저장기의 크기가 지속적으로 커져서 색인 관리 속도가 점점 느려지는 문제점을 예방하기 위해서 주 색인 저장기와 보조 색인 저장기를 병합하는 과정을 주기적으로 수행한다. 즉 보조 색인저장기의 모든 단어들에 대해서 주 색인저장기로 펄싱 작업을 수행한다. 이때 기존 병합 방법과의 차이점은 주 색인정보의 포스팅 정보와 보조 색인정보의 포스팅 정보를 연속된 공간에 병합시키지 않고 링크로 연결한다는 점이다. 이러한 이유는 리스트(List) 방식으로 연결하는 경우 기존 병합 방식에서 요구되는 디스크 읽기/재할당(Reallocation) 연산이 필요 없어 처리 속도가 매우 빠르고 리스트 방식의 단점이었던 단편화로 인한 검색 속도 저하 문제는 SSD를 사용함으로써 보완되기 때문이다. 또한 SPM 색인 저장구조는 변경되는 페이지 또는 블록의 수가 포스팅 정보 전체가 아니라 실제 수정되는 문서 정보가 저장된 세그먼트로 한정된다. 따라서 기존의 동적 색인정보 수정 방법에 비해 SPM 방식은 매우 적은 페이지만 변경되기 때문에 색인정보 수정 속도가 크게 향상될 수 있게 된다.
<실험예>
본 실험에서는 2006년도에 등록된 미국 특허데이터 10만 건에 대한 색인 관 리 속도 및 검색 속도를 측정하는 실험을 본 발명을 적용하여 실시하였다. 실험장비는 쿼드 코어 CPU(Intel Xeon 2.83GHz), 메모리 16G, HDD(Dell 7200RPM SATA), RAID-5 SSD(Intel 80G * 4)를 사용하였으며, 도 5는 실험데이터의 간략한 스키마 및 색인 단어의 통계 정보를 보여주는 테이블이다. 특허번호, 특허명, 등록일, 발명자, 요약, 청구항 등 총 90개의 필드로 구성되어 있고 평균 문서 크기는 8.92Kbyte이며 문서당 평균 단어 수는 1,601개이다.
HDD와 SSD에 대한 동적 문서 관리 성능 테스트를 위해서 각각 S(Segmentation), SP(Segmentatin + Pulsing), SPM(Segmentation + Pulsing + Merging) 3가지 방식의 속도를 측정하였다. SM(Segmentation + Merging)방식은 SPM방식의 부분으로서 세그먼트 크기와 병합주기가 동일한 경우에 해당함으로 본 실험에서는 생략하였다. 세그먼트 크기는 실험결과 최적의 크기인 문서 빈도수(DF:Document Frequency) 1K로 정의하고 병합 주기는 세그먼트 크기의 2배로 정의한다.
도 6은 본 발명에 의한 동적 색인 관리 시스템에서, SSD를 사용한 경우 3가지 방식의 문서 추가 속도를 나타낸 그래프이고, 도 7은 본 발명에 의한 동적 색인 관리 시스템에서, HDD를 사용한 경우의 문서관리 속도를 나타낸 그래프이며, 도 8은 본 발명에 의한 동적 색인 관리 시스템에서, SSD를 사용한 경우와 HDD를 사용한 경우의 검색속도를 예시한 그래프이다.
도 6에 도시된 바와 같이 SSD를 사용한 경우, 첫 번째 S방식은 보조 색인 저장구조를 사용하지 않고 주 색인저장 구조에 분할 방식만 적용한 경우이며 평균 문 서 추가 시간은 0.8초 정도 소요됨을 알 수 있다. 두 번째 SP 방식은 보조 색인 저장 구조에 추가적인 문서를 저장하면서 펄싱 방법을 이용한 경우이며 약 0.8~1.0초 사이의 속도를 보임을 알 수 있다. 펄싱 방식이 분할방색 보다 문서 추가 시간은 약간 느리지만 HDD를 사용한 경우에는 검색속도가 빠른 장점을 가지고 있다. 단, SSD를 사용하는 경우에는 도 8에서 보이는 것처럼 3가지 방식 모두 검색 속도가 거의 동일하다. 세 번째 SPM 방식은 분할 기반의 주 색인정보 저장 구조와 보조 색인정보 저장 구조를 사용하며 펄싱과 병합 방식을 적용한 경우이며 문서 추가 시간은 평균 0.2~0.4초 정도 소요됨을 알 수 있다. 세 번째 SPM 방식이 색인 관리 측면에서 S, SP방식에 배해 약 3배 정도 우수한 성능을 보인다.
도 7에 도시된 바와 같이 HDD를 사용한 경우, 전체적으로 SSD를 사용한 경우에 비해 약 5배 정도 느리지만 각각의 방식에서 보여주는 특징은 SSD를 사용한 경우와 거의 동일하게 나타남을 알 수 있다. S 방식과 SP 방식은 문서 추가 시간이 평균 4~5초 정도 소요되며 SPM 방식은 약 2.5배 정도 빠른 2초 정도 소요됨을 알 수 있다.
검색 성능 테스트를 위해서 위 3가지 방식과 전체를 제 구성한 경우에 대하여 SSD를 사용한 경우와 HDD를 사용한 경우 각각의 속도를 측정하였다. 도 8에서 알 수 있는 바와 같이. SSD를 사용한 경우는 모든 방식에서 약 30ms정도로 일정한 검색 속도를 보이고 있으며 HDD를 사용한 경우에는 검색에 최적화 된 Rebuild 방식에 비해 S 방식이 9.5배, SP 방식은 3.5배 그리고 SPM 방식은 7.5배 정도 느리다. HDD에서 SP 방식이 S방식과 SPM방식에 비해 빠른 이유는 긴 포스팅 색인정보와 짧 은 포스팅 색인정보가 주 색인저장기와 보조 색인저장기에 분산 저장되어 있는 효과가 있기 때문이다.
일반적으로 검색 시간과 색인정보 관리 시간은 역 상관관계(Trade-off)를 가지고 있다. 이러한 현상은 본 실험에서도 HDD를 사용한 경우에는 동일하게 나타난다. 그러나 SSD를 사용한 경우 본 발명에서 제안하는 SPM방식을 적용하면 검색 시간은 거의 변화 없이 색인정보 관리 시간이 크게 향상된 결과를 볼 수 있다. 구체적으로 살펴보면 본 발명에서 제안하는 SPM 방식이 HDD 상에서 검색에 최적화된 구조보다 7.5배 정도 느리지만 색인정보 관리 성능에서는 S방식에 비해 약 2.5배, SP방식에 비해 약 2.4배 빠르다. 그리고 SSD 상에서는 검색속도는 거의 동일한 반면 색인 정보 관리 성능은 S방식, SP방식에 비해 약 3배 정도 빠르다. 뿐만 아니라 S방식, SP방식을 사용하지 않는 기존 인덱스 구조에 비해서 색인 정보 관리 속도는 수십~수백 배 이상 빠른 성능을 보인다.
이상의 본 발명에서는 온라인 색인 관리 측면에서 가장 널리 활용되고 있는 In-Place 방식과 Merge-based 방식의 장단점을 분석하고 이 방법들의 장점을 활용하고 단점을 보완하여 검색 처리 시간에 최소한의 영향을 주면서 동시에 색인정보 관리(index maintenance) 시간을 최대한 줄일 수 있는 색인저장 구조를 제안하였다. 또한 최근 기존 저장장치(HDD)와 근본적으로 구조가 다른 새로운 저장장치(SSD, SCRAM)에 적합한 색인정보 저장관리 구조를 제시하였다. 다시 말하면 본 발명에서는 SSD의 매우 낮은 접근시간(Low access latency) 특성을 최대한 활용할 수 있는 분할(Segmenation) 포스팅 구조를 기반으로 SSD에 적합하도록 변형된 In- Place 색인 방식(Pulsing)과 Merge-based방식(Merging)을 효과적으로 조합하여 검색 처리시간 및 색인정보 관리시간을 크게 향상시킬 수 있는 새로운 색인저장 구조(SPM)를 제안하고 성능을 평가하였다.
상기의 본 발명에 의한 동적 색인 관리방법의 각 단계의 전부 또는 일부를 컴퓨터로 실행시키기 위한 소스 프로그램을 프로그램 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 상기 컴퓨터가 읽을 수 있는 프로그램 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 기록 장치이다. 예를 들어, ROM, RAM, Cache, 하드 디스크, 광디스크, 플로피 디스크, 자기 테이프 등이 있다. 또한, 캐리어 웨이브의 형태로 구현되는 것도 포함하며, 예를 들어 인터넷을 통한 전송 등이 있다. 또한, 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드로서 저장되고 실행될 수 있다.
상술한 바와 같이 본 발명에 따른 바람직한 실시 예를 설명하였지만, 본 발명은 상기한 실시 예에 한정되지 않고, 이하의 특허 청구 범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 분야에서 통상의 지식을 가진자라면 누구든 다양한 변경 실시가 가능한 범위까지 본 발명의 방법적 정신이 있다고 할 것이다.
도 1은 본 발명의 일 실시예에 의한 동적 색인 관리시스템의 개략적인 구성도,
도 2는 본 발명에 의한 SPM 주 색인구조에서 색인 분할 구조를 나타낸 예시도,
도 3은 본 발명에 의한 동적 색인 관리시스템에서, 주 색인 저장기와 보조 색인 저장기 사이에서 색인정보가 펄싱되는 과정을 예시한 색인 구조도,
도 4는 본 발명에 의한 SPM 색인 저장구조의 전체적인 구조를 나타낸 예시도,
도 5는 본 발명에 의한 동적 색인 관리시스템을 통해 실시한 실험 결과표,
도 6은 본 발명에 의한 동적 색인 관리시스템에서, SSD를 사용한 경우 3가지 방식의 문서 추가 속도를 나타낸 그래프,
도 7은 본 발명에 의한 동적 색인 관리시스템에서, HDD를 사용한 경우의 문서관리 속도를 나타낸 그래프,
그리고,
도 8은 본 발명에 의한 동적 색인 관리시스템에서, SSD를 사용한 경우와 HDD를 사용한 경우의 검색속도를 예시한 그래프이다.
<도면의 주요 부분에 대한 부호의 설명>
10 : 보조 색인 저장기 20 : 주 색인 저장기
30 : 색인 관리기 31 : 색인 분할부
32 : 색인 펄싱부 33 : 색인 병합부
40 : 정보 검색기

Claims (14)

  1. 디스크 기반의 주 색인 저장기와 보조 색인 저장기를 가진 이중 저장 구조에 문서를 동적으로 저장하고 관리하는 시스템에 있어서,
    상기 보조 색인 저장기에 추가로 저장되는 문서 또는 단어의 색인 빈도수에 따라 고빈도와 저빈도의 포스팅 정보를 분할하고, 상기 분할된 고빈도의 포스팅 정보 중에서 미리 정해진 임계치 크기에 도달한 빈도수의 포스팅 정보를 주 색인 저장기로 이동시키며, 상기 주 색인 저장기에 추가되는 문서의 포스팅 정보를 주기적으로 병합하는 색인 관리기; 및,
    상기 주 색인 저장기와 상기 보조 색인 저장기에 저장된 포스팅 정보를 사용하여 문서를 포함하는 원하는 정보의 검색 및 색인 관리를 실시하는 정보 검색기;
    를 포함하여 구성된 것을 특징으로 하는 차세대 대용량 저장장치에 적합한 동적 색인 관리 시스템.
  2. 제1항에 있어서, 상기 색인 관리기는,
    고빈도의 포스팅 정보는 고정길이 세그먼트 리스트(Segment list)로 구성하고, 저빈도의 포스팅 정보는 직접 수정하여 추가(In-palce)하는 방식으로 색인을 분할 처리하는 색인 분할부;
    를 더 포함하는 것을 특징으로 하는 차세대 대용량 저장장치에 적합한 동적 색인 관리 시스템.
  3. 제2항에 있어서, 상기 색인 분할부는,
    미리 정해진 임계치 크기에 도달한 포스팅 정보를 기준으로 고빈도 단어와 저빈도 단어로 구분하는 것을 특징으로 하는 차세대 대용량 저장장치에 적합한 동적 색인 관리 시스템.
  4. 제2항에 있어서, 상기 색인 관리기는,
    상기 보조 색인 저장기에 저장되는 문서의 색인 빈도수가 임계치 이상이면 고빈도의 문서 또는 단어로 변경하고 새로운 세그먼트를 할당하여 주 색인 저장기에 저장한 후 해당 문서 또는 단어의 색인정보는 보조 색인 저장기에서 삭제하는 색인 펄싱부;
    를 더 포함하는 것을 특징으로 하는 차세대 대용량 저장장치에 적합한 동적 색인 관리 시스템.
  5. 제4항에 있어서, 상기 색인 펄싱부는,
    상기 보조 색인 저장기에 저장된 포스팅 정보 중에서 미리 정해진 임계치 크기에 도달한 빈도수의 포스팅 정보를 주 색인 저장기로 이동시키는 것을 특징으로 하는 차세대 대용량 저장장치에 적합한 동적 색인 관리 시스템.
  6. 제5항에 있어서, 상기 색인 관리기는,
    상기 주 색인 저장기에 추가되는 문서 수에 따라 주기적인 병합(Merging)을 실시하되, 상기 분할 구조 기반의 펄싱 방식을 이용하여 색인 병합을 실시하는 색인 병합부;
    를 더 포함하는 것을 특징으로 하는 차세대 대용량 저장장치에 적합한 동적 색인 관리 시스템.
  7. 제1항에 있어서, 상기 정보 검색기는,
    주어진 질의에 대해서 상기 주 색인 저장기의 포스팅 정보와 상기 보조 색인저장기의 포스팅 정보를 모두 활용하여 삽입, 삭제, 변경된 문서에 대한 정보의 검색 및 색인 처리를 실시하는 것을 특징으로 하는 차세대 대용량 저장장치에 적합한 동적 색인 관리 시스템.
  8. 디스크 기반의 주 색인 저장기와 보조 색인 저장기를 가진 이중 저장 구조에 문서를 동적으로 저장하고 관리하며, 상기 주 색인 저장기와 상기 보조 색인 저장기에 저장된 포스팅 정보를 사용하여 문서를 포함하는 원하는 정보의 검색 및 색인 관리를 실시하는 정보 검색 시스템에서의 색인 관리방법에 있어서,
    상기 보조 색인 저장기에 추가로 저장되는 문서 또는 단어의 색인 빈도수에 따라 고빈도와 저빈도의 포스팅 정보를 분할하는 색인 분할 단계;
    상기 분할된 고빈도의 포스팅 정보 중에서 미리 정해진 임계치 크기에 도달한 고빈도의 포스팅 정보를 주 색인 저장기로 이동시키는 색인 펄싱 단계; 및,
    상기 주 색인 저장기에 추가되는 문서의 포스팅 정보를 주기적으로 병합하는 색인 병합 단계;
    를 포함하는 차세대 대용량 저장장치에 적합한 동적 색인 관리방법.
  9. 제8항에 있어서, 상기 색인 분할 단계에서,
    고빈도의 포스팅 정보는 고정길이 세그먼트 리스트(Segment list)로 구성하고, 저빈도의 포스팅 정보는 직접 수정하여 추가(In-palce)하는 방식으로 처리되는 것을 특징으로 하는 차세대 대용량 저장장치에 적합한 동적 색인 관리방법.
  10. 제9항에 있어서, 상기 색인 분할 단계는,
    미리 정해진 임계치 크기에 도달한 포스팅 정보를 기준으로 고빈도 단어와 저빈도 단어로 구분하는 것을 특징으로 하는 차세대 대용량 저장장치에 적합한 동적 색인 관리방법.
  11. 제8항에 있어서, 상기 색인 펄싱 단계에서는,
    상기 보조 색인 저장기에 저장되는 단어의 색인 빈도수가 임계치 이상이면 고빈도 문서 또는 단어로 변경하고 새로운 세그먼트를 할당하여 주 색인 저장기에 저장한 후 해당 문서 또는 단어의 색인정보는 보조 색인 저장기에서 삭제하는 것을 특징으로 하는 차세대 대용량 저장장치에 적합한 동적 색인 관리방법.
  12. 제11항에 있어서, 상기 색인 펄싱 단계는,
    상기 보조 색인 저장기에 저장된 포스팅 정보 중에서 미리 정해진 임계치 크기에 도달한 포스팅 정보를 주 색인 저장기로 이동시키는 것을 특징으로 하는 차세대 대용량 저장장치에 적합한 동적 색인 관리방법.
  13. 제8항에 있어서, 상기 색인 병합 단계는,
    상기 주 색인 저장기에 추가되는 문서 수에 따라 주기적인 병합(Merging)을 실시하되, 상기 분할 구조 기반의 펄싱 방식을 이용하여 색인 병합을 실시하는 것을 특징으로 하는 차세대 대용량 저장장치에 적합한 동적 색인 관리방법.
  14. 제8항 내지 13항 중 어느 한 항에 기재된 동적 색인 관리방법의 각 단계의 전부 또는 일부를 컴퓨터로 실행시키기 위한 소스 프로그램을 기록한 것을 특징으로 하는 프로그램 기록매체.
KR1020090099306A 2009-10-19 2009-10-19 차세대 대용량 저장장치의 동적 색인 관리 시스템 및 그 방법과 그 소스 프로그램을 기록한 기록매체 KR101104112B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090099306A KR101104112B1 (ko) 2009-10-19 2009-10-19 차세대 대용량 저장장치의 동적 색인 관리 시스템 및 그 방법과 그 소스 프로그램을 기록한 기록매체

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090099306A KR101104112B1 (ko) 2009-10-19 2009-10-19 차세대 대용량 저장장치의 동적 색인 관리 시스템 및 그 방법과 그 소스 프로그램을 기록한 기록매체

Publications (2)

Publication Number Publication Date
KR20110042576A true KR20110042576A (ko) 2011-04-27
KR101104112B1 KR101104112B1 (ko) 2012-01-13

Family

ID=44047963

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090099306A KR101104112B1 (ko) 2009-10-19 2009-10-19 차세대 대용량 저장장치의 동적 색인 관리 시스템 및 그 방법과 그 소스 프로그램을 기록한 기록매체

Country Status (1)

Country Link
KR (1) KR101104112B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9715446B2 (en) 2013-05-22 2017-07-25 Industry-Academic Cooperation Foundation, Yonsei University Method for updating inverted index of flash SSD
CN113761295A (zh) * 2021-09-22 2021-12-07 杭州安恒信息技术股份有限公司 一种索引段合并方法及设备

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100505848B1 (ko) * 2002-10-02 2005-08-04 씨씨알 주식회사 검색 시스템
US7240064B2 (en) * 2003-11-10 2007-07-03 Overture Services, Inc. Search engine with hierarchically stored indices

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9715446B2 (en) 2013-05-22 2017-07-25 Industry-Academic Cooperation Foundation, Yonsei University Method for updating inverted index of flash SSD
CN113761295A (zh) * 2021-09-22 2021-12-07 杭州安恒信息技术股份有限公司 一种索引段合并方法及设备
CN113761295B (zh) * 2021-09-22 2024-02-27 杭州安恒信息技术股份有限公司 一种索引段合并方法及设备

Also Published As

Publication number Publication date
KR101104112B1 (ko) 2012-01-13

Similar Documents

Publication Publication Date Title
US11010300B2 (en) Optimized record lookups
US9465554B2 (en) Tiered caching and migration in differing granularities
US9471500B2 (en) Bucketized multi-index low-memory data structures
JP5996088B2 (ja) 暗号ハッシュ・データベース
CA2810991C (en) Storage system
Lu et al. A forest-structured bloom filter with flash memory
WO2009033419A1 (fr) Procédé de traitement de mise en antémémoire de données, système et dispositif de mise en antémémoire de données
Yao et al. Building efficient key-value stores via a lightweight compaction tree
Sarwat et al. Generic and efficient framework for search trees on flash memory storage systems
KV et al. Ext4 block and inode allocator improvements
Na et al. Dynamic In-Page Logging for B⁺-tree Index
US11474699B1 (en) Systems and methods for optimizing data management within key value storage
Amur et al. Design of a write-optimized data store
Jung et al. Lifetime-leveling LSM-tree compaction for ZNS SSD
KR101438667B1 (ko) 비휘발성 램 기반의 b+ 트리 데이터베이스화 방법
KR100907477B1 (ko) 플래시 메모리에 저장된 데이터의 인덱스 정보 관리 장치및 방법
Li et al. Enabling efficient updates in KV storage via hashing: Design and performance evaluation
Fevgas et al. LB-Grid: An SSD efficient grid file
KR101104112B1 (ko) 차세대 대용량 저장장치의 동적 색인 관리 시스템 및 그 방법과 그 소스 프로그램을 기록한 기록매체
Ross Modeling the performance of algorithms on flash memory devices
Chen et al. KVFTL: Optimization of storage space utilization for key-value-specific flash storage devices
Qin et al. Kvrangedb: Range queries for a hash-based key–value device
Chen et al. Co-optimizing storage space utilization and performance for key-value solid state drives
Jin et al. A group round robin based b-tree index storage scheme for flash memory devices
Chang et al. Emt: Elegantly measured tanner for key-value store on ssd

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

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170927

Year of fee payment: 6

R401 Registration of restoration
FPAY Annual fee payment

Payment date: 20180102

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20190128

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20200102

Year of fee payment: 9