IP Library Granted Patent US 10,002,175
Granted Patent B2
US 10,002,175 · App. 13/698,427 · Granted Jun 19, 2018

Hybrid OLTP and OLAP high performance database system

Inventors: Alfons Kemper (Garching, DE); Neumann Thomas (Garching, DE)
Assignee: TECHNISCHE UNIVERSITAT MUNCHEN
G06F17/30587
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 10,002,175
App. No.
13/698,427
Granted
Jun 19, 2018
Kind
B2
Abstract

There is provided a method of maintaining a hybrid OLTP and OLAP database, the method comprising: executing one or more OLTP transactions; creating a virtual memory snapshot; and executing one or more OLAP queries using the virtual memory snapshot. Preferably, the method further comprises replicating a virtual memory page on which a data object is stored in response to an update to the data object, whereby the updated data object is accessible for OLTP transactions, while the non-updated data object remains accessible for OLAP queries. Accordingly, the present invention provides a hybrid system that can handle both OLTP and OLAP simultaneously by using hardware-assisted replication mechanisms to maintain consistent snapshots of the transactional data.

Claims (23)

1. A method of maintaining a hybrid online transaction processing (“OLTP”) and online analytical processing (“OLAP”) database system comprising a memory, the method comprising:

creating, based on data objects in the memory, one or more virtual memory pages;

forking a first of the one or more virtual memory pages to generate a forked virtual memory page;

updating when a data object is to be updated with an update, using copy-on-update functionality, the first virtual memory page with the update to create an updated virtual memory page;

forking the updated virtual memory page to generate a second forked virtual memory page;

executing one or more OLTP transactions using the updated virtual memory page; and

executing, in parallel, multiple OLAP queries using the forked virtual memory page and the second forked virtual memory page,

wherein the one or more OLTP transactions are executed in a first address space, wherein creating the one or more virtual memory pages comprises providing a second address space, and wherein the OLAP queries are executed in the second address space.

2. The method of claim 1 , wherein the database system stores private data in partitions and shared data, wherein the partitions may reside on different data processing systems, the method comprising:

executing, in parallel, OLTP transactions that comprise read and/or update accesses to the private data or read accesses to the shared data;

executing, in sequence, OLTP transactions that comprise read accesses across the partitions or update accesses to the shared data; and/or

executing the OLAP queries across one or more of the partitions and the shared data.

3. The method of claim 1 , wherein the one or more virtual memory pages are transaction-consistent.

4. The method of claim 3 , further comprising creating the one or more virtual memory pages when no OLTP transaction is active.

5. The method of claim 3 , further comprising creating the one or more virtual memory pages when one or more OLTP transactions are active, and using an undo-log mechanism to adapt the one or more virtual memory pages to represent a state of the database system before the one or more active OLTP transactions were initiated.

6. The method of claim 1 , further comprising creating new virtual memory pages periodically or on demand.

7. The method of claim 1 , further comprising using an existing hardware-supported memory consistency control mechanism to identify when a data object in the database system is updated and to trigger creation of a new physical copy of a corresponding page.

8. The method of claim 1 , further comprising deleting the forked virtual memory page after completion of a corresponding OLAP query.

9. The method of claim 1 , further comprising using the one or more virtual memory pages to provide a transaction-consistent backup of the database system.

10. The method of claim 9 , further comprising using the transaction-consistent backup and a redo log mechanism to restore the database system.

11. The method of claim 1 , further comprising:

maintaining a primary server to execute the one or more OLTP transactions, and

maintaining a secondary server to also execute at least a portion of the one or more OLTP transactions executed by the primary server, in particular all OLTP transactions comprising update accesses to data, and to execute at least some of the OLAP queries.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 16, 2012
From: KEMPER, ALFONS; NEUMANN, THOMAS
To: TECHNISCHE UNIVERSITAT MUNCHEN
Reel/Frame 029314/0655 →
Priority Claims (1)
GB 1008184.2 · May 17, 2010 · national
Continuity (1)
Related Publication 20130073513A1 · Mar 21, 2013
Cited By (5)
US 12,242,463 US 12,277,138 US 12,596,706 US 12,688,233 US 12,711,151