IP Library Granted Patent US 9,519,673
Granted Patent B2
US 9,519,673 · App. 13/215,726 · Granted Dec 13, 2016

Management of I/O and log size for columnar database

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,519,673
App. No.
13/215,726
Granted
Dec 13, 2016
Kind
B2
Abstract

A system includes reception of a transaction to change a columnar table, recordation of the transaction within a delta structure in a volatile memory, recordation of the transaction within a log of a persisted memory, reception of an instruction to merge the delta structure in the volatile memory with a first instantiation of the columnar table in the volatile memory, and in response to the instruction, merging of the delta structure in the volatile memory with the first instantiation of the columnar table in the volatile memory to create a merged columnar table in the volatile memory, and not storing the merged columnar table in the persisted memory.

Claims (86)

1. A method for a database system comprising a first instantiation of a columnar table in a volatile memory and a second instantiation of the columnar table in a persisted memory, the method comprising:

receiving a transaction to change the columnar table;

recording the transaction within a delta structure in the volatile memory;

recording the transaction within a log of the persisted memory;

receiving an instruction to merge the delta structure in the volatile memory with the first instantiation of the columnar table in the volatile memory;

in response to the instruction, merging the delta structure in the volatile memory with the first instantiation of the columnar table in the volatile memory to create a merged columnar table in the volatile memory, and not storing the merged columnar table in the persisted memory;

receiving an instruction to execute a savepoint; and

in response to the instruction to execute the savepoint, copying the delta structure in the volatile memory to the persisted memory, and copying the merged columnar table in the volatile memory to the persisted memory.

2. A non-transitory computer-readable medium storing program code, the program code executable by a computing system storing a first instantiation of a columnar table in a volatile memory and a second instantiation of the columnar table in a persisted memory, the program code comprising:

code to receive a transaction to change the columnar table;

code to record the transaction within a delta structure in the volatile memory;

code to record the transaction within a log of the persisted memory;

code to receive an instruction to merge the delta structure in the volatile memory with the first instantiation of the columnar table in the volatile memory;

code to, in response to the instruction, merge the delta structure in the volatile memory with the first instantiation of the columnar table in the volatile memory to create a merged columnar table in the volatile memory, and not store the merged columnar table in the persisted memory;

code to receive an instruction to execute a savepoint; and

code to, in response to the instruction to execute the savepoint, copy the delta structure in the volatile memory to the persisted memory, and copy the merged columnar table in the volatile memory to the persisted memory.

3. A system comprising:

a volatile memory storing a first instantiation of a columnar table;

a persisted memory storing a second instantiation of the columnar table;

a memory storing processor-executable process steps; and

a processor to execute the processor-executable process steps to cause the system to:

receive a transaction to change the columnar table;

record the transaction within a delta structure in the volatile memory;

record the transaction within a log of the persisted memory;

receive an instruction to merge the delta structure in the volatile memory with the first instantiation of the columnar table in the volatile memory;

in response to the instruction, merge the delta structure in the volatile memory with the first instantiation of the columnar table in the volatile memory to create a merged columnar table in the volatile memory, and not store the merged columnar table in the persisted memory;

receive an instruction to execute a savepoint; and

in response to the instruction to execute the savepoint, copy the delta structure in the volatile memory to the persisted memory, and copy the merged columnar table in the volatile memory to the persisted memory.

4. A method for a database system comprising a first instantiation of a columnar table in a volatile memory and a second instantiation of the columnar table in a persisted memory, the method comprising:

receiving a transaction to change the columnar table;

recording the transaction within a delta structure in the volatile memory;

recording the transaction within a log of the persisted memory;

receiving an instruction to merge the delta structure in the volatile memory with the first instantiation of the columnar table in the volatile memory; and

in response to the instruction, merging the delta structure in the volatile memory with the first instantiation of the columnar table in the volatile memory to create a merged columnar table in the volatile memory, and not storing the merged columnar table in the persisted memory;

wherein merging the delta structure in the volatile memory with the first instantiation of the columnar table in the volatile memory is asynchronous to receiving transactions to change the columnar table, recording the transactions within the delta structure in the volatile memory, and recording the transactions within the log of the persisted memory;

the method further comprising:

receiving an instruction to execute a savepoint; and

in response to the instruction, copying the delta structure in the volatile memory to the persisted memory, and copying the merged columnar table in the volatile memory to the persisted memory.

5. A method according to claim 1 , wherein merging the delta structure in the volatile memory with the first instantiation of the columnar table in the volatile memory is asynchronous to receiving transactions to change the columnar table, recording the transactions within the delta structure in the volatile memory, and recording the transactions within the log of the persisted memory.

6. A method according to claim 1 , further comprising:

receiving an instruction to recover from a database crash; and

in response to the instruction,

copying the delta structure in the persisted memory to the volatile memory;

copying the second instantiation of the columnar table in the persisted memory to the volatile memory; and

committing the transaction recorded within the log to the copied delta structure in the volatile memory.

7. A method according to claim 1 , further comprising:

receiving an instruction to execute a savepoint; and

in response to the instruction, copying the delta structure in the volatile memory to the persisted memory, and copying the merged columnar table in the volatile memory to the persisted memory.

8. A medium according to claim 2 , wherein the code to merge the delta structure in the volatile memory with the first instantiation of the columnar table in the volatile memory is asynchronous with the code to receive the transaction to change the columnar table, the code to record the transaction within the delta structure in the volatile memory, and the code to record the transaction within the log of the persisted memory.

9. A medium according to claim 2 , the program code further comprising:

code to receive an instruction to recover from a database crash; and

code to, in response to the instruction,

copy the delta structure in the persisted memory to the volatile memory;

copy the second instantiation of the columnar table in the persisted memory to the volatile memory; and

commit the transaction recorded within the log to the copied delta structure in the volatile memory.

10. A medium according to claim 2 , the program code further comprising:

code to receive an instruction to execute a savepoint; and

code to, in response to the instruction, copy the delta structure in the volatile memory to the persisted memory, and copy the merged columnar table in the volatile memory to the persisted memory.

11. A system according to claim 3 , wherein the merging of the delta structure in the volatile memory with the first instantiation of the columnar table in the volatile memory is asynchronous with reception of transactions to change the columnar table, recordation of the transactions within the delta structure in the volatile memory, and recordation of the transactions within the log of the persisted memory.

12. A system according to claim 3 , the processor further to execute the processor-executable process steps to cause the system to:

receive an instruction to recover from a database crash; and

in response to the instruction,

copy the delta structure in the persisted memory to the volatile memory;

copy the second instantiation of the columnar table in the persisted memory to the volatile memory; and

commit the transaction recorded within the log to the copied delta structure in the volatile memory.

13. A system according to claim 3 , the processor further to execute the processor-executable process steps to cause the system to:

receive an instruction to execute a savepoint; and

in response to the instruction, copy the delta structure in the volatile memory to the persisted memory, and copy the merged columnar table in the volatile memory to the persisted memory.

14. A method according to claim 7 , further comprising:

receiving an instruction to recover from a database crash; and

in response to the instruction,

copying the delta structure in the persisted memory to the volatile memory;

copying the second instantiation of the columnar table in the persisted memory to the volatile memory; and

committing the transaction recorded within the log to the copied delta structure in the volatile memory.

15. A medium according to claim 10 , the program code further comprising:

code to receive an instruction to recover from a database crash; and

code to, in response to the instruction,

copy the delta structure in the persisted memory to the volatile memory;

copy the second instantiation of the columnar table in the persisted memory to the volatile memory; and

commit the transaction recorded within the log to the copied delta structure in the volatile memory.

16. A system according to claim 13 , the processor further to execute the processor-executable process steps to cause the system to:

receive an instruction to recover from a database crash; and

in response to the instruction,

copy the delta structure in the persisted memory to the volatile memory;

copy the second instantiation of the columnar table in the persisted memory to the volatile memory; and

commit the transaction recorded within the log to the copied delta structure in the volatile memory.

Assignments (2)
CHANGE OF NAME Recorded Aug 26, 2014
From: SAP AG
To: SAP SE
Reel/Frame 033625/0223 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 23, 2011
From: SCHRETER, IVAN
To: SAP AG
Reel/Frame 026792/0672 →