KR20190069201A - Data base management method - Google Patents
Data base management method Download PDFInfo
- Publication number
- KR20190069201A KR20190069201A KR1020170169671A KR20170169671A KR20190069201A KR 20190069201 A KR20190069201 A KR 20190069201A KR 1020170169671 A KR1020170169671 A KR 1020170169671A KR 20170169671 A KR20170169671 A KR 20170169671A KR 20190069201 A KR20190069201 A KR 20190069201A
- Authority
- KR
- South Korea
- Prior art keywords
- transaction
- redo log
- page
- stored
- node
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
데이터 베이스를 복구하는 데이터 베이스 관리 방법에 관한 것이다.And a database management method for restoring a database.
데이터 베이스 관리 시스템 (Data Base Management System, 이하 DBMS)은 데이터 베이스에 데이터를 저장하고, 저장된 데이터에 접근하거나, 저장된 데이터를 변경할 수 있는 데이터 베이스의 관리 체계를 의미한다.A database management system (DBMS) is a database management system that stores data in a database, accesses stored data, and changes stored data.
이와 같은 DBMS에서는 정해진 방법에 따라 시스템이 동작하지 않는 장애가 발생한 경우, 데이터 베이스를 장애가 발생하기 이전의 상태로 복구하는 것이 매우 중요하다. 따라서, 오랜 기간 동안 지속적으로 정상 운영이 가능한 성질을 뜻하는 고가용성(High Availability, HA)은 DBMS의 성능을 판단하는데 중요한 요소이다.In such a DBMS, it is very important to recover the database to a state before the failure when a failure occurs in which the system does not operate according to a predetermined method. Therefore, High Availability (HA), which means a property that can be continuously operated for a long period of time, is an important factor for judging the performance of a DBMS.
고가용성을 구현하기 위해, DBMS는 데이터 베이스를 복제하여 장애 발생 시를 대비할 수 있다. 구체적으로, DBMS는 데이터 베이스 및 로그를 복제하는 물리적 방법 또는 데이터 베이스의 일부만을 복제하는 논리적 방법을 이용할 수 있다.To achieve high availability, the DBMS can replicate the database to prepare for failures. Specifically, the DBMS can use a physical method of duplicating the database and the log, or a logical method of duplicating only a part of the database.
개시된 발명의 일 측면은 스탠바이 노드(Standby Node)에 리두 로그(Redo Log) 및 이에 대응되는 페이지를 함께 전송하는 데이터 베이스 관리 방법을 제공한다.One aspect of the disclosed invention provides a database management method for transmitting a redo log and a corresponding page to a standby node.
개시된 발명의 일 실시 예에 따른 데이터 베이스 관리 방법은, 트랜잭션(Transaction)이 발생되면, 상기 트랜잭션에 대응되는 리두 로그(Redo Log)를 액티브 노드(Active Node)의 리두 로그 버퍼에 저장하는 단계; 공유 디스크에 미리 저장된 데이터 베이스 중 상기 트랜잭션에 대응되는 페이지를 상기 액티브 노드의 버퍼로 읽어오는 단계; 상기 액티브 노드의 상기 리두 로그 버퍼에 저장된 상기 리두 로그 및 상기 액티브 노드의 상기 버퍼로 읽혀진 상기 페이지를 스탠바이 노드(Standby Node)로 전송하는 단계; 및 상기 수신된 리두 로그에 기초하여 상기 스탠바이 노드에서 상기 트랜잭션을 상기 수신된 페이지에 적용하는 단계; 를 포함할 수 있다.According to another aspect of the present invention, there is provided a database management method comprising: storing a redo log corresponding to a transaction in a redo log buffer of an active node when a transaction occurs; Reading a page corresponding to the transaction among a database stored in advance in a shared disk into a buffer of the active node; Transmitting the redo log stored in the redo log buffer of the active node and the page read by the buffer of the active node to a standby node; And applying the transaction to the received page at the standby node based on the received redo log; . ≪ / RTI >
또한, 상기 액티브 노드의 상기 리두 로그 버퍼에 저장된 상기 리두 로그를 상기 공유 디스크의 리두 로그 파일에 저장하는 단계; 및 상기 액티브 노드가 비정상으로 판단되면, 상기 공유 디스크에 저장된 상기 리두 로그 파일에 대응되는 트랜잭션을 상기 스탠바이 노드의 상기 버퍼에 저장된 페이지에 적용하는 단계; 를 더 포함할 수 있다.Storing the redo log stored in the redo log buffer of the active node in a redo log file of the shared disk; And applying a transaction corresponding to the redo log file stored on the shared disk to a page stored in the buffer of the standby node if the active node is determined to be abnormal; As shown in FIG.
또한, 상기 리두 로그 파일에 대응되는 트랜잭션을 상기 스탠바이 노드의 상기 버퍼에 저장된 페이지에 적용하는 단계는, 상기 리두 로그 파일에 저장된 상기 리두 로그와 상기 스탠바이 노드에 수신된 리두 로그를 비교하여 상기 스탠바이 노드의 상기 버퍼에 저장된 페이지에 적용할 트랜잭션을 결정할 수 있다.The step of applying the transaction corresponding to the redo log file to the page stored in the buffer of the standby node may include comparing the redo log stored in the redo log file with the redo log received by the standby node, The transaction to be applied to the page stored in the buffer.
또한, 상기 리두 로그 파일에 대응되는 트랜잭션을 상기 스탠바이 노드의 상기 버퍼에 저장된 페이지에 적용한 후 새로운 트랜잭션이 발생되면, 상기 새로운 트랜잭션에 대응되는 페이지를 상기 스탠바이 노드의 버퍼로 읽어오는 단계; 및 상기 스탠바이 노드의 상기 버퍼로 읽혀진 상기 페이지에 상기 새로운 트랜잭션을 적용하는 단계; 를 더 포함할 수 있다.Reading a page corresponding to the new transaction into a buffer of the standby node when a new transaction is generated after applying a transaction corresponding to the redo log file to a page stored in the buffer of the standby node; And applying the new transaction to the page read by the buffer of the standby node; As shown in FIG.
또한, 상기 스탠바이 노드에서 상기 트랜잭션을 상기 수신된 페이지에 적용하는 단계는, 상기 수신된 페이지를 상기 스탠바이 노드의 버퍼에 저장하는 단계; 및 상기 액티브 노드의 상기 버퍼에 저장된 상기 페이지와 상기 스탠바이 노드의 상기 버퍼에 저장된 상기 페이지를 일치시키도록, 상기 트랜잭션을 상기 스탠바이 노드의 상기 버퍼에 저장된 상기 페이지에 적용하는 단계; 를 포함할 수 있다.The step of applying the transaction to the received page at the standby node further comprises: storing the received page in a buffer of the standby node; And applying the transaction to the page stored in the buffer of the standby node to match the page stored in the buffer of the active node with the page stored in the buffer of the standby node. . ≪ / RTI >
개시된 발명의 다른 실시 예에 따른 데이터 베이스 관리 방법은, 트랜잭션(Transaction)이 발생되면, 상기 트랜잭션에 대응되는 리두 로그(Redo Log)를 액티브 노드(Active Node)의 리두 로그 버퍼에 저장하는 단계; 상기 액티브 노드에 미리 저장된 데이터 베이스 중 상기 트랜잭션에 대응되는 페이지에 상기 트랜잭션을 적용하는 단계; 스탠바이 노드(Standby Node)에 미리 저장된 데이터 베이스 중 상기 트랜잭션에 대응되는 페이지에 상기 트랜잭션을 적용하는 단계; 및 상기 액티브 노드에서 상기 트랜잭션이 적용된 상기 페이지를 공유 디스크에 미리 저장된 복수의 데이터 베이스 파일 중 적어도 하나에 저장하는 단계; 를 포함할 수 있다.According to another aspect of the present invention, there is provided a database management method comprising: storing a redo log corresponding to a transaction in a redo log buffer of an active node when a transaction occurs; Applying the transaction to a page corresponding to the transaction among a database previously stored in the active node; Applying the transaction to a page corresponding to the transaction among a database stored in a standby node in advance; And storing the page to which the transaction is applied in the active node in at least one of a plurality of database files stored in advance in a shared disk; . ≪ / RTI >
또한, 상기 액티브 노드에서 상기 트랜잭션을 적용하기에 앞서, 상기 액티브 노드의 상기 리두 로그 버퍼에 저장된 상기 리두 로그를 상기 공유 디스크의 리두 로그 파일에 저장하는 단계; 및 상기 액티브 노드가 비정상으로 판단되면, 상기 공유 디스크에 저장된 상기 리두 로그 파일에 대응되는 트랜잭션을 상기 스탠바이 노드의 상기 데이터 베이스에 적용하는 단계; 를 더 포함할 수 있다.Storing the redo log stored in the redo log buffer of the active node in the redo log file of the shared disk before applying the transaction at the active node; And applying a transaction corresponding to the redo log file stored on the shared disk to the database of the standby node if the active node is determined to be abnormal; As shown in FIG.
또한, 상기 리두 로그 파일에 대응되는 트랜잭션을 상기 스탠바이 노드의 상기 데이터 베이스에 적용한 후, 상기 트랜잭션이 적용된 상기 데이터 베이스의 페이지를 상기 공유 디스크에 미리 저장된 상기 복수의 데이터 베이스 파일 중 적어도 하나에 저장하는 단계; 를 더 포함할 수 있다.In addition, after applying a transaction corresponding to the redo log file to the database of the standby node, the page of the database to which the transaction is applied is stored in at least one of the plurality of database files stored in advance in the shared disk step; As shown in FIG.
또한, 상기 리두 로그 파일에 대응되는 트랜잭션을 상기 스탠바이 노드의 상기 데이터 베이스에 적용한 후 새로운 트랜잭션이 발생되면, 상기 스탠바이 노드에 저장된 상기 데이터 베이스 중 상기 새로운 트랜잭션에 대응되는 페이지에 상기 새로운 트랜잭션을 적용하는 단계; 를 더 포함할 수 있다.When a new transaction is generated after applying a transaction corresponding to the redo log file to the database of the standby node, the new transaction is applied to a page corresponding to the new transaction among the databases stored in the standby node step; As shown in FIG.
또한, 상기 스탠바이 노드에 저장된 데이터 베이스 중 상기 트랜잭션에 대응되는 페이지에 상기 트랜잭션을 적용하는 단계는, 상기 액티브 노드에 저장된 데이터 베이스와 상기 스탠바이 노드에 저장된 데이터 베이스를 일치시키도록, 상기 스탠바이 노드에 저장된 데이터 베이스 중 상기 트랜잭션에 대응되는 페이지에 상기 트랜잭션을 적용할 수 있다.The step of applying the transaction to a page corresponding to the transaction among the databases stored in the standby node comprises the steps of storing the database in the active node and the database stored in the standby node, The transaction can be applied to a page corresponding to the transaction in the database.
개시된 발명의 일 실시 예에 따른 데이터 베이스 관리 방법에 따르면, 리두 로그 뿐만 아니라 이에 대응되는 페이지를 스탠바이 노드에 함께 전송함으로써, 공유 디스크의 공간 효율성을 높일 수 있다. 구체적으로, 고가용성을 제공하기 위해 데이터 베이스를 물리적 복제할 필요가 없으므로, 공유 디스크의 사용량을 최소로 할 수 있고, 비용 효율을 높일 수 있다. 나아가, 네트워크 파일 시스템 등을 이용하여 개시된 발명을 구현해 낼 수 있다.According to the database management method of the present invention, space efficiency of the shared disk can be improved by transmitting not only the redo log but also the corresponding page to the standby node. In particular, since there is no need to physically duplicate the database to provide high availability, the amount of shared disk usage can be minimized and cost efficiency can be increased. Further, the disclosed invention can be implemented using a network file system or the like.
도 1은 개시된 발명의 일 실시 예에 따른 데이터 베이스 관리 시스템의 개략적인 제어 블록도이다.
도 2는 개시된 발명의 일 실시 예에 따른 데이터 베이스 관리 시스템의 구체적인 제어 블록도이다.
도 3은 개시된 발명의 일 실시 예에 따른 데이터 베이스 관리 시스템이 정상 상태일 때의 동작을 설명하기 위한 도면이다.
도 4는 개시된 발명의 일 실시 예에 따른 데이터 베이스 관리 시스템에 장애 발생 시의 동작을 설명하기 위한 도면이다.
도 5는 다른 실시 예에 따른 데이터 베이스 관리 시스템이 정상 상태일 때의 동작을 설명하기 위한 도면이다.
도 6은 다른 실시 예에 따른 데이터 베이스 관리 시스템에 장애 발생 시의 동작을 설명하기 위한 도면이다.
도 7은 개시된 발명의 일 실시 예에 따른 데이터 베이스 관리 방법의 흐름도이다.
도 8은 개시된 발명의 다른 실시 예에 따른 데이터 베이스 관리 방법의 흐름도이다.1 is a schematic control block diagram of a database management system according to an embodiment of the disclosed invention.
2 is a specific control block diagram of a database management system according to an embodiment of the present invention.
3 is a view for explaining operations when the database management system according to an embodiment of the disclosed invention is in a normal state.
FIG. 4 is a diagram for explaining operations when a failure occurs in a database management system according to an embodiment of the present invention. Referring to FIG.
5 is a diagram for explaining operations when the database management system according to another embodiment is in a normal state.
FIG. 6 is a diagram for explaining operations when a failure occurs in the database management system according to another embodiment.
7 is a flowchart of a database management method according to an embodiment of the disclosed invention.
8 is a flowchart of a database management method according to another embodiment of the disclosed invention.
본 명세서에 기재된 실시 예와 도면에 도시된 구성은 개시된 발명의 바람직한 일 예에 불과할 뿐이며, 본 출원의 출원시점에 있어서 본 명세서의 실시 예와 도면을 대체할 수 있는 다양한 변형 예들이 있을 수 있다.It is to be understood that both the foregoing general description and the following detailed description of the present invention are exemplary and explanatory only and are not restrictive of the invention, as claimed, and it is to be understood that the invention is not limited to the disclosed embodiments.
본 명세서에서 사용한 용어는 실시 예를 설명하기 위해 사용된 것으로, 개시된 발명을 제한 및/또는 한정하려는 의도가 아니다. The terminology used herein is for the purpose of describing the embodiments only and is not intended to limit and / or to limit the disclosed invention.
예를 들어, 본 명세서에서 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다.For example, the phrase "a" or "an" in this specification may include a plurality of terms, unless the context clearly dictates otherwise.
또한, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들의 조합이 존재함을 표현하고자 하는 것이며, 하나 또는 그 이상의 다른 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들의 조합의 추가적인 존재 또는 부가 가능성을 배제하지 않는다.It is also to be understood that the terms " comprises "or" having "are intended to indicate that there are features, numbers, steps, operations, elements, But do not preclude the presence or addition of a number, a step, an operation, an element, a component, or a combination thereof.
또한, "제1", "제2" 등과 같이 서수를 포함하는 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위하여 사용되며, 상기 하나의 구성요소들을 한정하지 않는다.Also, terms including ordinal numbers such as " first ", "second ", and the like are used to distinguish one element from another, and do not limit the one element.
또한, "~부", "~기", "~블록", "~부재", "~모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미할 수 있다. 예를 들어, 상기 용어들은 FPGA (field-programmable gate array)/ ASIC (application specific integrated circuit) 등 적어도 하나의 하드웨어, 메모리에 저장된 적어도 하나의 소프트웨어 또는 프로세서에 의하여 처리되는 적어도 하나의 프로세스를 의미할 수 있다.In addition, terms such as "to part "," to ", "to block "," to absent ", "module ", and the like may denote a unit for processing at least one function or operation. For example, the terms may refer to at least one hardware, such as a field-programmable gate array (FPGA) / application specific integrated circuit (ASIC), at least one software stored in memory, have.
이하에서는 첨부한 도면을 참조하여 개시된 발명의 일 실시 예를 상세하게 설명한다. 첨부된 도면에서 제시된 동일한 참조번호 또는 부호는 실질적으로 동일한 기능을 수행하는 부품 또는 구성요소를 나타낼 수 있다.Hereinafter, an embodiment of the present invention will be described in detail with reference to the accompanying drawings. Like reference numbers or designations in the accompanying drawings may denote parts or components performing substantially the same function.
도 1은 개시된 발명의 일 실시 예에 따른 데이터 베이스 관리 시스템의 개략적인 제어 블록도이고, 도 2는 개시된 발명의 일 실시 예에 따른 데이터 베이스 관리 시스템의 구체적인 제어 블록도이고, 도 3은 개시된 발명의 일 실시 예에 따른 데이터 베이스 관리 시스템이 정상 상태일 때의 동작을 설명하기 위한 도면이고, 도 4는 개시된 발명의 일 실시 예에 따른 데이터 베이스 관리 시스템에 장애 발생 시의 동작을 설명하기 위한 도면이다.FIG. 1 is a schematic control block diagram of a database management system according to an embodiment of the disclosed invention. FIG. 2 is a specific control block diagram of a database management system according to an embodiment of the disclosed invention. FIG. 4 is a view for explaining an operation when a failure occurs in a database management system according to an embodiment of the present invention. FIG. to be.
도 1을 참조하면, 개시된 발명의 일 실시 예에 따른 데이터 베이스 관리 시스템은, 클라이언트와 통신하는 액티브 노드(100); 액티브 노드(100)와 통신하는 스탠바이 노드(200); 및 액티브 노드(100) 및 스탠바이 노드(200)가 공유하는 데이터 베이스가 저장되는 공유 디스크(D); 를 포함할 수 있다.Referring to FIG. 1, a database management system according to an embodiment of the present invention includes: an
공유 디스크(D)는 액티브 노드(100)와 스탠바이 노드(200) 모두에 연결되어, 미리 저장된 데이터 베이스를 양자에 제공할 수 있다. 데이터 베이스 관리 시스템의 고가용성을 위해, 공유 디스크(D)에 액티브 노드(100)에 대한 데이터 베이스와 스탠바이 노드(200)에 대한 데이터 베이스가 모두 저장될 수 있다. The shared disk D may be connected to both the
이를 통해, 액티브 노드(100)가 정상 상태일 때, 스탠바이 노드(200)는 액티브 노드(100)로부터 리두 로그를 수신하여, 이를 스탠바이 노드(200)에 대한 데이터 베이스에 지속적으로 반영할 수 있다. 그 결과, 액티브 노드(100)가 비정상으로 판단되면, 스탠바이 노드(200)는 공유 디스크(D)에 저장된 스탠바이 노드(200)에 대한 데이터 베이스를 통해 데이터 베이스 관리 서비스를 안정적으로 제공할 수 있다. Accordingly, when the
그러나, 상술한 서비스를 제공하기 위해, 데이터 베이스 관리 시스템은 동일한 데이터 베이스를 복제하여 저장하여야 하므로, 공유 디스크(D)의 공간 효율성이 낮아질 수 있다. However, in order to provide the above-described service, the database management system must replicate and store the same database, so that the space efficiency of the shared disk D may be lowered.
이를 해결하기 위해, 개시된 발명은 공유 디스크(D)에 복제된 데이터 베이스를 저장할 필요가 없는 데이터 베이스 관리 방법을 제공한다.In order to solve this problem, the disclosed invention provides a database management method that does not need to store a duplicated database on the shared disk D.
다시 도 1 을 참조하면, 액티브 노드(100)(Active Node)는 클라이언트와 통신을 수행하여, 클라이언트의 명령을 처리하는 서버를 의미할 수 있다. 정상 상태의 액티브 노드(100)는 데이터 베이스 관리 서비스를 수행하는 메인 서버로서, 클라이언트로부터 수신한 명령에 따라 데이터 베이스에 대한 동작을 수행할 수 있다.Referring again to FIG. 1, the
구체적으로, 개시된 발명의 일 실시 예에 따른 액티브 노드(100)는, 통신 인터페이스(110); 메모리(150) 로깅부(120); 복제부(130); 페이지 요청부(140); 메모리(150); 트랜잭션 적용부(160); 디스크 저장부(170); 페이지 리딩부(180); 및 공유 디스크 인터페이스(190); 를 포함할 수 있다.Specifically, the
트랜잭션(Transaction)이 발생되면, 메모리(150) 로깅부(120)는 메모리(150) 중 리두 로그 버퍼(Redo Log Buffer)에 트랜잭션에 대응되는 리두 로그(Redo Log)를 로깅(Logging)할 수 있다. 여기서, 트랜잭션이란 하나의 논리적 작업 단위를 구성하는 일련의 연산들의 집합을 뜻하고, 리두 로그란 시스템 오류로 인해 연산의 결과가 반영되지 않았을 경우 이를 다시 반영 시키기 위해, 트랜잭션의 각 변경 연산에 대하여 변경 후의 값을 포함하는 로그를 의미하고, 로깅이란 로그를 메모리(150)에 기록하는 것을 의미할 수 있다.When a transaction occurs, the
디스크 저장부(170)는 리두 로그 버퍼에 저장된 리두 로그를 공유 디스크 인터페이스(190)를 통해 주기적으로 공유 디스크(D)에 저장할 수 있다. 이 때, 디스크 저장부(170)는 공유 디스크(D)의 리두 로그 파일에 리두 로그를 저장할 수 있다.The
특히, 디스크 저장부(170)는 트랜잭션이 부분 완료(Partially Committed) 상태에서 완료(Committed) 상태로 들어가기 전에 리두 로그 버퍼에 저장된 모든 리두 로그를 공유 디스크(D)의 리두 로그 파일에 저장할 수 있다.In particular, the
페이지 요청부(140)는 트랜잭션에 대응되는 페이지를 공유 디스크 인터페이스(190)를 통해 공유 디스크(D)에 요청하고, 페이지 리딩부(180)는 트랜잭션에 대응되는 페이지를 메모리(150) 중 버퍼로 읽어올 수 있다. 트랜잭션 적용부(160)는 버퍼로 읽혀진 페이지에 트랜잭션을 적용할 수 있고, 상술한 디스크 저장부(170)는 주기적으로 적용된 버퍼 상의 페이지를 공유 디스크(D)의 데이터 베이스에 저장할 수 있다.The
복제부(130)는 메모리(150) 로깅부(120)에 의해 리두 로그 버퍼에 저장된 리두 로그와 버퍼로 읽혀진 페이지를 스탠바이 노드(200)로 복제할 수 있다. 구체적으로, 복제부(130)는 리두 로그 및 페이지를 복제한 후, 통신 인터페이스(110)를 통해 스탠바이 노드(200)로 전송할 수 있다. 이 때, 복제부(130)는 트랜잭션이 적용되기 전의 페이지를 복제할 수 있다.The
스탠바이 노드(200)는 액티브 노드(100)로부터 리두 로그 및 이에 대응되는 페이지를 수신하여, 데이터 베이스 관리 시스템에 장애 발생 시를 대비할 수 있다. 이를 위해, 스탠바이 노드(200)는 통신 인터페이스(210); 메모리 로깅부(220); 페이지 수신부(230); 페이지 요청부(240); 메모리(250); 트랜잭션 적용부(260); 디스크 저장부(270); 페이지 리딩부(280); 로그 비교부(285); 및 공유 디스크 인터페이스(290); 를 포함할 수 있다.The
액티브 노드(100)로부터 통신 인터페이스(210)를 통해 리두 로그가 수신되면, 메모리 로깅부(220)는 메모리 중 리두 로그 버퍼(252)에 수신된 리두 로그를 로깅할 수 있다. 또한, 액티브 노드(100)로부터 통신 인터페이스(210)를 통해 수신된 리두 로그에 대응되는 페이지가 수신되면, 페이지 수신부(230)는 메모리(250) 중 버퍼(251)에 수신된 페이지를 저장할 수 있다. When the redo log is received from the
메모리(250) 상에 수신된 리두 로그 및 페이지가 저장되면, 트랜잭션 적용부(260)는 수신된 리두 로그에 대응되는 트랜잭션을 수신된 페이지에 적용할 수 있다.When the redo log and the page received on the
도 3을 참조하면, 공유 디스크(D)에는 하나의 데이터 베이스 DB 및 리두 로그 파일 DL이 저장될 수 있다. 액티브 노드(100)에 페이지 P1에 대한 트랜잭션이 발생되면, 액티브 노드(100)의 리두 로그 버퍼(152)에는 트랜잭션 정보가 기록되고, 액티브 노드(100)의 메모리 중 버퍼(151)는 공유 디스크(D)의 데이터 베이스 DB 중 페이지 P1을 읽어올 수 있다. Referring to FIG. 3, one database DB and a redo log file DL may be stored in the shared disk D. Transaction information is written in the
페이지 P1이 액티브 노드(100)로 읽혀진 후, 액티브 노드(100)는 페이지 P1을 스탠바이 노드(200)로 전송할 수 있으며, 스탠바이 노드(200)는 메모리 중 버퍼(251) 상에 수신된 페이지 P1을 저장할 수 있다. 또한, 액티브 노드(100)는 저장된 리두 로그를 스탠바이 노드(200)로 전송할 수 있고, 스탠바이 노드(200)는 저장된 페이지 P1에 수신된 리두 로그에 대응되는 트랜잭션을 적용할 수 있다. After the page P1 is read into the
그 결과, 스탠바이 노드(200)의 리두 로그 버퍼(252)는 액티브 노드(100)의 리두 로브 버퍼(152)와 동일하고, 스탠바이 노드(200)의 버퍼(251)는 액티브 노드(100)의 버퍼(151)와 동일한 상태를 유지할 수 있다.As a result, the
만약, 데이터 베이스 관리 시스템에 장애가 발생한 경우, 특히 액티브 노드(100)가 비정상 상태인 경우, 스탠바이 노드(200)는 액티브 노드(100)를 대신하여 데이터 베이스에 트랜잭션을 적용할 수 있다. 구체적으로, 액티브 노드(100)가 비정상으로 판단되면, 스탠바이 노드(200)는 공유 디스크(D)에 저장된 리두 로그 파일에 대응되는 트랜잭션을 버퍼에 저장된 페이지에 적용할 수 있다.If a failure occurs in the database management system, especially when the
이를 위해, 로그 비교부(285)는 공유 디스크(D)의 리두 로그 파일에 저장된 리두 로그와 리두 로그 버퍼에 저장된 리두 로그를 비교할 수 있다. 이를 통해 스탠바이 노드(200) 상에 아직 반영되지 않은 트랜잭션이 존재하는 경우, 트랜잭션 적용부는 메모리 상의 해당 페이지에 트랜잭션을 적용할 수 있다. 또한, 디스크 저장부는 트랜잭션이 적용된 페이지를 공유 디스크(D) 인터페이스를 통해 공유 디스크(D) 상에 저장할 수 있다.To this end, the
도 4를 참조하면, 액티브 노드(100)가 비정상인 경우, 스탠바이 노드(200)는 공유 디스크(D)의 리두 로그 파일 DL에 저장된 리두 로그를 리두 로그 버퍼(252)에 저장된 리두 로그와 비교할 수 있다. 비교 결과 페이지 P2에 적용되지 않은 트랜잭션이 존재하는 것으로 판단되면, 스탠바이 노드(200)는 공유 디스크(D)의 데이터 베이스 DB 중 페이지 P2를 버퍼(251)에 읽어온 후, 버퍼(251) 상의 페이지 P2에 해당 트랜잭션을 적용할 수 있다. 4, when the
리두 로그 파일의 리두 로그와 스탠바이 노드(200)의 리두 로그의 비교 결과에 따라 트랜잭션을 적용한 후 새로운 트랜잭션이 발생되면, 페이지 요청부(240)는 새로운 트랜잭션에 대응되는 페이지를 공유 디스크(D) 인터페이스를 통해 공유 디스크(D)에 요청하고, 페이지 리딩부(280)는 공유 디스크(D) 인터페이스를 통해 공유 디스크(D)로부터 해당 페이지를 읽어와 메모리(250)의 버퍼(251)에 저장할 수 있다. When a new transaction is generated after applying a transaction according to a result of comparison between the redo log of the redo log file and the redo log of the
트랜잭션 적용부(260)는 버퍼(251)로 읽혀진 페이지에 새로운 트랜잭션을 적용하고, 디스크 저장부(270)는 새로운 트랜잭션이 적용된 페이지를 공유 디스크(D) 인터페이스를 통해 공유 디스크(D)에 저장할 수 있다.The
이를 통해, 개시된 발명의 일 실시 예에 따른 데이터 베이스 관리 시스템은 고가용성을 제공하면서도, 공유 디스크(D) 공간 효율성을 높일 수 있다.Thus, the database management system according to an embodiment of the disclosed invention can increase the space efficiency of the shared disk (D) while providing high availability.
지금까지는 디스크 기반 데이터 베이스 관리 시스템에 대하여 설명하였다. 이하에서는 데이터 베이스를 메모리 상에 유지하는 메모리 기반 데이터 베이스 관리 시스템에 대하여 설명한다.The disk-based database management system has been described so far. Hereinafter, a memory-based database management system for holding a database in a memory will be described.
메모리 기반 데이터 베이스 관리 시스템은 데이터 베이스가 액티브 노드(100) 및 스탠바이 노드(200) 각각의 메모리 상에 존재할 수 있다. 이 경우, 공유 디스크(D)에는 복구를 위한 데이터 베이스가 저장될 수 있다. 특히, 트랜잭션과 무관하게 주기적으로 변경 페이지를 공유 디스크(D)에 저장하는 메모리 기반 데이터 베이스 관리 시스템은 트랜잭션과 주기적으로 변경 페이지를 공유 디스크(D)에 저장하는 체크 포인트가 동시에 수행될 수 있다. 체크 포인트 수행 중에는 데이터 베이스의 일관성이 유지되기 어렵기 때문에, 체크 포인트 수행 중 시스템 장애가 발생하면 디스크 상의 데이터 베이스를 복구에 이용할 수 없다.A memory-based database management system may have a database on the memory of each of the
이를 해결하기 위해, 메모리 기반 데이터 베이스는 공유 디스크(D)에 복수, 예를 들어 두 개, 의 데이터 베이스를 구축하고, 교대로 체크 포인트를 수행하는 Ping-Pong Checkpoint(Dali, "A High Performance Main Memory Storage Manager", Proceedings of the 20th VLDB Conference Santiago, Chile, 1994)를 채용할 수 있다. 이 경우, 액티브 노드(100)와 스탠바이 노드(200) 각각이 공유 디스크(D) 상에 데이터 베이스를 구축하는 경우, 동일 데이터 베이스가 공유 디스크(D)에 4개 저장되어, 공간 효율성이 낮아질 수 있다.In order to solve this problem, the memory-based database includes a plurality of, for example, two, databases in the shared disk D, and a ping-pong checkpoint (Dali, the Memory Storage Manager ", Proceedings of the 20 th VLDB Conference Santiago, Chile, 1994) can be adopted. In this case, when each of the
이를 해결하기 위해, 다른 실시 예에 따른 데이터 베이스 관리 시스템은 정상 상태에서는 스탠바이 노드(200)에서 Ping-Pong Checkpoint를 수행하지 않을 수 있다. 이하에서는 도 5 및 6을 참조하여, 다른 실시 예에 따른 데이터 베이스 관리 시스템의 동작을 설명한다.To solve this problem, the database management system according to another embodiment may not perform a ping-pong checkpoint in the
도 5는 다른 실시 예에 따른 데이터 베이스 관리 시스템이 정상 상태일 때의 동작을 설명하기 위한 도면이고, 도 6은 다른 실시 예에 따른 데이터 베이스 관리 시스템에 장애 발생 시의 동작을 설명하기 위한 도면이다.FIG. 5 is a view for explaining an operation when the database management system according to another embodiment is in a normal state, and FIG. 6 is a view for explaining an operation when a failure occurs in the database management system according to another embodiment .
도 5를 참조하면, Ping-Pong Checkpoint에 따라 공유 디스크(D)에 두 개의 데이터 베이스 DB A1, 및 DB A2와 로그 파일이 저장될 수 있다.Referring to FIG. 5, two database DBs A1 and DB2 and a log file may be stored in the shared disk D according to a ping-pong checkpoint.
트랜잭션이 발생되면, 액티브 노드(100)는 트랜잭션에 대응되는 리두 로그를 리두 로그 버퍼(152)에 저장할 수 있다. 또한, 액티브 노드(100)는 리두 로그 버퍼(152)에 저장된 리두 로그를 주기적으로 공유 디스크(D)에 저장할 수 있다. 이 때, 디스크 저장부는 공유 디스크(D)의 리두 로그 파일에 리두 로그를 저장할 수 있다.When a transaction occurs, the
나아가, 액티브 노드(100)는 메모리(150) 상에 미리 저장된 데이터 베이스 중 발생된 트랜잭션에 대응되는 페이지 P1에 트랜잭션을 적용할 수 있다. 페이지 P1에 트랜잭션이 적용된 후, 액티브 노드(100)는 Ping-Pong Checkpoint에 따라 데이터 베이스 DB A1, 및 DB A2 중 적어도 하나에 페이지 P1을 저장할 수 있다.Furthermore, the
또한, 스탠바이 노드(200)는 액티브 노드(100)의 리두 로그 버퍼(152)에 저장된 리두 로그에 기초하여 스탠바이 노드(200)의 메모리(250) 상에 미리 저장된 데이터 베이스 중 페이지 P1에 트랜잭션을 적용할 수 있다. 이를 통해, 스탠바이 노드(200)의 메모리(250) 상의 데이터 베이스는 액티브 노드(100)의 메모리(150) 상의 데이터 베이스와 동일한 상태를 유지할 수 있다.The
다만, 스탠바이 노드(200)는 Ping-Pong Checkpoint를 수행하지는 않는다.However, the
도 6을 참조하면, 액티브 노드(100)가 비정상인 경우, 스탠바이 노드(200)는 공유 디스크(D)의 리두 로그 파일 DL에 대응되는 트랜잭션을 메모리(250) 상의 데이터 베이스에 적용할 수 있다. 구체적으로, 스탠바이 노드(200)는 공유 디스크(D)의 리두 로그 파일 DL에 저장된 로그 파일을 참조하여 메모리(250) 상의 데이터 베이스에 적용되지 않은 트랜잭션을 확인하고, 확인된 트랜잭션을 이에 대응되는 페이지에 적용할 수 있다. Referring to FIG. 6, if the
트랜잭션 적용 후, 스탠바이 노드(200)는 Ping-Pong Checkpoint에 따라 데이터 베이스 DB A1, 및 DB A2 중 적어도 하나에 변경된 페이지를 저장할 수 있다.After the transaction is applied, the
또한, 트랜잭션 적용 후 새로운 트랜잭션이 발생되면, 스탠바이 노드(200)는 새로운 트랜잭션에 대응되는 페이지에 새로운 트랜잭션을 적용하고, 새로운 트랜잭션이 적용된 페이지를 Ping-Pong Checkpoint에 따라 공유 디스크(D)에 저장할 수 있다.When a new transaction is generated after the transaction is applied, the
이를 통해, 개시된 발명의 일 실시 예에 따른 데이터 베이스 관리 시스템은 고가용성을 제공하면서도, 공유 디스크(D) 공간 효율성을 높일 수 있다.Thus, the database management system according to an embodiment of the disclosed invention can increase the space efficiency of the shared disk (D) while providing high availability.
도 7은 개시된 발명의 일 실시 예에 따른 데이터 베이스 관리 방법의 흐름도이다. 구체적으로, 도 7은 정상 상태에서의 데이터 베이스 관리 방법의 흐름도이다.7 is a flowchart of a database management method according to an embodiment of the disclosed invention. Specifically, Fig. 7 is a flowchart of a database management method in a steady state.
먼저, 데이터 베이스 관리 시스템은 리두 로그를 액티브 노드(100)의 리두 로그 버퍼에 저장할 수 있다.(800) 그 다음, 데이터 베이스 관리 시스템은 공유 디스크(D)에 저장된 데이터 베이스 중 트랜잭션에 대응되는 페이지를 액티브 노드(100)로 읽어올 수 있다.(810) 페이지를 읽어온 후, 데이터 베이스 관리 시스템은 액티브 노드(100)로부터 리두 로그 및 페이지를 스탠바이 노드(200)로 전송할 수 있다.(820) 마지막으로, 데이터 베이스 관리 시스템은 스탠바이 노드(200)에 의해 수신된 리두 로그에 따라 수신된 페이지에 트랜잭션을 적용할 수 있다.(830) First, the database management system can store the redo log in the redo log buffer of the
이를 통해, 데이터 베이스 관리 시스템은 스탠바이 노드(200)와 액티브 노드(100)에 저장된 리두 로그 및 페이지를 일치시킬 수 있다.In this way, the database management system can match the redo log and page stored in the
도 8은 개시된 발명의 다른 실시 예에 따른 데이터 베이스 관리 방법의 흐름도이다. 구체적으로, 도 8은 비정상 상태에서의 데이터 베이스 관리 방법의 흐름도이다.8 is a flowchart of a database management method according to another embodiment of the disclosed invention. Specifically, FIG. 8 is a flowchart of a database management method in an abnormal state.
먼저, 데이터 베이스 관리 시스템은 액티브 노드(100)가 정상 상태인지 확인할 수 있다.(900) 정상 상태라면, 반복하여 데이터 베이스 관리 시스템은 반복하여 이를 확인할 수 있다. 반면, 액티브 노드(100)가 비정상 상태라면, 데이터 베이스 관리 시스템은 공유 디스크(D)에 저장된 리두 로그와 스탠바이 노드(200)에 수신된 리두 로그를 비교하여 스탠바이 노드(200)에 적용할 트랜잭션을 결정할 수 있다.(910) 마지막으로, 데이터 베이스 관리 시스템은 결정된 트랜잭션을 스탠바이 노드(200)의 버퍼에 저장된 페이지에 적용할 수 있다.(920)First, the database management system can check if the
이를 통해, 개시된 발명의 일 실시 예에 따른 데이터 베이스 관리 시스템은 고가용성을 제공하면서도, 공유 디스크(D) 공간 효율성을 높일 수 있다.Thus, the database management system according to an embodiment of the disclosed invention can increase the space efficiency of the shared disk (D) while providing high availability.
100: 액티브 노드
200: 스탠바이 노드
D: 공유 디스크
C: 클라이언트100: active node
200: standby node
D: Shared disk
C: Client
Claims (10)
공유 디스크에 미리 저장된 데이터 베이스 중 상기 트랜잭션에 대응되는 페이지를 상기 액티브 노드의 버퍼로 읽어오는 단계;
상기 액티브 노드의 상기 리두 로그 버퍼에 저장된 상기 리두 로그 및 상기 액티브 노드의 상기 버퍼로 읽혀진 상기 페이지를 스탠바이 노드(Standby Node)로 전송하는 단계; 및
상기 수신된 리두 로그에 기초하여 상기 스탠바이 노드에서 상기 트랜잭션을 상기 수신된 페이지에 적용하는 단계; 를 포함하는 데이터 베이스 관리 방법.Storing a redo log corresponding to the transaction in a redo log buffer of an active node when a transaction occurs;
Reading a page corresponding to the transaction among a database stored in advance in a shared disk into a buffer of the active node;
Transmitting the redo log stored in the redo log buffer of the active node and the page read by the buffer of the active node to a standby node; And
Applying the transaction to the received page at the standby node based on the received redo log; The database management method comprising:
상기 액티브 노드의 상기 리두 로그 버퍼에 저장된 상기 리두 로그를 상기 공유 디스크의 리두 로그 파일에 저장하는 단계; 및
상기 액티브 노드가 비정상으로 판단되면, 상기 공유 디스크에 저장된 상기 리두 로그 파일에 대응되는 트랜잭션을 상기 스탠바이 노드의 상기 버퍼에 저장된 페이지에 적용하는 단계; 를 더 포함하는 데이터 베이스 관리 방법.The method according to claim 1,
Storing the redo log stored in the redo log buffer of the active node in a redo log file of the shared disk; And
Applying a transaction corresponding to the redo log file stored on the shared disk to a page stored in the buffer of the standby node if the active node is determined to be abnormal; Further comprising the steps of:
상기 리두 로그 파일에 대응되는 트랜잭션을 상기 스탠바이 노드의 상기 버퍼에 저장된 페이지에 적용하는 단계는,
상기 리두 로그 파일에 저장된 상기 리두 로그와 상기 스탠바이 노드에 수신된 리두 로그를 비교하여 상기 스탠바이 노드의 상기 버퍼에 저장된 페이지에 적용할 트랜잭션을 결정하는 데이터 베이스 관리 방법.3. The method of claim 2,
Wherein applying the transaction corresponding to the redo log file to a page stored in the buffer of the standby node comprises:
And comparing the redo log stored in the redo log file with the redo log received in the standby node to determine a transaction to be applied to the page stored in the buffer of the standby node.
상기 리두 로그 파일에 대응되는 트랜잭션을 상기 스탠바이 노드의 상기 버퍼에 저장된 페이지에 적용한 후 새로운 트랜잭션이 발생되면, 상기 새로운 트랜잭션에 대응되는 페이지를 상기 스탠바이 노드의 버퍼로 읽어오는 단계; 및
상기 스탠바이 노드의 상기 버퍼로 읽혀진 상기 페이지에 상기 새로운 트랜잭션을 적용하는 단계; 를 더 포함하는 데이터 베이스 관리 방법.3. The method of claim 2,
Reading a page corresponding to the new transaction into a buffer of the standby node when a new transaction is generated after applying a transaction corresponding to the redo log file to a page stored in the buffer of the standby node; And
Applying the new transaction to the page read by the buffer of the standby node; Further comprising the steps of:
상기 스탠바이 노드에서 상기 트랜잭션을 상기 수신된 페이지에 적용하는 단계는,
상기 수신된 페이지를 상기 스탠바이 노드의 버퍼에 저장하는 단계; 및
상기 액티브 노드의 상기 버퍼에 저장된 상기 페이지와 상기 스탠바이 노드의 상기 버퍼에 저장된 상기 페이지를 일치시키도록, 상기 트랜잭션을 상기 스탠바이 노드의 상기 버퍼에 저장된 상기 페이지에 적용하는 단계; 를 포함하는 데이터 베이스 관리 방법.The method according to claim 1,
Wherein applying the transaction to the received page at the standby node comprises:
Storing the received page in a buffer of the standby node; And
Applying the transaction to the page stored in the buffer of the standby node to match the page stored in the buffer of the active node with the page stored in the buffer of the standby node; The database management method comprising:
상기 액티브 노드에 미리 저장된 데이터 베이스 중 상기 트랜잭션에 대응되는 페이지에 상기 트랜잭션을 적용하는 단계;
스탠바이 노드(Standby Node)에 미리 저장된 데이터 베이스 중 상기 트랜잭션에 대응되는 페이지에 상기 트랜잭션을 적용하는 단계; 및
상기 액티브 노드에서 상기 트랜잭션이 적용된 상기 페이지를 공유 디스크에 미리 저장된 복수의 데이터 베이스 파일 중 적어도 하나에 저장하는 단계; 를 포함하는 데이터 베이스 관리 방법.Storing a redo log corresponding to the transaction in a redo log buffer of an active node when a transaction occurs;
Applying the transaction to a page corresponding to the transaction among a database previously stored in the active node;
Applying the transaction to a page corresponding to the transaction among a database stored in a standby node in advance; And
Storing the page to which the transaction is applied in the active node in at least one of a plurality of database files stored in advance in a shared disk; The database management method comprising:
상기 액티브 노드에서 상기 트랜잭션을 적용하기에 앞서, 상기 액티브 노드의 상기 리두 로그 버퍼에 저장된 상기 리두 로그를 상기 공유 디스크의 리두 로그 파일에 저장하는 단계; 및
상기 액티브 노드가 비정상으로 판단되면, 상기 공유 디스크에 저장된 상기 리두 로그 파일에 대응되는 트랜잭션을 상기 스탠바이 노드의 상기 데이터 베이스에 적용하는 단계; 를 더 포함하는 데이터 베이스 관리 방법.The method according to claim 6,
Storing the redo log stored in the redo log buffer of the active node in the redo log file of the shared disk prior to applying the transaction at the active node; And
Applying a transaction corresponding to the redo log file stored on the shared disk to the database of the standby node if the active node is determined to be abnormal; Further comprising the steps of:
상기 리두 로그 파일에 대응되는 트랜잭션을 상기 스탠바이 노드의 상기 데이터 베이스에 적용한 후, 상기 트랜잭션이 적용된 상기 데이터 베이스의 페이지를 상기 공유 디스크에 미리 저장된 상기 복수의 데이터 베이스 파일 중 적어도 하나에 저장하는 단계; 를 더 포함하는 데이터 베이스 관리 방법.8. The method of claim 7,
Applying a transaction corresponding to the redo log file to the database of the standby node and storing the page of the database to which the transaction is applied in at least one of the plurality of database files stored in advance in the shared disk; Further comprising the steps of:
상기 리두 로그 파일에 대응되는 트랜잭션을 상기 스탠바이 노드의 상기 데이터 베이스에 적용한 후 새로운 트랜잭션이 발생되면, 상기 스탠바이 노드에 저장된 상기 데이터 베이스 중 상기 새로운 트랜잭션에 대응되는 페이지에 상기 새로운 트랜잭션을 적용하는 단계; 를 더 포함하는 데이터 베이스 관리 방법.8. The method of claim 7,
Applying a transaction corresponding to the redo log file to the database of the standby node and applying the new transaction to a page corresponding to the new transaction among the databases stored in the standby node when a new transaction occurs; Further comprising the steps of:
상기 스탠바이 노드에 저장된 데이터 베이스 중 상기 트랜잭션에 대응되는 페이지에 상기 트랜잭션을 적용하는 단계는,
상기 액티브 노드에 저장된 데이터 베이스와 상기 스탠바이 노드에 저장된 데이터 베이스를 일치시키도록, 상기 스탠바이 노드에 저장된 데이터 베이스 중 상기 트랜잭션에 대응되는 페이지에 상기 트랜잭션을 적용하는 데이터 베이스 관리 방법.The method according to claim 6,
Wherein the applying the transaction to a page corresponding to the transaction among the databases stored in the standby node comprises:
Wherein the transaction is applied to a page corresponding to the transaction among the databases stored in the standby node to match the database stored in the active node with the database stored in the standby node.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170169671A KR102019565B1 (en) | 2017-12-11 | 2017-12-11 | Data base management method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170169671A KR102019565B1 (en) | 2017-12-11 | 2017-12-11 | Data base management method |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20190069201A true KR20190069201A (en) | 2019-06-19 |
KR102019565B1 KR102019565B1 (en) | 2019-11-04 |
Family
ID=67104627
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170169671A KR102019565B1 (en) | 2017-12-11 | 2017-12-11 | Data base management method |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102019565B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102428587B1 (en) * | 2022-04-13 | 2022-08-03 | 주식회사 비투엔 | Apparatus and method for handling transaction availability and performance guarantee based on micro service architecture |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030061537A1 (en) * | 2001-07-16 | 2003-03-27 | Cha Sang K. | Parallelized redo-only logging and recovery for highly available main memory database systems |
KR20130065338A (en) | 2011-12-09 | 2013-06-19 | 주식회사 알티베이스 | Apparatus and method for database management in active and standby nodes of main memory database management system |
-
2017
- 2017-12-11 KR KR1020170169671A patent/KR102019565B1/en active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030061537A1 (en) * | 2001-07-16 | 2003-03-27 | Cha Sang K. | Parallelized redo-only logging and recovery for highly available main memory database systems |
KR20130065338A (en) | 2011-12-09 | 2013-06-19 | 주식회사 알티베이스 | Apparatus and method for database management in active and standby nodes of main memory database management system |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102428587B1 (en) * | 2022-04-13 | 2022-08-03 | 주식회사 비투엔 | Apparatus and method for handling transaction availability and performance guarantee based on micro service architecture |
Also Published As
Publication number | Publication date |
---|---|
KR102019565B1 (en) | 2019-11-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10872076B2 (en) | Transaction ordering | |
CN101243446B (en) | Online page restore from a database mirror | |
US7788453B2 (en) | Redirection of storage access requests based on determining whether write caching is enabled | |
US7539703B2 (en) | Setup method for disaster recovery system | |
US6745305B2 (en) | Zeroed block optimization in disk mirroring applications | |
US7200626B1 (en) | System and method for verification of a quiesced database copy | |
US6389459B1 (en) | Virtualized storage devices for network disk mirroring applications | |
US7933872B2 (en) | Database backup, refresh and cloning system and method | |
US7627775B2 (en) | Managing failures in mirrored systems | |
US20110099148A1 (en) | Verification Of Remote Copies Of Data | |
US8560886B1 (en) | Method and system for rapid failback of a computer system in a disaster recovery environment | |
US10719407B1 (en) | Backing up availability group databases configured on multi-node virtual servers | |
US20060075004A1 (en) | Method, system, and program for replicating a file | |
KR20150070134A (en) | Retrieving point-in-time copies of a source database for creating virtual databases | |
KR100450400B1 (en) | A High Avaliability Structure of MMDBMS for Diskless Environment and data synchronization control method thereof | |
CN104813276A (en) | Streaming restore of a database from a backup system | |
US7809898B1 (en) | Detecting and repairing inconsistencies in storage mirrors | |
US20100169289A1 (en) | Two Phase Commit With Grid Elements | |
CN115858236A (en) | Data backup method and database cluster | |
RU2711348C1 (en) | Method and system for processing requests in a distributed database | |
US20040254962A1 (en) | Data replication for enterprise applications | |
KR102019565B1 (en) | Data base management method | |
KR102049417B1 (en) | Data storing and restoring method based on In-memory database using NVDIMM | |
US11693844B2 (en) | Processing delete requests based on change feed of updates | |
US11461192B1 (en) | Automatic recovery from detected data errors in database systems |
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 |