|
![]() ![]()
|
In Queue databases, records are allocated sequentially and directly mapped to an offset within the file storage for the database. As records are deleted from the Queue, pages will become empty and will not be reused in normal queue operations. To facilitate the reclamation of disk space a Queue may be partitioned into extents. Each extent is kept in a separate physical file.
(Queue 에서 레코드들은 연속적으로 할당되어 디비의 파일 저장공간에대한 오프셋으로 맵핑된다.큐로부터 레코드들이 삭제될때 페이지는 비어있게 되고 일반 큐 오퍼레이션에서 사용되지 않게 된다.디스크공간의 재선언을 용이하게 하기 위해 큐는 확장으로 파티션될 수 있다.각 확장은 물리적인 개별파일에 유지된다.
Extent files are automatically created as needed and marked for deletion when the head of the queue moves off the extent. The extent will not be deleted until all processes close the extent. In addition, Berkeley DB caches a small number of extents that have been recently used; this may delay when an extent will be deleted. The number of extents left open depends on queue activity.
(파일확장은 필요할때 자동으로 생성되고 큐의 헤드가 확장으로 움직일때 삭제를 위해 마킹된다.추가로 버클리디비는 최근에 사용된 최소량의 확장을 캐시한다.캐시이외에 열려져야 하는 파일의 수은 큐의 활동성에 의존적이다. )
The extent size specifies the number of pages that make up each extent. By default, if no extent size is specified, the Queue resides in a single file and disk space is not reclaimed. In choosing an extent size there is a tradeoff between the amount of disk space used and the overhead of creating and deleting files. If the extent size is too small, the system will pay a performance penalty, creating and deleting files frequently. In addition, if the active part of the queue spans many files, all those files will need to be open at the same time, consuming system and process file resources.
![]() ![]()
|
Copyright (c) 1996-2003 Sleepycat Software, Inc. - All rights reserved.