| 번호 | 청구항 |
|---|---|
| 1 | 컴퓨팅 장치가 수행하는 데이터 접근 방법으로서,적어도 하나의 명령어 및 데이터베이스를 저장하는 스토리지에 대하여, 프로세서에 의해 상기 적어도 하나의 명령어가 실행됨으로써, 상기 스토리지의 모든 키 값 데이터를 보관하는 스토리지 엔진과, 상기 스토리지 엔진에 보관된 키 값 데이터 중 상기 스토리지 엔진의 접근도가 임계치 이상인 키 값 데이터를 인덱스하고 캐싱하는 메모리 레이어, 및 데이터베이스 엔진을 생성 - 상기 메모리 레이어는, 병렬 접근을 지원하는 복수의 샤드 내 LRU 캐시에 상기 접근도가 임계치 이상인 키 값 데이터를 보관하는 블록 캐시 컴포넌트와, 상기 복수의 샤드의 상위 계층에 각각 배치되어 병렬적으로 접근 가능하고, 상기 접근도가 임계치 이상인 키 값 데이터 중 상기 블록 캐시의 접근도가 임계치 이상인 키 값 데이터의 포인터를 해시테이블에 보관하는 복수의 포인터 테이블 컴포넌트를 포함함 - 하는 단계; 상기 데이터베이스 엔진이, 상기 프로세서의 제어에 따른 쿼리 명령을 실행하여, 상기 포인터 테이블 컴포넌트의 상기 포인터에 대한 접근의 결과로서 획득한 키 값 데이터를 이용하여 상기 스토리지에 저장된 데이터에 접근하는 단계를 포함하는데이터 접근 방법. |
| 2 | 제 1 항에 있어서,상기 데이터에 접근하는 단계에서 상기 데이터베이스 엔진은, 찾으려는 키 값 데이터의 포인터가 상기 포인터 테이블 컴포넌트에서 발견되지 않으면 상기 샤드 내 블록 캐시 컴포넌트에서 상기 찾으려는 키 값 데이터를 탐색하는데이터 접근 방법. |
| 3 | 제 2 항에 있어서,상기 포인터 테이블 컴포넌트 각각은,상기 포인터가 보관되는 포인터 해시테이블과,상기 포인터 해시테이블에 보관되는 포인터의 해시 값을 보관하는 큐를 포함하는데이터 접근 방법. |
| 4 | 제 3 항에 있어서,상기 데이터베이스 엔진이 상기 큐에 해시 값이 보관된 포인터의 개수가 미리 정의된 임계값을 초과하면 FIFO(first-in first-out) 방식으로 상기 큐에서 해시 값을 제거하는데이터 접근 방법. |
| 5 | 제 4 항에 있어서,상기 데이터베이스 엔진이 상기 큐에서 제거되는 해시 값을 이용하여 상기 포인터 해시테이블에서 대응하는 포인터를 제거하는데이터 접근 방법. |
| 6 | 제 3 항에 있어서,상기 포인터 테이블 컴포넌트 각각은,상기 포인터 테이블 컴포넌트에서 상기 찾으려는 키 값 데이터의 포인터가 발견되지 않는 횟수와 상기 키 값 데이터의 탐색을 위해 상기 샤드에 접근하는 횟수를 계수하는 모니터를 더 포함하는데이터 접근 방법. |
| 7 | 제 6 항에 있어서,상기 데이터베이스 엔진이 상기 계수된 상기 샤드에 접근하는 횟수가 미리 정의된 상한에 도달하면 대응하는 키 값 데이터의 포인터를 상기 포인터 해시테이블에 삽입하는데이터 접근 방법. |
| 8 | 제 6 항에 있어서,상기 데이터베이스 엔진이 상기 계수된 찾으려는 키 값 데이터의 포인터가 발견되지 않는 횟수가 미리 정의된 상한에 도달하면 대응하는 블록 개시 접근 경로에서 대응하는 포인터 해시테이블 접근 경로를 동적으로 제외하는데이터 접근 방법. |
| 9 | 제 3 항에 있어서,상기 포인터 테이블 컴포넌트 각각은,각각의 포인터 테이블 컴포넌트에 대한 읽기권한의 획득 및 해제, 쓰기권한의 획득 및 해제를 위한 읽기/쓰기 락(lock)을 더 포함하는데이터 접근 방법. |
| 10 | 적어도 하나의 명령어 및 데이터베이스를 저장하는 스토리지와,프로세서를 포함하고;상기 프로세서에 의해 상기 적어도 하나의 명령어가 실행됨으로써, 상기 스토리지의 모든 키 값 데이터를 보관하는 스토리지 엔진과, 상기 스토리지 엔진에 보관된 키 값 데이터 중 상기 스토리지 엔진의 접근도가 임계치 이상인 키 값 데이터를 인덱스하고 캐싱하는 메모리 레이어, 및 데이터베이스 엔진을 생성 - 상기 메모리 레이어는, 병렬 접근을 지원하는 복수의 샤드 내 LRU 캐시에 상기 접근도가 임계치 이상인 키 값 데이터를 보관하는 블록 캐시 컴포넌트와, 상기 복수의 샤드의 상위 계층에 각각 배치되어 병렬적으로 접근 가능하고, 상기 접근도가 임계치 이상인 키 값 데이터 중 상기 블록 캐시의 접근도가 임계치 이상인 키 값 데이터의 포인터를 해시테이블에 보관하는 복수의 포인터 테이블 컴포넌트를 포함함 - 하는 단계; 상기 데이터베이스 엔진이, 상기 프로세서의 제어에 따른 쿼리 명령을 실행하여, 상기 포인터 테이블 컴포넌트의 상기 포인터에 대한 접근의 결과로서 획득한 키 값 데이터를 이용하여 상기 스토리지에 저장된 데이터에 접근하는컴퓨팅 장치. |
| 11 | 제 10 항에 있어서,상기 데이터에 접근할 때에 상기 데이터베이스 엔진은, 찾으려는 키 값 데이터의 포인터가 상기 포인터 테이블 컴포넌트에서 발견되지 않으면 상기 샤드 내 블록 캐시 컴포넌트에서 상기 찾으려는 키 값 데이터를 탐색하는컴퓨팅 장치. |
| 12 | 제 11 항에 있어서,상기 포인터 테이블 컴포넌트 각각은,상기 포인터가 보관되는 포인터 해시테이블과,상기 포인터 해시테이블에 보관되는 포인터의 해시 값을 보관하는 큐를 포함하는컴퓨팅 장치. |
| 13 | 제 12 항에 있어서,상기 데이터베이스 엔진이 상기 큐에 해시 값이 보관된 포인터의 개수가 미리 정의된 임계값을 초과하면 FIFO 방식으로 상기 큐에서 해시 값을 제거하는컴퓨팅 장치. |
| 14 | 제 13 항에 있어서,상기 데이터베이스 엔진이 상기 큐에서 제거되는 해시 값을 이용하여 상기 포인터 해시테이블에서 대응하는 포인터를 제거하는컴퓨팅 장치. |
| 15 | 제 12 항에 있어서,상기 포인터 테이블 컴포넌트 각각은,상기 포인터 테이블 컴포넌트에서 상기 찾으려는 키 값 데이터의 포인터가 발견되지 않는 횟수와 상기 키 값 데이터의 탐색을 위해 상기 샤드에 접근하는 횟수를 계수하는 모니터를 더 포함하는컴퓨팅 장치. |
| 16 | 제 15 항에 있어서,상기 데이터베이스 엔진이 상기 계수된 상기 샤드에 접근하는 횟수가 미리 정의된 상한에 도달하면 대응하는 키 값 데이터의 포인터를 상기 포인터 해시테이블에 삽입하는컴퓨팅 장치. |
| 17 | 제 15 항에 있어서,상기 데이터베이스 엔진이 상기 계수된 찾으려는 키 값 데이터의 포인터가 발견되지 않는 횟수가 미리 정의된 상한에 도달하면 대응하는 블록 개시 접근 경로에서 대응하는 포인터 해시테이블 접근 경로를 동적으로 제외하는컴퓨팅 장치. |
| 18 | 제 12 항에 있어서,상기 포인터 테이블 컴포넌트 각각은,각각의 포인터 테이블 컴포넌트에 대한 읽기권한의 획득 및 해제, 쓰기권한의 획득 및 해제를 위한 읽기/쓰기 락을 더 포함하는컴퓨팅 장치. |
| 19 | 컴퓨터 프로그램을 저장하고 있는 컴퓨터 판독 가능 기록매체로서,상기 컴퓨터 프로그램은,적어도 하나의 명령어 및 데이터베이스를 저장하는 스토리지에 대하여, 프로세서에 의해 상기 적어도 하나의 명령어가 실행됨으로써, 상기 스토리지의 모든 키 값 데이터를 보관하는 스토리지 엔진과, 상기 스토리지 엔진에 보관된 키 값 데이터 중 상기 스토리지 엔진의 접근도가 임계치 이상인 키 값 데이터를 인덱스하고 캐싱하는 메모리 레이어, 및 데이터베이스 엔진을 생성 - 상기 메모리 레이어는, 병렬 접근을 지원하는 복수의 샤드 내 LRU 캐시에 상기 접근도가 임계치 이상인 키 값 데이터를 보관하는 블록 캐시 컴포넌트와, 상기 복수의 샤드의 상위 계층에 각각 배치되어 병렬적으로 접근 가능하고, 상기 접근도가 임계치 이상인 키 값 데이터 중 상기 블록 캐시의 접근도가 임계치 이상인 키 값 데이터의 포인터를 해시테이블에 보관하는 복수의 포인터 테이블 컴포넌트를 포함함 - 하는 단계;상기 데이터베이스 엔진이, 상기 프로세서의 제어에 따른 쿼리 명령을 실행하여, 상기 포인터 테이블 컴포넌트의 상기 포인터에 대한 접근의 결과로서 획득한 키 값 데이터를 이용하여 상기 스토리지에 저장된 데이터에 접근하는 단계를 포함하는,데이터 접근 방법을 상기 프로세서가 수행하도록 하기 위한 명령어를 포함하는컴퓨터 판독 가능한 기록매체. |
| 20 | 컴퓨터 판독 가능한 기록매체에 저장되어 있는 컴퓨터 프로그램으로서,상기 컴퓨터 프로그램은,적어도 하나의 명령어 및 데이터베이스를 저장하는 스토리지에 대하여, 프로세서에 의해 상기 적어도 하나의 명령어가 실행됨으로써, 상기 스토리지의 모든 키 값 데이터를 보관하는 스토리지 엔진과, 상기 스토리지 엔진에 보관된 키 값 데이터 중 상기 스토리지 엔진의 접근도가 임계치 이상인 키 값 데이터를 인덱스하고 캐싱하는 메모리 레이어, 및 데이터베이스 엔진을 생성 - 상기 메모리 레이어는, 병렬 접근을 지원하는 복수의 샤드 내 LRU 캐시에 상기 접근도가 임계치 이상인 키 값 데이터를 보관하는 블록 캐시 컴포넌트와, 상기 복수의 샤드의 상위 계층에 각각 배치되어 병렬적으로 접근 가능하고, 상기 접근도가 임계치 이상인 키 값 데이터 중 상기 블록 캐시의 접근도가 임계치 이상인 키 값 데이터의 포인터를 해시테이블에 보관하는 복수의 포인터 테이블 컴포넌트를 포함함 - 하는 단계; 상기 데이터베이스 엔진이, 상기 프로세서의 제어에 따른 쿼리 명령을 실행하여, 상기 포인터 테이블 컴포넌트의 상기 포인터에 대한 접근의 결과로서 획득한 키 값 데이터를 이용하여 상기 스토리지에 저장된 데이터에 접근하는 단계를 포함하는,데이터 접근 방법을 상기 프로세서가 수행하도록 하기 위한 명령어를 포함하는컴퓨터 프로그램. |