KR20180054423A - Method and apparatus for journaling of file-based database which is used by one application - Google Patents

Method and apparatus for journaling of file-based database which is used by one application Download PDF

Info

Publication number
KR20180054423A
KR20180054423A KR1020170123771A KR20170123771A KR20180054423A KR 20180054423 A KR20180054423 A KR 20180054423A KR 1020170123771 A KR1020170123771 A KR 1020170123771A KR 20170123771 A KR20170123771 A KR 20170123771A KR 20180054423 A KR20180054423 A KR 20180054423A
Authority
KR
South Korea
Prior art keywords
database
change
replica
file
original
Prior art date
Application number
KR1020170123771A
Other languages
Korean (ko)
Other versions
KR102111555B1 (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 한양대학교 산학협력단
Publication of KR20180054423A publication Critical patent/KR20180054423A/en
Application granted granted Critical
Publication of KR102111555B1 publication Critical patent/KR102111555B1/en

Links

Images

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
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/275Synchronous replication
    • G06F17/30581
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/1805Append-only file systems, e.g. using logs or journals to store data
    • G06F16/1815Journaling file systems
    • G06F17/30191

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Disclosed is a method of journaling a file-based database used by a single application. According to an embodiment of the present invention, the method of journaling a database copied from an original database used by a single application includes: a step of applying a change of the original database, made by the single application, to the copied database; a step of generating a second original database and a second copied database by switching the original database and the copied database; and a step of writing completion information, which indicates that the copied database has been completely changed, in the second copied database.

Description

단일 어플리케이션이 이용하는 파일 기반 데이터베이스의 저널링 방법 및 장치{METHOD AND APPARATUS FOR JOURNALING OF FILE-BASED DATABASE WHICH IS USED BY ONE APPLICATION}METHOD AND APPARATUS FOR JOURNALING OF FILE-BASED DATABASE WHICH IS USED BY ONE APPLICATION FIELD OF THE INVENTION [0001]

본 발명은 단일 어플리케이션이 이용하는 파일 기반 데이터베이스의 저널링 방법 및 장치에 관한 것으로, 보다 상세하게는 단일 어플리케이션에 의해서 이용되는 원본데이터베이스와 그 원본데이터베이스를 복제한 복제데이터베이스를 이용하는 저널링 방법 및 장치에 관한 것이다.The present invention relates to a journaling method and apparatus for a file-based database used by a single application, and more particularly, to a journaling method and apparatus using an original database used by a single application and a replicated database replicating the original database.

데이터베이스는 데이터의 무결성을 보장하기 위하여 데이터 저널링 방식을 채택하고 있다. 모바일용 데이터베이스 중 하나인 SQLite는 저널링을 위해 대표적으로 PERSIST, WAL모드를 제공 하며, 그 밖에도 DELETE, TRUNCATE, MEMORY, NONE 모드를 기본적으로 제공 한다. PERSIST 모드는 데이터베이스의 데이터를 변경하기 전에 저널파일에 기록함으로써 무결성을 보장하지만 무거운 시스템콜(예, fdatasync)를 자주 사용해야 한다. DELETE와 TRUNCATE 모드의 경우 저널 파일의 생성/삭제에 있어서 차이가 있으며, MEMORY와 NONE 모드는 데이터 무결성을 보장해 주지 않는다. WAL 모드는 저널 파일의 마지막 위치에 업데이트 내용을 붙이기 때문에 데이터 파일에 직접 기록하는 것 보다 빠르고 가볍게 동작 한다. The database employs a data journaling scheme to ensure the integrity of the data. SQLite, one of the mobile databases, provides PERSIST and WAL modes for journaling, and DELETE, TRUNCATE, MEMORY and NONE modes are provided as default. PERSIST mode guarantees integrity by writing the data in the database to the journal file before changing it, but you should use heavy system calls (eg fdatasync) frequently. In the DELETE and TRUNCATE modes, there are differences in creation / deletion of journal files. MEMORY and NONE modes do not guarantee data integrity. WAL mode is faster and lighter than writing directly to a data file, since it appends updates to the end of the journal file.

그러나, SQLite의 저널 모드 중에서 WAL은 쓰기 요청 시 효율적이라는 장점이 있지만, 읽기 요청을 실행할 때는 현재의 로그 파일과 데이터 파일을 참조해서 처리해야 한다는 단점이 있다. 또한, 모바일 환경에서 EXT4와 같이 사용될 때는 설계상의 문제로 인하여 추가적인 입출력 성능 하락이 발생한다. PERSIST 모드의 경우 한 번의 트렌젝션 당 5번의 시스템 콜을 필요로 하기 때문에 전반적인 데이터베이스 성능 하락의 요인이 된다.However, while SQLite's journal mode has the advantage that WAL is efficient for write requests, there is a disadvantage that the read request must be processed by referring to the current log file and data file. Also, when used with EXT4 in mobile environment, additional I / O performance drops due to design problems. PERSIST mode requires a total of five system calls per transaction, which is a factor in overall database performance degradation.

따라서, 단일 어플리케이션이 이용하는 파일 기반 데이터베이스에 대하여, 데이터 저널링 방식을 채택하고 있으면서도, 모바일 시스템의 성능을 저하시키지 않는 우수한 성능을 가진 저널링 방법 및 장치에 대한 필요성이 대두되고 있다.Accordingly, there is a need for a journaling method and an apparatus having excellent performance that does not deteriorate the performance of a mobile system while adopting a data journaling scheme for a file-based database used by a single application.

관련 선행기술로는 대한민국 등록특허공보 제10-1258589호(발명의 명칭: 저널링 파일 시스템에 따라 데이터를 기록한 정보저장매체, 저널링 파일 시스템을 이용해서 데이터를 기록/복구하는 방법 및 장치, 공고일자: 2013년 5월 2일)가 있다.Related Prior Art Korean Patent Registration No. 10-1258589 entitled " Information Storage Medium in which Data is Recorded According to a Journaling File System, Method and Apparatus for Recording / Restoring Data Using a Journaling File System, May 2, 2013).

본 발명은 단일 어플리케이션에 의해 이용되는 파일 기반 데이터베이스에 적용가능하며, 성능의 저하가 작으면서도 저널링 기능을 지원하여 데이터의 무결성을 보장할 수 있는 저널링 방법 및 장치를 제공하고자 한다.An object of the present invention is to provide a journaling method and apparatus that can be applied to a file-based database used by a single application and can guarantee the integrity of data by supporting a journaling function with a small reduction in performance.

본 발명이 해결하고자 하는 과제는 이상에서 언급한 과제(들)로 제한되지 않으며, 언급되지 않은 또 다른 과제(들)은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.The problems to be solved by the present invention are not limited to the above-mentioned problem (s), and another problem (s) not mentioned can be clearly understood by those skilled in the art from the following description.

상기 과제를 해결하기 위하여, 본 발명에서 제공하는 단일 어플리케이션이 이용하는 파일 기반 데이터베이스의 저널링 방법은 단일 어플리케이션에 의해 이용되는 원본데이터베이스를 복제한 복제데이터베이스를 이용하여 데이터베이스를 저널링하는 방법에 있어서, 상기 단일 어플리케이션에 의한 상기 원본데이터베이스의 변경을 상기 복제데이터베이스에 반영하는 단계; 상기 원본데이터베이스와 상기 복제데이터베이스를 상호 교환(switch)하여 제2 원본데이터베이스와 제2 복제데이터베이스를 생성하는 단계; 및 상기 제2 복제데이터베이스에 상기 원본데이터베이스의 변경이 완료되었음을 나타내는 정보인 완료정보를 기록하는 단계를 포함한다.According to an aspect of the present invention, there is provided a journaling method for a file-based database used by a single application provided in the present invention, the method comprising: journaling a database using a replicated database replicating an original database used by a single application, Reflecting the change of the original database in the replica database; Generating a second original database and a second replicated database by interchanging the original database and the replica database; And recording completion information, which is information indicating that the change of the original database is completed, in the second replica database.

바람직하게는, 상기 제2 복제데이터베이스를 생성하는 단계의 이전에, 상기 복제데이터베이스에 대하여, 데이터베이스의 변경상태를 나타내는 정보인 변경정보를 소정의 기준에 따라 갱신하는 단계를 더 포함할 수 있다.Preferably, before the step of creating the second replica database, the step of updating the replica database may further include the step of updating the replica information according to a predetermined criterion.

바람직하게는, 상기 완료정보를 기록하는 단계는 상기 변경정보를 초기화하여 기록함으로써, 상기 완료정보를 기록할 수 있다.Preferably, the step of recording the completion information may record the completion information by initializing and recording the change information.

바람직하게는, 상기 변경정보가 데이터베이스의 변경상태를 나타내는 상태값을 포함할 때, 상기 복제데이터베이스의 변경정보는 상기 원본데이터베이스의 변경정보보다 소정의 크기만큼 큰 상태값을 포함하도록 갱신되고, 상기 제2 복제데이터베이스의 변경정보에 포함된 상태값은 소정의 초기값으로 초기화될 수 있다.Preferably, when the change information includes a status value indicating a change status of the database, the change information of the duplicate database is updated to include a status value that is larger than the change information of the original database by a predetermined size, 2 The status value included in the change information of the duplicate database can be initialized to a predetermined initial value.

바람직하게는, 상기 원본데이터베이스 또는 상기 복제데이터베이스 파일의 변경을 저장장치와 동기화하는 함수인 동기화함수가 상기 복제데이터베이스에 반영하는 단계 및 상기 완료정보를 기록하는 단계 각각에 대응되어 호출될 수 있다.Preferably, a synchronization function, which is a function synchronizing the change of the original database or the replica database file with the storage device, may be called in correspondence with each of the steps of reflecting on the replica database and recording the completion information.

또한, 상기 과제를 해결하기 위하여, 본 발명에서 제공하는 단일 어플리케이션이 이용하는 파일 기반 데이터베이스의 저널링 장치는 단일 어플리케이션에 의해 이용되는 원본데이터베이스를 복제한 복제데이터베이스를 이용하여 데이터베이스를 저널링하는 장치에 있어서, 상기 단일 어플리케이션에 의한 상기 원본데이터베이스의 변경을 상기 복제데이터베이스에 반영하는 파일갱신부; 및 상기 원본데이터베이스와 상기 복제데이터베이스를 상호 교환(switch)하여 제2 원본데이터베이스와 제2 복제데이터베이스를 생성하는 파일교환부를 포함하고, 상기 파일갱신부는 상기 제2 복제데이터베이스에 상기 원본데이터베이스의 변경이 완료되었음을 나타내는 정보인 완료정보를 더 기록한다.In order to solve the above problems, a journaling apparatus of a file-based database used by a single application provided in the present invention is an apparatus for journaling a database using a replicated database replicating an original database used by a single application, A file update unit for reflecting a change of the original database by a single application to the replica database; And a file exchange unit for exchanging the original database and the replica database to generate a second original database and a second replica database, wherein the file renewing unit updates the original database to the second replica database The completion information is recorded.

바람직하게는, 상기 파일갱신부는 상기 복제데이터베이스에 대하여, 데이터베이스의 변경상태를 나타내는 정보인 변경정보를 소정의 기준에 따라 더 갱신할 수 있다.Preferably, the file updating unit may further update the change information, which is information indicating a change state of the database, to the replica database according to a predetermined criterion.

바람직하게는, 상기 파일갱신부는 상기 변경정보를 초기화하여 기록함으로써, 상기 완료정보를 기록할 수 있다.Preferably, the file updating unit may record the completion information by initializing and recording the change information.

바람직하게는, 상기 변경정보가 데이터베이스의 변경상태를 나타내는 상태값을 포함할 때, 상기 복제데이터베이스의 변경정보는 상기 원본데이터베이스의 변경정보보다 소정의 크기만큼 큰 상태값을 포함하도록 갱신되고, 상기 제2 복제데이터베이스의 변경정보에 포함된 상태값은 소정의 초기값으로 초기화될 수 있다.Preferably, when the change information includes a status value indicating a change status of the database, the change information of the duplicate database is updated to include a status value that is larger than the change information of the original database by a predetermined size, 2 The status value included in the change information of the duplicate database can be initialized to a predetermined initial value.

바람직하게는, 상기 원본데이터베이스 또는 상기 복제데이터베이스 파일의 변경을 저장장치와 동기화하는 함수인 동기화함수가 상기 파일갱신부가 상기 원본데이터베이스의 변경을 상기 복제데이터베이스에 반영할 때 및 상기 파일교환부가 상기 제2 원본데이터베이스와 상기 제2 복제데이터베이스를 생성할 때 각각 호출될 수 있다.Preferably, the synchronizing function, which is a function of synchronizing the original database or the replica database file with the storage device, is performed when the file updater reflects a change of the original database to the replica database, And can be called when creating the original database and the second replica database, respectively.

기타 실시예들의 구체적인 사항들은 상세한 설명 및 첨부 도면들에 포함되어 있다.The details of other embodiments are included in the detailed description and the accompanying drawings.

본 발명은 단일 어플리케이션이 이용하는 파일 기반 데이터베이스에 대하여, 원본데이터베이스와 그 원본데이터베이스를 복제한 복제데이터베이스를 이용하는 저널링 모드를 도입하여 데이터의 무결성을 보장하면서도 성능의 저하를 방지할 수 있는 효과가 있다.The present invention introduces a journaling mode using a source database and a duplicate database replicating the source database with respect to a file-based database used by a single application, thereby ensuring data integrity while preventing performance degradation.

또한, 단일 어플리케이션이 파일 기반 데이터베이스를 이용한다는 특징을 이용하여 파일의 I/O를 최소화 함으로써, 데이터베이스의 성능 저하를 방지할 수 있는 효과가 있다.In addition, by minimizing I / O of a file by using a feature that a single application uses a file-based database, it is possible to prevent degradation of database performance.

도 1은 본 발명의 일 실시예에 따른 단일 어플리케이션이 이용하는 파일 기반 데이터베이스의 저널링 방법을 설명하기 위한 흐름도이다.
도 2는 본 발명의 다른 실시예에 따른 단일 어플리케이션이 이용하는 파일 기반 데이터베이스의 저널링 방법을 설명하기 위한 흐름도이다.
도 3은 본 발명의 일 실시예에 따른 단일 어플리케이션이 이용하는 파일 기반 데이터베이스의 저널링 장치를 설명하기 위한 도면이다.
FIG. 1 is a flowchart illustrating a journaling method of a file-based database used by a single application according to an embodiment of the present invention.
2 is a flowchart illustrating a journaling method of a file-based database used by a single application according to another embodiment of the present invention.
3 is a diagram for explaining a file-based database journaling apparatus used by a single application according to an embodiment of the present invention.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail. It should be understood, however, that the invention is not intended to be limited to the particular embodiments, but includes all modifications, equivalents, and alternatives falling within the spirit and scope of the invention. Like reference numerals are used for like elements in describing each drawing.

제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.The terms first, second, A, B, etc. may be used to describe various elements, but the elements should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, the first component may be referred to as a second component, and similarly, the second component may also be referred to as a first component. And / or < / RTI > includes any combination of a plurality of related listed items or any of a plurality of related listed items.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.It is to be understood that when an element is referred to as being "connected" or "connected" to another element, it may be directly connected or connected to the other element, . On the other hand, when an element is referred to as being "directly connected" or "directly connected" to another element, it should be understood that there are no other elements in between.

본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used in this application is used only to describe a specific embodiment and is not intended to limit the invention. The singular expressions include plural expressions unless the context clearly dictates otherwise. In the present application, the terms "comprises" or "having" and the like are used to specify that there is a feature, a number, a step, an operation, an element, a component or a combination thereof described in the specification, But do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, or combinations thereof.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. Terms such as those defined in commonly used dictionaries are to be interpreted as having a meaning consistent with the contextual meaning of the related art and are to be interpreted as either ideal or overly formal in the sense of the present application Do not.

이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.Hereinafter, preferred embodiments according to the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 일 실시예에 따른 단일 어플리케이션이 이용하는 파일 기반 데이터베이스의 저널링 방법을 설명하기 위한 흐름도이다.FIG. 1 is a flowchart illustrating a journaling method of a file-based database used by a single application according to an embodiment of the present invention.

저널링 파일 시스템(journaling file system)은 시스템 충돌이나 전원 중단 등의 경우에, 디스크의 무결성을 유지시킬 수 있는 파일 시스템이다. 보다 구체적으로는, 디스크의 데이터 영역에서 일어나는 모든 내용을 로그로 유지하면서 충돌이 발생하면 로그에 있는 메타데이터로 유실 데이터를 다시 만들어 충돌 전으로 데이터를 되돌려 줄 뿐 아니라 저장되지 않은 데이터도 제자리에 저장하도록 할 수 있다.A journaling file system is a file system that can maintain the integrity of a disk in the event of a system crash or power outage. More specifically, when a conflict occurs while keeping all the contents of the data area of the disk in a log, the metadata in the log re-creates the lost data to return the data before the crash, .

본 발명은 저널링 파일 시스템과 같이, 파일 기반의 데이터베이스에 대하여 시스템 충돌이나 전원 중단이 발생된 경우에, 그 데이터베이스를 복구할 수 있도록 하는 저널링 방법 및 장치에 관한 것이다. 이때, 본 발명의 저널링 방법 및 장치는 안드로이드, iOS 또는 기타OS 기반의 스마트폰, 모바일기기, 태블릿기기 및 웨어러블 기기 등에 적용 또는 탑재될 수 있음은 물론이며, 노트북, 데스크탑PC 및 서버 등에 이르기까지 다양한 컴퓨터 장치에 적용 또는 탑재될 수 있다.The present invention relates to a journaling method and apparatus, such as a journaling file system, that enables a database to be recovered in the event of a system conflict or a power outage for a file-based database. The journaling method and apparatus of the present invention can be applied to or installed in a smart phone, a mobile device, a tablet device, and a wearable device based on Android, iOS, or other OS. May be applied or mounted on a computer device.

보다 구체적으로는, 본 발명의 저널링 방법 및 장치는 원본데이터베이스에 적용하고자 하는 변경 사항을 복제데이터베이스에 기록하고, 기록이 완료되면 원본데이터베이스와 복제데이터베이스를 맞바꿔 교환하는 방식으로 동작할 수 있다. 이때, 원본데이터베이스와 복제데이터베이스 각각은 데이터베이스의 변경상태를 나타내는 정보인 변경정보를 포함할 수 있으며, 이 변경상태는 상태값으로 나타낼 수 있다. More specifically, the journaling method and apparatus of the present invention can operate in such a manner that changes to be applied to the original database are recorded in the replica database, and the original database and the replica database are exchanged when the recording is completed. At this time, each of the original database and the replica database may include change information, which is information indicating a change state of the database, and this change state can be represented by a state value.

예컨대, 초기에 원본데이터베이스와 복제데이터베이스의 상태값은 <n, 0>이 될 수 있다. 그 다음, 복제데이터베이스에 변경 사항의 기록이 완료(즉, 트랜잭션이 완료)되면 상태값은 <n, n+1>이 될 수 있다. 그 다음, 원본데이터베이스와 복제데이터베이스에 해당하는 파일을 교환하고 나면 상태값은 <n+1, n>이 될 수 있다. 마지막으로, 새로운 제2 원본데이터베이스(기존의 복제데이터베이스)와 제2 원본데이터베이스를 복제한 제2 복제데이터베이스의 상태값은 <n+1, 0>이 되어, 다시 저널링이 수행될 수 있다. 한편, 상술한 본 발명의 저널링 방법은 SHADOW 모드라고 명명할 수 있다.For example, the state values of the original database and the replica database may initially be < n, 0 >. Then, the state value can be <n, n + 1> when the record of the changes to the replicate database is completed (that is, the transaction is completed). Then, the state value can be <n + 1, n> after exchanging the files corresponding to the original database and the replicated database. Finally, the state value of the new second original database (existing replica database) and the second replica database replicating the second original database becomes < n + 1, 0 >, and journaling can be performed again. Meanwhile, the journaling method of the present invention described above can be called a SHADOW mode.

단계 S110에서는, 데이터베이스 저널링 장치가 단일 어플리케이션에 의한 원본데이터베이스의 변경을 복제데이터베이스에 반영한다.In step S110, the database journaling apparatus reflects the change of the original database by the single application to the replica database.

이때, 데이터베이스 저널링 장치는 원본데이터베이스 및 복제데이터베이스가 단일 어플리케이션에 의해서만 이용된다고 가정할 수 있다. 따라서, 그 단일 어플리케이션은 복수의 어플리케이션이 데이터베이스를 이용할 때처럼 잠금(lock) 및 잠금해제(unlock) 과정을 거치면서 데이터베이스를 이용할 필요가 없이, 필요한 경우에는 언제든지 데이터베이스를 이용할 수 있다.At this time, the database journaling device can assume that the source database and the replicate database are used only by a single application. Therefore, the single application can use the database at any time, if necessary, without having to use the database while locking and unlocking as in the case of a plurality of applications using the database.

즉, 데이터베이스 저널링 장치가 원본데이터베이스에서 바꾸고자 하는 변경 사항을 복제데이터베이스에 반영할 수 있다.In other words, changes made by the database journaling device to the original database can be reflected in the replicated database.

단계 S120에서는, 데이터베이스 저널링 장치가 원본데이터베이스와 복제데이터베이스를 상호 교환(switch)하여 제2 원본데이터베이스와 제2 복제데이터베이스를 생성한다.In step S120, the database journaling apparatus switches the original database and the replica database to create a second original database and a second replica database.

예컨대, 데이터베이스 저널링 장치가 복제데이터베이스 파일(shadow file)의 이름을 변경하여 제2 원본데이터베이스 파일을 생성하고, 원본데이터베이스(database file)의 파일의 이름을 변경하여 제2 복제데이터베이스 파일을 생성할 수 있다.For example, the database journaling device may change the name of the shadow database file to create a second source database file, and change the name of the file in the database file to create a second replica database file .

마지막으로 단계 S130에서는, 데이터베이스 저널링 장치가 제2 복제데이터베이스에 원본데이터베이스의 변경이 완료되었음을 나타내는 정보인 완료정보를 기록한다.Finally, in step S130, the database journaling apparatus records completion information, which is information indicating that the change of the original database has been completed, to the second replica database.

즉, 데이터베이스 저널링 장치가 제2 복제데이터베이스 파일에 그 단일 어플리케이션에 의한 변경에 포함되는 적어도 하나의 트랜잭션이 완료되었음을 나타내는 완료정보를 기록할 수 있다. 데이터베이스 저널링 장치는 새로 생성된 제2 복제데이터베이스 파일에 이 완료정보가 기록되어 있는지 여부에 따라 그 단일 어플리케이션에 의한 변경의 적용이 완료되었는지 판단할 수 있다.That is, the database journaling device may record completion information in the second replica database file indicating that at least one transaction involved in the change by the single application has been completed. The database journaling apparatus can determine whether the application of the change by the single application has been completed according to whether the completion information is recorded in the newly created second replica database file.

다른 실시예에서는, 원본데이터베이스 또는 복제데이터베이스 파일의 변경을 저장장치와 동기화하는 함수인 동기화함수가 단계 S110 및 S130 각각에 대응되어 호출될 수 있다.In another embodiment, a synchronization function may be invoked corresponding to steps S110 and S130, respectively, which is a function to synchronize changes in the original database or replica database file with the storage device.

예컨대, 데이터베이스 저널링 장치가 리눅스 또는 유닉스에 기반하는 경우, 동기화함수는 fdatasync()함수일 수 있으며, 단계 S110 및 S130 각각이 수행될 때마다 fdatasync()함수가 한차례씩만 호출됨으로써, 총 2차례 동기화함수가 호출되어 5차례가 호출되는 종래의 기술(SQLite)과 비교하여 파일 I/O를 줄일 수 있는 효과가 있다.For example, if the database journaling device is based on Linux or Unix, the synchronization function may be the fdatasync () function, and the fdatasync () function is called once every time each of steps S110 and S130 is performed, Compared with the conventional technology (SQLite), which is called and called 5 times, file I / O can be reduced.

이와 같이, 본 발명의 일실시예에 따른 단일 어플리케이션이 이용하는 파일 기반 데이터베이스의 저널링 방법은 파일 기반 데이터베이스에 대하여, 원본데이터베이스와 그 원본데이터베이스를 복제한 복제데이터베이스를 이용하는 저널링 모드를 도입하여 데이터의 무결성을 보장하면서도 성능의 저하를 방지할 수 있는 효과가 있다.As described above, the journaling method of a file-based database used by a single application according to an embodiment of the present invention introduces a journaling mode using a source database and a duplicate database in which the original database is duplicated, It is possible to prevent deterioration in performance.

도 2는 본 발명의 다른 실시예에 따른 단일 어플리케이션이 이용하는 파일 기반 데이터베이스의 저널링 방법을 설명하기 위한 흐름도이다.2 is a flowchart illustrating a journaling method of a file-based database used by a single application according to another embodiment of the present invention.

단계 S210에서는, 데이터베이스 저널링 장치가 단일 어플리케이션에 의한 원본데이터베이스의 변경을 복제데이터베이스에 반영한다.In step S210, the database journaling apparatus reflects the change of the original database by the single application to the duplicate database.

단계 S220에서는, 데이터베이스 저널링 장치가 복제데이터베이스에 대하여, 데이터베이스의 변경상태를 나타내는 정보인 변경정보를 소정의 기준에 따라 갱신한다.In step S220, the database journaling apparatus updates the change information, which is information indicating the change state of the database, to the replica database according to a predetermined criterion.

예컨대, 데이터베이스 저널링 장치가 파일 기반의 데이터베이스인 원본데이터베이스와 복제데이터베이스에 접근하여, 원본데이터베이스와 복제데이터베이스 각각의 변경상태에 관한 정보인 변경정보를 소정의 기준에 따라 기록할 수 있다. 즉, 데이터베이스 저널링 장치는 원본데이터베이스의 변경이 복제데이터베이스에 반영되었음을 나타내기 위하여 변경정보를 갱신할 수 있다.For example, the database journaling apparatus can access the original database and the replica database, which are file-based databases, and record change information, which is information on the changed state of each of the original database and the replica database, according to a predetermined criterion. That is, the database journaling device may update the change information to indicate that the change in the original database is reflected in the replicate database.

보다 구체적으로, 데이터베이스 저널링 장치가 변경정보를 갱신하기 위하여, 데이터베이스 파일의 헤더에 존재하는 변경상태값(change count)에 일정한 크기(예, +1)의 값을 더하여 갱신할 수 있다. 이와 같이, 데이터베이스 저널링 장치가 데이터베이스 파일에 변경정보를 갱신함으로써, 추후 시스템 충돌 및 전원 중단이 발생하였을 때, 이 변경정보를 이용하여 데이터베이스를 복구할 수 있다.More specifically, in order to update the change information, the database journaling apparatus can update the change count value existing in the header of the database file by adding a value of a certain size (e.g., +1). In this manner, when the database journaling device updates the change information in the database file, when the system collision and the power supply interruption occur in the future, the change information can be used to recover the database.

이때, 데이터베이스 저널링 장치는, 원본데이터베이스 및 복제데이터베이스가 단일 어플리케이션에 의해서만 이용된다고 가정할 수 있으므로, 단계 S210 및 S220을 수행한 후에, 단 한차례만 그 단계 S210 및 S220의 변경을 저장장치와 동기화함으로써, 파일 I/O의 빈번한 수행에 따른 시스템의 성능저하를 최소화할 수 있다. 한편, 단계 S210 및 S220은 필요에 따라 그 순서가 변경되어 수행될 수 있다.Since the database journaling device can assume that the original database and the replica database are used only by a single application, after performing steps S210 and S220, by synchronizing the changes of the steps S210 and S220 to the storage device only once, It is possible to minimize deterioration of system performance due to frequent execution of file I / O. On the other hand, steps S210 and S220 may be performed by changing the order thereof as necessary.

단계 S230에서는, 데이터베이스 저널링 장치가 원본데이터베이스와 복제데이터베이스를 상호 교환(switch)하여 제2 원본데이터베이스와 제2 복제데이터베이스를 생성한다.In step S230, the database journaling apparatus switches the original database and the replica database to create a second original database and a second replica database.

마지막으로 단계 S240에서는, 데이터베이스 저널링 장치가 제2 복제데이터베이스에 원본데이터베이스의 변경이 완료되었음을 나타내는 정보인 완료정보를 기록한다.Finally, in step S240, the database journaling apparatus records completion information, which is information indicating that the change of the original database has been completed, to the second replica database.

다른 실시예에서는, 데이터베이스 저널링 장치가 변경정보를 초기화하여 기록함으로써, 완료정보를 기록할 수 있다.In another embodiment, the database journaling device may initialize and record the change information, thereby recording the completion information.

예컨대, 데이터베이스 저널링 장치는 데이터베이스 파일의 헤더에 존재하는 변경상태값을 0으로 초기화하여 기록함으로써, 완료정보를 기록할 수 있다. 즉, 데이터베이스 저널링 장치는 변경상태값에 0이 저장된 경우, 그 데이터베이스 파일에 완료정보가 기록된 것으로 간주할 수 있다.For example, the database journaling apparatus can record the completion information by initializing and recording the change status value present in the header of the database file to zero. That is, the database journaling device can regard the completion information as being recorded in the database file when the change state value is stored as 0.

또 다른 실시예에서는, 변경정보가 데이터베이스의 변경상태를 나타내는 상태값을 포함할 때, 복제데이터베이스의 변경정보는 원본데이터베이스의 변경정보보다 소정의 크기만큼 큰 상태값을 포함하도록 갱신되고, 제2 복제데이터베이스의 변경정보에 포함된 상태값은 소정의 초기값으로 초기화될 수 있다.In another embodiment, when the change information includes a status value indicating a change status of the database, the change information of the duplicate database is updated to include a status value larger by a predetermined size than the change information of the original database, The state value included in the change information of the database may be initialized to a predetermined initial value.

예컨대, 데이터베이스 파일의 헤더에 존재하는 변경상태값이 n인 원본데이터베이스에 관한 변경사항이 복제데이터베이스에 반영된 경우, 그 복제데이터베이스의 변경상태값을 n+1로 1만큼 증가시킬 수 있다.For example, if a change to the original database whose change status value is n in the header of the database file is reflected in the duplicate database, the change status value of the duplicate database can be incremented by n + 1 by one.

또한, 원본데이터베이스와 복제데이터베이스의 교환이 완료되어 새로운 제2 원본데이터베이스와 그 제2 원본데이터베이스를 복제한 제2 복제데이터베이스가 생성된 경우, 제2 복제데이터베이스파일의 헤더에 존재하는 변경상태값을 0으로 초기화하여 다시 저널링을 수행할 수 있는 상태임을 나타낼 수 있다When the replacement of the original database and the replicated database is completed and a second original database and a second replicated database replicating the second original database are created, the changed status value existing in the header of the second replicated database file is set to 0 And can indicate that the journaling can be performed again

도 3은 본 발명의 일 실시예에 따른 단일 어플리케이션이 이용하는 파일 기반 데이터베이스의 저널링 장치를 설명하기 위한 도면이다.3 is a diagram for explaining a file-based database journaling apparatus used by a single application according to an embodiment of the present invention.

도 3을 참조하면, 본 발명의 일 실시예에 따른 단일 어플리케이션이 이용하는 파일 기반 데이터베이스의 저널링 장치(300)는 파일갱신부(310) 및 파일교환부(320)를 포함한다.Referring to FIG. 3, a file-based database journaling apparatus 300 used by a single application according to an embodiment of the present invention includes a file updating unit 310 and a file exchanging unit 320.

파일갱신부(310)는 단일 어플리케이션에 의한 원본데이터베이스의 변경을 복제데이터베이스에 반영한다.The file update unit 310 reflects the change of the original database by the single application to the duplicate database.

파일교환부(320)는 원본데이터베이스와 복제데이터베이스를 상호 교환(switch)하여 제2 원본데이터베이스와 제2 복제데이터베이스를 생성한다.The file exchange unit 320 switches the original database and the replica database to create a second original database and a second replica database.

이때, 파일갱신부(310)는 제2 복제데이터베이스에 원본데이터베이스의 변경이 완료되었음을 나타내는 정보인 완료정보를 더 기록할 수 있다.At this time, the file update unit 310 may further record the completion information, which is information indicating that the change of the original database is completed, in the second replica database.

다른 실시예에서는, 파일갱신부(310)는 변경정보를 초기화하여 기록함으로써, 완료정보를 기록할 수 있다.In another embodiment, the file update unit 310 may record the completion information by initializing and recording the change information.

또 다른 실시예에서는, 변경정보가 데이터베이스의 변경상태를 나타내는 상태값을 포함할 때, 복제데이터베이스의 변경정보는 원본데이터베이스의 변경정보보다 소정의 크기만큼 큰 상태값을 포함하도록 갱신되고, 제2 복제데이터베이스의 변경정보에 포함된 상태값은 소정의 초기값으로 초기화될 수 있다.In another embodiment, when the change information includes a status value indicating a change status of the database, the change information of the duplicate database is updated to include a status value larger by a predetermined size than the change information of the original database, The state value included in the change information of the database may be initialized to a predetermined initial value.

또 다른 실시예에서는, 원본데이터베이스 또는 복제데이터베이스 파일의 변경을 저장장치와 동기화하는 함수인 동기화함수가 파일갱신부(310)가 원본데이터베이스의 변경을 복제데이터베이스에 반영할 때 및 파일교환부(320)가 제2 원본데이터베이스와 제2 복제데이터베이스를 생성할 때 각각 호출될 수 있다.In another embodiment, a synchronization function, which is a function for synchronizing a change of an original database or a replica database file with a storage device, is performed when the file updater 310 reflects a change of the original database to the replica database, Can be called when creating the second original database and the second replicated database, respectively.

한편, 상술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다.The above-described embodiments of the present invention can be embodied in a general-purpose digital computer that can be embodied as a program that can be executed by a computer and operates the program using a computer-readable recording medium.

상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등) 를 포함한다.The computer readable recording medium includes a magnetic storage medium (e.g., ROM, floppy disk, hard disk, etc.), optical reading medium (e.g., CD ROM, DVD, etc.).

이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
The present invention has been described with reference to the preferred embodiments. It will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims. Therefore, the disclosed embodiments should be considered in an illustrative rather than a restrictive sense. The scope of the present invention is defined by the appended claims rather than by the foregoing description, and all differences within the scope of equivalents thereof should be construed as being included in the present invention.

Claims (10)

단일 어플리케이션에 의해 이용되는 원본데이터베이스를 복제한 복제데이터베이스를 이용하여 데이터베이스를 저널링하는 방법에 있어서,
상기 단일 어플리케이션에 의한 상기 원본데이터베이스의 변경을 상기 복제데이터베이스에 반영하는 단계;
상기 원본데이터베이스와 상기 복제데이터베이스를 상호 교환(switch)하여 제2 원본데이터베이스와 제2 복제데이터베이스를 생성하는 단계; 및
상기 제2 복제데이터베이스에 상기 원본데이터베이스의 변경이 완료되었음을 나타내는 정보인 완료정보를 기록하는 단계
를 포함하는 것을 특징으로 하는 단일 어플리케이션이 이용하는 파일 기반 데이터베이스의 저널링 방법.
A method for journaling a database using a replicated database replicating an original database used by a single application,
Reflecting the change of the original database by the single application to the replica database;
Generating a second original database and a second replicated database by interchanging the original database and the replica database; And
Recording completion information, which is information indicating that the change of the original database is completed, in the second replica database
Based database that is used by a single application.
제1항에 있어서,
상기 제2 복제데이터베이스를 생성하는 단계의 이전에,
상기 복제데이터베이스에 대하여, 데이터베이스의 변경상태를 나타내는 정보인 변경정보를 소정의 기준에 따라 갱신하는 단계
를 더 포함하는 것을 특징으로 하는 단일 어플리케이션이 이용하는 파일 기반 데이터베이스의 저널링 방법.
The method according to claim 1,
Prior to the step of creating the second replica database,
Updating the change information, which is information indicating a change state of the database, to the replica database according to a predetermined criterion
Further comprising the steps of: (a) receiving a journaling request for a file-based database;
제2항에 있어서,
상기 완료정보를 기록하는 단계는
상기 변경정보를 초기화하여 기록함으로써, 상기 완료정보를 기록하는 것을 특징으로 하는 단일 어플리케이션이 이용하는 파일 기반 데이터베이스의 저널링 방법.
3. The method of claim 2,
The step of recording the completion information
Wherein the change information is initialized and recorded so that the completion information is recorded. A method of journaling a file-based database used by a single application.
제3항에 있어서,
상기 변경정보가 데이터베이스의 변경상태를 나타내는 상태값을 포함할 때,
상기 복제데이터베이스의 변경정보는 상기 원본데이터베이스의 변경정보보다 소정의 크기만큼 큰 상태값을 포함하도록 갱신되고,
상기 제2 복제데이터베이스의 변경정보에 포함된 상태값은 소정의 초기값으로 초기화되는 것을 특징으로 하는 단일 어플리케이션이 이용하는 파일 기반 데이터베이스의 저널링 방법.
The method of claim 3,
When the change information includes a status value indicating a change status of the database,
The change information of the replica database is updated to include a state value that is larger than the change information of the original database by a predetermined size,
Wherein the state value included in the change information of the second replica database is initialized to a predetermined initial value.
제1항에 있어서,
상기 원본데이터베이스 또는 상기 복제데이터베이스 파일의 변경을 저장장치와 동기화하는 함수인 동기화함수가
상기 복제데이터베이스에 반영하는 단계 및 상기 완료정보를 기록하는 단계 각각에 대응되어 호출되는 것을 특징으로 하는 단일 어플리케이션이 이용하는 파일 기반 데이터베이스의 저널링 방법.
The method according to claim 1,
Wherein the synchronization function is a function for synchronizing the change of the original database or the replica database file with the storage device
The step of reflecting on the replica database, and the step of recording the completion information are called in correspondence with each other.
단일 어플리케이션에 의해 이용되는 원본데이터베이스를 복제한 복제데이터베이스를 이용하여 데이터베이스를 저널링하는 장치에 있어서,
상기 단일 어플리케이션에 의한 상기 원본데이터베이스의 변경을 상기 복제데이터베이스에 반영하는 파일갱신부; 및
상기 원본데이터베이스와 상기 복제데이터베이스를 상호 교환(switch)하여 제2 원본데이터베이스와 제2 복제데이터베이스를 생성하는 파일교환부
를 포함하고,
상기 파일갱신부는
상기 제2 복제데이터베이스에 상기 원본데이터베이스의 변경이 완료되었음을 나타내는 정보인 완료정보를 더 기록하는 것을 특징으로 하는 단일 어플리케이션이 이용하는 파일 기반 데이터베이스의 저널링 장치.
1. An apparatus for journalizing a database using a replicated database replicating an original database used by a single application,
A file updating unit for reflecting the change of the original database by the single application to the replica database; And
A file exchange unit for creating a second original database and a second replica database by switching the original database and the replica database,
Lt; / RTI &gt;
The file update unit
Wherein the completion information is information indicating that the change of the original database is completed in the second replica database.
제6항에 있어서,
상기 파일갱신부는
상기 복제데이터베이스에 대하여, 데이터베이스의 변경상태를 나타내는 정보인 변경정보를 소정의 기준에 따라 더 갱신하는 것을 특징으로 하는 단일 어플리케이션이 이용하는 파일 기반 데이터베이스의 저널링 장치.
The method according to claim 6,
The file update unit
Wherein the change information, which is information indicating a change state of the database, is further updated with respect to the replica database according to a predetermined criterion.
제7항에 있어서,
상기 파일갱신부는
상기 변경정보를 초기화하여 기록함으로써, 상기 완료정보를 기록하는 것을 특징으로 하는 단일 어플리케이션이 이용하는 파일 기반 데이터베이스의 저널링 장치.
8. The method of claim 7,
The file update unit
Wherein the change information is initialized and recorded so that the completion information is recorded.
제8항에 있어서,
상기 변경정보가 데이터베이스의 변경상태를 나타내는 상태값을 포함할 때,
상기 복제데이터베이스의 변경정보는 상기 원본데이터베이스의 변경정보보다 소정의 크기만큼 큰 상태값을 포함하도록 갱신되고,
상기 제2 복제데이터베이스의 변경정보에 포함된 상태값은 소정의 초기값으로 초기화되는 것을 특징으로 하는 단일 어플리케이션이 이용하는 파일 기반 데이터베이스의 저널링 장치.
9. The method of claim 8,
When the change information includes a status value indicating a change status of the database,
The change information of the replica database is updated to include a state value that is larger than the change information of the original database by a predetermined size,
Wherein the state value included in the change information of the second replica database is initialized to a predetermined initial value.
제6항에 있어서,
상기 원본데이터베이스 또는 상기 복제데이터베이스 파일의 변경을 저장장치와 동기화하는 함수인 동기화함수가
상기 파일갱신부가 상기 원본데이터베이스의 변경을 상기 복제데이터베이스에 반영할 때 및 상기 파일교환부가 상기 제2 원본데이터베이스와 상기 제2 복제데이터베이스를 생성할 때 각각 호출되는 것을 특징으로 하는 단일 어플리케이션이 이용하는 파일 기반 데이터베이스의 저널링 장치.

The method according to claim 6,
Wherein the synchronization function is a function for synchronizing the change of the original database or the replica database file with the storage device
When the file update unit reflects the change of the original database in the replica database and when the file exchange unit creates the second original database and the second replica database, The journaling device in the database.

KR1020170123771A 2016-11-15 2017-09-25 Method and apparatus for journaling of file-based database which is used by one application KR102111555B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020160152143 2016-11-15
KR20160152143 2016-11-15

Publications (2)

Publication Number Publication Date
KR20180054423A true KR20180054423A (en) 2018-05-24
KR102111555B1 KR102111555B1 (en) 2020-05-18

Family

ID=62296936

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170123771A KR102111555B1 (en) 2016-11-15 2017-09-25 Method and apparatus for journaling of file-based database which is used by one application

Country Status (1)

Country Link
KR (1) KR102111555B1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001236256A (en) * 2000-02-23 2001-08-31 Hitachi Ltd Distributed arrangement system for electronic information and distributed arrangement system for data base and remote management system
KR20090061517A (en) * 2007-12-11 2009-06-16 한국전자통신연구원 System and method for updating file
JP2012226453A (en) * 2011-04-15 2012-11-15 Toshiba Corp Database device and database reorganization method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001236256A (en) * 2000-02-23 2001-08-31 Hitachi Ltd Distributed arrangement system for electronic information and distributed arrangement system for data base and remote management system
KR20090061517A (en) * 2007-12-11 2009-06-16 한국전자통신연구원 System and method for updating file
JP2012226453A (en) * 2011-04-15 2012-11-15 Toshiba Corp Database device and database reorganization method

Also Published As

Publication number Publication date
KR102111555B1 (en) 2020-05-18

Similar Documents

Publication Publication Date Title
CN108376109B (en) Apparatus and method for copying volume of source array to target array, storage medium
JP6309103B2 (en) Snapshot and clone replication
US7516286B1 (en) Conversion between full-data and space-saving snapshots
US8965850B2 (en) Method of and system for merging, storing and retrieving incremental backup data
US8250033B1 (en) Replication of a data set using differential snapshots
JP5081631B2 (en) Method and apparatus for managing data deletion
CN100440155C (en) Method and apparatus for creating a virtual data copy
US11093387B1 (en) Garbage collection based on transmission object models
US7685385B1 (en) System and method for satisfying I/O requests before a replica has been fully synchronized
US7433902B2 (en) Non-disruptive backup copy in a database online reorganization environment
KR100280221B1 (en) Optimization of Memory Space in Databases
CN109144416B (en) Method and device for querying data
US10628298B1 (en) Resumable garbage collection
US20110082835A1 (en) Periodic file system checkpoint manager
US7979651B1 (en) Method, system, and computer readable medium for asynchronously processing write operations for a data storage volume having a copy-on-write snapshot
WO2016115217A1 (en) Data backup method and apparatus
US11397749B2 (en) Asynchronous replication of in-scope table data
CN104750755A (en) Method and system for recovering data after switching between main database and standby database
CN110825546A (en) Recovery method, system and equipment terminal for high-availability database cluster
CN109753381B (en) Continuous data protection method based on object storage
CN111158858A (en) Cloning method and device of virtual machine and computer readable storage medium
CN107145501B (en) File updating method, file copying method and corresponding system
KR20180054423A (en) Method and apparatus for journaling of file-based database which is used by one application
US8751443B1 (en) Online mirror state transitions for good quality of service and high availability in databases
KR102024719B1 (en) Method and apparatus for journaling of file-based database

Legal Events

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