1 |
1
(a) 주기억장치에서 쓰기 버퍼를 할당하는 단계;(b) 데이터의 처리 요청과 관련된 정보인 인덱스 작업 레코드 그룹들을 할당된 쓰기 버퍼에 기록하는 단계;(c) 상기 쓰기 버퍼에 기록된 인덱스 작업 레코드 그룹들 중에서 선택된 적어도 하나의 인덱스 작업 레코드 그룹을 해시 함수에 의해 정해진 보조기억장치의 버킷(bucket)에 기록하는 단계; 및(d) 상기 버킷에 기록된 인덱스 작업 레코드 그룹과 관련된 정보를 이용하여 상기 데이터에 대한 해시 인덱스를 구성하는 단계를 포함하는 것을 특징으로 하는 해시 인덱스 구성 방법
|
2 |
2
제 1 항에 있어서,상기 (c) 단계는,(ca) 상기 버킷에 기록을 수행하는 도중에 오버플로우가 발생하면, 상기 버킷이 다음 순위에 스플릿을 수행하는 차순위 스플릿 버킷인지 여부를 판별하는 단계; 및(cb) 상기 판별 결과에 따라 상기 버킷에 기록된 인덱스 작업 레코드 그룹을 상기 버킷에 체인 연결된 오버플로우 버킷 또는 다른 버킷의 스플리팅으로부터 신규 생성된 버킷에 기록하는 단계를 포함하는 것을 특징으로 하는 해시 인덱스 구성 방법
|
3 |
3
제 1 항에 있어서,상기 (b) 단계는,(ba) 상기 처리 요청이 수신되면 해당 데이터의 처리 형태를 표시하는 작업 타입 데이터를 생성하고, 상기 해당 데이터에 대한 인덱스 레코드를 생성하는 단계; 및(bb) 상기 생성된 작업 타입 데이터와 상기 생성된 인덱스 레코드를 결합시켜 인덱스 작업 레코드를 생성하고, 생성된 적어도 하나의 인덱스 작업 레코드를 묶어 하나의 인덱스 작업 레코드 그룹으로 하여 상기 인덱스 작업 레코드 그룹들을 상기 쓰기 버퍼에 기록하는 단계를 포함하는 것을 특징으로 하는 해시 인덱스 구성 방법
|
4 |
4
제 2 항에 있어서,상기 (ca) 단계에서 상기 버킷이 상기 차순위 스플릿 버킷으로 판별되면 상기 (cb) 단계는,(cba) 부하율(load factor)이 임계치 이상인지 여부를 판별하는 단계; 및(cbb) 상기 (cba) 단계에서의 판별 결과에 따라 상기 오버플로우 버킷에 기록하거나 상기 신규 생성된 버킷에 기록하는 단계를 포함하는 것을 특징으로 하는 해시 인덱스 구성 방법
|
5 |
5
제 4 항에 있어서,상기 (cba) 단계에서 상기 부하율이 상기 임계치 이상인 것으로 판별되면 상기 (cbb) 단계는,(cbba) 상기 차순위 스플릿 버킷을 검색하는 단계;(cbbb) 상기 검색된 차순위 스플릿 버킷에 체인 연결된 오버플로우 버킷을 모두 추출하는 단계;(cbbc) 상기 검색된 차순위 스플릿 버킷과 상기 추출된 오버플로우 버킷에 포함된 모든 인덱스 작업 레코드 그룹으로부터 동일 데이터 처리 요청을 담은 인덱스 작업 레코드를 모두 추출하는 단계;(cbbd) 추출된 인덱스 작업 레코드들과 추출되지 않고 남아있는 인덱스 작업 레코드들을 비교하여 인덱스 레코드의 키 정보가 동일한 것끼리 삭제하는 단계; 및(cbbe) 삭제되지 않고 남은 인덱스 작업 레코드들을 수집하며, 상기 수집된 인덱스 작업 레코드들을 상기 추출된 오버플로우 버킷 또는 상기 신규 생성된 버킷에 기록하는 단계를 포함하는 것을 특징으로 하는 해시 인덱스 구성 방법
|
6 |
6
제 4 항에 있어서,상기 (cba) 단계에서 상기 부하율이 상기 임계치 미만인 것으로 판별되면 상기 (cbb) 단계는,(cbba) 오버플로우 버킷을 생성하고, 생성된 오버플로우 버킷을 상기 버킷에 체인 연결시키는 단계; 및(cbbb) 상기 버킷에 기록된 인덱스 작업 레코드 그룹을 상기 버킷에 체인 연결된 오버플로우 버킷에 기록하는 단계를 포함하는 것을 특징으로 하는 해시 인덱스 구성 방법
|
7 |
7
삭제
|
8 |
8
제 2 항에 있어서,상기 (ca) 단계에서 상기 버킷이 상기 차순위 스플릿 버킷이 아닌 것으로 판별되면 상기 (cb) 단계는,(cba) 오버플로우 버킷을 생성하고, 생성된 오버플로우 버킷을 상기 버킷에 체인 연결시키는 단계; 및(cbb) 상기 버킷에 기록된 인덱스 작업 레코드 그룹을 상기 버킷에 체인 연결된 오버플로우 버킷에 기록하는 단계를 포함하는 것을 특징으로 하는 해시 인덱스 구성 방법
|
9 |
9
제 1 항에 있어서,상기 (c) 단계는 상기 할당된 쓰기 버퍼가 상기 쓰기 버퍼에 기록된 인덱스 작업 레코드 그룹들로 가득 차면 크기값이 최대인 인덱스 작업 레코드 그룹부터 상기 버킷에 기록하는 것을 특징으로 하는 해시 인덱스 구성 방법
|
10 |
10
제 3 항에 있어서,상기 (bb) 단계는 미리 정해진 버킷의 크기를 고려하여 상기 인덱스 작업 레코드 그룹들을 상기 쓰기 버퍼에 기록하는 것을 특징으로 하는 해시 인덱스 구성 방법
|
11 |
11
제 1 항에 있어서,상기 (b) 단계에서 상기 쓰기 버퍼에 기록된 인덱스 작업 레코드 그룹들은 적어도 하나의 인덱스 작업 레코드를 포함하며, 상기 인덱스 작업 레코드는 입력 작업인지 또는 삭제 작업인지를 표시하는 작업 타입 데이터 및 인덱스 레코드의 키 정보를 포함하는 것을 특징으로 하는 해시 인덱스 구성 방법
|
12 |
12
제 1 항에 있어서,상기 (c) 단계는 상기 버킷으로 상기 보조기억장치에서 버킷을 검색하여 상기 검색된 버킷들 중에서 상기 선택된 인덱스 작업 레코드 그룹의 크기보다 더 큰 버킷을 이용하거나, 상기 검색된 버킷이 적어도 하나의 오버플로우 버킷과 체인 연결된 때 상기 검색된 버킷으로부터 가장 끝에 위치하는 상기 오버플로우 버킷을 이용하는 것을 특징으로 하는 해시 인덱스 구성 방법
|
13 |
13
컴퓨터로 판독 가능한 기록매체에 있어서,제 1 항 내지 제 6 항 중 어느 한 항, 또는 제 8 항 내지 제 12 항 중 어느 한 항에 따른 방법을 구현하는 프로그램이 기록된 기록매체
|
14 |
14
주기억장치에서 쓰기 버퍼를 할당하는 쓰기 할당부;데이터의 처리 요청과 관련된 정보인 인덱스 작업 레코드 그룹들을 할당된 쓰기 버퍼에 기록하는 인덱스 작업 레코드 그룹 생성부;상기 쓰기 버퍼에 기록된 인덱스 작업 레코드 그룹들 중에서 선택된 적어도 하나의 인덱스 작업 레코드 그룹을 해시 함수에 의해 정해진 보조기억장치의 버킷(bucket)에 기록하는 인덱스 작업 레코드 그룹 출력부; 및상기 버킷에 기록된 인덱스 작업 레코드 그룹과 관련된 정보를 이용하여 상기 데이터에 대한 해시 인덱스를 구성하는 해시 인덱스 구성부를 포함하는 것을 특징으로 하는 해시 인덱스 구성 장치
|
15 |
15
제 14 항에 있어서,상기 인덱스 작업 레코드 그룹 출력부는,상기 버킷에 기록을 수행하는 도중에 오버플로우가 발생하면, 상기 버킷이 다음 순위에 스플릿을 수행하는 차순위 스플릿 버킷인지 여부를 판별하는 스플릿 버킷 판별부; 및상기 판별 결과에 따라 상기 버킷에 기록된 인덱스 작업 레코드 그룹을 상기 버킷에 체인 연결된 오버플로우 버킷 또는 다른 버킷의 스플리팅으로부터 신규 생성된 버킷에 기록하는 쓰기 처리부를 포함하는 것을 특징으로 하는 해시 인덱스 구성 장치
|
16 |
16
제 14 항에 있어서,상기 인덱스 작업 레코드 그룹 생성부는,상기 처리 요청이 수신되면 해당 데이터의 처리 형태를 표시하는 작업 타입 데이터를 생성하는 작업 타입 데이터 생성부;상기 데이터 처리 요청이 수신되면 상기 해당 데이터에 대한 인덱스 레코드를 생성하는 인덱스 레코드 생성부;상기 생성된 작업 타입 데이터와 상기 생성된 인덱스 레코드를 결합시켜 인덱스 작업 레코드를 생성하는 인덱스 작업 레코드 생성부; 및생성된 적어도 하나의 인덱스 작업 레코드를 묶어 하나의 인덱스 작업 레코드 그룹으로 하여 상기 인덱스 작업 레코드 그룹들을 상기 쓰기 버퍼에 기록하는 인덱스 작업 레코드 그룹 생성부를 포함하는 것을 특징으로 하는 해시 인덱스 구성 장치
|
17 |
17
제 15 항에 있어서,상기 인덱스 작업 레코드 그룹 출력부는 부하율(load factor)이 임계치 이상인지 여부를 판별하는 부하 상태 판별부를 더 포함하는 것을 특징으로 하는 해시 인덱스 구성 장치
|
18 |
18
제 17 항에 있어서,상기 스플릿 버킷 판별부에 의해 상기 버킷이 상기 차순위 스플릿 버킷으로 판별되고 상기 부하 상태 판별부에 의해 상기 부하율이 상기 임계치 이상인 것으로 판별되면, 상기 인덱스 작업 레코드 그룹 출력부는,상기 차순위 스플릿 버킷을 검색하는 차순위 스플릿 버킷 검색부;상기 검색된 차순위 스플릿 버킷에 체인 연결된 오버플로우 버킷을 모두 추출하는 오버플로우 버킷 추출부;상기 검색된 차순위 스플릿 버킷과 상기 추출된 오버플로우 버킷에 포함된 모든 인덱스 작업 레코드 그룹으로부터 동일 데이터 처리 요청을 담은 인덱스 작업 레코드를 모두 추출하는 인덱스 작업 레코드 추출부;추출된 인덱스 작업 레코드들과 추출되지 않고 남아있는 인덱스 작업 레코드들을 비교하여 인덱스 레코드의 키 정보가 동일한 것끼리 삭제하는 삭제 작업 처리부; 및삭제되지 않고 남은 인덱스 작업 레코드들을 수집하며, 상기 수집된 인덱스 작업 레코드들을 상기 추출된 오버플로우 버킷 또는 상기 신규 생성된 버킷에 기록하는 쓰기 처리부를 포함하며,상기 스플릿 버킷 판별부가 상기 버킷을 상기 차순위 스플릿 버킷이 아닌 것으로 판별하거나, 상기 스플릿 버킷 판별부에 의해 상기 버킷이 상기 차순위 스플릿 버킷으로 판별되고 상기 부하 상태 판별부에 의해 상기 부하율이 상기 임계치 미만인 것으로 판별되면, 상기 인덱스 작업 레코드 그룹 출력부는,오버플로우 버킷을 생성하는 오버플로우 버킷 생성부;생성된 오버플로우 버킷을 상기 버킷에 체인 연결시키는 체인 연결부; 및상기 버킷에 기록된 인덱스 작업 레코드 그룹을 상기 버킷에 체인 연결된 오버플로우 버킷에 기록하는 쓰기 처리부를 포함하는 것을 특징으로 하는 해시 인덱스 구성 장치
|
19 |
19
데이터를 저장하는 데이터 저장 장치로서,주기억장치에서 쓰기 버퍼를 할당하는 쓰기 할당부; 데이터의 처리 요청과 관련된 정보인 인덱스 작업 레코드 그룹들을 할당된 쓰기 버퍼에 기록하는 인덱스 작업 레코드 그룹 생성부; 상기 쓰기 버퍼에 기록된 인덱스 작업 레코드 그룹들 중에서 선택된 적어도 하나의 인덱스 작업 레코드 그룹을 해시 함수에 의해 정해진 보조기억장치의 버킷(bucket)에 기록하는 인덱스 작업 레코드 그룹 출력부; 및 상기 버킷에 기록된 인덱스 작업 레코드 그룹과 관련된 정보를 이용하여 상기 데이터에 대한 해시 인덱스를 구성하는 해시 인덱스 구성부를 포함하는 해시 인덱스 구성 장치를 포함하는 것을 특징으로 하는 데이터 저장 장치
|
20 |
20
제 19 항에 있어서,상기 데이터 저장 장치는 SSD(Solid State Drive)인 것을 특징으로 하는 데이터 저장 장치
|