KR102248386B1 - 데이터베이스 데이터 수정 요청 처리 방법 및 장치 - Google Patents

데이터베이스 데이터 수정 요청 처리 방법 및 장치 Download PDF

Info

Publication number
KR102248386B1
KR102248386B1 KR1020197003517A KR20197003517A KR102248386B1 KR 102248386 B1 KR102248386 B1 KR 102248386B1 KR 1020197003517 A KR1020197003517 A KR 1020197003517A KR 20197003517 A KR20197003517 A KR 20197003517A KR 102248386 B1 KR102248386 B1 KR 102248386B1
Authority
KR
South Korea
Prior art keywords
log
database
data
computer
modified
Prior art date
Application number
KR1020197003517A
Other languages
English (en)
Other versions
KR20190026846A (ko
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 KR20190026846A publication Critical patent/KR20190026846A/ko
Application granted granted Critical
Publication of KR102248386B1 publication Critical patent/KR102248386B1/ko

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/23Updating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2358Change logging, detection, and notification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1471Saving, restoring, recovering or retrying involving logging of persistent data for recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2094Redundant storage or storage space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2379Updates performed during online database operations; commit processing

Landscapes

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

Abstract

본 출원은 데이터베이스 데이터 수정 요청 처리 모드가 비교적 오랜 시간이 걸리는 기존의 기술의 문제점을 해결하기 위한 데이터베이스 데이터 수정 요청 처리 방법 및 장치를 개시한다. 본 발명의 데이터베이스 데이터 수정 요청 처리 방법은, 데이터베이스에 대한 데이터 수정 요청을 수신하는 단계; 데이터베이스 내의 제2 데이터를 제1 데이터로 수정하고, 데이터 수정 요청에 기초하여 제1 로그가 제1 데이터를 포함하고 제2 로그가 제2 데이터를 포함하는 제1 로그 및 제2 로그를 생성하는 단계; 및 제1 로그에 대한 지속화 처리를 수행한 후에 데이터 수정 요청에 대응하는 수정 결과를 반송하는 단계를 포함한다.

Description

데이터베이스 데이터 수정 요청 처리 방법 및 장치
본 출원은 데이터베이스 기술 분야, 보다 구체적으로 데이터베이스 데이터 수정 요청 처리 방법 및 장치에 관한 것이다.
데이터베이스는 서버 상에서 운영되는 소프트웨어의 세트이며, 많은 양의 데이터를 저장하고, 질의(query)하고, 관리하는 데에 사용된다. 데이터베이스 로그는 데이터베이스에 의해 사용되는 저장 내용이며, 데이터베이스 내에서 발생된 동작들, 예를 들어 데이터 수정 동작들을 기록하기 위해 사용될 수 있다. 데이터베이스가 다시 시작되면, 이전의 정상적인 실행 상태를 복구시키기 위해서 로그가 사용될 수 있다. 데이터베이스가 로그를 다른 데이터베이스로 송신하는 경우, 다른 데이터베이스는 로그를 송신하는 데이터베이스와 동일한 사본을 복구시키기 위해 수신된 로그를 사용할 수도 있다. 이것은 주(primary)/보조(secondary) 데이터베이스 동기화를 위한 방법이다. 로그에는 수정 후의 데이터와 수정 전의 데이터가 포함되며, 일부 시나리오들에서는 수정된 데이터 등과 관련된 다른 데이터도 포함된다.
기존 기술에서, 사용자는 데이터 수정 요청을 데이터베이스로 송신할 수 있다. 이에 대응하여 데이터베이스는 데이터 수정 요청에 기초하여 데이터를 수정하여 로그를 생성하고, 생성된 로그에 대한 지속화(persistence) 처리를 수행(예를 들어, 생성된 로그를 하드 디스크에 저장함)한 다음, 데이터 수정 요청에 대응하는 수정 결과를 사용자에게 반송한다(예를 들어, 수정이 성공적이라고 사용자에게 통지함). 생성된 로그는 일반적으로 일시적 상태에 있으며, 지속화 처리를 수행하는 것은 정전이나 재시작으로 인하여 야기되는 우연한 손실을 방지하기 위한 것이다. 또한, 데이터베이스가 보조 데이터베이스를 갖는 경우, 데이터베이스는 생성된 로그를 먼저 보조 데이터베이스에 동기화한 다음, 데이터 수정 요청에 대응하는 수정 결과를 반송한다.
그러나, 생성된 로그에 대한 지속화 처리를 수행하거나 생성된 로그를 보조 데이터베이스에 동기화하는 것은 둘 다 많은 시간을 소모하는 것이 필요하다. 결과적으로, 기존의 기술에서는 데이터베이스 데이터 수정 요청 처리 모드에 대해서 비교적 오랜 시간이 걸리게 된다.
본 출원의 구현 예들은 데이터베이스 데이터 수정 요청 처리 모드가 비교적 오랜 시간이 걸리는 기존 기술의 문제점을 해결하기 위한 데이터베이스 데이터 수정 요청 처리 방법 및 장치를 제공한다.
본 출원의 구현 예들에서는 다음과 같은 기술적인 솔루션들이 사용된다:
본 출원의 구현 예는, 데이터베이스에 대한 데이터 수정 요청을 수신하는 단계; 데이터베이스 내의 제2 데이터를 제1 데이터로 수정하고, 데이터 수정 요청에 기초하여 제1 로그 및 제2 로그 - 제1 로그는 제1 데이터를 포함하고 제2 로그는 제2 데이터를 포함함 -를 생성하는 단계; 및 제1 로그에 대한 지속화 처리를 수행한 후에 데이터 수정 요청에 대응하는 수정 결과를 반송하는 단계를 포함하는 데이터베이스 데이터 수정 요청 처리 방법을 제공한다.
본 출원의 구현 예는, 데이터베이스에 대한 데이터 수정 요청을 수신하도록 구성된 수신 모듈; 데이터베이스 내의 제2 데이터를 제1 데이터로 수정하고 데이터 수정 요청에 기초하여 제1 로그 및 제2 로그 - 제1 로그는 제1 데이터를 포함하고 제2 로그는 제2 데이터를 포함함 -를 생성하도록 구성된 처리 모듈; 및 제1 로그에 대해 지속화 처리가 수행된 후에 데이터 수정 요청에 대응하는 수정 결과를 반송하도록 구성된 반송 모듈을 포함하는 데이터베이스 데이터 수정 요청 처리 장치를 제공한다.
본 출원의 구현 예들에 사용된 적어도 하나의 기술적 솔루션은 다음과 같은 유익한 효과들을 달성할 수 있다: 수정 후의 데이터, 수정 전의 데이터, 및 수정된 데이터와 관련된 다른 데이터를 포함하는 완전 로그를 생성하는 기존의 기술과 비교하여, 본 출원의 솔루션들에서는, 반드시 완전할 필요는 없고 내용들이 동일하지 않은 2 가지 종류의 로그들, 즉 제1 로그와 제2 로그가 임의의 데이터 수정 요청에 대해 생성될 수 있다. 제1 데이터는 수정 후의 데이터이고, 제2 데이터는 수정 전의 데이터이다. 제1 로그는 제1 데이터만을 포함할 수 있되, 제2 데이터 및 수정된 데이터와 관련된 다른 데이터를 포함하지 않을 수 있다. 제2 데이터 및 수정된 데이터와 관련된 다른 데이터 없이 수정 이후의 데이터에만 기초하여 데이터베이스 상태를 복구하거나 주/보조 동기화가 구현될 수 있기 때문에, 지속화 처리가 제1 로그에 대해 수행된 후에 수정 결과가 사용자에게 반송될 수 있다. 또한, 제1 로그의 데이터 용량은 완전 로그의 데이터 용량보다 적기 때문에 지속화 처리에 소요되는 시간이 작게 됨으로써, 데이터베이스 데이터 수정 요청 처리 시간을 단축시킬 수 있다. 따라서 기존 기술의 문제점을 부분적으로 또는 전부 해결할 수 있다.
본 명세서에서 설명하는 첨부된 도면들은 본 출원의 추가적인 이해를 제공하기 위해 의도된 것이고, 본 출원의 일부를 구성한다. 본 출원의 예시적인 구현 예들 및 그 설명들은 본 출원을 설명하기 위해 의도된 것이며, 본 출원에 대한 제한을 구성하지 않는다. 첨부된 도면들에서:
도 1은 본 출원의 구현 예에 따른 데이터베이스 데이터 수정 요청 처리 방법을 도시하는 개략적인 흐름도이다.
도 2는 기존 기술에 따른 실제 응용 시나리오에서 데이터 수정 요청 처리 절차를 도시하는 개략도이다.
도 3은 본 출원의 구현 예에 따른 실제 응용 시나리오에서 데이터 수정 요청 처리 절차를 도시하는 개략도이다.
도 4는 본 출원의 구현 예에 따른 실제 응용 시나리오에서 데이터 분석 시스템과 같은 외부 시스템으로 로그를 송신하기 위한 절차를 도시하는 개략도이다.
도 5는 본 출원의 구현 예에 따라 실제 응용 시나리오에서 보조 데이터베이스가 주 데이터베이스에 의해 동기화된, 수신된 제1 로그를 처리하는 절차를 도시하는 개략도이다.
도 6은 본 출원의 구현 예에 따라 실제 응용 시나리오(도 2 내지 도 4의 시나리오들을 사용함으로써)에서 본 출원의 솔루션들에서의 단말기들 간의 상호 작용들을 도시하는 개략도이다.
도 7은 본 출원의 구현 예에 따른 데이터베이스 데이터 수정 요청 처리 장치를 도시하는 개략적인 구조도이다.
본 출원의 목적들, 기술적 솔루션들, 및 이점들을 보다 명확하게 하기 위해, 본 출원 및 대응하는 첨부 도면들의 구현 예들을 참조하여 본 출원의 기술적 솔루션들을 다음과 같이 명확하고 포괄적으로 설명한다. 명백하게, 기술된 구현 예들은 단지 본 출원의 구현 예들의 전부는 아니지만 일부일 뿐이다. 창의적인 노력이 없이 본 출원의 구현 예들에 기초하여 당업자에 의해 획득된 다른 모든 구현 예들은 본 출원의 보호 범위 내에 있다.
도 1은 본 출원의 구현 예에 따른 데이터베이스 데이터 수정 요청 처리 방법을 도시하는 개략적인 흐름도이다.
도 1의 절차는 데이터베이스, 또는 데이터베이스에 속하지 않지만 데이터베이스에 접속될 수 있는 기능 모듈에 의해 수행될 수 있다. 데이터베이스 및/또는 기능 모듈이 위치하는 장치는 본 출원에서 제한되지 않는다. 이 장치에는 개인용 컴퓨터, 중형 및 대형 컴퓨터, 컴퓨터 클러스터, 휴대 전화기, 태블릿 컴퓨터, 스마트 워치, 서버 또는 클라이언트로서 기능하는 차량용 이동국 등을 포함하지만, 이들로 제한되지는 않는다.
도 1의 절차는 다음의 단계들을 포함할 수 있다.
S101. 데이터베이스에 대한 데이터 수정 요청을 수신한다.
본 출원의 본 구현 예에서, 데이터 수정 요청은 데이터베이스 내의 데이터를 수정하도록 요청하는 요청이다. 요청은 데이터베이스의 사용자에 의해 수동으로 송신될 수 있거나, 자동화 스크립트를 실행함으로써 자동으로 송신될 수 있다. 데이터 수정 요청은 데이터 갱신 요청, 데이터 삭제 요청, 및 데이터 추가 요청 중 적어도 하나의 추가의 요청들을 포함한다.
데이터 수정 요청의 형식은 본 출원에서 제한되지 않으며, 구조화된 질의 언어(SQL) 어구 형식일 수도 있고, 데이터베이스에 의해 지원되는 다른 형식들일 수도 있다.
S102. 데이터베이스 내의 제2 데이터를 제1 데이터로 수정하고, 데이터 수정 요청에 기초하여 제1 로그 및 제2 로그를 생성하며, 제1 로그는 제1 데이터를 포함하고 제2 로그가 제2 데이터를 포함한다.
본 출원의 본 구현 예에서, 데이터 수정 요청은 특정 데이터 수정 동작을 수행하기 위한 요청을 나타낼 수 있다. 예를 들어, 데이터 수정 요청은 데이터베이스내의 제2 데이터를 제1 데이터로 수정하라는 요청을 나타낸다. 물론, 실제로는 데이터 수정 요청은 이렇게 구체적이지 않은 요청일 수 있다. 예를 들어, 데이터 수정 요청은 데이터베이스의 총 데이터 용량을 절반 등으로 줄이기 위한 요청을 나타낼 수 있다. 감소될 데이터는 특정 정책들에 기초하여 데이터베이스에 의해 결정될 수 있다.
본 출원의 본 구현 예에서, 제1 데이터 또는 제2 데이터는 널(null)일 수 있다. 예를 들어, 데이터 삭제 요청의 경우, 제2 데이터는 널이 아니며 제1 데이터는 널이고; 데이터 추가 요청의 경우, 제1 데이터는 널이 아니며 제2 데이터는 널이고; 데이터 갱신 요청의 경우, 제1 데이터도 제2 데이터도 널이 아니다.
제1 데이터 및 제2 데이터의 내용은 본 출원에서 제한되지 않으며, 데이터베이스 기록물, 데이터 테이블, 데이터 인덱스, 또는 데이터 그래프와 같은 임의의 유형의 데이터의 일부 또는 모두일 수 있다.
본 출원의 본 구현 예에서, 데이터베이스 복구 또는 주/보조 동기화가 로그에 기초하여 수행될 필요가 있는 경우, 로그는 적어도 제1 데이터를 포함할 필요가 있다. 제2 데이터 및 수정된 데이터와 관련된 다른 데이터는 데이터베이스 복구 또는 주/보조 동기화를 위해서는 없어도 되므로, 로그에서 제외할 수 있다. 본 출원의 솔루션들에서는, 그러한 아이디어에 기초하여 기존 기술의 문제점이 완화될 수 있다. 기존의 기술에는 한 가지 종류의 로그(설명을 쉽게하기 위해 완전 로그라고 칭함)가 있으며 제1 데이터와 제2 데이터가 양자 모두 완전 로그에 포함된다. 본 출원의 솔루션들은 2 종류의 로그들, 제1 로그 및 제2 로그를 제공한다. 제1 로그는 데이터베이스 복구 또는 주/보조 동기화에 특화된 단순화된 로그일 수 있다. 바람직하게는, 제1 로그는 제1 데이터만을 포함할 수 있다(따라서, 제1 로그의 데이터 용량은 가능한 작게 될 수 있다). 제2 로그는 제1 로그를 보완하는 데 사용되는 완전 로그 또는 불완전 로그일 수 있다. 예를 들어, 제2 로그는 제2 데이터 및 제1 데이터의 양자 모두를 포함할 수 있고, 수정된 데이터 등과 관련된 다른 데이터 등을 포함할 수 있다. 대안으로, 제2 로그는 제2 데이터만을 포함할 수 있다.
본 출원의 본 구현 예에서, 대안적으로, 제1 로그와 결합된 제2 로그 또는 제2 로그가 데이터베이스 복구 또는 주/보조 동기화를 위해 사용될 수 있고, 또한, 데이터베이스 복구 또는 주/보조 동기화 이외의 작업들, 예를 들어, 데이터베이스에서의 데이터 변경에 대한 실시간 분석을 수행하는 데에 사용될 수 있다.
본 출원의 본 구현 예에서, 단계 S102에서 "제2 데이터를 제1 데이터로 수정하는 단계" 및 "제1 로그 및 제2 로그를 생성하는 단계"의 2 개의 서브 단계들을 수행하는 순서는 제한되지 않는다. 일반적으로, 수정 동작이 먼저 수행되고, 그 후에 대응하는 로그가 생성된다. 그러나, 실제로는, 로그를 먼저 생성하고, 그 후에 대응하는 수정 동작을 수행하여, 수정 동작이 수행될 때 발생하는 정전과 같은 이상으로 인한 로그 손실을 방지할 수 있다. 이 경우, 수정 동작을 수행할 때 정전과 같은 이상이 발생하더라도, 정상 복귀된 데이터베이스 내의 데이터 실제 상태에 기초하여 로그가 회복될 수 있다. 회복된 로그가, 포함시켜야 하는 로그를 손실하지 않도록 하고, 오류 또는 중복 로그를 갖는 로그를 포함하지 않도록 하는 것이 유용하다.
S103. 제1 로그에 대해 지속화 처리를 수행한 후 데이터 수정 요청에 대응하는 수정 결과를 반송한다.
본 출원의 본 구현 예에서, 단계 S102에서 생성된 제1 로그 및 제2 로그는 메모리 또는 버퍼에서 생성될 수 있고, 생성된 후 일시적 및 비 안정 상태에 있다. 일반적으로, 이 때 데이터베이스를 다시 시작하거나 전원을 끄면, 생성된 제1 로그와 생성된 제2 로그가 손실되어, 데이터베이스 복구 또는 주/보조 동기화를 수행할 수 없거나 로그를 사용할 필요가 있는 다른 기능들을 구현할 수 없다. 이러한 상황들을 방지하기 위해, 지속화 처리가 제1 로그에 대해 먼저 수행될 수 있고, 그 후 적어도 지속화 처리가 수행되는 적어도 제1 로그가 데이터베이스 복구 또는 주/보조 동기화를 수행하는 데 사용될 수 있도록, 대응하는 수정 결과가 데이터 수정 요청의 송신자에게 반송될 수 있다.
본 출원의 본 구현 예에서, 마찬가지 이유로 인해 제2 로그에 대해 지속화 처리가 수행될 수 있다. 그러나, 제2 로그에 대해 수행되는 지속화 처리를 데이터 수정 요청 처리 절차의 중요 경로 상에 배치할 수 없다. 도 1의 절차는 "제2 로그에 대한 지속화 처리를 수행하는 단계"를 포함하지 않으며, 도 1의 절차에서 임의의 단계의 실행은 "제2 로그에 대한 지속화 처리를 수행하는 단계"에 기초할 필요는 없다.
예를 들어, 메인 스레드(main thread) 또는 공정은 도 1의 절차를 수행하는데 사용될 수 있고, 다른 스레드(예를 들어, 백엔드 스레드) 또는 공정은 제2 로그에 대한 지속화 처리를 수행하는데 사용될 수 있다. 2 가지 동작들은 서로 방해하지 않을 수도 있다.
본 출원의 본 구현 예에서, 반송된 수정 결과에 포함되는 내용은 제한되지 않는다. 수정 결과에는 수정이 성공했는지 여부에 대한 설명만 포함되거나 수정후 데이터에 대한 설명이 포함될 수 있다.
도 1의 절차의 단계들은 동일한 장치 또는 상이한 장치들에 의해 수행될 수 있음에 주목할 가치가 있다. 예를 들어, 단계 S101 및 단계 S102는 장치 1에 의해 수행될 수 있고, 단계 S103은 장치 2에 의해 수행될 수 있다. 다른 예시로서, 단계 S101은 장치 1에 의해 수행될 수 있고, 단계 S102 및 단계 S103은 장치 2에 의해 수행될 수 있다.
이전의 방법에 따르면, 수정 후의 데이터, 수정 전의 데이터, 및 수정된 데이터와 관련된 다른 데이터를 포함하는 완전 로그를 생성하기 위한 기존의 기술과 비교하여, 2 종류의 로그들, 즉 제1 로그와 제2 로그 - 이것들은 내용이 동일하지 않고 반드시 완전할 필요가 없음 - 가 본 출원의 솔루션들에서의 임의의 데이터 수정 요청에 대해 생성될 수 있다. 제1 데이터는 수정 후의 데이터이고, 제2 데이터는 수정 전의 데이터이다. 제1 로그는, 제1 데이터만을 포함할 수 있고, 제2 데이터 및 수정된 데이터와 관련된 다른 데이터를 포함하지 않는다. 제2 데이터 및 수정된 데이터와 관련된 다른 데이터 없이 수정 이후의 데이터에만 기초하여 데이터베이스 상태가 복구될 수 있거나 주/보조 동기화가 구현될 수 있기 때문에, 지속화 처리가 제1 로그에 대해 수행된 후에 수정 결과가 사용자에게 반송될 수 있다. 또한, 제1 로그의 데이터 용량이 완전 로그의 데이터 용량보다 작아짐에 따라 지속화 처리에 소요되는 시간이 적기 때문에, 데이터베이스 데이터 수정 요청 처리 시간을 단축할 수 있다. 따라서, 기존 기술의 문제점을 완화할 수 있다.
또한, 제2 로그는 본 출원의 솔루션들에서 또한 생성되기 때문에, 제2 로그는 제1 로그를 보충하는 데 사용되는 완전 로그이거나 불완전 로그일 수 있다. 따라서, 기존 기술의 로그와 비교할 때, 전체 로그 내용은 부족하지 않으며, 로그를 생성하는데 소비되는 리소스들의 양은 거의 동일하다. 기존 기술의 로그를 기반으로 구현될 수 있는 기능은 여전히 본 출원의 솔루션들에서 구현될 수 있다.
이전의 방법에 기초하여, 본 출원의 구현 예는 이하에서 설명되는 이전의 방법의 몇몇 구현 솔루션들 및 확장된 솔루션들을 추가로 제공한다.
본원의 본 구현 예에서, 제1 로그 또는 제2 로그에 대해 수행된 지속화 처리는 위에서 언급되었다. 이해를 쉽게하기 위해 지속화 처리를 아래에 설명한다. 지속화 처리는 비휘발성 기억 장치에 로그를 저장하는 단계를 포함할 수 있고; 보다 구체적으로는 로그를 특정 형식의 파일로 기록한 다음 비휘발성 기억 장치에 파일을 저장할 수 있다. 비휘발성 기억 장치는 전원이 꺼지면 저장된 데이터가 손실되지 않는 기억 장치, 예를 들어 하드 디스크, 판독 전용 메모리(ROM), 소거 가능 프로그램 가능한 판독 전용 메모리(EPROM), 전기적으로 소거 가능 프로그램 가능한 판독 전용 메모리(EEPROM), 플래시 메모리 등일 수 있다.
예를 들어, 생성된 기록물은 텍스트로 기록될 수 있으며, 텍스트는 하드 디스크에 저장될 수 있다.
본 출원의 본 구현 예에서, 주/보조 데이터베이스 동기화 및 데이터베이스 복구에 부가하여, 데이터 분석과 같은 다른 시나리오들에서 로그가 사용될 수 있는 이전의 설명으로부터 알 수 있다. 제2 로그는 시나리오들을 구현하는 데 사용할 수 있고, 자세한 내용은 아래에서 설명한다.
일부 응용 시나리오들에서 데이터베이스는 데이터 분석 시스템과 같은 외부 시스템에 접속된다. 데이터베이스의 로그는 다른 용도로 외부 시스템에 제공될 수 있다. 데이터 분석 시스템이 일 예시로서 사용된다. 데이터 분석 시스템은 데이터베이스에 의해 송신된 로그를 기반으로 데이터베이스의 데이터 변경에 대한 실시간 또는 비실시간 분석을 수행할 수 있고 관련 사용자, 기관 등에 분석 결과를 제공할 수 있다.
데이터 분석 결과의 정확성 및 포괄성을 위해, 데이터 분석 시스템에서, 로그는 수정 후 데이터(즉, 제1 데이터) 및 수정 전 데이터(즉, 제2 데이터)를 포함할 필요가 있고, 심지어 다른 관련된 데이터(예를 들어, 수정된 데이터와 동일한 데이터베이스 기록물에 속하는 다른 데이터)를 포함할 필요가 있다.
본 출원의 본 구현 예에서, 제2 로그는 데이터 분석 시스템의 필요성을 만족시킬 수 있다. 제2 로그가 생성되거나 제2 로그에 대해 지속화 처리가 수행된 후에, 데이터 분석 시스템이 제2 로그에 기초하여 데이터 분석을 수행하도록 제2 로그는 데이터 분석 시스템으로 송신될 수 있다. 데이터 분석 시스템의 분석 내용은 본 출원에서 제한되지는 않는다.
본 출원의 본 구현 예에서, 본 출원의 솔루션들의 견고성을 더욱 향상시키기 위해, 제1 로그에 대한 지속화 처리가 수행된 후에 수정 결과는 일시적으로 반송이 보류될 수 있고, 제1 로그가 보조 데이터베이스 또는 다른 장치에 동기화된 후에 반송될 수 있다. 이와 같이, 보조 데이터베이스를 이러한 수정에 시간 동기화시키는 것이 편리해진다. 또한, 제1 로그를 백업하는 것과 동등하다. 제1 로그에 대한 지속화 처리에 사용되는 기억 장치에 결함이 있더라도, 보조 데이터베이스 또는 다른 장치로부터 제1 로그를 여전히 리트리빙(retrieve)할 수 있다.
예를 들어, 데이터베이스가 주 데이터베이스인 경우, 데이터 수정 요청에 대응하는 수정 결과를 반송하는 단계 S103 이전에, 보조 데이터베이스가 제1 로그에 기초하여 수정과 동기화되도록, 제1 로그를 데이터베이스의 보조 데이터베이스에 동기화시키는 단계가 추가로 수행될 수 있다.
이전 분석에 따르면, 실제 응용 시나리오에서 제1 로그는 제1 데이터 만 포함하는 단순화된 로그이고, 제2 로그는 적어도 제1 데이터와 제2 데이터를 포함하는 완전 로그이다. 도 2 및 도 3에 기초하여, 기존 기술의 처리 절차와 본 출원의 솔루션들에서의 처리 절차를 비교하여 분석한다.
도 2는 기존 기술에 따른 실제 응용 시나리오에서의 데이터 수정 요청 처리 절차를 도시하는 개략도이다. 도 2의 절차가 주 데이터베이스에 의해 수행되는 경우, 절차는 다음 단계들을 포함할 수 있다:
S201 : 사용자에 의해 송신된 데이터 수정 요청을 주 데이터베이스가 수신한다.
S202 : 주 데이터베이스는 데이터 수정 요청에 기초하여 대응하는 데이터 수정 동작을 수행한다.
S203 : 주 데이터베이스는 데이터 수정 요청 또는 수행된 데이터 수정 동작에 기초하여 메모리에 제2 로그를 생성한다.
S204 : 주 데이터베이스는 생성된 제2 로그에 대해 지속화 처리를 수행한다.
S205 : 주 데이터베이스는 지속화 처리가 수행되는 제2 로그를 보조 데이터베이스에 동기화한다.
S206 : 주 데이터베이스는 수정이 성공적이라고 사용자에게 응답한다.
단계 S201 내지 단계 S205 중 어느 하나에서 이상이 발생하면, 이상이 제거되기 전에 단계 S206은 수행되지 않을 수 있다.
도 3은 본 출원의 구현 예에 따른 실제 응용 시나리오에서의 데이터 수정 요청 처리 절차를 도시하는 개략도이다. 도 3의 절차가 또한 주 데이터베이스에 의해 수행되면, 절차는 다음과 같은 단계들을 포함할 수 있다:
S301 : 사용자에 의해 송신된 데이터 수정 요청을 주 데이터베이스가 수신한다.
S302 : 주 데이터베이스는 데이터 수정 요청에 기초하여 대응하는 데이터 수정 동작을 수행한다.
S303 : 주 데이터베이스는 데이터 수정 요청 또는 수행된 데이터 수정 동작에 기초하여 메모리에 제1 로그 및 제2 로그를 생성한다.
S304 : 주 데이터베이스는 생성된 제1 로그에 대해 지속화 처리를 수행한다.
S305 : 주 데이터베이스는 지속화 처리가 수행되는 제1 로그를 보조 데이터베이스에 동기화한다.
S306 : 주 데이터베이스는 수정이 성공적이라고 사용자에게 응답한다.
단계 S301 내지 단계 S305 중 어느 하나에서 이상이 발생하면, 이상이 제거되기 전에 단계 S306은 수행되지 않을 수 있다.
도 2와 도 3의 절차들 간을 비교하면, 제1 로그의 데이터 용량이 제2 로그의 데이터 용량보다 작기 때문에, 기존의 기술과 비교해 보면, 주 데이터베이스가 수정이 성공적이라고 사용자에게 응답하기 전에, 지속화 처리가 수행될 필요가 있는 로그의 데이터 용량이 본 출원의 솔루션들에서 감소될 수 있음을 알 수 있다. 이와 같이, 데이터 수정 요청 처리 시간이 감소될 수 있다.
또한, 주 데이터베이스는 도 2와 도 3의 절차들 모두에서 로그를 보조 데이터베이스에 동기화한다. 로그 동기화는 또한 대응하는 대역폭을 점유하고 대응하는 시간을 소비할 필요가 있다. 제1 로그의 데이터 용량이 제2 로그의 데이터 용량보다 작기 때문에, 기존의 기술과 비교해 보면, 로그 동기화에 의해 점유된 대역폭 및/또는 로그 동기화에 의해 소비된 시간은 본 출원의 솔루션들에서 감소될 수 있다.
도 4에 도시된 바와 같이, 본 출원의 구현 예는 실제 응용 시나리오에서 데이터 분석 시스템과 같은 외부 시스템에 로그를 송신하는 절차를 도시하는 개략도를 추가로 제공한다. 도 4의 절차가 또한 주 데이터베이스에 의해 수행되는 경우, 절차는 다음의 단계들을 포함할 수 있다:
S401 : 주 데이터베이스는 메모리에서 새롭게 생성된 제2 로그를 검출한다.
S402 : 주 데이터베이스는 새롭게 생성된 제2 로그를 획득한다.
S403 : 주 데이터베이스는 획득된 제2 로그에 대한 지속화 처리를 수행한다.
S404 : 주 데이터베이스는 제2 로그를 미리 결정된 외부 시스템으로 송신한다.
본 출원의 본 구현 예에서, 주 데이터베이스에 의해 동기화된 로그를 수신한 후에, 보조 데이터베이스는 로그에 대한 지속화 처리를 수행하거나 및/또는 로그를 외부 시스템으로 송신하는 것과 같은 동작들을 수행할 수도 있다. 그러나, 이러한 동작 과정은 기존 기술의 과정과 상이하다. 다음에는 보조 데이터베이스와 관련된 동작들을 설명한다.
기존의 기술에서, 보조 데이터베이스는 완전 로그(즉, 이전 예시에서 제2 로그)를 수신하고, 따라서 수신된 로그에 대한 지속화 처리를 수행하거나 및/또는 수신된 로그를 외부 시스템으로 송신하는 것과 같은 동작들을 직접 수행할 수 있다.
본 출원의 솔루션들에서, 보조 데이터베이스는 간략화된 로그(즉, 이전 예시에서의 제1 로그)를 수신하고, 수신된 로그에 대해 지속화 처리만 직접 수행할 수 있으며, 수신된 로그를 외부 시스템으로 송신하는 것은 적합하지는 않다. 실제로, 보조 데이터베이스는 완전 로그를 사용해야 할 수도 있다. 따라서, 보조 데이터베이스는 간략화된 로그에 기초하여 대응하는 완전 로그를 획득할 수 있고, 그 다음 완전 로그에 대한 지속화 처리를 수행하거나 및/또는 완전 로그를 외부 시스템으로 송신하는 것과 같은 동작들을 수행할 수 있다. 이와 같이, 주 데이터베이스와 보조 데이터베이스의 로그들 간의 일치가 개선될 수 있다. 이러한 아이디어에 기초하여, 데이터베이스가 제1 로그를 데이터베이스의 보조 데이터베이스에 동기화한 후에, 보조 데이터베이스는 다음의 단계를 수행할 수 있다: 보조 데이터베이스는 제1 로그에 기초하여 수정과 동기화하고 제2 로그를 생성한다. 또한, 보조 데이터베이스는 다음의 단계들을 수행할 수 있다: 보조 데이터베이스는 동기화를 통해 획득된 제1 로그 및/또는 이 제1 로그에 기초하여 생성된 제2 로그에 대해 지속화 처리를 수행하고; 및 보조 데이터베이스는 제2 로그를 미리 결정된 외부 시스템으로 송신한다.
도 5에 도시된 바와 같이, 본 출원의 구현 예는 실제 응용 시나리오(도 2 내지 도 4의 시나리오들을 사용함으로써)에서 주 데이터베이스에 의해 동기화되는 수신된 제1 로그를 보조 데이터베이스가 처리하는 절차를 나타내는 개략도를 제공한다. 도 5의 절차가 주 데이터베이스의 보조 데이터베이스에 의해 수행되는 경우, 절차는 다음의 단계들을 포함할 수 있다:
S501 : 보조 데이터베이스는 주 데이터베이스에 의해 동기화된 제1 로그를 수신한다.
S502 : 보조 데이터베이스는 수신된 제1 로그에 대해 지속화 처리를 수행한다.
S503 : 보조 데이터베이스는 제1 로그를 재생한다.
S504 : 보조 데이터베이스는 재생을 통해 데이터 수정 동작과 동기화하고 메모리에 제2 로그를 생성한다.
S505 : 보조 데이터베이스는 제2 로그에 대해 지속화 처리를 수행한다.
본 출원의 본 구현 예에서, 전술한 바와 같이, 2 가지 종류의 로그들, 즉 제1 로그 및 제2 로그가 임의의 데이터 수정 요청에 대해 생성될 수 있다. 2 종류의 로그들을 후속 판독하는 속도를 높이기 위해, 지속화 처리를 수행할 때 제1 로그와 제2 로그를 서로 다른 비휘발성 기억 장치들에 별도로 저장할 수 있다. 따라서, 2 종류의 로그들은 각각의 기억 장치들의 성능(예를 들면, 대역폭 또는 판독 속도)에 기초하여 개별적으로 판독될 수 있고, 병렬로 판독될 수 있다.
본 출원의 본 구현 예에서, 전술한 바와 같이, 완전 로그 또는 제2 로그는 제1 데이터 및 제2 데이터 이외에 수정된 데이터와 관련된 다른 데이터를 포함할 수 있다. 일반적으로, 제1 데이터 및 제2 데이터의 각각이 적어도 하나의 데이터베이스 기록물에 속하는 경우, 제2 로그에 추가로 포함될 수 있는 "수정된 데이터와 관련된 다른 데이터"는 제1 데이터가 속하는 데이터베이스 기록물 내의 제1 데이터 이외의 데이터, 및/또는 제2 데이터가 속하는 데이터베이스 기록물 내의 제2 데이터 이외의 데이터를 포함하지만, 이들로 제한되지는 않는다.
이해를 쉽게 하기 위해서, 설명을 위한 일 예시로서 이하의 표 1 및 표 2가 사용된다.
컬럼_1 컬럼_2 컬럼_n
a a_1 a_2 a_n
b b_1 b_2 b_n
c c_1 c_2 c_n
표 1은 3 개의 데이터베이스 기록물들 a, b, 및 c를 포함하는 데이터베이스의 데이터 표의 부분 내용이다. 각각의 기록물에는 n 개의 키 값 쌍들을 포함하고, n 개의 키들은 각각 컬럼_1 내지 컬럼_n이며, 각각의 데이터베이스 기록물 내의 키들에 대응하는 값들은 표 1에 도시되어 있다. 설명을 쉽게 하기 위해서, 키 값 쌍과 이 키 값 쌍이 속하는 데이터베이스 기록물의 행 번호는 <row>:<key, value>를 사용하여 나타내며, 여기서 "key"는 키를 나타내고, "value"는 값을 나타내며, "row"는 키 값 쌍이 속하는 데이터베이스 기록물의 행 번호를 나타낸다.
데이터베이스는 사용자에 의해 송신된 데이터 수정 요청을 수신한다고 가정한다. 데이터 수정 요청에 기초하여, <a>:<column_2, a_2>는 <a>:<column_2, a_2'>로 수정되고, 또한 <b>:<column_2, b_2>는 <b>:<column_2. b_2'>로 수정된다. 수정된 표 1을 이하의 표 2에 나타내었다.
컬럼_1 컬럼_2 컬럼_n
a a_1 a_2′ a_n
b b_1 b_2′ b_n
c c_1 c_2 c_n
이전의 예시에서, 제1 데이터는 <a>:<column_2, a_2'> 및 <b>:<column_2, b_2'>이고, 제2 데이터는 <a>:<column_2, a_2> 및 <b>:<column_2, b_2>이다.
수정된 데이터와 관련된 다른 데이터에는 기록물 a 및 기록물 b의 수정된 데이터 이외의 다른 데이터, 즉 <a>:<column_1, a_1>, ..., <a>:<column_n, a_n> 및 <b>:<column_1, b_1>, ..., <b>:<column_n, b_n>을 포함할 수 있다.
생성된 제1 로그에는 제1 데이터만 포함될 수 있으며, 다음의 "<a>:<column_2, a_2'> 및 <b>:<column_2, b_2'>"에 나타낸 바와 같이 수정된 데이터와 관련된 다른 데이터 및 제2 데이터는 포함하지 않는다.
생성된 제2 로그에는, 제1 데이터 뿐만 아니라, 다음의 "<a>: 수정된 데이터와 관련된 다른 데이터 및 제2 데이터: <column_1, a_1>, <column_2, a_2>, ..., <column_n, a_n>; 제1 데이터: <column_2, a_2'>; 및 <b>: 수정된 데이터와 관련된 다른 데이터 및 제2 데이터: <column_1, a_1>, <column_2, a_2>, ..., <column_n, a_n>; 제1 데이터: <column_2, a_2'>"에 나타낸 바와 같이 수정된 데이터와 관련된 다른 데이터 및 제2 데이터를 포함할 수 있다.
이전의 예시에서 로그에 포함된 내용의 표시 형식은 단지 예시일 뿐이며, 본 출원을 제한하지 않는다는 점에 유의할 필요가 있다. 실제로는 다른 형식으로 내용을 표시할 수도 있다.
도 6에 도시된 바와 같이, 본 출원의 구현 예는 본 출원의 솔루션들을 보다 직관적으로 이해하기 위해서 실제 응용 시나리오(도 2 내지 도 4의 시나리오들을 사용함으로써)에서 본 출원의 솔루션들에서의 단말기들 간의 상호 작용을 도시하는 개략도를 추가로 제공한다.
도 6에는 4 개의 단말기들이 주로 포함되며, 각각 사용자, 주 데이터베이스, 보조 데이터베이스, 및 데이터 분석 시스템이다. 도 6에서 번호 ① 내지 번호 ⑤에 대응하는 단계들은 본 출원의 본 구현 예에서 제공되는 데이터 수정 요청 처리 방법의 메인 단계들이고, 번호들이 없는 단계들은 보조 단계들이다. 모든 단계들은 위에서 상세하게 개별적으로 설명되었으며, 여기에서 함축된 의미는 생략한다.
이상이 본 출원의 구현 예들에 제공된 데이터베이스 데이터 수정 요구 처리 방법이다. 도 7에 도시된 바와 같이, 본 출원의 구현 예는 동일한 아이디어에 기초한 대응하는 장치를 추가로 제공한다.
도 7은 본 출원의 일 구현 예에 따른 데이터베이스 데이터 수정 요청 처리 장치를 도시하는 개략적인 구조도이다. 본 발명의 데이터베이스 데이터 수정 요청 처리 장치는, 데이터베이스에 대한 데이터 수정 요청을 수신하도록 구성된 수신 모듈(701); 데이터베이스 내의 제2 데이터를 제1 데이터로 수정하고, 데이터 수정 요청에 기초하여 제1 로그 및 제2 로그 - 제1 로그는 제1 데이터를 포함하고 제2 로그는 제2 데이터를 포함함 - 를 생성하도록 구성된 처리 모듈(702); 및 제1 로그에 대해 지속화 처리를 수행한 후에 데이터 수정 요청에 대응하는 수정 결과를 반송하도록 구성된 반송 모듈(703)을 포함한다.
선택적으로, 제2 로그는 제1 데이터를 더 포함한다.
선택적으로, 처리 모듈(702)은 제1 로그 및 제2 로그를 메모리에 생성하도록 구성된다.
선택적으로, 처리 모듈(702)은 제2 로그에 대한 지속화 처리를 수행하도록 또한 구성된다.
선택적으로, 장치는 데이터 분석 시스템이 제2 로그에 기초하여 데이터 분석을 수행하도록 데이터 분석 시스템에 제2 로그를 송신하도록 구성된 송신 모듈(704)을 더 포함한다.
선택적으로, 데이터베이스가 주 데이터베이스인 경우, 장치는 반송 모듈(703)이 데이터 수정 요청에 대응하는 수정 결과를 반송하기 전에 보조 데이터베이스가 제1 로그에 기초하여 수정과 동기화되도록 하기 위해 데이터베이스의 보조 데이터베이스와 제1 로그를 동기화하도록 구성된 동기화 모듈(705)을 더 포함한다.
선택적으로, 제1 데이터 및 제2 데이터의 각각은 적어도 하나의 데이터베이스 기록물에 속한다.
제2 로그는 제1 데이터가 속하는 데이터베이스 기록물 내의 제1 데이터 이외의 데이터, 및/또는 제2 데이터가 속하는 데이터베이스 기록물 내의 제2 데이터 이외의 데이터를 더 포함한다.
선택적으로, 지속화 처리에는 비휘발성 기억 장치에 로그를 저장하는 단계를 포함한다.
선택적으로, 지속화 처리에는 비휘발성 기억 장치에 로그를 저장하는 단계를 포함한다.
제1 로그와 제2 로그는 지속화 처리를 이용하여 서로 다른 비휘발성 기억 장치들에 개별적으로 저장된다.
선택적으로, 데이터 수정 요청은 데이터 갱신 요청, 데이터 삭제 요청, 또는 데이터 추가 요청이다.
데이터 수정 요청이 데이터 갱신 요청인 경우, 제1 데이터 또는 제2 데이터는 널이 아니거나; 또는 데이터 수정 요청이 데이터 삭제 요청인 경우, 제1 데이터는 널이고 제2 데이터는 널이 아니거나; 또는 데이터 수정 요청이 데이터 추가 요청인 경우, 제1 데이터는 널이 아니고 상기 제2 데이터는 널이다.
도 7의 장치는 데이터베이스 또는 데이터베이스에 속하지 않지만 데이터베이스에 접속될 수 있는 기능 모듈 상에 위치될 수 있다.
본 출원에 제공된 장치들은 본 출원에서 제공된 방법들과 일대일 대응한다. 따라서, 본 출원의 장치들 및 방법들은 유사한 유익한 기술적 효과들을 갖는다. 방법들의 유익한 기술적 효과들이 위에서 상세히 설명되어 있으므로, 장치들의 유익한 기술적 효과들에 대해서 여기서는 간략화를 위해 생략되었다.
당업자는 본 발명의 구현이 방법, 시스템, 또는 컴퓨터 프로그램 제품으로서 제공될 수 있음을 이해해야 한다. 따라서, 본 발명은 하드웨어 전용 구현 예들, 소프트웨어 전용 구현 예들, 또는 소프트웨어와 하드웨어의 조합을 갖는 구현 예들의 형태를 사용할 수 있다. 또한, 본 발명은 컴퓨터 사용 가능한 프로그램 코드를 포함하는 하나 이상의 컴퓨터 사용 가능한 저장 매체(디스크 메모리, CD-ROM, 광학 메모리 등을 포함하지만, 이들로 제한되지는 않음) 상에 구현되는 컴퓨터 프로그램 제품의 형태를 사용할 수 있다.
본 발명은 본 발명의 구현 예들에 따른 방법, 장치(시스템), 및 컴퓨터 프로그램 제품의 흐름도들 및/또는 블록도들을 참조하여 설명된다. 흐름도들 및/또는 블록도들에서 각각의 공정 및/또는 각각의 블록을 구현하고 흐름도들 및/또는 블록도들에서 공정 및/또는 블록의 조합을 구현하기 위해 컴퓨터 프로그램 명령어들이 사용될 수 있는 점을 이해해야 한다. 컴퓨터 프로그램 명령어들은, 컴퓨터 또는 다른 프로그램 가능한 데이터 처리 장치의 프로세서에 의해 실행되는 명령어들이 흐름도들 내의 하나 이상의 흐름들 및/또는 블록도들 내의 하나 이상의 블록들에서 특정 기능을 구현하기 위한 장치를 생성하도록, 범용 컴퓨터, 특수 목적 컴퓨터, 내장 프로세서, 또는 머신을 생성하기 위한 다른 프로그램 가능한 데이터 처리 장치의 프로세서에 제공될 수 있다.
컴퓨터 프로그램 명령어들은, 컴퓨터 판독 가능한 메모리에 저장된 명령어들이 명령 장치를 포함하는 물품(artifact)을 생성하도록 컴퓨터 또는 다른 프로그램 가능한 데이터 처리 장치가 특정 방식으로 동작하도록 지시할 수 있는 컴퓨터 판독 가능한 메모리에 저장될 수 있다. 명령 장치는 흐름도 내의 하나 이상의 흐름들 및/또는 블록도들 내의 하나 이상의 블록들에서 특정 기능을 구현한다.
컴퓨터 프로그램 명령어들은, 일련의 동작들 및 단계들이 컴퓨터 또는 다른 프로그램 가능한 장치 상에서 수행되어 컴퓨터 구현 처리를 생성하도록 컴퓨터 또는 다른 프로그램 가능한 데이터 처리 장치 상에 로딩될 수 있다. 따라서, 컴퓨터 또는 다른 프로그램 가능한 장치 상에서 실행되는 명령들은 흐름도들 내의 하나 이상의 흐름들 및/또는 블록도들 내의 하나 이상의 블록들에서 특정 기능을 구현하기 위한 단계들을 제공한다.
통상적인 구성에서, 컴퓨팅 장치는 하나 이상의 프로세서들(CPU), 입력/출력 인터페이스, 네트워크 인터페이스, 및 메모리를 포함한다.
메모리는 비 영구적 메모리, 랜덤 액세스 메모리(RAM), 비휘발성 메모리, 및/또는 예를 들어 판독 전용 메모리(ROM) 또는 플래시 메모리(플래시 RAM)와 같은 컴퓨터 판독 가능한 매체 내의 다른 형태를 포함할 수 있다. 메모리는 컴퓨터 판독 가능한 매체의 일 예시이다.
컴퓨터 판독 가능한 매체는 임의의 방법 또는 기술을 사용함으로써 정보 저장을 구현할 수 있는 영구적, 비영구적, 이동식, 및 비이동식 매체를 포함한다. 정보는 컴퓨터 판독 가능한 명령어, 데이터 구조물, 프로그램 모듈, 또는 다른 데이터일 수 있다. 컴퓨터 저장 매체의 일 예시에는 위상 변화 랜덤 액세스 메모리(PRAM), 정적 랜덤 액세스 메모리(SRAM), 동적 랜덤 액세스 메모리(DRAM), 다른 타입의 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 전기적으로 소거 가능 프로그램 가능한 판독 전용 메모리(EEPROM), 플래시 메모리 또는 다른 메모리 기술, 콤팩트 디스크 판독 전용 메모리(CD-ROM), 디지털 다기능 디스크(DVD) 또는 다른 광학 저장 장치, 카세트 자기 테이프, 테이프 및 디스크 저장 장치 또는 다른 자기 저장 장치 또는 컴퓨팅 장치가 액세스할 수 있는 정보를 저장하도록 구성될 수 있는 임의의 다른 비 전송 매체를 포함할 수 있지만, 이들로 제한되는 것은 아니다. 본 명세서의 정의에 기초하여, 컴퓨터 판독 가능한 매체는 일시적 컴퓨터 판독 가능한 매체(임시 매체), 예를 들어, 변조된 데이터 신호 및 캐리어를 포함하지 않는다.
용어 "포함하는", "구비하는", 또는 그들의 임의의 다른 변형 예는 소자들의 목록을 포함하는 공정, 방법, 물품, 또는 장치가 이들 소자들을 포함할 뿐만 아니라 명시적으로 열거되지 않은 다른 소자들을 포함하거나, 또는 그러한 공정, 방법, 물품, 또는 장치에 고유한 소자들을 더 포함하도록 배타적이지 않은 포함을 커버하도록 의도된다는 점에 더 주목할 가치가 있다. "...을 포함하는"에 의해 선행되는 소자는 더 많은 제약이 없이 소자를 포함하는 공정, 방법, 상품, 또는 장치에서 추가의 동일한 소자들의 존재를 불가능하게 하지는 않는다.
이전의 설명들은 본 출원의 단지 구현 예들이며, 본 출원을 제한하고자 의도되는 것은 아니다. 당업자라면, 본 출원은 다양한 수정 및 변경을 가할 수 있다. 본 출원의 정신 및 원리 내에서 이루어진 임의의 수정, 등가의 대체, 개선 등은 본 출원의 청구 범위의 보호 범위 내에 속해야 한다.

Claims (22)

  1. 컴퓨터 구현 방법으로서,
    수신 모듈에 의해, 사용자로부터 주(primary) 데이터베이스에서, 상기 주 데이터베이스 내의 데이터를 수정하기 위한 데이터 수정 요청을 수신하는 단계 - 상기 데이터 수정 요청은 제1 컬럼들 내의 하나 이상의 각각의 제1 데이터베이스 기록물의 하나 이상의 업데이트된 값을 명시함 -;
    처리 모듈에 의해, 상기 데이터 수정 요청에 응답하여, 상기 제1 컬럼들 내의 상기 하나 이상의 각각의 제1 데이터베이스 기록물의 하나 이상의 이전의 값을 상기 하나 이상의 업데이트된 값을 갖도록 수정하는 단계;
    처리 모듈에 의해, 메모리 내에, 상기 데이터 수정 요청에 기초하여 제1 로그 및 제2 로그 - 상기 제2 로그는 a) 수정되고 있는 상기 제1 컬럼들 내의 상기 하나 이상의 각각의 제1 데이터베이스 기록물의 상기 하나 이상의 업데이트된 값 및 상기 하나 이상의 이전의 값 및 b) 수정되고 있지 않은 제2 컬럼들 내의 제2 데이터베이스 기록물의 이전의 값을 포함하고, 상기 제1 로그는, 데이터베이스 복구 또는 동기화에서의 사용을 위한 상기 제1 컬럼들 내의 상기 하나 이상의 각각의 제1 데이터베이스 기록물의 상기 하나 이상의 업데이트된 값만을 포함하는, 상기 제2 로그의 버전임 - 를 생성하는 단계;
    처리 모듈에 의해, 상기 사용자에게 수정 결과를 반송하기 전에, 영구적 저장장치에 상기 제1 로그 내의 수정되고 있는 상기 제1 컬럼들을 저장하는 단계, 및 상기 사용자에게 상기 수정 결과를 반송한 후에만, 상기 제2 로그 내의 수정되고 있지 않은 상기 제2 컬럼들을 저장하는 단계를 포함하는, 지속화 처리를 수행하는 단계; 및
    반송 모듈에 의해, 상기 사용자에게 상기 데이터 수정 요청을 수신하는 것에 응답하여 상기 주 데이터베이스 내의 데이터를 성공적으로 수정했음을 나타내는 상기 수정 결과를 반송하는 단계
    를 포함하는 컴퓨터 구현 방법.
  2. 제1항에 있어서,
    상기 데이터 수정 요청은 데이터 갱신 요청, 데이터 삭제 요청, 및 데이터 추가 요청 중 적어도 하나를 포함하는 것인 컴퓨터 구현 방법.
  3. 제1항에 있어서,
    상기 제1 로그 및 상기 제2 로그는 메모리에서 생성되고, 상기 제1 로그 및 상기 제2 로그는 일시적(transient) 및 비 안정(non-stable) 상태에 있는 것인 컴퓨터 구현 방법.
  4. 제1항에 있어서,
    처리 모듈에 의해, 영구적 저장장치에 상기 제1 로그를 저장하기 위해 상기 지속화 처리를 수행하는 단계는,
    상기 제1 로그를 특정 형식의 파일로 기록하는 단계, 및
    상기 파일을 비휘발성 기억 장치에 저장하는 단계
    를 포함하는 것인 컴퓨터 구현 방법.
  5. 제1항에 있어서,
    상기 수정 결과를 반송하는 단계 이전에,
    처리 모듈에 의해, 상기 제1 로그에 대해 상기 지속화 처리를 수행하는 것에 응답하여 상기 수정 결과를 일시적으로 반송 보류(withholding)하는 단계; 및
    동기화 모듈에 의해, 보조(secondary) 데이터베이스가 상기 제1 로그에 기초하여 수정을 동기화하도록 상기 제1 로그를 상기 보조 데이터베이스에 동기화하는 단계
    를 더 포함하는 컴퓨터 구현 방법.
  6. 제5항에 있어서,
    상기 보조 데이터베이스가 상기 제1 로그에 기초하여 수정을 동기화하는 것은,
    상기 보조 데이터베이스에 의해, 상기 주 데이터베이스에 의해 동기화된 상기 제1 로그를 수신하는 단계;
    상기 보조 데이터베이스에 의해, 상기 수신된 제1 로그에 대해 지속화 처리를 수행하는 단계;
    상기 보조 데이터베이스에 의해, 상기 제1 로그에 대해 재생을 수행하는 단계;
    상기 보조 데이터베이스에 의해, 상기 재생을 통해 데이터 수정 동작을 동기화하고 메모리에 제2 로그를 생성하는 단계; 및
    상기 보조 데이터베이스에 의해, 상기 제2 로그에 대해 지속화 처리를 수행하는 단계
    를 포함하는 것인 컴퓨터 구현 방법.
  7. 제1항에 있어서,
    상기 주 데이터베이스에 의해, 메모리에서 새롭게 생성된 제2 로그를 검출하는 단계;
    상기 주 데이터베이스에 의해, 상기 새롭게 생성된 제2 로그를 획득하는 단계;
    상기 주 데이터베이스에 의해, 상기 획득된 제2 로그에 대해 지속화 처리를 수행하는 단계; 및
    상기 주 데이터베이스에 의해, 상기 제2 로그를 미리 결정된 외부 시스템으로 송신하는 단계
    를 더 포함하는 컴퓨터 구현 방법.
  8. 동작들을 수행하기 위해 컴퓨터 시스템에 의해 실행 가능한 하나 이상의 명령어들을 저장하는 비일시적, 컴퓨터 판독 가능 저장매체에 있어서, 상기 동작들은,
    사용자로부터 주 데이터베이스에서, 상기 주 데이터베이스 내의 데이터를 수정하기 위한 데이터 수정 요청을 수신하는 동작 - 상기 데이터 수정 요청은 제1 컬럼들 내의 하나 이상의 각각의 제1 데이터베이스 기록물의 하나 이상의 업데이트된 값을 명시함 -;
    상기 데이터 수정 요청에 응답하여, 상기 제1 컬럼들 내의 상기 하나 이상의 각각의 제1 데이터베이스 기록물의 하나 이상의 이전의 값을 상기 하나 이상의 업데이트된 값을 갖도록 수정하는 동작;
    메모리 내에, 상기 데이터 수정 요청에 기초하여 제1 로그 및 제2 로그 - 상기 제2 로그는 a) 수정되고 있는 상기 제1 컬럼들 내의 상기 하나 이상의 각각의 제1 데이터베이스 기록물의 상기 하나 이상의 업데이트된 값 및 상기 하나 이상의 이전의 값 및 b) 수정되고 있지 않은 제2 컬럼들 내의 제2 데이터베이스 기록물의 이전의 값을 포함하고, 상기 제1 로그는, 데이터베이스 복구 또는 동기화에서의 사용을 위한 상기 제1 컬럼들 내의 상기 하나 이상의 각각의 제1 데이터베이스 기록물의 상기 하나 이상의 업데이트된 값만을 포함하는, 상기 제2 로그의 버전임 - 를 생성하는 동작;
    상기 사용자에게 수정 결과를 반송하기 전에, 영구적 저장장치에 상기 제1 로그 내의 수정되고 있는 상기 제1 컬럼들을 저장하는 동작, 및 상기 사용자에게 상기 수정 결과를 반송한 후에만, 상기 제2 로그 내의 수정되고 있지 않은 상기 제2 컬럼들을 저장하는 동작을 포함하는, 지속화 처리를 수행하는 동작; 및
    상기 사용자에게 상기 데이터 수정 요청을 수신하는 것에 응답하여 상기 주 데이터베이스 내의 데이터를 성공적으로 수정했음을 나타내는 상기 수정 결과를 반송하는 동작
    을 포함하는 것인 비일시적, 컴퓨터 판독 가능 저장매체.
  9. 제8항에 있어서,
    상기 데이터 수정 요청은 데이터 갱신 요청, 데이터 삭제 요청, 및 데이터 추가 요청 중 적어도 하나를 포함하는 것인 비일시적, 컴퓨터 판독 가능 저장매체.
  10. 제8항에 있어서,
    상기 제1 로그 및 상기 제2 로그는 메모리에서 생성되고, 상기 제1 로그 및 상기 제2 로그는 일시적 및 비 안정 상태에 있는 것인 비일시적, 컴퓨터 판독 가능 저장매체.
  11. 제8항에 있어서,
    영구적 저장장치에 상기 제1 로그를 저장하기 위해 상기 지속화 처리를 수행하는 동작은,
    상기 제1 로그를 특정 형식의 파일로 기록하는 동작, 및
    상기 파일을 비휘발성 기억 장치에 저장하는 동작
    를 포함하는 것인 비일시적, 컴퓨터 판독 가능 저장매체.
  12. 제8항에 있어서,
    상기 동작들은, 상기 수정 결과를 반송하는 동작 이전에,
    상기 제1 로그에 대해 상기 지속화 처리를 수행하는 것에 응답하여 상기 수정 결과를 일시적으로 반송 보류하는 동작; 및
    보조 데이터베이스가 상기 제1 로그에 기초하여 수정을 동기화하도록 상기 제1 로그를 상기 보조 데이터베이스에 동기화하는 동작
    을 더 포함하는 비일시적, 컴퓨터 판독 가능 저장매체.
  13. 제12항에 있어서,
    상기 보조 데이터베이스가 상기 제1 로그에 기초하여 수정을 동기화하는 것은,
    상기 보조 데이터베이스에 의해, 상기 주 데이터베이스에 의해 동기화된 상기 제1 로그를 수신하는 동작;
    상기 보조 데이터베이스에 의해, 상기 수신된 제1 로그에 대해 지속화 처리를 수행하는 동작;
    상기 제1 로그에 대해 재생을 수행하는 동작;
    상기 재생을 통해 데이터 수정 동작을 동기화하고 메모리에 제2 로그를 생성하는 동작; 및
    상기 제2 로그에 대해 지속화 처리를 수행하는 동작
    을 포함하는 것인 비일시적, 컴퓨터 판독 가능 저장매체.
  14. 제8항에 있어서,
    상기 주 데이터베이스에 의해, 메모리에서 새롭게 생성된 제2 로그를 검출하는 동작;
    상기 새롭게 생성된 제2 로그를 획득하는 동작;
    상기 획득된 제2 로그에 대해 지속화 처리를 수행하는 동작; 및
    상기 제2 로그를 미리 결정된 외부 시스템으로 송신하는 동작
    을 더 포함하는 비일시적, 컴퓨터 판독 가능 저장매체.
  15. 컴퓨터 구현 시스템에 있어서,
    하나 이상의 컴퓨터; 및
    상기 하나 이상의 컴퓨터와 상호 운용 가능하게 결합되고(coupled), 하나 이상의 명령어를 저장하는 유형의(tangible), 비일시적, 기계 판독 가능 매체를 갖는, 하나 이상의 컴퓨터 메모리 장치를 포함하고,
    상기 명령어는 상기 하나 이상의 컴퓨터에 의해 실행될 때, 동작들을 수행하며,
    상기 동작들은,
    사용자로부터 주 데이터베이스에서, 상기 주 데이터베이스 내의 데이터를 수정하기 위한 데이터 수정 요청을 수신하는 동작 - 상기 데이터 수정 요청은 제1 컬럼들 내의 하나 이상의 각각의 제1 데이터베이스 기록물의 하나 이상의 업데이트된 값을 명시함 -;
    상기 데이터 수정 요청에 응답하여, 상기 제1 컬럼들 내의 상기 하나 이상의 각각의 제1 데이터베이스 기록물의 하나 이상의 이전의 값을 상기 하나 이상의 업데이트된 값을 갖도록 수정하는 동작;
    메모리 내에, 상기 데이터 수정 요청에 기초하여 제1 로그 및 제2 로그 - 상기 제2 로그는 a) 수정되고 있는 상기 제1 컬럼들 내의 상기 하나 이상의 각각의 제1 데이터베이스 기록물의 상기 하나 이상의 업데이트된 값 및 상기 하나 이상의 이전의 값 및 b) 수정되고 있지 않은 제2 컬럼들 내의 제2 데이터베이스 기록물의 이전의 값을 포함하고, 상기 제1 로그는, 데이터베이스 복구 또는 동기화에서의 사용을 위한 상기 제1 컬럼들 내의 상기 하나 이상의 각각의 제1 데이터베이스 기록물의 상기 하나 이상의 업데이트된 값만을 포함하는, 상기 제2 로그의 버전임 - 를 생성하는 동작;
    상기 사용자에게 수정 결과를 반송하기 전에, 영구적 저장장치에 상기 제1 로그 내의 수정되고 있는 상기 제1 컬럼들을 저장하는 동작, 및 상기 사용자에게 상기 수정 결과를 반송한 후에만, 상기 제2 로그 내의 수정되고 있지 않은 상기 제2 컬럼들을 저장하는 동작을 포함하는, 지속화 처리를 수행하는 동작; 및
    상기 사용자에게 상기 데이터 수정 요청을 수신하는 것에 응답하여 상기 주 데이터베이스 내의 데이터를 성공적으로 수정했음을 나타내는 상기 수정 결과를 반송하는 동작
    을 포함하는 것인 컴퓨터 구현 시스템.
  16. 제15항에 있어서,
    상기 데이터 수정 요청은 데이터 갱신 요청, 데이터 삭제 요청, 및 데이터 추가 요청 중 적어도 하나를 포함하는 것인 컴퓨터 구현 시스템.
  17. 제15항에 있어서,
    상기 제1 로그 및 상기 제2 로그는 메모리에서 생성되고, 상기 제1 로그 및 상기 제2 로그는 일시적 및 비 안정 상태에 있는 것인 컴퓨터 구현 시스템.
  18. 제15항에 있어서,
    영구적 저장장치에 상기 제1 로그를 저장하기 위해 상기 지속화 처리를 수행하는 동작은,
    상기 제1 로그를 특정 형식의 파일로 기록하는 동작, 및
    상기 파일을 비휘발성 기억 장치에 저장하는 동작
    을 포함하는 것인 컴퓨터 구현 시스템.
  19. 제15항에 있어서,
    상기 동작들은, 상기 수정 결과를 반송하는 동작 이전에,
    상기 제1 로그에 대해 상기 지속화 처리를 수행하는 것에 응답하여 상기 수정 결과를 일시적으로 반송 보류하는 동작; 및
    보조 데이터베이스가 상기 제1 로그에 기초하여 수정을 동기화하도록 상기 제1 로그를 상기 보조 데이터베이스에 동기화하는 동작을 더 포함하고,
    상기 보조 데이터베이스가 상기 제1 로그에 기초하여 수정을 동기화하는 것은,
    상기 보조 데이터베이스에 의해, 상기 주 데이터베이스에 의해 동기화된 상기 제1 로그를 수신하는 동작;
    상기 보조 데이터베이스에 의해, 상기 수신된 제1 로그에 대해 지속화 처리를 수행하는 동작;
    상기 제1 로그에 대해 재생을 수행하는 동작;
    상기 재생을 통해 데이터 수정 동작을 동기화하고 메모리에 제2 로그를 생성하는 동작; 및
    상기 제2 로그에 대해 지속화 처리를 수행하는 동작
    을 포함하는 것인 컴퓨터 구현 시스템.
  20. 제15항에 있어서,
    상기 하나 이상의 동작은,
    상기 주 데이터베이스에 의해, 메모리에서 새롭게 생성된 제2 로그를 검출하는 동작;
    상기 새롭게 생성된 제2 로그를 획득하는 동작;
    상기 획득된 제2 로그에 대해 지속화 처리를 수행하는 동작; 및
    상기 제2 로그를 미리 결정된 외부 시스템으로 송신하는 동작
    을 더 포함하는 컴퓨터 구현 시스템.
  21. 삭제
  22. 삭제
KR1020197003517A 2016-07-04 2017-06-27 데이터베이스 데이터 수정 요청 처리 방법 및 장치 KR102248386B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201610518735.2 2016-07-04
CN201610518735.2A CN106897338A (zh) 2016-07-04 2016-07-04 一种针对数据库的数据修改请求处理方法及装置
PCT/CN2017/090269 WO2018006723A1 (zh) 2016-07-04 2017-06-27 一种针对数据库的数据修改请求处理方法及装置

Publications (2)

Publication Number Publication Date
KR20190026846A KR20190026846A (ko) 2019-03-13
KR102248386B1 true KR102248386B1 (ko) 2021-05-07

Family

ID=59191565

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197003517A KR102248386B1 (ko) 2016-07-04 2017-06-27 데이터베이스 데이터 수정 요청 처리 방법 및 장치

Country Status (9)

Country Link
US (3) US11106695B2 (ko)
EP (1) EP3480705B1 (ko)
JP (1) JP6987340B2 (ko)
KR (1) KR102248386B1 (ko)
CN (1) CN106897338A (ko)
MY (1) MY189491A (ko)
SG (1) SG11201811808VA (ko)
TW (1) TWI701567B (ko)
WO (1) WO2018006723A1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106897338A (zh) 2016-07-04 2017-06-27 阿里巴巴集团控股有限公司 一种针对数据库的数据修改请求处理方法及装置
CN110209642A (zh) * 2018-02-05 2019-09-06 北京智明星通科技股份有限公司 信息处理的方法、装置、服务器及计算机可读介质
CN110851486A (zh) * 2018-07-26 2020-02-28 珠海格力电器股份有限公司 数据存储方法及装置
CN110134653B (zh) * 2019-05-17 2021-09-07 杭州安恒信息技术股份有限公司 一种利用日志辅助数据库审计方法及系统
CN112416924A (zh) * 2019-08-22 2021-02-26 富泰华工业(深圳)有限公司 数据同步查询方法、装置、计算机装置及存储介质
CN110543386B (zh) * 2019-09-16 2022-06-10 上海达梦数据库有限公司 一种数据存储方法、装置、设备和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040054644A1 (en) * 2002-09-16 2004-03-18 Oracle Corporation Method and mechanism for implementing in-memory transaction logging records
US20040111557A1 (en) * 2002-12-04 2004-06-10 Yoji Nakatani Updated data write method using journal log
US20100274758A1 (en) * 2009-04-27 2010-10-28 Hitachi, Ltd. Data processing method, computer, and data processing program
US20140279929A1 (en) * 2013-03-15 2014-09-18 Amazon Technologies, Inc. Database system with database engine and separate distributed storage service

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5430869A (en) * 1991-05-29 1995-07-04 Hewlett-Packard Company System and method for restructuring a B-Tree
US5701480A (en) 1991-10-17 1997-12-23 Digital Equipment Corporation Distributed multi-version commitment ordering protocols for guaranteeing serializability during transaction processing
US6052695A (en) * 1995-02-28 2000-04-18 Ntt Data Communications Systems Corporation Accurate completion of transaction in cooperative type distributed system and recovery procedure for same
US6510421B1 (en) * 1998-12-29 2003-01-21 Oracle Corporation Performing 2-phase commit with presumed prepare
US7168001B2 (en) 2004-02-06 2007-01-23 Hewlett-Packard Development Company, L.P. Transaction processing apparatus and method
JP4582297B2 (ja) * 2004-06-25 2010-11-17 日本電気株式会社 レプリケーションシステム、装置、方法、およびプログラム
JP4248510B2 (ja) * 2005-03-24 2009-04-02 株式会社東芝 計算機システム、ディスク装置およびデータ更新制御方法
US8185551B2 (en) * 2007-06-08 2012-05-22 Massachusetts Institute Of Technology Disk-resident streaming dictionary
KR101103110B1 (ko) * 2008-02-29 2012-01-04 가부시끼가이샤 도시바 메모리 시스템
JP2009211215A (ja) * 2008-03-01 2009-09-17 Toshiba Corp メモリシステム
US10430298B2 (en) * 2010-10-28 2019-10-01 Microsoft Technology Licensing, Llc Versatile in-memory database recovery using logical log records
CN102024021A (zh) * 2010-11-04 2011-04-20 曙光信息产业(北京)有限公司 一种逻辑文件系统元数据的日志方法
CN102270225B (zh) * 2011-06-28 2015-10-21 用友网络科技股份有限公司 数据变更日志监控方法和数据变更日志监控装置
CN103166785A (zh) * 2011-12-15 2013-06-19 同程网络科技股份有限公司 基于Hadoop的分布式日志分析系统
JP2013178685A (ja) * 2012-02-29 2013-09-09 Nec Corp 非同期バックアップ機能を有するデータ処理システム、フロントシステム、バックアップ方法、及びそのためのプログラム
JP2014071487A (ja) * 2012-09-27 2014-04-21 Sony Corp ファイル記録装置、フィルシステム管理方法およびチェンジャドライブ
US9396220B2 (en) * 2014-03-10 2016-07-19 Oracle International Corporation Instantaneous unplug of pluggable database from one container database and plug into another container database
US10706009B2 (en) * 2013-03-14 2020-07-07 Oracle International Corporation Techniques to parallelize CPU and IO work of log writes
US9098453B2 (en) * 2013-07-11 2015-08-04 International Business Machines Corporation Speculative recovery using storage snapshot in a clustered database
CN104462127B (zh) * 2013-09-22 2018-07-20 阿里巴巴集团控股有限公司 一种记录数据更新方法及装置
US10230796B2 (en) * 2014-05-30 2019-03-12 Apple Inc. Intelligent disk space manager
US10545987B2 (en) * 2014-12-19 2020-01-28 Pure Storage, Inc. Replication to the cloud
CN104537037B (zh) * 2014-12-23 2018-01-23 杭州华为数字技术有限公司 一种处理数据库日志的方法及装置
US9811493B2 (en) * 2015-05-29 2017-11-07 Toshiba Memory Corporation Semiconductor device
WO2017042890A1 (ja) * 2015-09-08 2017-03-16 株式会社東芝 データベースシステム、サーバ装置、プログラムおよび情報処理方法
US10296661B2 (en) 2015-09-11 2019-05-21 Salesforce.Com, Inc. Processing log files using a database system
US10747739B1 (en) * 2015-09-18 2020-08-18 Amazon Technologies, Inc. Implicit checkpoint for generating a secondary index of a table
CN108431810B (zh) * 2015-10-23 2022-02-01 甲骨文国际公司 代理数据库
CN107046552B (zh) * 2016-02-05 2020-10-23 华为技术有限公司 基于心跳的数据同步装置、方法及分布式存储系统
CN106897338A (zh) 2016-07-04 2017-06-27 阿里巴巴集团控股有限公司 一种针对数据库的数据修改请求处理方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040054644A1 (en) * 2002-09-16 2004-03-18 Oracle Corporation Method and mechanism for implementing in-memory transaction logging records
US20040111557A1 (en) * 2002-12-04 2004-06-10 Yoji Nakatani Updated data write method using journal log
US20100274758A1 (en) * 2009-04-27 2010-10-28 Hitachi, Ltd. Data processing method, computer, and data processing program
US20140279929A1 (en) * 2013-03-15 2014-09-18 Amazon Technologies, Inc. Database system with database engine and separate distributed storage service

Also Published As

Publication number Publication date
JP6987340B2 (ja) 2021-12-22
CN106897338A (zh) 2017-06-27
US11132379B2 (en) 2021-09-28
WO2018006723A1 (zh) 2018-01-11
SG11201811808VA (en) 2019-02-27
US20200125581A1 (en) 2020-04-23
TW201804346A (zh) 2018-02-01
EP3480705B1 (en) 2021-08-04
JP2019527883A (ja) 2019-10-03
US20190155817A1 (en) 2019-05-23
MY189491A (en) 2022-02-16
US11106695B2 (en) 2021-08-31
US20210390114A1 (en) 2021-12-16
EP3480705A1 (en) 2019-05-08
EP3480705A4 (en) 2019-05-08
TWI701567B (zh) 2020-08-11
KR20190026846A (ko) 2019-03-13

Similar Documents

Publication Publication Date Title
KR102248386B1 (ko) 데이터베이스 데이터 수정 요청 처리 방법 및 장치
CN107391758B (zh) 数据库切换方法、装置及设备
EP3474516B1 (en) Data processing method and device
US20150213100A1 (en) Data synchronization method and system
CN112000741B (zh) 内外网数据交换系统、方法、装置、计算机设备和介质
EP3258396A1 (en) Data synchronization method, device and system
CN107153644B (zh) 一种数据同步方法及装置
CN111414403B (zh) 数据访问方法和装置、数据存储方法和装置
CN110334094B (zh) 一种基于倒排索引的数据查询方法、系统、装置及设备
US10609141B2 (en) Methods and apparatuses for cluster switching
US11005648B2 (en) Blockchain-type data storage
CN106897345B (zh) 一种数据存储的方法及装置
US20180121531A1 (en) Data Updating Method, Device, and Related System
CN113806301A (zh) 数据同步方法、装置、服务器及存储介质
US10318330B2 (en) Data-persisting temporary virtual machine environments
CN116303789A (zh) 多分片多副本数据库并行同步方法、装置及可读介质
CN115982133A (zh) 数据处理方法及装置
CN111444194B (zh) 一种块链式账本中索引的清除方法、装置及设备
CN111522883A (zh) 对象数据的备份方法、装置、设备及存储介质
US9747166B2 (en) Self healing cluster of a content management system
CN106155837B (zh) 一种主备库数据修复的方法以及装置
US20160140191A1 (en) Method and apparatus for the storage and retrieval of time stamped blocks of data
CN117131023B (zh) 数据表处理方法、装置、计算机设备和可读存储介质
CN114900531B (zh) 数据同步方法、装置和系统
CN110347748B (zh) 一种基于倒排索引的数据验证方法、系统、装置及设备

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
N231 Notification of change of applicant
E701 Decision to grant or registration of patent right