1 |
1
진행중인 트랜잭션에서 페이지버퍼에 적재된 데이터베이스 페이지(DBP) 갱신시 페이지버퍼가 갱신내역에 대한 지연쓰기 레코드(DWR)(100)를 생성하며, 여기에서 지연쓰기 레코드(100)는 앞부분에 배치되어 레코드의 크기, 갱신되는 페이지에 대한 페이지식별자(PID), 연산의 종류를 포함하고 있는 공통 필드영역 및 공통 필드영역 이후에 배치되어 각각의 연산별로 필요한 정보를 포함하고 있는 연산별 필드영역을 구비하는 구조이고, 그리고 생성된 지연쓰기 레코드를 플래시 메모리 상의 지연쓰기 버퍼(DWB)에 추가하는 제1 단계;
상기 진행중인 트랜잭션의 커밋시 상기 지연쓰기 버퍼에 존재하는 지연쓰기 레코드를 파일 시스템의 지연쓰기 파일(DWF)에 기록하는 제2 단계;
데이터베이스 시스템의 프로그램 재시작에 따라 지연쓰기 버퍼가 상기 파일 시스템의 지연쓰기 파일의 내용을 읽어 들이는 제3 단계; 및
트랜잭션 진행에 따라 페이지버퍼의 상위계층에 의해 상기 파일 시스템의 데이터베이스 파일로부터 데이터베이스 페이지를 읽어 들이고 해당 페이지의 페이지식별자(PID)를 이용하여 상기 지연쓰기 버퍼에서 제3 단계에서 읽어들인 레코드들 중 관련된 지연쓰기 레코드의 존재여부를 검색하며 그리고 검색된 관련된 지연쓰기 레코드를 상기 데이터베이스 파일로부터 읽어 들인 이전 데이터베이스 페이지의 이미지에 반영하여 병합하는 제4 단계;를 포함하고,
상기 제2 단계는 진행중인 트랜잭션에 대한 지연쓰기 레코드 기록 과정에서 기존 지연쓰기 파일에 기록된 유효한 지연쓰기 레코드 및 유효한 싱크트 페이지 리스트만을 유지하고 불필요한 데이터를 삭제하고 크기를 줄이는 축약작업을 수행하고 새로운 지연쓰기 파일을 생성하는 제2-1 단계를 포함하여 이루어지고, 여기에서 상기 싱크트 페이지 리스트는 갱신된 페이지들 중에서 지연쓰기를 수행하지 않고 페이지 전체를 데이터베이스 파일에 기록한 페이지들에 대한 페이지식별자들인 것을 특징으로 하는 플래시 메모리 기반 임베디드 데이터베이스 시스템의 지연쓰기 방법
|
2 |
2
제 1 항에 있어서, 상기 지연쓰기 파일의 구조는,
지연쓰기 레코드들이 트랜잭션 단위로 기록되며 트랜잭션의 경계를 나타내기 위한 경계레코드를 트랜잭션 단위로 기록된 지연쓰기 레코드들의 시작과 끝에 삽입하고, 경계레코드 사이에는 갱신된 페이지들 중에서 지연쓰기를 수행하지 않고 페이지 전체를 데이터베이스 파일에 기록한 페이지들에 대한 페이지식별자들(싱크트 페이지 리스트)이 위치하고, 이어서 지연쓰기 레코드들이 기록되고, 페이지 크기에 맞춰 정렬하기 위해 더미 데이터가 추가되는 것을 특징으로 하는 플래시 메모리 기반 임베디드 데이터베이스 시스템의 지연쓰기 방법
|
3 |
3
제 2 항에 있어서,
시작경계레코드와 종료경계레코드로 구분되는 지연쓰기 레코드들의 집합인 트랜잭션런의 구조를 갖추어 갱신 트랜잭션당 하나의 트랜잭션런이 할당되고,
제3 단계에서 데이터베이스 응용프로그램이 시작되는 경우에 수행되는 지연쓰기 읽기는 트랜잭션런 내에서 앞에서 뒤로 레코드를 읽되 최근 트랜잭션런에서 이전 트랜잭션런 순서로 진행하는 것을 특징으로 하는 플래시 메모리 기반 임베디드 데이터베이스 시스템의 지연쓰기 방법
|
4 |
4
제 2 항 또는 제 3 항에 있어서, 제2 단계는,
상기 제2-1 단계에서 상기 축약작업으로 새로운 지연쓰기 파일 생성이 성공적으로 종료되면 기존의 지연쓰기 파일을 삭제하는 제2-2 단계;를 포함하여 이루어지는 것을 특징으로 하는 플래시 메모리 기반 임베디드 데이터베이스 시스템의 지연쓰기 방법
|
5 |
5
제 4 항에 있어서,
진행중인 트랜잭션에서 생성된 지연쓰기 레코드를 추가하는 과정에서 데이터베이스 페이지별로 현 트랜잭션에서 생성된 지연쓰기 레코드(활성 지연쓰기 레코드)의 크기와 이전 트랜잭션에서 생성된 지연쓰기 레코드(안정된 지연쓰기 레코드)의 크기의 합이 페이지 크기의 미리 예정된 비율 이상이 되면 제2 단계에서 지연쓰기를 수행하지 않고 페이지 전체를 데이터베이스 파일에 기록하는 제2' 단계를 더 포함하는 것을 특징으로 하는 플래시 메모리 기반 임베디드 데이터베이스 시스템의 지연쓰기 방법
|
6 |
6
제 4 항에 있어서,
진행중인 트랜잭션 커밋시 지연쓰기 버퍼에 유지되고 있는 갱신내역을 파악하여 다음의 지연쓰기를 통한 이득(감소되는 페이지 양)을 사용하여 지연쓰기를 통한 이득이 없는 경우(이득 값이 양의 값이 아닌 경우) 제2 단계에서 지연쓰기를 수행하지 않고 갱신된 페이지를 데이터베이스 파일에 기록하는 제2" 단계를 더 포함하는 것을 특징으로 하는 플래시 메모리 기반 임베디드 데이터베이스 시스템의 지연쓰기 방법:
지연쓰기를 통한 이득 = {지연쓰기 미수행시 갱신될 페이지의 개수} - {지연쓰기 수행시 지연쓰기 파일에 기록될 페이지의 개수 + 1}
|
7 |
7
제 4 항에 있어서,
데이터베이스 페이지의 갱신영역이 페이지 헤더 영역인 경우 매번 갱신 때마다 지연쓰기 레코드를 생성하는 대신 갱신되는 헤더 영역만 유지하였다가 트랜잭션 커밋시에 갱신 영역을 지연쓰기 레코드로 생성하는 것을 특징으로 하는 플래시 메모리 기반 임베디드 데이터베이스 시스템의 지연쓰기 방법
|
8 |
8
파일시스템, 페이지버퍼 및 질의처리기를 포함하는 플래시 메모리 기반 임베디드 데이터베이스 시스템에 있어서,
상기 파일시스템은 데이터베이스 파일과 지연쓰기 파일을 구비하고,
상기 데이터베이스 시스템은:
진행중인 트랜잭션에서 페이지버퍼에 적재된 데이터베이스 페이지(DBP) 갱신시 페이지버퍼에 의해 갱신내역에 대한 생성된 지연쓰기 레코드(DWR)가 추가되고 데이터베이스 시스템의 프로그램 재시작에 따라 상기 파일 시스템의 지연쓰기 파일의 내용을 읽어 들이는 지연쓰기 버퍼(DWB);
진행중인 트랜잭션의 커밋시 상기 지연쓰기 버퍼에 존재하는 지연쓰기 레코드를 상기 파일 시스템의 지연쓰기 파일(DWF)에 기록하는 지연쓰기 기록수단;
트랜잭션 진행에 따라 질의처리기에 의해 상기 파일 시스템의 데이터베이스 파일로부터 읽어 들인 데이터베이스 페이지의 페이지식별자(PID)를 이용하여 상기 지연쓰기 버퍼에서 지연쓰기 파일로부터 읽어들인 레코드들 중 관련된 지연쓰기 레코드의 존재여부를 검색하고 검색된 관련된 지연쓰기 레코드를 상기 데이터베이스 파일로부터 읽어 들인 이전 데이터베이스 페이지의 이미지에 반영하여 병합하는 병합수단; 및
진행중인 트랜잭션에 대한 지연쓰기 레코드 기록 과정에서 기존 지연쓰기 파일에 기록된 유효한 지연쓰기 레코드만을 유지하고 불필요한 데이터를 삭제하고 크기를 줄이는 축약작업을 수행하고 새로운 지연쓰기 파일을 생성하는 축약수단;을 더 포함하여 이루어지는 것을 특징으로 하는 지연쓰기를 위한 플래시 메모리 기반 임베디드 데이터베이스 시스템
|