1 |
1
키-벨류 저장 장치에 수행되는 방법에 있어서,메모리 구성 요소 및 디스크 구성 요소를 구성함에 따라 데이터의 크기에 따라 데이터 정보와 관련된 메모리 구성 요소를 결정하는 단계-상기 메모리 구성 요소로 Memtable 및 C버퍼(CBuffer)를 포함함-;상기 결정된 메모리 구성 요소에서 상기 데이터 정보를 처리함에 따라 키와 블룸 필터가 포함된 메타데이터를 디스크 구성 요소로 플러시(Flush)하여 데이터와 메타데이터를 분리하는 단계; 및 상기 분리된 메타데이터를 병합하여 문자열 정렬 테이블의 컴팩션을 지연시켜 데이터 관리 작업을 수행하는 단계를 포함하는 키-벨류 장치에서 저장 수행되는 방법
|
2 |
2
제1항에 있어서,상기 메모리 구성 요소를 결정하는 단계는,상기 데이터 크기를 확인하여 기 설정된 기준에 이하의 벨류를 분류하고, 상기 분류된 기 설정된 기준 이하의 벨류를 C버퍼에 삽입하고, 상기 기 설정된 기준 이하의 벨류로 분류되지 않은 나머지 벨류를 Memtable에 삽입하는 단계를 포함하고, 상기 분리하는 단계는,상기 C버퍼에 삽입된 기 설정된 기준 이하의 벨류를 임계값에 도달할 때까지 유지시키고 합병된 벨류들이 임계값 이상이 되면 그룹키와 합친 벨류를 Memtable에 삽입하며, 상기 나머지 벨류를 Memtable에 삽입함에 따라 상기 Memtable이 풀(Full) 상태가 되면 읽기 전용 테이블(immutable Memtable)로 변환되어, 일정 시간 이후에 풀(Full)상태의 데이터를 디스크 구성 요소로 플러시하고, 키벨류 데이터를 저장하기 위하여 새로운 Memtable을 생성하여, 이후에 들어오는 데이터를 삽입하는 단계를 포함하고, 상기 데이터 관리 작업을 수행하는 단계는,상기 플러시함에 따라 메타데이터와 데이터를 분리하고, 키와 블룸 필터가 포함된 메타데이터를 메타데이터 계층으로 플러싱하여 메타데이타를 벨류와 별도로 저장하며, 메타데이타가 풀(Full)이 되면 1차 컴팩션을 수행하며, 두 개의 인접 레벨의 메타데이터 파일이 기 설정된 기준의 키 범위에서 선택되어 메모리 구성 요소에서 읽히고, 상기 메모리 구성 요소에 존재하는 메타데이터를 병합하고 정렬하는 동안 업데이트되고 삭제된 데이터 항목이 delete-batch 로그에 기록됨에 따라 메타데이터에서 삭제되고, 상기 메타데이터를 병합한 후 새로운 메타데이터 파일을 하위 레벨로 작성하고 상기 메타데이터를 삭제하는 단계를 포함하는 키-벨류 저장 장치에서 수행되는 방법
|
3 |
3
제1항에 있어서,상기 데이터 관리 작업을 수행하는 단계는,상기 제1 컴팩션의 수행을 완료함에 따라 문자열 정렬 테이블의 레벨 0에 존재하는 데이터 정보가 상기 문자열 정렬 테이블의 목적지로 이동되는 제2 컴팩션을 수행하며, 상기 제2 컴팩션에서, 기 설정된 범위의 모든 레벨의 메타데이터 파일과 메타데이터를 참조하기 위한 문자열 정렬 테이블을 메모리 구성 요소로 읽고, 키가 상기 메타데이터 파일에 병합되고 정렬된 상태임에 따라 문자열 정렬 테이블을 읽은 후, 상기 메타데이터에 따라 데이터가 새로운 문자열 정렬 테이블로 이동하고, 메타데이터로부터의 참조가 새로운 문자열 정렬 테이블로 업데이트되는 단계 를 포함하는 키-벨류 저장 장치에서 수행되는 방법
|
4 |
4
제1항에 있어서,상기 메모리 구성 요소를 결정하는 단계는,애플리케이션으로부터 특정 키의 읽기 요청을 수신함에 따라, 상기 특정 키가 C 버퍼에 의해 병합된 항목에 포함되는지 또는 Memtable에 삽입되는지 결정하는 단계 를 포함하고,상기 분리하는 단계는,메타데이터 파일로부터 상기 병합된 항목을 검색함에 따라 키-벨류 항목을 추출하고, 상기 메타데이터 파일에서 상기 병합된 키-벨류 항목을 검색하고, 상기 메타데이터 파일에 상기 병합된 키-벨류가 존재하지 않는 경우, 데이터베이스에서 스캔을 시작하고, Memtable에서 검색이 실행되면 읽기 전용 Memtable에 포함된 데이터 정보가 디스크 구성 요소로 이동되고, 레벨 별로 데이터 정보를 블룸 필터에 확인하는 단계를 포함하고 상기 데이터 관리 작업을 수행하는 단계는, 상기 블룸 필터가 양의 피드백을 반환하면 메타데이터 파일이 스캔되고 문자열 정렬 테이블에 대한 참조가 획득되고, 상기 블룸 필터가 음의 피드백을 반환하는 경우 스캔 항목이 해당 레벨을 건너뛰고 상기 해당 레벨 다음의 레벨부터 검색을 계속하는 단계 를 포함하는 키-벨류 저장 장치에서 수행되는 방법
|
5 |
5
제1항에 있어서,상기 데이터 관리 작업을 수행하는 단계는,키-벨류 항목을 업데이트하기 위하여 업데이트된 벨류를 가진 동일한 키를 삽입하는 단계를 포함하는 키-벨류 저장 장치에서 수행되는 방법
|
6 |
6
제1항에 있어서,상기 데이터 관리 작업을 수행하는 단계는,상기 컴팩션이 시작되면 삭제된 키와 업데이트된 키를 메타데이터 파일에서 제거하는 단계를 포함하는 키-벨류 저장 장치에서 수행되는 방법
|
7 |
7
제1항에 있어서,상기 키-벨류 저장 장치는, 고정된 크기의 메타데이터 파일을 사용하고, 상기 메타데이터 파일은, 크기가 일정하며 키-벨류 형식의 적어도 하나 이상의 오프셋 블록과 필터 블록으로 구성되고, 상기 메타데이터 파일의 블룸 필터에 블록을 할당하고, 상기 블룸 필터를 메타데이터로 하며, 상기 오프셋 블록에 키-벨류 형식의 데이터를 저장하고, 키는 데이터의 키이고, 벨류는 키를 보유하고 있는 문자열 정렬 테이블에 대한 참조인것을 특징으로 하는 키-벨류 저장 장치에서 수행되는 방법
|
8 |
8
키-벨류 저장 장치에 있어서, 메모리에 포함된 컴퓨터 판독 가능한 명령을 실행하도록 구현되는 적어도 하나의 프로세서를 포함하고,상기 적어도 하나의 프로세서에 의해,메모리 구성 요소 및 디스크 구성 요소를 구성함에 따라 데이터의 크기에 따라 데이터 정보와 관련된 메모리 구성 요소를 결정하고-상기 메모리 구성 요소로 Memtable 및 C버퍼(CBuffer)를 포함함-, 상기 결정된 메모리 구성 요소에서 상기 데이터 정보를 처리함에 따라 키와 블룸 필터가 포함된 메타데이터를 디스크 구성 요소로 플러시(Flush)하여 데이터와 메타데이터를 분리하고, 상기 분리된 메타데이터를 병합하여 문자열 정렬 테이블의 컴팩션을 지연시켜 데이터 관리 작업을 수행하는키-벨류 저장 장치
|