KR970002416B1 - Extendible chained-bucket hash structure for high performance data search - Google Patents

Extendible chained-bucket hash structure for high performance data search Download PDF

Info

Publication number
KR970002416B1
KR970002416B1 KR1019930030243A KR930030243A KR970002416B1 KR 970002416 B1 KR970002416 B1 KR 970002416B1 KR 1019930030243 A KR1019930030243 A KR 1019930030243A KR 930030243 A KR930030243 A KR 930030243A KR 970002416 B1 KR970002416 B1 KR 970002416B1
Authority
KR
South Korea
Prior art keywords
cbh
rid
record
hash
ecbh
Prior art date
Application number
KR1019930030243A
Other languages
Korean (ko)
Other versions
KR950020257A (en
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 KR1019930030243A priority Critical patent/KR970002416B1/en
Publication of KR950020257A publication Critical patent/KR950020257A/en
Application granted granted Critical
Publication of KR970002416B1 publication Critical patent/KR970002416B1/en

Links

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units

Abstract

An Extensible Chained-Bucket Hash(ECBH) structure for use in the main memory of a database system is provided to enhance retrieving speed of a desired record. The structure comprises an Extensible Hash (EH) table for maintaining global depth provided for interleaving/deletion of a record; a plurality of Chained-Bucket Hash (CBH) table for maintaining local depth; and a record identifier (RID) given by the computer.

Description

고성능 자료검색을 위한 확장 버켓사슬 해쉬 구조Extended Bucket Chain Hash Structure for High Performance Data Retrieval

제1도는 본 발명을 간단히 나타낸 블록도.1 is a block diagram showing the present invention briefly.

제2도는 본 발명이 사용되는 하드웨어 환경을 나타낸 도면.2 illustrates a hardware environment in which the present invention is used.

제3도는 실시예에 따른 본 발명의 블록도.3 is a block diagram of the present invention according to an embodiment.

제4도는 본 발명의 초기화 과정을 나타낸 순서도.4 is a flowchart illustrating an initialization process of the present invention.

제5도는 본 발명의 색인을 통한 레코드의 검색과정을 나타낸 순서도.5 is a flow chart showing the retrieval of records through the index of the present invention.

제6도는 본 발명에 대한 레코드 식별자의 삽입과정을 나타낸 순서도.6 is a flowchart showing a process of inserting a record identifier according to the present invention.

제7도는 본 발명에 따른 레코드 식별자의 삭제과정을 나타낸 순서도.7 is a flowchart illustrating a deletion process of a record identifier according to the present invention.

본 발명은, 고성능의 자료검색방법에 관한 것으로, 구체적으로는 모든 자료를 주기억장치에 적재하여 검색하는 주기억장치 데이터베이스 시스템에서 방대한 자료에 대해 키를 통하여 몇번의 키값 비교로 원하는 레코드를 검색할 수 있고, 또한 자료의 삭제/삽입에 대해서도 그 성능을 그대로 유지시킬 수 있는 확장 버켓 사슬 해쉬(Extendible Chained-Bucket Hash, 이하 ECBH라 한다)구조에 관한 것이다.The present invention relates to a high-performance data retrieval method, specifically, in a main memory database system that loads and retrieves all data into a main memory device, a desired record can be searched by comparing a plurality of key values through a key for a large data. It also relates to the structure of an extended bucket chain hash (ECBH), which can maintain its performance even with data deletion / insertion.

이 분야에 대한 종래의 기술은 크게 두가지로 나누어진다.The prior art in this field is largely divided into two.

첫째, 재료가 디스크에 저장된 경우에 대한 것으로 선형 해쉬(Linear Hash), 확장해쉬(Extendible Hash, 이하 EH라 한다)등이 있다.First, there are linear hashes and extended hashes (hereinafter referred to as EHs) for materials stored on disk.

상기한 기법들은 자료의 삽입/삭제로 인한 검색구조의 변경이 용이하나, 주 목적이 디스크 입출력의 횟수를 줄이기 위한 것이므로 주기억장치에는 적합하지 않다.The above techniques are easy to change the search structure by inserting / deleting data, but they are not suitable for main memory because their main purpose is to reduce the number of disk I / O.

둘째, 주기억장치에서 사용하는 해쉬구조로서 버켓사슬 해쉬(Chained-Bucket Hash, 이하 CBH라 한다)구조가 가장 빠른 것을 알려져 있다.Second, a bucket-chain hash (CBH) structure is known to be the fastest as a hash structure used in main memory.

그러나 이 방법은 그 구조가 확장성을 가지고 있지 않아, 자료가 삽입/삭제로 인해 많은 변경이 일어나면 원래의 성능을 보여주지 못하고 속도가 떨어지거나, 혹은 주기억장치를 너무 낭비하게 된다.However, this method does not have the scalability of the structure, so if a lot of changes occur due to the insertion / deletion of the data, it may not show the original performance and may slow down or waste the main memory too much.

따라서는 상기한 바와 같이 주기억장치 상주 데이터베이스를 위한 고성능 자료검색을 위해서는 기존의 CBH 구조와 같이 매우 빠른 검색속도를 가지면서도 EH와 같이 자료의 변경에 대해서도 성능/공간에 큰 영향을 주지 않고 구조가 확장될 수 있어야 한다.Therefore, for the high performance data retrieval for the main memory resident database as described above, the structure is expanded without having a great effect on performance / space even for data changes such as EH while having a very fast retrieval speed like the existing CBH structure. It should be possible.

그러므로 본 발명의 목적은 빠른 검색과 동시에 확장성을 갖는 고성능 자료검색구조를 제공하는데 그 목적이 있다. 다음은 첨부한 도면을 참조하여 본 발명을 설명한다. 제1도는 데이터베이스 시스템의 주기억장치에 적재된 수많은 레코드를 키를 통해 빠르게 접근하기 위한 ECBH 구조를 간단히 나타낸 블럭도이다.Therefore, an object of the present invention is to provide a high-performance data retrieval structure having a fast search and expandability at the same time. The following describes the invention with reference to the accompanying drawings. FIG. 1 is a block diagram schematically showing an ECBH structure for quickly accessing a large number of records stored in a main memory of a database system through a key.

레코드는 여러 자료항목으로 이루어 지는데, 이때 사용자는 빠르게 접근하고자 하는 항목에 대해 ECBH를 생성한다. 상기한 항목의 키(key)라고 하며, ECBH를 통해 특정 키값을 갖는 레코드를 검색하는 방법은 다음과 같다.A record consists of several data items, in which the user creates an ECBH for the item that he wants to access quickly. The key of the above item is referred to. A method of searching for a record having a specific key value through ECBH is as follows.

첫째, 주어진 키값을 해쉬하여 확장해쉬 테이블의 엔트리를 검색한다. 즉, 해당 버켓사슬 해쉬 테이블을 식별한다.First, it searches for entries in the extended hash table by hashing the given key value. That is, the bucket chain hash table is identified.

둘째, 주어진 키값을 다시 해쉬하여 해당 버켓사슬 해쉬 테이블의 엔트리를 찾아낸다.Second, hash the given key value again to find the entry in the bucket chain hash table.

셋째, 상기 엔트리를 붙어있는 각 레코드 식별자를 통해 레코드를 검색하면서 실제 주어진 키를 가진 레코드를 찾아낸다.Third, the record is searched through each record identifier attached to the entry to find the record with the given key.

제2도는 본 발명인 ECBH 구조의 이해를 주기억장치 상부 데이터베이스 시스템의 운용 환경을 나타낸 도면이다. 디스크에 저장된 데이터베이스를 사용하기 위해서 모든 데이터를 주기억장치에 적재한다.2 is a view showing the operating environment of the main memory upper database system for understanding the ECBH structure of the present invention. Load all data into main memory to use the database stored on disk.

데이터베이스는 많은 레코드와 같은 종류의 레코드의 집합인 화일, 그리고 키값을 통해 빠른 자료검색을 위한 ECBH들로 이루어진다.A database consists of files, a collection of records of the same kind as many records, and ECBHs for fast data retrieval through key values.

모든 계산은 CPU에 의해 수행되며, 디스크는 시스템에 고장이 발생하거나 정전이 된 경우 자료의 백업(Backup)으로 사용된다.All calculations are performed by the CPU, and the disk is used as a backup of data in case of system failure or power failure.

주기억장치에 저장된 각 레코드는 유일한 레코드 식별자(record identifier, 이하 RID라 한다)를 갖는다. 상기 RID를 통한 레코드의 접근은 복수개의 CPU 명령어로 가능하다.Each record stored in the main memory has a unique record identifier (hereinafter referred to as RID). Access to the record through the RID is possible with a plurality of CPU instructions.

그러나, RID는 컴퓨터가 부여하는 것으로 사용자에게는 의미가 없다. 사용자가 원하는 레코드를 검색하기 위해 키값(예를 들면, 주민등록번호, 사원번호)를 사용한다.However, RIDs are assigned by computers and have no meaning to users. Use key values (e.g. social security number, employee number) to retrieve the records you want.

따라서 데이터베이스 시스템은 키값을 통해 RID를 빠르게 검색하는 검색구조를 가지고 있어야 한다. ECBH는 이를 위한 것으로 제3도와 같은 구조를 가지고 있다.Therefore, the database system must have a search structure that searches RIDs quickly through key values. ECBH is for this purpose and has a structure as shown in FIG.

레코드의 삽입/삭제에 대비하여 EH는 전역깊이(global depth), 각 CBH에는 지역깊이(local depth)를 유지한다. 전역깊이는 현재 유효한 EH 테이블의 엔트리 갯수를 로그로 나타낸 것이고, 지역깊이는 해당 CBH 테이블을 가리키는 EH 테이블 엔트리 갯수의 로그값을 전역깊이에서 뺀 값이다. 제3도의 예에서 EH 테이블의 엔트리 갯수는 8개이고, 따라서 전역깊이는 log8=3이다.In preparation for inserting / deleting records, the EH maintains a global depth and a local depth for each CBH. The global depth is the log of the number of entries in the current valid EH table, and the local depth is the log value of the number of EH table entries pointing to the CBH table minus the global depth. In the example of FIG. 3, the number of entries in the EH table is eight, so the global depth is log8 = 3.

마지막 CBH의 경우, EH 테이블의 4개 엔트리에 의해 공유되고 있으므로 지역깊이는 3-log4=1이다.For the last CBH, the region depth is 3-log4 = 1 because it is shared by four entries in the EH table.

다음은 ECBH의 동작에 대한 설명으로 크게 ECBH의 초기화, ECBH를 통한 레코드의 검색, 삽입, 그리고 삭제로 나누어 설명할 수 있다.The following describes the operation of ECBH and can be divided into ECBH initialization, record search, insertion, and deletion through ECBH.

설명의 명확성을 위해 순서도를 이용하고, 순서도에는 다음과 같은 기호가 사용된다. 순서도의 아이콘 우측상단에 괄호로 숫자를 기입한 것은 순서도를 설명할 때 이용된다.The flowchart is used for clarity of explanation, and the following symbols are used in the flowchart. The numbers in parentheses in the upper right of the icon in the flowchart are used to explain the flowchart.

상수(constants):Constants:

GD-ECBH의 전역깊이GD-ECBH Global Depth

CBH_SIZE-한 CBH 테이블의 크기(엔트리 갯수)로서 소수이다.CBH_SIZE-The size (number of entries) of one CBH table, which is a prime number.

SP-분할을 수행하기 위한 CBH의 평균사슬길이 한계치(사용자가 조정)Average chain length limit of CBH to perform SP-division (user adjusted)

CP-분할조건을 검사할 시기를 CBH에 저장된 RID 갯수로 나타낸 값(사용자가 조정)The number of RIDs stored in CBH indicating when to check the CP-split condition (adjusted by user)

연산자(operators):Operators:

hash( )-해쉬함수hash () -hash function

2**B-2의 B승수2 ** B multiplier of B-2

AB-A의 비트를 B만큼 오른쪽으로 이동Shift bits of AB-A right by B

AB-A의 비트를 B만큼 왼쪽으로 이동Shift bits of AB-A left by B

AB-A와 B를 비트 ANDBitwise AND with AB-A

A|B-A와 B를 비트 ORBitwise OR of A | B-A and B

A^B-A와 B를 비트 XORA ^ B-A and B bitwise XOR

A %B-A를 B로 나눈 나머지 값A% B-A divided by B

변수 및 자료구조 표기:Variable and data structure notation:

A〔i〕-배열 A의 i번째 값을 나타내고, 배열 A가 N개의 값을 가질 경우, i는 0부터 N-1값을 갖는다. 즉 A〔0〕, A〔1〕,..., A〔N-1〕.A [i]-represents the i-th value of array A, and when array A has N values, i has a value from 0 to N-1. That is, A [0], A [1], ..., A [N-1].

E.EH-ECBH 색의 E의 EH 테이블EH EH table of E.EH-ECBH color

EH〔i〕-EH 테이블 E의 i번째 엔트리EH [i] —ith entry of the EH table E

C.CL-CBH 테이블 C의 총 사슬길이Total chain length of C.CL-CBH table C

C.LD-CBH 테이블 C의 지역깊이Area Depth of C.LD-CBH Table C

C.N-C에 저장된 RID의 갯수Number of RIDs stored in C.N-C

C[j]-C의 i번째 엔트리I th entry of C [j] -C

C[j].L-C의 i번째 엔트리에 달려있는 RID 리스트List of RIDs dependent on the i th entry of C [j] .L-C

C[j].N -C의 i번째 엔트리에 달려있는 RID 리스트 저장된 RID의 갯수C [j] .N-List of RIDs depending on the i th entry of -C Number of stored RIDs

L.RID-RID 리스트의 한 노드 L의 RID값RID value of one node L in L.RID-RID list

L.NEXT-RID 리스트의 한 노드 L의 다음 노드The next node of one node L in the L.NEXT-RID list

제5도는 초기화과정을 나타낸 순서도로, 참조번호 (1)은 한 ECBH가 초기에 하나의 빈 CBH를 가진 것을 나타내고, EH 테이블이 초기에 2**GD 만큼의 엔트리를 가지고, 키의 삽입/삭제시에도 변하지 않는 것을 나타낸다.5 is a flow chart showing the initialization process. Reference numeral (1) indicates that one ECBH initially has one empty CBH, and the EH table initially has 2 ** GD entries, and a key is inserted / deleted. It does not change even in the hour.

제5도는 ECBH 색인을 통한 레코드의 검색과정을 나타낸 순서도이다. 주어진 키 값을 해쉬하여 찾고자 하는 레코드의 RID가 저장된 CBH 테이블과 CBH 테이블 내에서의 위치를 알아낸다.5 is a flowchart showing a process of retrieving records through the ECBH index. Hash the given key value to find the location in the CBH table and CBH table where the RID of the record to find is stored.

(제5도의 2)(2 of FIG. 5)

그다음 상기에서 찾은 CBH 테이블의 엔트리에서 시작하는 RID 리스트를 따라가면서 실제 레코드를 검색, 주어진 키값을 갖는 레코드를 찾으면 이때의 RID를 복귀한다.Then, it searches the actual record while following the RID list starting from the entry of the CBH table found above, and returns the RID at this time when a record having a given key value is found.

(제5도의 3)(3 of FIG. 5)

제6도는 ECBH에 대한 RID의 삽입과정을 나타낸 순서도이다. 상기 제5도의 검색을 통해 주어진 RID가 삽입될 CBH 테이블의 위치를 결정한다(제6도의 4).6 is a flowchart showing a process of inserting an RID into an ECBH. The search of FIG. 5 determines the location of the CBH table into which a given RID is to be inserted (4 of FIG. 6).

상기에서 결정된 위치의 RID 리스트의 주어진 RID 정보를 갖는 새로운 노드를 삽입한다(제6도의 5). 그리고 삽입된 새로운 노드에 의해 변경되는 통계정보(RID 갯수, 총 사슬길이)를 반영한다(제6도의 5).A new node with the given RID information of the RID list of the positions determined above is inserted (5 in FIG. 6). And it reflects the statistical information (RID number, total chain length) changed by the inserted new node (5 in Fig. 6).

현재 CBH에 저장된 RID의 갯수가 사용자가 정한 CP의 배수이면 분할이 필요한지 검색한다(제6도의 6). 매 삽입시에 이를 검사하지 않는 이유는 검사에 드는 비용을 최대화하기 위해서이다.If the number of RIDs currently stored in the CBH is a multiple of the CP determined by the user, a search is performed to determine whether division is necessary (6 in FIG. 6). The reason for not checking it at every insertion is to maximize the cost of the test.

계속하여 제6도에 나타낸 ECBH에 대한 RID의 삽입과정의 순서도로 다음과 같은 조건에서는 분할을 중지한다.Subsequently, in the flowchart of the insertion procedure of the RID for the ECBH shown in FIG. 6, the division is stopped under the following conditions.

(제6도의 7)(7 of FIG. 6)

1. CBH의 지역깊이가 ECBH의 전역깊이가 같은 경우,1. If the area depth of CBH is the same as that of ECBH,

(초기에 EH 테이블을 최대로 할당)(Initial allocation of EH table at first)

2. 현재 CBH에 저장된 RID의 갯수가 CBH_SIZE보다 작은 경우(저장공간의 효율적인 이용을 위하여).2. The number of RIDs currently stored in CBH is smaller than CBH_SIZE (for efficient use of storage space).

3. 평균사슬길이가 사용자가 정한 분할한계치에 도달하지 않은 경우.3. The average chain length does not reach the user defined split limit.

새로운 CBH을 할당하여 제4도에서와 같이 초기화한다.Allocate a new CBH and initialize it as shown in Figure 4.

(제6도의 8)(8 of Figure 6)

분할하고자 하는 CBH 테이블의 각 엔트리에 달려있는 RID 리스트의 모든 RID에 대하여 다시 해쉬값을 구하고 지역깊이를 한단계 높였을 때, 새로운 CBH로 이동되어야 하는 RID에 대해서는 새로 할당받은 CBH로 옮긴다.When the hash value is recalculated for all RIDs of the RID list of each entry of the CBH table to be partitioned, and the area depth is increased by one, the new CBH is moved to the newly allocated CBH.

(제6도의 9)(9 of Figure 6)

이때, 원래의 CBH와 새로운 CBH의 각종 통계치를 적절히 변경한다. 분할된 CBH와 새로 할당된 CBH의 지역깊이를 1씩 증가시킨다.At this time, various statistics of the original CBH and the new CBH are appropriately changed. Increase the area depth of the split CBH and newly allocated CBH by one.

(제6도의 10)(10 of FIG. 6)

EH 테이블에서 원래의 CBH를 가리키고 있던 엔트리 중반을 새로운 CBH를 가리키도록 변경한다.In the EH table, change the middle of the entries that pointed to the original CBH to point to the new CBH.

(제6도의 11)(11 in Fig. 6)

분할된 CBH와 새로이 할당된 CBH는 위의 분할과정을 거친 후에도 또다시 분할되어야 하는 경우가 있을 수 있다.The partitioned CBH and the newly allocated CBH may need to be partitioned again after the above partitioning process.

(제6도의 12)(12 of FIG. 6)

예를 들면, 원래 CBH의 모든 RID가 새로운 CBH로 이전된 경우, 새로운 CBH를 다시 분할해야 할 필요가 있다. 분할때마다 지역깊이가 증가하고, 또한 제6도의 (7)에 나타난 조건에 의해 지역깊이가 전역깊이를 초과할 수 없기 때문에 이러한 재귀적인 재분할 시도는 반드시 일정한도내에 끝난다.For example, if all RIDs of the original CBH have been transferred to the new CBH, it may be necessary to repartition the new CBH. This recursive repartitioning attempt always ends within a certain degree because the regional depth increases with each division, and the regional depth cannot exceed the global depth by the conditions shown in (7) of FIG.

제7도는 ECBH에서의 RID 삭제 과정을 나타낸 순서도이다. 상기 제5도의 검색을 통해 주어진 RID가 위치한 CBH 테이블과 해당 엔트리, 리스트 노드 등을 얻는다. (제7도의 13)7 is a flowchart illustrating a RID deletion process in ECBH. The search of FIG. 5 obtains the CBH table in which a given RID is located, a corresponding entry, a list node, and the like. (13 in Fig. 7)

RID 리스트에서 해당 노드를 삭제하고 관련된 통계정보(RID 갯수, 사슬길이)를 변경한다.Delete the node from the RID list and change the relevant statistics (number of RIDs, chain length).

(제7도의 14)(14 of Fig. 7)

현재 CBH에 저장된 RID의 갯수가 사용자가 정한 CP의 배수이면 합병이 필요한지 검사한다.If the number of RIDs stored in the current CBH is a multiple of the CP determined by the user, the merger is checked.

(제7도의 15)(15 in Fig. 7)

매 삭제시에 이를 검사하지 않는 이유는 검사에 드는 비용을 최TH화하기 위해서이다.The reason for not checking on every deletion is to minimize the cost of the check.

지역깊이가 0이면 ECBH는 오직 하나만의 CBH로 구성되어 있음을 의미한다(제7도의 16). EH 테이블에서 현재 CBH의 지역깊이를 1만큼 줄였을때 같은 값을 갖는 엔트리의 CBH를 구한다.An area depth of zero means that the ECBH consists of only one CBH (16 in Figure 7). Get the CBH of the entry with the same value when reducing the local depth of the current CBH by 1 in the EH table.

(제7도의 17)(17 in Fig. 7)

이를 현재 CBH의 짝(buddy)이라 한다. 즉, 현재의 CBH와 짝 CBH는 분할에 의해 서로 갈라진 CBH들이다.This is now called a buddy of CBH. That is, the current CBH and the partner CBH are CBHs that are divided by division.

현재의 CBH와 짝 CBH가 서로 다른 지역깊이를 갖고 있으면 합병할 수 없다. 즉, 짝의 갯수가 복수임을 뜻한다.If the current CBH and partner CBH have different regional depths, they cannot merge. That is, the number of pairs is plural.

(제7도의 18)(18 in Fig. 7)

이는 차후 짝끼리 합병된 후 현재의 CBH와 합병될 수 있다. 짝에 있는 모든 RID 리스트를 현재의 CBH로 옮기고 관련된 통계정보를 변경한다.It may later merge with each other and then with the current CBH. Moves all RID lists in the pair to the current CBH and changes the relevant statistics.

(제7도의 19)(19 in Fig. 7)

짝에 할당되어 있던 기억공간을 반환하고, 현재 CBH의 지역깊이를 1감소한다.Returns the memory space allocated to the partner and decrements the current depth of the current CBH by one.

(제7도의 20)(20 in Fig. 7)

EH 테이블에서 짝에 해당하는 엔트리에 현재의 CBH를 기록한다.Write the current CBH to the corresponding entry in the EH table.

(제7도의 21)(21 in Fig. 7)

합병된 CBH는 다시 새로운 짝과 합병이 필요할 수 있다. 이를 위해 다시 합병을 검사하게 된다. 따라서 상기한 바에 의하면 본 발명은 다음과 같은 효과가 있다.Merged CBH may need to be merged with a new partner again. To this end, the merger will be checked again. Therefore, according to the above, the present invention has the following effects.

첫째, 키값을 통해 레코드를 검색하기 위해 CBH 구조를 이용하기 때문에 속도가 매우 빠르다.First, it is very fast because it uses the CBH structure to retrieve records by key value.

둘째, 확장가능한 EH을 전위에 두어 레코드의 삽입/삭제 시에도 CBH 테이블 전체를 재구성하지 않고, 꼭 필요한 CBH만을 재구성하여 확장/축소한다.Second, by putting the expandable EH in the front position, the entire CBH table is not reorganized even when the record is inserted / deleted.

셋째, 원하는 검색성능과 소요 공간을 사용자가 조정할 수 있어 서로 다른 응용특성을 갖는 화일에 두루 사용할 수 있다.Third, the user can adjust the desired search performance and the required space, so it can be used for files with different application characteristics.

Claims (1)

데이터베이스 시스템에 있어서, 레코드의 삽입/삭제에 대비하여 전역깊이를 유지하는 확장해쉬(EH)테이블과 지역깊이를 유지하는 복수개의 버켓사슬 해쉬(CBH)테이블과, 컴퓨터가 부여하는 레코드식별자(RID)로 구성되는 것을 특징으로 하는 고성능 자료검색을 위한 확장 버켓사슬 해쉬 구조.A database system comprising: an extended hash table (EH) table for maintaining global depth in preparation for inserting / deleting records, a plurality of bucket chain hash (CBH) tables for maintaining local depth, and a record identifier (RID) given by a computer. Extended bucket chain hash structure for high performance data retrieval, characterized in that consisting of.
KR1019930030243A 1993-12-28 1993-12-28 Extendible chained-bucket hash structure for high performance data search KR970002416B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019930030243A KR970002416B1 (en) 1993-12-28 1993-12-28 Extendible chained-bucket hash structure for high performance data search

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019930030243A KR970002416B1 (en) 1993-12-28 1993-12-28 Extendible chained-bucket hash structure for high performance data search

Publications (2)

Publication Number Publication Date
KR950020257A KR950020257A (en) 1995-07-24
KR970002416B1 true KR970002416B1 (en) 1997-03-05

Family

ID=19373255

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019930030243A KR970002416B1 (en) 1993-12-28 1993-12-28 Extendible chained-bucket hash structure for high performance data search

Country Status (1)

Country Link
KR (1) KR970002416B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020045304A (en) * 2000-12-08 2002-06-19 정상철 A storage method for large amount of product information

Also Published As

Publication number Publication date
KR950020257A (en) 1995-07-24

Similar Documents

Publication Publication Date Title
Enbody et al. Dynamic hashing schemes
US9672235B2 (en) Method and system for dynamically partitioning very large database indices on write-once tables
US6711562B1 (en) Cache sensitive search (CSS) tree indexing system and method
Erlingsson et al. A cool and practical alternative to traditional hash tables
US5890147A (en) Scope testing of documents in a search engine using document to folder mapping
US4611272A (en) Key-accessed file organization
EP1866775B1 (en) Method for indexing in a reduced-redundancy storage system
US20070234005A1 (en) Hash tables
US20090125478A1 (en) Database heap management system with variable page size and fixed instruction set address resolution
JPH1131096A (en) Data storage/retrieval system
Little et al. Using bloom filters to speed-up name lookup in distributed systems
KR970002416B1 (en) Extendible chained-bucket hash structure for high performance data search
CN111143373A (en) Data processing method and device, electronic equipment and storage medium
CN113342706A (en) Write-optimized extensible hash index structure based on nonvolatile memory and inserting, refreshing and deleting methods
JP2000181768A (en) Data storage/retrieval system
Croft A file organization for cluster-based retrieval
Pramanik et al. Multi-directory hashing
KR102404174B1 (en) Data structures for nosql, inserting method for nodes, and processing method for range queries
Hassan et al. An efficient scheme for real-time information storage and retrieval systems: A hybrid approach
Zhang Towards Space-Efficient High-Performance In-Memory Search Structures
Hui et al. On efficient unsuccessful search
Kelley et al. Multikey, extensible hashing for relational databases
Bell et al. Hash trees versus B-trees
Yu et al. FB+-tree: indexing based on key ranges
Nelson A prefix trie index for inverted files

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
G160 Decision to publish patent application
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120228

Year of fee payment: 16

FPAY Annual fee payment

Payment date: 20130304

Year of fee payment: 17

EXPY Expiration of term