KR100951099B1 - Method for storing and managing of data, and record media recoded program for implement thereof - Google Patents

Method for storing and managing of data, and record media recoded program for implement thereof Download PDF

Info

Publication number
KR100951099B1
KR100951099B1 KR1020080072022A KR20080072022A KR100951099B1 KR 100951099 B1 KR100951099 B1 KR 100951099B1 KR 1020080072022 A KR1020080072022 A KR 1020080072022A KR 20080072022 A KR20080072022 A KR 20080072022A KR 100951099 B1 KR100951099 B1 KR 100951099B1
Authority
KR
South Korea
Prior art keywords
buffer block
data
storage
buffer
block
Prior art date
Application number
KR1020080072022A
Other languages
Korean (ko)
Other versions
KR20100010999A (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 KR1020080072022A priority Critical patent/KR100951099B1/en
Publication of KR20100010999A publication Critical patent/KR20100010999A/en
Application granted granted Critical
Publication of KR100951099B1 publication Critical patent/KR100951099B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0626Reducing size or complexity of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 블록 단위 트랜잭션을 이용하여 대량의 데이터를 최소의 저장 공간에 실시간으로 저장하여 관리할 수 있도록 한 데이터 저장 관리 방법 및 그 방법을 수행하기 위한 프로그램이 기록된 기록매체에 관한 것으로, 데이터 저장관리 방법은 클라이언트의 데이터 삽입을 위한 상기 클라이언트의 삽입세션(Insert Session)에 따른 데이터를 실시간으로 수신하는 단계; 상기 수신된 데이터를 버퍼블록에 저장하고, 상기 데이터가 상기 버퍼블록의 저장공간에 모두 채워지거나 상기 버퍼블록의 저장 가능시간이 초과되는 경우 상기 버퍼블록에 저장된 데이터를 이용하여 블록 단위의 삽입 트랜잭션을 생성하는 단계; 및 상기 생성된 삽입 트랜잭션 단위의 데이터를 저장 디스크에 저장하는 단계를 포함하여 이루어지며, 상기 데이터를 저장 디스크에 저장하는 단계는 시간 범위로 로컬 인덱싱이 가능하도록 상기 블록 단위의 삽입 트랜잭션을 주기적으로 압축하여 압축된 버퍼블록을 생성하고, 상기 압축된 버퍼블록의 시간정보 및 위치를 상기 저장 디스크의 로컬 인덱스 영역에 저장함과 아울러 상기 압축된 버퍼블록의 데이터를 상기 저장 디스크의 데이터 영역에 저장하는 것을 특징으로 한다.The present invention relates to a data storage management method for storing and managing a large amount of data in a minimum storage space in real time using a block-by-block transaction, and a recording medium on which a program for executing the method is recorded. The management method may include receiving data in real time according to an insert session of the client for inserting data of the client; When the received data is stored in the buffer block and the data is filled in the storage space of the buffer block or the storage time of the buffer block is exceeded, an insert transaction in block units is performed using the data stored in the buffer block. Generating; And storing the generated insert transaction unit data on a storage disk, wherein storing the data on the storage disk periodically compresses the insert transaction on a block basis to enable local indexing over a time range. Generate a compressed buffer block, store time information and location of the compressed buffer block in a local index area of the storage disk, and store data of the compressed buffer block in a data area of the storage disk. It is done.

삽입세션, 트랜잭션, 버퍼블록, 로컬 인덱스, 디스크 Insert Session, Transaction, Buffer Block, Local Index, Disk

Description

데이터 저장 관리 방법 및 그 방법을 수행하기 위한 프로그램이 기록된 기록매체{METHOD FOR STORING AND MANAGING OF DATA, AND RECORD MEDIA RECODED PROGRAM FOR IMPLEMENT THEREOF}TECHNICAL FOR STORING AND MANAGING OF DATA, AND RECORD MEDIA RECODED PROGRAM FOR IMPLEMENT THEREOF}

본 발명은 데이터 저장 관리 방법에 관한 것으로, 보다 구체적으로, 블록 단위 트랜잭션을 이용하여 대량의 데이터를 최소의 저장 공간에 실시간으로 저장하여 관리할 수 있도록 한 데이터 저장 관리 방법 및 그 방법을 수행하기 위한 프로그램이 기록된 기록매체에 관한 것이다.The present invention relates to a data storage management method, and more particularly, to a data storage management method and a method for performing a method of storing and managing a large amount of data in a minimum storage space in real time using a block unit transaction. It relates to a recording medium on which a program is recorded.

일반적으로, 반도체 제조공정과 같은 물품 제조공정에서는 공정 진행상태, 수량, 관리 등의 정보와 같은 수 많은 데이터가 발생하고, 이러한 데이터를 관리하기 위한 데이터 관리 시스템이 사용되고 있다.In general, a large number of data such as information on process progress, quantity, management, etc. are generated in an article manufacturing process such as a semiconductor manufacturing process, and a data management system for managing such data is used.

일반적으로 데이터 관리 시스템은 레코드(Record)인 튜플(Tuple)의 삽입/삭제/변경(Insert/Delete/Update) 연산을 하는 트랜잭션 처리를 통해 테이블의 변경사항을 저장 공간에 기록한다. 그리고 트랜잭션 처리 내역을 로그 형태로 저장 공간에 기록한다. 이와 같이 트랜잭션마다 로그를 저장 공간에 기록하는 방식은 로그 저장을 위한 비용이 많이 필요하게 된다. 따라서, 튜플 단위의 트랜잭션 처리 방식은 저장 공간에 인덱스를 재구성하는 인덱스 생성 비용 및 개별 트랜잭션을 위한 로그 기록 비용이 필요하다는 문제점이 있으며, 저장 공간의 한정된 크기로 인해 대용량 데이터의 저장시 매우 많은 비용이 필요하게 되고, 대용량의 데이터를 실시간으로 저장할 수가 없다는 문제점이 있다.In general, a data management system records changes in a table in a storage space through transaction processing of insert / delete / update operations of a tuple, which is a record. The transaction processing history is recorded in the storage space in log form. As such, the method of recording the log in the storage space for each transaction requires a lot of cost for log storage. Therefore, the tuple-based transaction processing method requires the cost of creating an index to reorganize an index into a storage space, and a log writing cost for an individual transaction. Due to the limited size of the storage space, it is very expensive to store a large amount of data. There is a problem that can not be stored in real time, a large amount of data.

본 발명은 상술한 문제점을 해결하기 위한 것으로서, 블록 단위 트랜잭션을 이용하여 대량의 데이터를 최소의 저장 공간에 실시간으로 저장하여 관리할 수 있도록 한 데이터 저장 관리 방법 및 그 방법을 수행하기 위한 프로그램이 기록된 기록매체를 제공하는 것을 기술적 과제로 한다.SUMMARY OF THE INVENTION The present invention has been made to solve the above-described problem, and a data storage management method and a program for executing the method are provided so that a large amount of data can be stored and managed in real time using a block-by-block transaction in real time. It is a technical problem to provide a recorded recording medium.

상술한 목적을 달성하기 위한 본 발명에 따른 데이터 저장관리 방법은 클라이언트의 데이터 삽입을 위한 상기 클라이언트의 삽입세션(Insert Session)에 따른 데이터를 실시간으로 수신하는 단계; 상기 수신된 데이터를 버퍼블록에 저장하고, 상기 데이터가 상기 버퍼블록의 저장공간에 모두 채워지거나 상기 버퍼블록의 저장 가능시간이 초과되는 경우 상기 버퍼블록에 저장된 데이터를 이용하여 블록 단위의 삽입 트랜잭션을 생성하는 단계; 및 상기 생성된 삽입 트랜잭션 단위의 데이터를 저장 디스크에 저장하는 단계를 포함하여 이루어지며, 상기 데이터를 저장 디스크에 저장하는 단계는 시간 범위로 로컬 인덱싱이 가능하도록 상기 블록 단위의 삽입 트랜잭션을 주기적으로 압축하여 압축된 버퍼블록을 생성하고, 상기 압축된 버퍼블록의 시간정보 및 위치를 상기 저장 디스크의 로컬 인덱스 영역에 저장함과 아울러 상기 압축된 버퍼블록의 데이터를 상기 저장 디스크의 데이터 영역에 저장하는 것을 특징으로 한다.Data storage management method according to the present invention for achieving the above object comprises the steps of receiving data in accordance with the Insert Session (Insert Session) of the client for data insertion of the client in real time; When the received data is stored in the buffer block and the data is filled in the storage space of the buffer block or the storage time of the buffer block is exceeded, an insert transaction in block units is performed using the data stored in the buffer block. Generating; And storing the generated insert transaction unit data on a storage disk, wherein storing the data on the storage disk periodically compresses the insert transaction on a block basis to enable local indexing over a time range. Generate a compressed buffer block, store time information and location of the compressed buffer block in a local index area of the storage disk, and store data of the compressed buffer block in a data area of the storage disk. It is done.

상기 블록 단위의 삽입 트랜잭션을 생성하는 단계는 상기 삽입세션을 위해 상기 버퍼블록을 할당하는 단계; 상기 할당된 버퍼블록을 상기 삽입세션에 연결하는 단계; 상기 연결된 삽입세션을 통해 상기 데이터를 입력받는 단계; 상기 입력되는 데이터를 상기 할당된 버퍼블록에 저장하는 단계; 상기 입력되는 데이터가 상기 할당된 버퍼블록의 저장공간에 모두 채워지거나 상기 버퍼블록의 저장 가능시간이 초과되는 경우 상기 할당된 버퍼블록의 데이터 저장을 중지하는 단계; 및 상기 입력된 데이터가 저장된 버퍼블록을 이용하여 상기 삽입 트랜잭션을 생성함과 아울러 상기 삽입 트랜잭션의 저장을 요청하는 단계를 포함하여 이루어지는 것을 특징으로 한다.Generating an insert transaction in block units may include allocating the buffer block for the insert session; Coupling the allocated buffer block to the insertion session; Receiving the data through the connected insertion session; Storing the input data in the allocated buffer block; Stopping data storage of the allocated buffer block when the input data is filled in the storage space of the allocated buffer block or when the storage available time of the buffer block is exceeded; And generating the insertion transaction by using the buffer block in which the input data is stored, and requesting the storage of the insertion transaction.

상기 버퍼블록을 할당하는 단계는 대기 상태인 제 1 워크 플래그, 삽입 트랜잭션 생성중인 제 2 워크 플래그, 및 삽입 트랜잭션 저장중인 제 3 워크 플래그를 가지도록 메모리에 생성된 복수의 상기 버퍼블록을 포함하는 버퍼 풀(Buffer Pool)을 생성하는 단계; 상기 버퍼 풀 내의 버퍼블록 중 상기 제 1 워크 플래그 상태를 가지는 버퍼블록을 제공하는 대기 버퍼블록 리스트 정보, 상기 버퍼 풀 내의 버퍼블록 중 상기 제 2 워크 플래그 상태를 가지는 버퍼블록을 제공하는 삽입 버퍼블록 리스트 정보, 및 상기 버퍼 풀 내의 버퍼블록 중 상기 제 3 워크 플래그 상태를 가지는 버퍼블록을 제공하는 저장 버퍼블록 리스트 정보를 포함하는 버퍼 정보를 생성하는 단계; 상기 버퍼 풀 내의 버퍼블록 중 상기 대기 버퍼 리스트 정보 중 첫 번째 버퍼블록을 상기 삽입세션에 할당하는 단계; 및 상기 할당된 버퍼블록의 상태를 제 2 워크 플래그 상태로 변경하는 단계를 포함하여 이루어지는 것을 특징으로 한다.The allocating of the buffer block may include: a buffer including a plurality of the buffer blocks generated in a memory to have a first walk flag that is in a waiting state, a second walk flag that is generating an insert transaction, and a third walk flag that is storing an insert transaction; Creating a pool; Wait buffer block list information for providing a buffer block having the first walk flag state among the buffer blocks in the buffer pool, and an insert buffer block list for providing a buffer block having the second walk flag state among the buffer blocks in the buffer pool. Generating buffer information including information and storage buffer block list information for providing a buffer block having the third walk flag state among the buffer blocks in the buffer pool; Allocating a first buffer block of the waiting buffer list information among the buffer blocks in the buffer pool to the insertion session; And changing a state of the allocated buffer block to a second walk flag state.

상기 데이터 저장관리 방법은 상기 삽입 트랜잭션의 요청에 응답하여 상기 버퍼블록을 제 3 워크 플래그 상태로 변경하고, 상기 버퍼블록의 위치를 상기 저장 버퍼블록 리스트 정보의 마지막에 추가하는 단계; 및 상기 저장 디스크에 상기 삽입 트랜잭션의 데이터의 저장이 완료되면 상기 저장 완료된 버퍼블록의 위치를 상기 대기 버퍼 리스트 정보의 마지막에 추가하는 단계를 더 포함하여 이루어지는 것을 특징으로 한다.The data storage management method includes changing the buffer block to a third walk flag state in response to a request of the insert transaction, and adding a location of the buffer block to the end of the storage buffer block list information; And when the storing of the data of the insertion transaction is completed on the storage disk, adding the position of the buffer buffer completed at the end of the waiting buffer list information.

상술한 바와 같이 본 발명은 다음과 같은 효과가 있다.As described above, the present invention has the following effects.

첫째, 반도체 제조 공정 등에서 발생되는 대용량 데이터를 일정한 시간 범위를 가지는 블록 단위의 트랜잭션 기법을 이용함으로써 대용량 데이터를 고속으로 처리할 수 있다.First, a large amount of data generated in a semiconductor manufacturing process may be processed at a high speed by using a block-based transaction method having a predetermined time range.

둘째, 블록 단위로 데이터를 압축하여 로그 기록 수와 저장 디스크의 입출력을 감소시킴으로써 대용량 데이터를 빠른 속도로 저장 디스크에 저장할 수 있으며, 저장 디스크의 저장공간을 감소시킬 수 있다.Second, by compressing data in units of blocks to reduce the number of log records and the input / output of the storage disk, large data can be stored in the storage disk at high speed, and the storage space of the storage disk can be reduced.

셋째, 블록 단위의 데이터 압축시 시간 범위의 로컬 인덱싱을 생성하고, 이 로컬 인덱싱을 이용한 필요한 블록의 압축만을 해제하여 데이터 검색이 가능하게 함으로써 데이터 검색의 시간을 감소시킴과 아울러 데이터 검색 성능을 향상시킬 수 있다.Third, when local data is compressed in block units, local indexing in time range is generated, and data retrieval is possible by decompressing only necessary blocks using local indexing, thereby reducing data retrieval time and improving data retrieval performance. Can be.

이하 첨부된 도면을 참조하여 본 발명의 실시 예에 대해 상세히 설명한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 실시 예에 따른 데이터 저장 관리 시스템을 설명하기 위한 개념도이고, 도 2는 본 발명의 실시 예에 따른 데이터 저장관리 시스템을 나타내는 블록도이다.1 is a conceptual diagram illustrating a data storage management system according to an embodiment of the present invention, and FIG. 2 is a block diagram illustrating a data storage management system according to an embodiment of the present invention.

도 1 및 도 2를 참조하면, 데이터 저장 관리 시스템(100)은 물품 제조장치(10)에 접속되어 데이터를 수집하는 클라이언트의 삽입세션(Insert Session)에 따른 데이터를 실시간으로 수신하는 데이터 처리부(110); 데이터 처리부(110)에서 수신된 데이터(또는 로그 데이터)를 버퍼블록에 저장하고, 데이터가 버퍼블록의 저장공간을 모두 채우거나 버퍼블록의 저장 가능시간을 초과하는 경우 버퍼블록에 저장된 데이터를 이용하여 블록 단위의 삽입 트랜잭션을 생성하는 버퍼 매니저(Buffer Manager; 120); 시간 기반의 로컬 인덱싱이 가능하도록 블록 단위의 삽입 트랜잭션을 압축하여 압축된 버퍼블록을 생성하는 압축 매니저(Compress Manager; 130); 및 압축된 버퍼블록 단위의 시간정보 및 위치를 저장 디스크의 로컬 인덱스 영역에 저장함과 아울러 압축된 버퍼블록의 데이터를 버퍼블록 단위로 저장 디스크의 데이터 영역에 저장하는 저장 디스크 매니저(Disk Manager; 140)를 포함하여 구성된다.1 and 2, the data storage management system 100 is connected to an article manufacturing apparatus 10 and receives a data processor 110 that receives data in real time according to an insert session of an client collecting data. ); The data (or log data) received by the data processing unit 110 is stored in the buffer block, and when the data fills all the storage space of the buffer block or exceeds the available storage time of the buffer block, the data stored in the buffer block is used. A buffer manager 120 for generating a block-by-block insert transaction; A compression manager 130 for compressing an insert transaction on a block basis to enable local indexing based on time to generate a compressed buffer block; And a storage disk manager 140 for storing the time information and the location of the compressed buffer block in a local index area of the storage disk, and storing the data of the compressed buffer block in the data area of the storage disk in buffer block units. It is configured to include.

클라이언트(110)는 반도체 제조공정 등과 같은 물품 제조장치(10)의 제조공정에서 발생되는 공정 진행상태, 수량, 관리 등의 데이터를 수집하여 데이터 저장 관리 시스템(100)에 삽입세션을 생성하여 데이터 저장 관리 시스템(100)에 전송한다.The client 110 collects data such as process status, quantity, and management generated in the manufacturing process of the article manufacturing apparatus 10 such as a semiconductor manufacturing process, generates an insertion session in the data storage management system 100, and stores the data. To the management system 100.

데이터 처리부(110)는, 스토리지 세션 매니저(Storage Session Manager; 111); 카탈로그 매니저(Catalog Manager; 113); 어드민 세션 매니저(Admin Session Manager; 115); 쿼리 프로세서(Query Processor; 117); 및 리얼 타임 프로세서(Real Time Processor; 119)를 포함하여 구성된다.The data processor 110 may include a storage session manager 111; A catalog manager 113; Admin Session Manager 115; A query processor 117; And a real time processor 119.

스토리지 세션 매니저(111)는 클라이언트(20)와 연동하여 클라이언트(20)로부터의 삽입세션에 따른 데이터를 수신한다.The storage session manager 111 receives data according to an insertion session from the client 20 in cooperation with the client 20.

카탈로그 매니저(113)는 저장 디스크에 저장되는 데이터의 유형을 관리한다. 여기서, 데이터 유형은 이름, 종류, 크기, 상태 등이 될 수 있다.The catalog manager 113 manages the type of data stored in the storage disk. Here, the data type may be a name, type, size, state, or the like.

어드민 세션 매니저(115)는 버퍼블록의 저장공간 및 버퍼블록의 저장 가능시간 등을 설정하거나, 데이터 저장 관리 시스템(100) 내부의 전체적으로 제어 기능을 수행한다.The admin session manager 115 sets the storage space of the buffer block and the available storage time of the buffer block, or performs an overall control function in the data storage management system 100.

쿼리 프로세서(117)는 관리자의 질의에 상응하는 기능을 수행한다. 여기서, 쿼리 처리기(117)는 로컬 인덱스를 이용하여 시간범위를 포함한 질의 내용을 검색하여 검색 결과를 어드민 세션 매니저(115)로 제공할 수 있다.The query processor 117 performs a function corresponding to the administrator's query. Here, the query processor 117 may search the query contents including the time range using the local index and provide the search result to the admin session manager 115.

리얼 타임 프로세서(119)는 데이터 처리부(110) 내에서의 데이터 처리 및 질의가 실시간으로 이루어질 수 있도록 한다.The real time processor 119 allows data processing and queries in the data processor 110 to be performed in real time.

버퍼 매니저(120)는 메모리 상의 블록버퍼에 저장되는 데이터의 관리를 수행한다. 한편, 본 발명의 데이터 저장 관리 시스템(100)은 저장 디스크의 입출력 데이터의 감소를 통한 고속 저장을 위해 튜플(Tuple)의 삽입 요청이 발생할 때 즉시 저장 디스크에 기록하지 않고, 저장되는 튜플을 메모리의 일정 크기의 버퍼블록에 저장하고, 튜플이 버퍼블록의 저장공간에 가득 차거나 특정 주기 마다 동시에 저장 디스크에 기록하는 게으른(Lazy) 저장 방식을 사용한다. 이에, 버퍼 매니저(120)는 이 게으른 저장방식을 지원하는 자료구조를 사용한다. 이러한, 버퍼 매니저(120)는 튜플 별로 트랜잭션의 커밋 롤백을 지원 대신에 버퍼블록 단위의 트랜잭션을 생성하여 커밋 롤백을 지원함으로써 대용량의 데이터를 빠르게 저장할 수 있다.The buffer manager 120 manages data stored in a block buffer on a memory. On the other hand, the data storage management system 100 of the present invention does not immediately write to a storage disk when a Tuple insertion request occurs for high speed storage by reducing the input / output data of the storage disk, and stores the stored tuple of the memory. A lazy storage method is used, in which a buffer block of a certain size is stored, and a tuple fills the storage space of the buffer block or writes to a storage disk at the same time every specific period. Thus, the buffer manager 120 uses a data structure that supports this lazy storage method. The buffer manager 120 may store a large amount of data quickly by supporting a commit rollback by generating a transaction in a buffer block instead of supporting a commit rollback of a transaction for each tuple.

이를 위해, 버퍼 매니저(120)는, 도 3에 도시된 바와 같이, 버퍼블록(BF)의 상태에 따른 버퍼블록(BF)의 위치 정보를 제공하는 버퍼 정보(122) 및 메모리 상에 생성된 복수의 버퍼블록(BF)을 가지는 버퍼 풀(Buffer Pool)을 포함하는 자료구조를 갖는다.To this end, the buffer manager 120, as shown in Figure 3, the buffer information 122 for providing the position information of the buffer block (BF) according to the state of the buffer block (BF) and a plurality of generated on the memory It has a data structure including a buffer pool having a buffer block (BF).

버퍼블록(BF)은 상태 표시를 위한 워크 플래그(WorkFlag) 영역(210), 시간기반의 로컬 인덱싱 구성을 위한 시간 정보 영역(220), 기타 정보가 저장되는 헤더 정보 영역(230), 및 실제 데이터가 저장되는 데이터 영역(240)을 포함하여 구성될 수 있다.The buffer block BF includes a work flag area 210 for displaying a status, a time information area 220 for configuring a time-based local indexing, a header information area 230 for storing other information, and actual data. It may be configured to include a data area 240 is stored.

워크 플래그 영역(210)에는 버퍼블록(BF)의 상태에 따라 0, 1, 2 중 어느 하나의 상태로 표시될 수 있다. 여기서, 워크 플래그가 0일 경우에는 해당 버퍼블록(BF)이 대기(Wait) 상태인 것을 나타내고, 1일 경우에는 클라이언트(20)의 삽입세션을 통해 삽입 트랜잭션이 생성(Insert)중임을 나타내고, 2일 경우에는 삽입 트랜잭션으로 저장(Flush) 과정을 수행 중임을 나타낸다.The walk flag area 210 may be displayed as one of 0, 1, and 2 according to the state of the buffer block BF. Here, if the walk flag is 0, this indicates that the buffer block BF is in a wait state, and if 1, it indicates that an insert transaction is being generated through an insert session of the client 20. In this case, it indicates that the flushing process is being performed as an insert transaction.

시간 정보 영역(220)에는 버퍼블록(BF)에 저장된 데이터들 중 발생시간이 가장 늦은 시간 정보(minTime) 및 가장 빠른 시간 정보(maxTime)가 저장된다.The time information area 220 stores time information (minTime) with the latest occurrence time and max time information (maxTime) among data stored in the buffer block BF.

버퍼 정보(122)는 대기 버퍼블록 리스트 정보, 삽입 버퍼블록 리스트 정보, 저장 버퍼블록 리스트 정보, 및 기타 버퍼블록 리스트 정보를 포함하여 구성될 수 있다.The buffer information 122 may include wait buffer block list information, insertion buffer block list information, storage buffer block list information, and other buffer block list information.

대기 버퍼블록 리스트 정보는 버퍼 풀(124) 내의 버퍼블록(BF) 중 워크 플래그 상태가 0인 버퍼블록(BF0) 리스트의 첫번째 위치를 지정한다.The wait buffer block list information designates the first position of the buffer block BF0 list in which the walk flag state is 0 among the buffer blocks BF in the buffer pool 124.

삽입 버퍼블록 리스트 정보는 버퍼 풀(124) 내의 버퍼블록(BF) 중 워크 플래그 상태가 1인 버퍼블록(BF1) 리스트의 첫 번째 위치를 지정한다.The insertion buffer block list information designates the first position of the buffer block BF1 list in which the walk flag state is 1 among the buffer blocks BF in the buffer pool 124.

저장 버퍼블록 리스트 정보는 버퍼 풀(124) 내의 버퍼블록(BF) 중 워크 플래그 상태가 2인 버퍼블록(BF0) 리스트의 첫 번째 위치를 지정한다. 즉, 저장 버퍼블록 리스트 정보는 저장 디스크에 저장 작업을 수행하고 있는 삽입 트랜잭션들의 첫 번째 위치를 지정한다.The storage buffer block list information designates the first position of the buffer block BF0 list in which the walk flag state is 2 among the buffer blocks BF in the buffer pool 124. That is, the storage buffer block list information designates the first positions of insert transactions that are performing a storage operation on the storage disk.

버퍼 풀(124)은 메모리 상에 일정한 저장공간을 가지는 상술한 자료 구조의 복수의 버퍼블록(BF)을 생성한다.Buffer pool 124 generates a plurality of buffer blocks (BF) of the above-described data structure having a constant storage space on the memory.

이와 같은 버퍼 매니저(120)는 상술한 자료구조를 가지는 버퍼블록(BF)과 삽입 트랜잭션을 이용하여 버퍼 풀(124)의 한정된 버퍼블록(BF)을 관리한다. 즉, 버퍼 매니저(120)는 상술한 버퍼블록(BF)의 워크 플래그 상태 및 상술한 버퍼 정보(122)를 이용하여 버퍼 풀(124) 내에서 버퍼블록(BF)의 교체 정책을 관리한다.The buffer manager 120 manages the limited buffer block BF of the buffer pool 124 using the buffer block BF having the above-described data structure and the insert transaction. That is, the buffer manager 120 manages the replacement policy of the buffer block BF in the buffer pool 124 using the walk flag state of the buffer block BF and the buffer information 122 described above.

구체적으로, 버퍼 매니저(120)는, 도 4에 도시된 바와 같이, 새로운 삽입세션에 따라 수신된 데이터를 버퍼블록(BF)에 실시간으로 저장하고, 데이터가 버퍼블록(BF)의 저장공간을 모두 채우거나 버퍼블록(BF)의 저장 가능시간을 초과하는 경 우 버퍼블록(BF)에 저장된 데이터를 이용하여 블록 단위의 삽입 트랜잭션을 생성한다.Specifically, as shown in FIG. 4, the buffer manager 120 stores received data in a buffer block BF in real time according to a new insertion session, and the data stores all of the storage space of the buffer block BF. When filling or exceeding the available storage time of the buffer block (BF), the data stored in the buffer block (BF) is used to create a block-by-block insert transaction.

도 5를 참조하여, 상술한 삽입 트랜잭션을 생성하는 과정을 좀더 구체적으로 설명하면 다음과 같다.Referring to Figure 5, the process of generating the above-described insertion transaction in more detail as follows.

먼저, 도 6에 도시된 바와 같이, 새로운 삽입세션을 위해 버퍼 풀(124) 내의 빈 버퍼블록을 할당하기 위하여 대기 버퍼블록 리스트 정보에 있는 첫 번째 버퍼블록을 삽입세션에 할당하고, 할당된 버퍼블록의 워크 플래그 상태를 1로 변경한다(S1).First, as shown in FIG. 6, in order to allocate an empty buffer block in the buffer pool 124 for a new insert session, the first buffer block in the wait buffer block list information is allocated to the insert session, and the allocated buffer block. The work flag state is changed to 1 (S1).

이어, 할당된 버퍼블록을 새로운 삽입세션에 연결한다(S2).Next, the allocated buffer block is connected to a new insertion session (S2).

이어, 연결된 삽입세션을 통해 데이터를 입력받는다(S3).Subsequently, data is input through the connected insertion session (S3).

이어, 할당된 버퍼블록에 입력되는 데이터를 실시간으로 저장한다(S4)Subsequently, data input to the allocated buffer block is stored in real time (S4).

이어, 입력되는 데이터가 할당된 버퍼블록의 저장공간에 모두 채워졌는지를 판단한다(S5).In operation S5, it is determined whether the input data is filled in the storage space of the allocated buffer block.

만약, 입력되는 데이터가 할당된 버퍼블록의 저장공간에 모두 채워지지 않은 경우(S5의 '아니오'), 버퍼블록의 저장 가능시간이 초과되었는지를 판단한다(S6).If the input data is not all filled in the storage space of the allocated buffer block (No in S5), it is determined whether the storage available time of the buffer block has been exceeded (S6).

만약, 버퍼블록의 저장 가능시간이 초과된 경우(S6의 '예'), 입력된 데이터가 저장된 버퍼블록을 이용하여 삽입 트랜잭션을 생성함과 아울러 삽입 트랜잭션의 저장을 요청한다(S7).If the storage available time of the buffer block has been exceeded (YES in S6), an insert transaction is generated using the buffer block in which the input data is stored and the storage of the insert transaction is requested (S7).

만약, 입력되는 데이터가 할당된 버퍼블록의 저장공간에 모두 채워졌을 경우(S5의 '예'), 입력된 데이터가 저장된 버퍼블록을 이용하여 삽입 트랜잭션을 생 성함과 아울러 삽입 트랜잭션의 저장을 요청한다(S7).If the input data is filled in the storage space of the allocated buffer block (YES in S5), the insert data is created using the buffer block in which the input data is stored and the storage of the insert transaction is requested. (S7).

만약, 버퍼블록의 저장 가능시간이 초과하지 않은 경우(S7의 '아니오'), S3 내지 S6 단계를 통해 삽입 트랜잭션을 생성함과 아울러 삽입 트랜잭션의 저장을 요청한다.If the storage available time of the buffer block has not exceeded (No in S7), an insert transaction is generated through the steps S3 to S6 and the storage of the insert transaction is requested.

한편, 버퍼 매니저(120)는, 도 7에 도시된 바와 같이, 생성된 삽입 트랜잭션이 순차적으로 저장 디스크에 저장될 수 있도록 저장 버퍼블록 리스트 정보에 추가한다. 이때, 생성된 삽입 트랜잭션의 위치를 저장 버퍼블록 리스트 정보의 마지막에 추가된다. 그리고, 버퍼 매니저(120)는 저장 버퍼블록 리스트 정보의 첫 번째 버퍼블록(BF)의 데이터가 저장 디스크에 모두 저장되면 이 버퍼블록(BF)의 위치 정보를 대기 버퍼블록 리스트 정보의 마지막에 추가한다.Meanwhile, as shown in FIG. 7, the buffer manager 120 adds the generated insertion transaction to the storage buffer block list information so that the generated insertion transaction can be sequentially stored in the storage disk. At this time, the position of the generated insert transaction is added to the end of the storage buffer block list information. If all the data of the first buffer block BF of the storage buffer block list information are stored in the storage disk, the buffer manager 120 adds the position information of the buffer block BF to the end of the waiting buffer block list information. .

상술한 바와 같이, 버퍼 매니저(120)는 대용량 데이터 저장을 지원하기 위해 블록단위의 트랜잭션을 지원하고 이 트랜잭션을 위한 버퍼관리 정책을 지원하게 된다.As described above, the buffer manager 120 supports a block-by-block transaction and supports a buffer management policy for the transaction to support large data storage.

한편, 본 발명은 버퍼블록(BF)을 압축하여 저장 디스크의 입출력 수를 감소시킴으로써 저장 디스크의 입출력을 감소시켜 대용량 데이터의 저장이 가능하도록 한다. 즉, 데이터 저장 관리 시스템(100)에 저장되는 데이터는 하루에 수 기가 바이트(GB) 이상이기 때문에 데이터를 압축하지 않으면 저장 디스크 비용이 크게 증가하기 때문이다.On the other hand, the present invention by compressing the buffer block (BF) to reduce the number of input and output of the storage disk to reduce the input and output of the storage disk to enable the storage of large data. That is, since the data stored in the data storage management system 100 is several gigabytes (GB) or more per day, the cost of the storage disk increases significantly if the data is not compressed.

이에 따라, 압축 매니저(130)는 버퍼 매니저(120)로부터 삽입 트랙잭션에 대한 저장 요청이 발생되면, 시간 범위로 로컬 인덱싱이 가능하도록 저장 디스크에 저장할 버퍼블록(BF)을 주기적으로 압축하여 디스크 매니저(140)에 제공한다. 이때, 압축 매니저(130)는 압축된 버퍼블록(CBF)의 시간 정보가 저장 디스크에 저장되도록 압축된 버퍼블록(CBF)에 저장된 데이터들 중 가장 늦은 시간 정보(minTime) 및 가장 빠른 시간 정보(maxTime)를 디스크 매니저(140)에 제공한다. 또한, 압축 매니저(130)는 쿼리 프로세서(117)에 의해 질의 처리에 응답하여 모든 압축된 버퍼블록(CBF)의 압축을 해제하지 않고 압축된 버퍼블럭(CBF)의 시간 범위를 이용하여 필요한 버퍼블록의 압축을 해제함으로써 일정한 시간 범위를 이용한 데이터 검색이 가능하도록 한다.Accordingly, when a storage request for an insert transaction is generated from the buffer manager 120, the compression manager 130 periodically compresses a buffer block (BF) to be stored on the storage disk so that local indexing is possible in a time range. 140). At this time, the compression manager 130 is the latest time information (minTime) and the fastest time information (maxTime) of the data stored in the compressed buffer block (CBF) so that the time information of the compressed buffer block (CBF) is stored on the storage disk ) Is provided to the disk manager 140. In addition, the compression manager 130 uses the time range of the compressed buffer block CBF without decompressing all the compressed buffer blocks CBF in response to the query processing by the query processor 117. By decompressing, it is possible to search for data using a certain time range.

디스크 매니저(140)는 압축 매니저(130)에 의해 압축된 버퍼블록(CBF) 단위로 저장 디스크에 저장한다. 이때, 저장 디스크에 저장되는 하나의 데이터 파일(300)은, 도 8에 도시된 바와 같이, 헤더 영역(310), 로컬 인덱스 영역(320), 및 데이터 영역(330)으로 나누어진다.The disk manager 140 stores the data on the storage disk in units of buffer blocks (CBFs) compressed by the compression manager 130. In this case, one data file 300 stored in the storage disk is divided into a header area 310, a local index area 320, and a data area 330 as shown in FIG. 8.

헤더 영역(310)에는 데이터 파일(300)의 운영정보가 저장된다. 이러한, 헤더 영역(310)에는 파일의 남은 공간, 저장된 블록 수, 파일 내의 마지막 위치 등의 값이 저장된다.In the header area 310, operation information of the data file 300 is stored. The header area 310 stores values such as the remaining space of the file, the number of blocks stored, the last position in the file, and the like.

로컬 인덱스 영역(320)에는 각 압축 버퍼블록(CBF)의 시간정보(minTime, maxTime)(322, 324)가 저장됨과 아울러, 디스크 내의 오프셋(Offset), 위치(326)가 저장된다.In the local index area 320, time information (minTime, maxTime) 322 and 324 of each compressed buffer block CBF is stored, and an offset and a position 326 in the disk are stored.

데이터 영역(330)에는 실제로 압축된 압축 버퍼블록(CBF)의 데이터가 저장된다.The data area 330 stores data of a compressed buffer block CBF that is actually compressed.

본 발명이 속하는 기술분야의 당업자는 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로, 이상에서 기술한 실시 예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.Those skilled in the art to which the present invention pertains will understand that the present invention can be implemented in other specific forms without changing the technical spirit or essential features. Therefore, it is to be understood that the embodiments described above are exemplary in all respects and not restrictive. The scope of the present invention is shown by the following claims rather than the detailed description, and all changes or modifications derived from the meaning and scope of the claims and their equivalent concepts should be construed as being included in the scope of the present invention. do.

도 1은 본 발명의 실시 예에 따른 데이터 저장 관리 시스템을 설명하기 위한 개념도.1 is a conceptual diagram illustrating a data storage management system according to an embodiment of the present invention.

도 2는 본 발명의 실시 예에 따른 데이터 저장관리 시스템을 나타내는 블록도.Figure 2 is a block diagram showing a data storage management system according to an embodiment of the present invention.

도 3은 본 발명의 실시 예에 따른 버퍼 블록의 자료 구조와 버퍼 매니저의 구조를 나타내는 도면.3 is a diagram illustrating a data structure of a buffer block and a structure of a buffer manager according to an embodiment of the present invention.

도 4는 본 발명의 실시 예에 따른 삽입 트랜잭션의 생성을 설명하기 위한 도면.4 is a diagram illustrating generation of an insert transaction according to an embodiment of the present invention.

도 5는 본 발명의 실시 예에 따른 삽입 트랜잭션의 생성 과정을 단계적으로 설명하기 위한 순서도.5 is a flow chart for explaining step by step the creation process of the insert transaction according to an embodiment of the present invention.

도 6은 도 5에 도시된 새로운 삽입세션을 위한 버퍼블록의 할당 과정을 설명하기 위한 도면.FIG. 6 is a view for explaining a process of allocating a buffer block for a new insertion session shown in FIG.

도 7은 본 발명의 실시 예에 따른 삽입 트랜잭션의 저장에 따른 대기 버퍼블록 리스트 정보 및 저장 버퍼블록 리스트 정보의 관리를 설명하기 위한 도면.7 is a diagram illustrating management of waiting buffer block list information and storage buffer block list information according to storage of an insert transaction according to an embodiment of the present invention.

도 8은 본 발명의 실시 예에 따른 저장 디스크에 저장되는 하나의 데이터 파일의 구조를 설명하기 위한 도면.8 is a view for explaining the structure of one data file stored in a storage disk according to an embodiment of the present invention.

< 도면의 주요 부분에 대한 부호설명 ><Explanation of Signs of Major Parts of Drawings>

100: 데이터 저장 관리 시스템 110: 데이터 처리부100: data storage management system 110: data processing unit

111: 스토리지 세션 매니저 113: 카탈로그 매니저111: Storage Session Manager 113: Catalog Manager

115: 어드민 세션 매니저 117: 쿼리 프로세서115: Admin Session Manager 117: Query Processor

119: 리얼 타임 프로세서 120: 버퍼 매니저119: Real Time Processor 120: Buffer Manager

130: 압축 매니저 140: 디스크 매니저130: compression manager 140: disk manager

Claims (5)

(a) 클라이언트의 데이터 삽입을 위한 상기 클라이언트의 삽입세션(Insert Session)에 따른 데이터를 실시간으로 수신하는 단계;(a) receiving data according to the insert session of the client for inserting data of the client in real time; (b) 상기 삽입세션을 위해 메모리에 버퍼블록을 할당하는 단계;(b) allocating a buffer block to a memory for the insertion session; (c) 상기 할당된 버퍼블록을 상기 삽입세션에 연결하는 단계;(c) coupling the allocated buffer block to the insertion session; (d) 상기 연결된 삽입세션을 통해 상기 수신된 데이터를 상기 할당된 버퍼블록에 저장하는 단계;(d) storing the received data in the allocated buffer block through the connected insertion session; (e) 상기 수신된 데이터가 상기 할당된 버퍼블록의 저장공간에 모두 채워지거나 상기 할당된 버퍼블록의 저장 가능시간이 초과되는 경우 상기 할당된 버퍼블록의 데이터 저장을 중지하고, 상기 할당된 버퍼블록에 저장된 데이터를 이용하여 블록 단위의 삽입 트랜잭션을 생성하고, 생성된 상기 삽입 트랜잭션의 저장을 요청하는 단계;(e) When the received data fills up all the storage space of the allocated buffer block or when the storage available time of the allocated buffer block is exceeded, data storage of the allocated buffer block is stopped, and the allocated buffer block Generating an insert transaction in units of blocks by using data stored in and requesting storage of the generated insert transaction; (f) 시간 범위로 로컬 인덱싱이 가능하도록 상기 블록 단위의 삽입 트랜잭션을 주기적으로 압축하여 압축된 버퍼블록을 생성하는 단계; 및(f) periodically compressing the insert transaction in the block unit to enable local indexing in a time range to generate a compressed buffer block; And (g) 상기 압축된 버퍼블록의 시간정보 및 위치를 저장 디스크의 로컬 인덱스 영역에 저장함과 아울러 상기 압축된 버퍼블록의 데이터를 상기 저장 디스크의 데이터 영역에 저장하는 단계를 포함하며,(g) storing time information and location of the compressed buffer block in a local index area of a storage disk, and storing data of the compressed buffer block in a data area of the storage disk, 상기 (b) 단계는, In step (b), 대기 상태인 제 1 워크 플래그 상태, 삽입 트랜잭션 생성중인 제 2 워크 플래그 상태, 및 삽입 트랜잭션 저장중인 제 3 워크 플래그 상태 각각을 가지는 복수의 버퍼블록을 포함하는 버퍼 풀(Buffer Pool)을 상기 메모리에 생성하는 단계;Create a buffer pool in the memory, the buffer pool including a plurality of buffer blocks each having a first walk flag state in a waiting state, a second walk flag state in which an insert transaction is being created, and a third walk flag state in which an insert transaction is being stored; Making; 상기 버퍼 풀 내의 버퍼블록 중 상기 제 1 워크 플래그 상태를 가지는 버퍼블록을 제공하는 대기 버퍼블록 리스트 정보, 상기 제 2 워크 플래그 상태를 가지는 버퍼블록을 제공하는 삽입 버퍼블록 리스트 정보, 및 상기 제 3 워크 플래그 상태를 가지는 버퍼블록을 제공하는 저장 버퍼블록 리스트 정보 각각을 포함하는 버퍼 정보를 생성하는 단계;Wait buffer block list information for providing a buffer block having the first walk flag state among the buffer blocks in the buffer pool, Insert buffer block list information for providing a buffer block having the second walk flag state, and the third walk. Generating buffer information including respective storage buffer block list information providing a buffer block having a flag state; 상기 대기 버퍼블록 리스트 정보 중 첫 번째 버퍼블록을 상기 삽입세션에 할당하는 단계; 및Allocating a first buffer block of the waiting buffer block list information to the insertion session; And 상기 할당된 버퍼블록의 상태를 제 2 워크 플래그 상태로 변경하는 단계를 포함하여 이루어지는 것을 특징으로 하는 데이터 저장관리 방법.Changing the state of the allocated buffer block to a second walk flag state. 삭제delete 삭제delete 제 1 항에 있어서,The method of claim 1, 상기 (e) 단계는, In step (e), 상기 삽입 트랜잭션의 저장 요청에 응답하여 상기 할당된 버퍼블록의 상태를 상기 제 3 워크 플래그 상태로 변경하고, 상기 할당된 버퍼블록의 위치를 상기 저장 버퍼블록 리스트 정보의 마지막에 추가하는 단계; 및Changing the state of the allocated buffer block to the third walk flag state in response to a storage request of the insert transaction, and adding a position of the allocated buffer block to the end of the storage buffer block list information; And 상기 저장 디스크에 상기 삽입 트랜잭션의 데이터의 저장이 완료되면 상기 저장 완료된 버퍼블록의 위치를 상기 대기 버퍼블록 리스트 정보의 마지막에 추가하는 단계를 더 포함하여 이루어지는 것을 특징으로 하는 데이터 저장관리 방법.And when the storing of the data of the insertion transaction is completed on the storage disk, adding the location of the stored buffer block to the end of the waiting buffer block list information. 제 1 항 또는 제 4 항에 기재된 방법을 수행하기 위한 프로그램이 기록된 기록매체.A recording medium having recorded thereon a program for performing the method according to claim 1 or 4.
KR1020080072022A 2008-07-24 2008-07-24 Method for storing and managing of data, and record media recoded program for implement thereof KR100951099B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080072022A KR100951099B1 (en) 2008-07-24 2008-07-24 Method for storing and managing of data, and record media recoded program for implement thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080072022A KR100951099B1 (en) 2008-07-24 2008-07-24 Method for storing and managing of data, and record media recoded program for implement thereof

Publications (2)

Publication Number Publication Date
KR20100010999A KR20100010999A (en) 2010-02-03
KR100951099B1 true KR100951099B1 (en) 2010-04-07

Family

ID=42085516

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080072022A KR100951099B1 (en) 2008-07-24 2008-07-24 Method for storing and managing of data, and record media recoded program for implement thereof

Country Status (1)

Country Link
KR (1) KR100951099B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101204163B1 (en) 2010-11-19 2012-11-22 가부시끼가이샤 도시바 Semiconductor memory device
US11150811B2 (en) 2018-01-03 2021-10-19 SK Hynix Inc. Data storage apparatus performing flush write operation, operating method thereof, and data processing system including the same

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101144321B1 (en) * 2010-10-04 2012-05-11 주식회사 알티베이스 Methods of managing buffer cache using solid state disk as an extended buffer and apparatuses for using solid state disk as an extended buffer

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5499367A (en) 1991-11-15 1996-03-12 Oracle Corporation System for database integrity with multiple logs assigned to client subsets
KR100507782B1 (en) 2003-12-04 2005-08-17 한국전자통신연구원 Database management system and the method of controlling consistency of system table in DBMS

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5499367A (en) 1991-11-15 1996-03-12 Oracle Corporation System for database integrity with multiple logs assigned to client subsets
KR100507782B1 (en) 2003-12-04 2005-08-17 한국전자통신연구원 Database management system and the method of controlling consistency of system table in DBMS

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
대용량 데이터의 실시간 저장을 위한 블록 단위 삽입 트랜잭션 처리 기법과 압축-합병 저장 기법(2008. 6.)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101204163B1 (en) 2010-11-19 2012-11-22 가부시끼가이샤 도시바 Semiconductor memory device
US11150811B2 (en) 2018-01-03 2021-10-19 SK Hynix Inc. Data storage apparatus performing flush write operation, operating method thereof, and data processing system including the same

Also Published As

Publication number Publication date
KR20100010999A (en) 2010-02-03

Similar Documents

Publication Publication Date Title
US20230053707A1 (en) Systems and Methods for Database Management Using Append-Only Storage Devices
US9747317B2 (en) Preserving past states of file system nodes
US9569458B2 (en) Preserving a state using snapshots with selective tuple versioning
US20180300350A1 (en) File table index aggregate statistics
JP4249267B2 (en) Freeing up disk space in the file system
US8762674B2 (en) Storage in tiered environment for colder data segments
US7584229B2 (en) Method and system for priority-based allocation in a storage pool
US7496586B1 (en) Method and apparatus for compressing data in a file system
US7716445B2 (en) Method and system for storing a sparse file using fill counts
US8095728B2 (en) Method and system for power aware I/O scheduling
US8775479B2 (en) Method and system for state maintenance of a large object
US20060212495A1 (en) Method and system for storing data into a database
US7577808B1 (en) Efficient backup data retrieval
JP6598996B2 (en) Signature-based cache optimization for data preparation
KR20170068564A (en) Data processing method, apparatus and system
US7415653B1 (en) Method and apparatus for vectored block-level checksum for file system data integrity
US20070005669A1 (en) Method and system for automated disk i/o optimization of restored databases
US7225314B1 (en) Automatic conversion of all-zero data storage blocks into file holes
KR20080029677A (en) File storage system and file storage and file search method in file storage system
CN106570113B (en) Mass vector slice data cloud storage method and system
US20170068697A1 (en) Managing data records
CN111930716A (en) Database capacity expansion method, device and system
CN109086462A (en) The management method of metadata in a kind of distributed file system
KR100951099B1 (en) Method for storing and managing of data, and record media recoded program for implement thereof
JP2018530838A (en) Cache optimization for data preparation

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: 20130215

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20131217

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20141204

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20160113

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20161220

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee