KR20030095704A - Method of management for the spatial database - Google Patents

Method of management for the spatial database Download PDF

Info

Publication number
KR20030095704A
KR20030095704A KR1020020033249A KR20020033249A KR20030095704A KR 20030095704 A KR20030095704 A KR 20030095704A KR 1020020033249 A KR1020020033249 A KR 1020020033249A KR 20020033249 A KR20020033249 A KR 20020033249A KR 20030095704 A KR20030095704 A KR 20030095704A
Authority
KR
South Korea
Prior art keywords
data
spatial
spatial data
record
blob
Prior art date
Application number
KR1020020033249A
Other languages
Korean (ko)
Other versions
KR100449419B1 (en
Inventor
배해영
김성희
조숙경
김명근
Original Assignee
학교법인 인하학원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 학교법인 인하학원 filed Critical 학교법인 인하학원
Priority to KR10-2002-0033249A priority Critical patent/KR100449419B1/en
Publication of KR20030095704A publication Critical patent/KR20030095704A/en
Application granted granted Critical
Publication of KR100449419B1 publication Critical patent/KR100449419B1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/29Geographical information databases

Abstract

PURPOSE: A method for managing spatial data is provided to efficiently store and manage a spatial data base system by providing a record structure of spatial data various in volume. CONSTITUTION: A record structure is decided by the volume of spatial data. In the case that the volume of the spatial data is small, the spatial data is stored with non-spatial data. The record is formed of a header field having a whole length of the record, a flag representing that the spatial data is stored with the non-spatial data in the current record, and an offset representing a stored position of the spatial data. In the case that the volume of the spatial data is large, data are separately stored in a BLOB(Binary Large OBject). The record is formed of a flag representing the data are stored in the BLOB, a header field, and a first page identification field of the BLOB.

Description

공간데이터 관리방법{METHOD OF MANAGEMENT FOR THE SPATIAL DATABASE}Spatial data management method {METHOD OF MANAGEMENT FOR THE SPATIAL DATABASE}

본 발명은 공간데이터베이스 시스템에서 공간데이터를 효율적으로 저장하고 관리하는 방법에 관한 것으로, 더욱 자세하게는 공간데이터의 크기에 따라 데이터베이스를 저장하고 관리하는 방법을 달리하여 한정된 디스크 공간을 더욱 효율적으로 사용할 수 있는 방법에 관한 것이다.The present invention relates to a method for efficiently storing and managing spatial data in a spatial database system. More particularly, the present invention relates to a method of storing and managing a database according to the size of spatial data, thereby enabling the use of limited disk space more efficiently. It is about a method.

종래의 공간데이터와 같은 대용량의 멀티미디어의 데이터를 저장, 관리하기 위한 것으로는 EXODUS 및 STARBURST의 대용량 관리 모듈이 대표적이다.A large capacity management module of EXODUS and STARBURST is typical for storing and managing data of a large amount of multimedia such as conventional spatial data.

EXODUS의 저장관리자는 기본적으로 B-TREE 구조의 인덱스를 이용하여 임의위치 접근(RANDOM ACCESS)이 용이하도록 하며, STARBURST는 롱 필드 관리자를 사용하여 보다 빠른 순차 접근이 용이하도록 한다.The storage manager of EXODUS basically makes use of B-TREE indexes to facilitate random access, and STARBURST facilitates faster sequential access using long field managers.

그러나, 상기와 같은 종래기술들은 다음과 같은 문제점이 있다.However, the above conventional technologies have the following problems.

우선, 도 1에 나타낸 EXODUS의 저장관리자는 B-TREE구조의 인덱스를 이용하여 임의 위치 접근이 용이하도록 하나, 도시된 바와 같이, 할당된 대용량 데이터들이 디스크에 각각 분산되어 저장되어지므로 순차접근(SEQUENTIAL ACCESS)에 대한 성능이 떨어지는 문제점이 있다.First, the storage manager of EXODUS shown in FIG. 1 facilitates arbitrary location access by using an index of a B-TREE structure. However, as shown in FIG. ACCESS) has a problem of poor performance.

도 2는 STARBURST의 롱 필드 관리자를 나타낸 것으로, 빠른 순차 접근을 위한 할당정책으로 버디 시스템을 사용한다.2 illustrates a long field manager of STARBURST, and uses a buddy system as an allocation policy for fast sequential access.

그러나, 버디 시스템은 대용량 데이터에 대해 삽입, 삭제 연산을 수행할 때 많은 디스크의 입출력을 발생시키는 문제점이 있다.However, the buddy system has a problem of generating input / output of a large number of disks when inserting or deleting a large amount of data.

상기와 같은 종래기술들은 데이터가 항상 대용량 데이터인 경우에 대해서 적용할 수 있도록 데이터베이스를 구축하여 관리하기 때문에, 공간데이터와 같이 데이터의 크기가 몇 바이트에서 몇 테라바이트까지의 다양한 크기를 갖는 경우, 디스크 공간 낭비와 빈번한 디스크 입출력의 발행으로 시스템의 성능이 저하된다.Since the above-described prior arts build and manage a database so that data can always be applied to a large amount of data, when the size of the data has various sizes, such as spatial data, from several bytes to several terabytes, System performance is reduced due to wasted space and frequent issuance of disk I / O.

위와 같은 문제점을 해소하기 위한 본 발명은, 데이터의 크기가 수 바이트로부터 수 기가 바이트에 이르는 다양한 크기를 갖는 공간데이터를 효율적으로 저장하고 관리하는 데에 그 목적이 있다.The present invention for solving the above problems, the object of the present invention is to efficiently store and manage the spatial data having various sizes ranging from a few bytes to several gigabytes of data.

본 발명은 또한, 사용자의 공간질의시 공간데이터와 비공간데이터에 대한 공간연산을 최소화하기 위한 구조를 제공하는 데에 그 목적이 있다.Another object of the present invention is to provide a structure for minimizing spatial operations on spatial data and non-spatial data when a user queries a spatial query.

본 발명의 또 다른 목적으로는, 공간데이터의 크기에 따라 서로 다른 회복기법을 사용하여 회복비용을 최소화하는 것이다.Another object of the present invention is to minimize recovery costs by using different recovery techniques depending on the size of spatial data.

도 1은 종래기술인 EXODUS에서의 객체 관리기법을 나타낸 예시도.1 is an exemplary view showing an object management technique in the prior art EXODUS.

도 2는 종래기술인 STARBURST에서의 필드 관리기법을 나타낸 예시도.Figure 2 is an exemplary view showing a field management technique in the prior art STARBURST.

도 3은 본 발명에서 데이터의 크기에 따라 구성된 레코드 구조를 나타낸 블럭도.3 is a block diagram showing a record structure constructed according to the size of data in the present invention.

도 4는 본 발명에서 연산비용을 최소화하기 위한 레코드 구조를 나타낸 블럭도.Figure 4 is a block diagram showing a record structure for minimizing the operation cost in the present invention.

상기와 같은 목적을 달성하기 위한 본 발명은, 공간데이터의 크기에 따라서, 공간레코드가 저장되는 레코드의 구성을 달리하고, 선별적인 회복기법을 적용하며, 공간연산 및 공간 인덱스 생성시 헤더와 점리스트를 분리하여 저장하는 것을 특징으로 한다.The present invention for achieving the above object, according to the size of the spatial data, the configuration of the record in which the spatial record is stored, apply a selective recovery technique, and the header and point list during spatial calculation and spatial index generation It is characterized by separating and storing.

또한 본 발명은, 상기 공간데이터의 크기가 페이지의 1/3이하이여서 공간데이터와 비공간데이터를 같은 레코드에 저장할 경우의 레코드는, 플래그를 0으로 설정하고, 레코드 내에 비공간데이터가 저장된 위치(offset)를 기록하는 것을 포함하는 것을 특징으로 한다.In addition, in the present invention, when the size of the spatial data is less than 1/3 of the page, when the spatial data and the non-spatial data are stored in the same record, the flag is set to 0, and the position where the non-spatial data is stored in the record ( offset).

또한 본 발명은, 상기 공간데이터의 크기가 페이지의 1/3을 초과하여 이진 데이터 형식의 대용량 객체 데이터(BLOB)형식의 페이지에 공간데이터를 저장하는 경우의 레코드는, 플래그를 1로 설정하고, 공간데이터가 저장된 첫번째 페이지의 식별자를 저장하여 이진 데이터 형식의 대용량 객체 데이터(BLOB)형식의 데이터에 공간데이터를 접근할 수 있도록 하는 것을 포함하는 것을 특징으로 한다.In addition, in the present invention, when the size of the spatial data exceeds 1/3 of the page and the spatial data is stored in a page of a large object data (BLOB) format in binary data format, the flag is set to 1, And storing the identifier of the first page in which the spatial data is stored so that the spatial data can be accessed to the large object data (BLOB) format of the binary data format.

또한 본 발명은, 공간데이터를 접근함에 있어서, 원하는 비공간데이터 레코드를 찾은 후에 레코드 앞쪽에 위치한 플래그 값을 참조하여 플래그 값이 0이면 그 뒤에 있는 공간데이터가 저장된 위치값을 이용하여 해당 비공간데이터와 같은 레코드에 저장된 공간데이터에 접근하고, 플래그 값이 1이면 그 뒤에 있는 이진 데이터 형식의 대용량 객체 데이터(BLOB)형식으로 저장된 공간데이터의 첫번째 페이지 식별자를 이용하여 공간데이터에 접근하도록 하는 것을 특징으로 한다.In addition, in the present invention, in accessing the spatial data, after finding the desired non-spatial data record, if the flag value is 0 by referring to the flag value located in front of the record, the non-spatial data is stored using the position value in which the spatial data behind it is stored. If the flag value is 1, access the spatial data using the first page identifier of the spatial data stored in the BLOB format of binary data format. do.

또한 본 발명은, 상기 공간데이터의 점리스트는 그 크기가 작으면 비공간데이터 레코드에 저장하고, 그 크기가 크면 이진 데이터 형식의 대용량 객체 데이터(BLOB)형식으로 저장하여 공간데이터의 헤더와 분리하고, 공간데이터의 헤더는 항상 비공간데이터 레코드와 함께 저장하여 공간 인덱스 생성시 비공간데이터 레코드에 저장된 공간데이터의 헤더 정보에만 접근해도 되는 것을 특징으로 한다.In addition, the present invention, the point list of the spatial data is stored in a non-spatial data record if the size is small, and if the size is large and stored in a large object data (BLOB) format of binary data format separated from the header of the spatial data; The header of the spatial data may always be stored together with the non-spatial data record so that only the header information of the spatial data stored in the non-spatial data record may be accessed when the spatial index is generated.

또한 본 발명은, 공간데이터의 회복기법을 적용함에 있어서, 한 페이지보다 작은 데이터에 대해서는 아리스(ARIES)에 기반한 로깅 회복기법을 적용하고, 한 페이지를 초과하는 대용량 공간데이터에 대해서는 트랜잭션을 완료하기 전에 변경된 데이터 페이지를 반드시 디스크에 반영하는 포스(FORCE) 정책을 적용하는 것을 특징으로 한다.In addition, the present invention, in applying the spatial data recovery method, applies a logging recovery method based on ARIES for data smaller than one page, and before completing a transaction for large spatial data larger than one page It is characterized by applying a force policy that reflects the changed data page to disk.

이하 본 발명의 바람직한 일실시예를 첨부된 도면을 참조로 하여 설명하면 다음과 같다.Hereinafter, a preferred embodiment of the present invention will be described with reference to the accompanying drawings.

도 3은 본 발명에서 효율적인 공간 데이터의 저장과 관리를 위한 레코드의 구조를 나타낸 것으로, 레코드의 헤더 정보와 실제 레코드 데이터가 저장되는 방식의 기존 레코드 구조를 도시된 바와 같이 변경하였다.FIG. 3 illustrates a structure of a record for efficiently storing and managing spatial data in the present invention, and the existing record structure of a method of storing header information and actual record data of the record is changed as shown.

레코드 구조는 공간데이터의 크기에 따라서 결정되는데, 우선 공간데이터의 크기가 작을 경우(a)에는 비공간데이터와 함께 저장되며, 레코드 전체 길이를 갖는헤더필드와 현재 레코드에 공간데이터가 비공간데이터와 같이 저장되어 있는 것을 나타내는 플래그와 공간데이터가 저장되는 위치(offset)필드를 포함하여 구성된다.The record structure is determined according to the size of the spatial data.If the size of the spatial data is small (a), it is stored together with the non-spatial data, and the header field having the total length of the record and the spatial data in the current record It includes a flag indicating that it is stored together and an offset field in which spatial data is stored.

공간데이터의 크기가 클 경우(b)에는 데이터를 따로 BLOB(BINARY LARGE OBJECT : 이진 데이터 형식의 대용량 객체 데이터)에 저장하고, 레코드는, 데이터가 BLOB에 저장되어 있는 것을 나타내는 플래그와 헤더 필드 및 BLOB의 첫번째 페이지 식별자(ID)필드를 포함하여 구성된다.If the size of the spatial data is large (b), the data is stored separately in BLOB (BINARY LARGE OBJECT: large object data in binary data format), and the record contains a flag, header field, and BLOB indicating that the data is stored in the BLOB. First page identifier (ID) field.

상기와 같은 구조로 이루어진 레코드는, 다양한 크기를 가지는 공간데이터에 대한 효율적인 저장관리를 위해 공간데이터 크기가 한 페이지의 1/3이하이면 비공간데이터와 같은 레코드에 저장하고, 플래그를 0으로 설정하여 비공간데이터와 공간데이터가 같은 레코드에 저장되어 있음을 표시하며, 레코드 내에 비공간데이터가 저장된 위치를 기록한다.Records having the structure as described above are stored in the same record as non-spatial data when the spatial data size is 1/3 or less of one page for efficient storage management of the spatial data having various sizes, and the flag is set to 0. Indicates that the non-spatial data and the spatial data are stored in the same record, and records the location where the non-spatial data is stored in the record.

한편, 공간데이터의 크기가 1/3을 초과하면 플래그를 1로 설정하고, 공간데이터는 BLOB형식의 페이지에 저장된 후 공간데이터가 저장된 첫번째 페이지의 식별자를 저장하여 BLOB형식으로 저장된 공간데이터를 접근할 수 있도록 한다.On the other hand, if the size of the spatial data exceeds 1/3, set the flag to 1 and access the spatial data stored in the BLOB format by storing the identifier of the first page where the spatial data is stored after the spatial data is stored in the BLOB format page. To help.

사용자의 질의는 보통 공간데이터와 비공간데이터에 동시에 이루어진다. 그러므로 공간데이터와 비공간데이터가 따로 저장될 경우, 고비용의 죠인연산이 발생하게 된다. 이를 회피하기 위하여 공간테이블은 공간데이터와 비공간데이터를 함께 저장한다.User queries are usually made at the same time for both spatial and nonspatial data. Therefore, if spatial data and non-spatial data are stored separately, expensive join operation occurs. To avoid this, the spatial table stores both spatial data and non-spatial data.

그러나, 공간데이터에 대한 공간질의는 고비용의 공간연산을 필요로 하며, 공간연산 비용을 줄이기 위해 일반적으로 질의 사각형과 객체의 최소경계사각형을이용하여 질의 조건에 만족하는 객체를 추출하는 여과단계를 수행한다.However, spatial query for spatial data requires expensive spatial operation, and in order to reduce the cost of spatial operation, generally, the filtering step is performed to extract the object that satisfies the query condition by using the query rectangle and the minimum boundary rectangle of the object. do.

이러한 여과단계를 수행하기 위해 객체의 최소경계 사각형을 이용하여 다차원 데이터에 대한 B-TREE 기반의 다차원 인덱스인 R-TREE를 만들어야하며, 만일 R-TREE가 없을 경우 공간 객체에 대한 헤더정보가 더 필요하다.To perform this filtering step, R-TREE, a B-TREE-based multidimensional index for multidimensional data, must be created using the object's minimum bounding rectangle. If there is no R-TREE, header information for the spatial object is needed. Do.

또한, R-TREE를 생성할 때, 객체의 헤더정보의 하나인 객체의 최소경계사각형을 참조하기 때문에 공간데이터의 헤더정보를 점리스트와 동일하게 저장하게 되면 공간데이터에 대한 여과과정이나 R-TREE구성시 많은 디스크 입출력이 발생하기 때문에 공간데이터의 헤더와 점리스트를 다르게 저장한다.In addition, when creating an R-TREE, it refers to the minimum bounding rectangle of the object, which is one of the header information of the object. Therefore, if the header information of the spatial data is stored in the same way as the dot list, the filtering process for the spatial data or the R-TREE is performed. Because a lot of disk I / O occurs during configuration, the header and dot list of spatial data are stored differently.

이를 나타낸 것이 도 4로서, 공간연산 비용을 최소화하기 위한 구조를 나타낸다.4 shows a structure for minimizing the space computation cost.

도 4에서 처럼 공간연산 비용을 최소화하는 구조에서는 디스크 페이지에 저장된 공간데이터는 커서를 이용하여 접근된다. 이 때 이용되는 커서의 종류로는 보통 커서와 색인커서가 있다.In the structure of minimizing the space computation cost as shown in FIG. 4, the spatial data stored in the disk page is accessed using a cursor. The types of cursors used here are usually cursors and index cursors.

보통 커서를 이용하여 공간데이터를 접근한다면, 먼저 원하는 비공간데이터 를 찾은 후에 해당 레코드 앞부분의 플래그 값이 0일 경우, 비공간데이터 레코드에서 접근하고, 플래그 값이 1일 경우, 비공간데이터 레코드 내에 저장된 BLOB의 첫번째 페이지 식별자를 이용하여 공간데이터를 접근한다. 만약 커서가 색인 커서이면 현재 색인이 지시하는 레코드를 읽어들이면 된다.In general, when accessing spatial data using a cursor, first find the desired non-spatial data, and if the flag value in front of the record is 0, the non-spatial data record is accessed. The spatial data is accessed using the first page identifier of the stored BLOB. If the cursor is an index cursor, it reads the record pointed to by the current index.

상기에서 색인이 지시하는 레코드는 항상 비공간데이터의 레코드이다. 따라서, 사용자는 항상 공간데이터를 접근할 때 비공간데이터 레코드를 먼저 접근하고다음으로 공간데이터를 접근한다.The record indicated by the index is always a record of nonspatial data. Thus, when a user always accesses spatial data, the user accesses nonspatial data records first and then spatial data.

이렇게 데이터의 접근방향이 일정하기 때문에 따로 공간데이터에 대해 잠금을 요청할 필요가 없다. 따라서, 잠금(lock)에 따른 부하가 적으며, 공간데이터가 비공간데이터 레코드를 지시하는 쌍방향의 링크가 필요없다.Since the data access direction is constant, there is no need to request a lock on the spatial data. Therefore, there is less load due to the lock, and there is no need for a bidirectional link in which the spatial data points to a non-spatial data record.

또한, 공간데이터의 점리스트는 크기에 따라 비공간데이터 레코드나 BLOB형식으로 저장하지만, 공간데이터의 헤더는 항상 비공간데이터 레코드와 함께 저장하므로서 공간 인덱스(spatial index)생성시 실제 공간데이터에 대한 접근없이 비공간데이터 레코드에 저장된 헤더정보만 접근하면 되므로 디스크 입출력 비용을 절감할 수 있다.Also, the point list of spatial data is stored in the form of non-spatial data records or BLOB according to the size, but the header of the spatial data is always stored with the non-spatial data records so that access to the actual spatial data when creating the spatial index Only the header information stored in the non-spatial data record can be accessed, thereby reducing the disk I / O cost.

상기와 같은 레코드 구조를 가진 공간데이터베이스를 관리하는 시스템에서 시스템의 오류나 트랜잭션의 실행취소 등이 발생한 경우에는 데이터베이스의 일관성을 유지하기 위하여 회복기능이 사용된다.In a system that manages a spatial database with a record structure as described above, a recovery function is used to maintain database consistency in case of system failure or undo of a transaction.

본 발명에서는 한 페이지보다 작은 데이터에 대해서는 기존의 ARIES(A TRANSACTION RECOVERY METHOD SUPPORTING FINE-GRANUARAITY LOCKING AND PARTIAL ROLLBACKS USING WRITE-AHEAD LOGGING)에 기반하여, 데이터베이스에 대한 모든 기록 작업에 대한 로그를 기반으로 하는 트랜잭션 고장회복 알고리즘인 로깅 회복기법을 적용하고, 한 페이지 이상의 대용량 공간데이터에 대해서는 FOECE 정책을 사용한다.In the present invention, for data smaller than one page, based on the existing ARIES (A TRANSACTION RECOVERY METHOD SUPPORTING FINE-GRANUARAITY LOCKING AND PARTIAL ROLLBACKS USING WRITE-AHEAD LOGGING), a log-based transaction for all recording operations for the database. The logging recovery technique, which is a failure recovery algorithm, is applied, and the FOECE policy is used for large spatial data of more than one page.

상기 FORCE 정책은 트랜잭션이 어떤 데이터베이스 페이지를 변경할 경우 그 트랜잭션이 완료가 되기 전에 반드시 변경된 페이지를 디스크에 반영함으로서 회복메카니즘을 빠르고 단순화시킬 수 있는 장점이 있다.The FORCE policy has the advantage that if a transaction changes any database page, the recovery mechanism can be quickly and simplified by reflecting the changed page on disk before the transaction is completed.

상기의 두 기법을 적용하여서, 갱신연산을 수행할 경우, 기존의 데이터는 그대로 두고 새로운 데이터를 새로 할당된 BLOB에 기록하고 비공간데이터 레코드에 새로운 BLOB의 첫번째 식별자를 기록하고, 갱신 트랜잭션이 완료될 때 기존의 BLOB데이터를 삭제한다.By applying the above two techniques, if update operation is performed, the new data is written to the newly allocated BLOB with the existing data intact, the first identifier of the new BLOB is recorded in the non-spatial data record, and the update transaction is completed. Delete existing blob data.

상기 갱신연산을 수행할 때 BLOB의 삭제 연산을 트랜잭션의 완료시점까지 미루기 위하여 트랜잭션의 PENDING리스트라는 자료구조를 이용한다.When performing the update operation, a data structure called a pending list of transactions is used to postpone the delete operation of the BLOB to the completion of the transaction.

상기에서 트랜잭션의 PENDING리스트는 각각의 트랜잭션들에 대해서 트랜잭션의 완료시점까지 지연시켜야 되는 연산들을 가지고 있다.In the above, the PENDING list of transactions has operations that must be delayed until the completion of the transaction for each transaction.

상기처럼 트랜잭션 PENDING리스트에 추가하여 연산을 지연시키는 것은 BLOB에 속해있는 페이지가 삭제와 동시에 반환되어 다른 데이터가 쓰여지게 된다면, 이전 데이터가 유실되어 현재 트랜잭션을 취소시킬 수 없기 때문이다.As described above, delaying the operation by adding it to the transaction pending list is because if the page belonging to the blob is deleted and other data is written, the previous transaction is lost and the current transaction cannot be canceled.

삽입연산을 수행할 경우, BLOB의 삽입을 수행하고, 나중에 ROLLBACK이나 UNDO를 수행하게 되면 BLOB에 속해있는 페이지를 반환하면 된다.When performing an insert operation, insert a BLOB, and later perform a ROLLBACK or UNDO to return the page belonging to the BLOB.

삭제 연산의 경우, 갱신연산과 마찬가지로 BLOB에 속해있는 페이지를 즉시 반환하지 않고, 트랜잭션의 완료시점까지 지연시키기 위해서 트랜잭션의 PENDING리스트에 BLOB의 삭제 연산을 추가한다.In the case of the delete operation, like the update operation, the delete operation of the BLOB is added to the transaction PENDING list in order to delay the completion of the transaction without returning the page belonging to the BLOB immediately.

본 발명은 다양한 크기를 가지는 공간데이터에 대한 레코드 구조를 제공함으로서 효율적으로 공간데이터베이스 시스템을 사용할 수 있는 효과가 있다.The present invention has an effect that can efficiently use the spatial database system by providing a record structure for the spatial data having various sizes.

또한, 공간연산비용을 최소화하기 위한 레코드 구조를 이용하여 사용자의 공간질의에 대한 처리능력을 향상시킬 수 있는 효과가 있다.In addition, there is an effect that can improve the processing capacity of the user's spatial query by using a record structure to minimize the space computation cost.

또한, 공간데이터의 크기에 따라 선별적인 회복기법을 사용하므로서 공간낭비와 회복비용을 최소화하는 효과가 있다.In addition, by using a selective recovery method according to the size of the spatial data has the effect of minimizing the waste of space and recovery costs.

Claims (10)

공간데이터베이스 시스템에 있어서,In the spatial database system, 공간데이터의 크기에 따라서, 공간레코드가 저장되는 레코드의 구성을 달리하고, 선별적인 회복기법을 적용하며, 공간연산 및 공간 인덱스 생성시 헤더와 점리스트를 분리하여 저장하는 것을 특징으로 하는 공간데이터 관리방법.According to the size of the spatial data, the spatial data management is characterized in that the configuration of the record in which the spatial record is stored, apply a selective recovery technique, and separate the header and the point list when spatial calculation and spatial index generation Way. 제 1항에 있어서,The method of claim 1, 상기 공간데이터의 크기가 페이지의 1/3이하이여서 공간데이터와 비공간데이터를 같은 레코드에 저장할 경우의 레코드는, 플래그를 0으로 설정하고, 해당 레코드 내에 비공간데이터가 저장된 위치(offset)를 기록하는 것을 포함하는 것을 특징으로 하는 공간데이터 관리방법.When the size of the spatial data is less than one third of the page, and the record is stored in the same record, the record is set to 0 and the offset where the non-spatial data is stored is recorded. Spatial data management method comprising the. 제 1항에 있어서,The method of claim 1, 상기 공간데이터의 크기가 페이지의 1/3을 초과하여 이진 데이터 형식의 대용량 객체 데이터(BLOB)형식의 페이지에 공간데이터를 저장하는 경우의 레코드는, 플래그를 1로 설정하고, 공간데이터가 저장된 첫번째 페이지의 식별자를 저장하여 이진 데이터 형식의 대용량 객체 데이터(BLOB)형식의 공간데이터를 접근할 수 있도록 하는 것을 포함하는 것을 특징으로 하는 공간데이터 관리방법.When the size of the spatial data exceeds 1/3 of the page and the spatial data is stored in a page of a large object data (BLOB) format in binary data format, the record is set to 1 and the first data stored in the spatial data is stored. Spatial data management method comprising storing the identifier of the page to access the spatial data of the large object data (BLOB) format of the binary data format. 제 1항에 있어서,The method of claim 1, 공간데이터베이스 시스템에서 공간데이터를 접근함에 있어서,In accessing spatial data in a spatial database system, 원하는 비공간데이터 레코드를 찾은 후에 레코드 앞쪽에 위치한 플래그 값을 참조하여, 플래그 값이 0이면 그 뒤에 있는 공간데이터가 저장된 위치값을 이용하여 해당 비공간데이터와 같은 레코드에 저장된 공간데이터에 접근하고,After finding the desired nonspatial data record, refer to the flag value located in front of the record, and if the flag value is 0, access the spatial data stored in the same record as the nonspatial data by using the position value where the spatial data after it is stored. 플래그 값이 1이면 그 뒤에 있는 이진 데이터 형식의 대용량 객체 데이터(BLOB)형식으로 저장된 공간데이터의 첫번째 페이지 식별자를 이용하여 공간데이터에 접근하도록 하는 것을 특징으로 하는 공간데이터 관리방법.If the flag value is 1, the spatial data management method uses the first page identifier of the spatial data stored in a large object data (BLOB) format of binary data format behind it to access the spatial data. 제 1항에 있어서,The method of claim 1, 상기 공간데이터의 점리스트는 그 크기가 작으면 비공간데이터 레코드에 저장하고, 그 크기가 크면 이진 데이터 형식의 대용량 객체 데이터(BLOB)형식으로 저장하여 공간데이터의 헤더와 분리하고, 공간데이터의 헤더는 항상 비공간데이터 레코드와 함께 저장하여 공간 인덱스 생성시 비공간데이터 레코드에 저장된 공간데이터의 헤더 정보에만 접근해도 되는 것을 특징으로 하는 공간데이터 관리방법.The point list of the spatial data is stored in a non-spatial data record if its size is small, and is stored in a large object data (BLOB) format of a binary data format, and separated from the header of the spatial data, and the header of the spatial data. Is always stored together with the non-spatial data record to access only the header information of the spatial data stored in the non-spatial data record when creating a spatial index. 제 1항에 있어서,The method of claim 1, 공간데이터의 회복기법을 적용함에 있어서, 한 페이지보다 작은 데이터에 대해서는 아리스(ARIES)에 기반한 로깅 회복기법을 적용하고, 한 페이지를 초과하는 대용량 공간데이터에 대해서는 포스(FORCE) 정책을 적용하는 것을 특징으로 하는공간데이터 관리방법.In applying spatial data recovery method, ARIES-based logging recovery method is applied to data smaller than one page, and FORCE policy is applied to large spatial data more than one page. Spatial data management method. 제 6항에 있어서,The method of claim 6, 갱신연산을 수행할 경우, 기존의 데이터는 그대로 두고 새로운 데이터를 할당된 이진 데이터 형식의 대용량 객체 데이터(BLOB)에 기록하고, 비공간데이터 레코드에 새로운 이진 데이터 형식의 대용량 객체 데이터(BLOB)의 첫번째 페이지 식별자를 기록한 후 갱신연산이 완료되면 기존의 이진 데이터 형식의 대용량 객체 데이터(BLOB)를 삭제하는 것을 특징으로 하는 공간데이터 관리방법.When performing an update operation, the new data is written to a large object data (BLOB) in the allocated binary data format, leaving the existing data intact, and the first of the large object data (BLOB) in the new binary data format in the non-spatial data record. And storing a large object data (BLOB) of the existing binary data format when the update operation is completed after recording the page identifier. 제 7항에 있어서,The method of claim 7, wherein 이진 데이터 형식의 대용량 객체 데이터(BLOB)형식의 데이터에 대한 삭제 연산시, 삭제된 이진 데이터 형식의 대용량 객체 데이터(BLOB)의 유실로 인해 현재 트랜잭션의 취소가 불가능해지는 것을 방지하기 위하여, 실제적인 이진 데이터 형식의 대용량 객체 데이터(BLOB)의 삭제연산을 트랜잭션의 완료시점까지 지연하기 위한 펜딩(PENDING) 리스트를 사용하는 것을 특징으로 하는 공간데이터 관리방법.In a delete operation on a large object data (BLOB) data in binary data format, the actual binary to prevent cancellation of the current transaction due to the loss of the large object data (BLOB) data in the deleted binary data format. 10. A method of managing spatial data using a pending list for delaying the deletion of a large object data (BLOB) in a data format until the completion of a transaction. 제 6항에 있어서,The method of claim 6, 삽입연산을 수행함에 있어서, 이진 데이터 형식의 대용량 객체 데이터(BLOB)의 데이터 삽입을 수행하고, 롤백(ROLLBACK) 이나 실행취소(UNDO)를 수행하여 이진 데이터 형식의 대용량 객체 데이터(BLOB)에 속해 있는 페이지를 반환하는 것을 특징으로 하는 공간데이터 관리방법.In performing the insert operation, data insertion of a large object data (BLOB) of binary data type is performed, and a rollback or undo is performed to belong to a large object data (BLOB) of binary data type. Spatial data management method comprising the return of a page. 제 6항에 있어서,The method of claim 6, 삭제연산을 수행함에 있어서, 이진 데이터 형식의 대용량 객체 데이터(BLOB)에 속해있는 페이지를 바로 반환하지 않고, 펜딩(PENDING) 리스트에 이진 데이터 형식의 대용량 객체 데이터(BLOB)의 삭제연산을 추가하여 트랜잭션의 완료시점까지 지연시키는 것을 특징으로 하는 공간데이터 관리방법.In performing the delete operation, instead of immediately returning the page belonging to the large object data (BLOB) of binary data type, the transaction is performed by adding the delete operation of the large object data (BLOB) of binary data type to the PENDING list. Spatial data management method characterized in that the delay until the completion of.
KR10-2002-0033249A 2002-06-14 2002-06-14 Method for managing a spatial database selectively according to data size KR100449419B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2002-0033249A KR100449419B1 (en) 2002-06-14 2002-06-14 Method for managing a spatial database selectively according to data size

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2002-0033249A KR100449419B1 (en) 2002-06-14 2002-06-14 Method for managing a spatial database selectively according to data size

Publications (2)

Publication Number Publication Date
KR20030095704A true KR20030095704A (en) 2003-12-24
KR100449419B1 KR100449419B1 (en) 2004-09-18

Family

ID=32387010

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2002-0033249A KR100449419B1 (en) 2002-06-14 2002-06-14 Method for managing a spatial database selectively according to data size

Country Status (1)

Country Link
KR (1) KR100449419B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100620125B1 (en) * 2005-07-18 2006-09-06 인하대학교 산학협력단 System and method for a index reorganization using a part index transfer in spatial data warehouse
KR100902549B1 (en) * 2007-12-28 2009-06-15 주식회사 케이티 System for managing spatial database using maximized internal rectangle and method therefor

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109254733B (en) * 2018-09-04 2021-10-01 北京百度网讯科技有限公司 Method, device and system for storing data

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100284573B1 (en) * 1997-12-01 2001-03-15 정선종 Spatial Database Management Apparatus and Method Using Spatial Indexes Known on the Internet
US6003040A (en) * 1998-01-23 1999-12-14 Mital; Vijay Apparatus and method for storing, navigating among and adding links between data items in computer databases
KR100280090B1 (en) * 1998-01-23 2001-02-01 이계철 Multiple Filtration Method Using Minimum Maximum Filter in Spatial Database System
KR100289330B1 (en) * 1998-11-26 2001-05-02 정선종 Spatial engine device supporting heterogeneous database system and method of managing spatial data using same
KR100283618B1 (en) * 1998-12-03 2001-03-02 정선종 Spatial-attribute data management device and its method using spatial index in relational database
KR20030058687A (en) * 2001-12-31 2003-07-07 주식회사 케이티 The Management method depending on spatial data characteristic

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100620125B1 (en) * 2005-07-18 2006-09-06 인하대학교 산학협력단 System and method for a index reorganization using a part index transfer in spatial data warehouse
KR100902549B1 (en) * 2007-12-28 2009-06-15 주식회사 케이티 System for managing spatial database using maximized internal rectangle and method therefor

Also Published As

Publication number Publication date
KR100449419B1 (en) 2004-09-18

Similar Documents

Publication Publication Date Title
US7418544B2 (en) Method and system for log structured relational database objects
US8738845B2 (en) Transaction-safe fat file system improvements
US7451165B2 (en) File deletion and truncation using a zombie file space
US6789094B2 (en) Method and apparatus for providing extended file attributes in an extended attribute namespace
US8868512B2 (en) Logging scheme for column-oriented in-memory databases
US20160283501A1 (en) Posix-compatible file system, method of creating a file list and storage device
CN107798130A (en) A kind of Snapshot Method of distributed storage
KR20040053142A (en) Efficient management of large files
US8380663B2 (en) Data integrity in a database environment through background synchronization
US8090925B2 (en) Storing data streams in memory based on upper and lower stream size thresholds
US7225206B2 (en) System and method for reorganizing stored data
JP2010514038A (en) System, method, and computer program for managing data using a write-back cache unit
KR20030056540A (en) File destroy and recovery method against system failures in a database management system
CN107092685A (en) A kind of method that file system and RDBMS store transaction data are used in combination
KR102139087B1 (en) Method, server, and computer readable medium for index recovery using index redo log
US20120317384A1 (en) Data storage method
US20110099347A1 (en) Managing allocation and deallocation of storage for data objects
KR100449419B1 (en) Method for managing a spatial database selectively according to data size
CN116226232A (en) Persistent memory data storage method and system for distributed database
US20080005506A1 (en) Data processing
KR101086392B1 (en) An efficient recovery technique for large objects in write ahead logging
KR100632387B1 (en) Method for generating/managing an informal database and computer readable medium for storing a program for functioning the method on a computer
US8290993B2 (en) Data processing
KR20030058687A (en) The Management method depending on spatial data characteristic
KR20210033880A (en) Method, server, and computer readable medium for index recovery using index redo log

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120824

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20130822

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20140829

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20150902

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20160602

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20171106

Year of fee payment: 14

LAPS Lapse due to unpaid annual fee