IP Library Granted Patent US 11,880,371
Granted Patent B2
US 11,880,371 · App. 18/065,187 · Granted Jan 23, 2024

Unified table query processing

Inventors: Franz Faerber (Walldorf, DE); Juchang Lee (Seoul, KR); Ivan Schreter (Malsch, DE)
Assignee: SAP SE
G06F16/24561G06F16/213G06F16/221G06F16/24G06F16/2455G06F16/2456
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 11,880,371
App. No.
18/065,187
Granted
Jan 23, 2024
Kind
B2
Abstract

A system and method of query processing in a multi-level storage system having a unified table architecture. A query is received by a common query execution engine connected with the unified table architecture, the query specifying a data record. The common query execution engine performs a look-up for the data record based on the query at the first level storage structure. If the data record is not present at the first level storage structure, the common query execution engine performs separate look-ups in each of the second level storage structure and the main store.

Claims (28)

1. A method comprising:

receiving a query for data stored in a database, wherein the database stores the data in accordance with a multi-level storage structure that includes a first level storage structure, a second level storage structure, and a main store, wherein the first level storage structure is configured to store at least a first data in a write-optimized logical row store, wherein the second level storage structure is configured to store at least a second data in a column store, and wherein the main store is configured to store at least a third data in a corresponding column store; and

in order to respond to the query, performing a look-up for the data in the multi-level storage structure, the look-up performed first at the first level storage structure, and if the data is not found at the first level storage structure, the look-up for the data is performed at the second level storage structure, and if the data is not found at the second level storage structure, the look-up for the data is performed at the main store.

2. The method in accordance with claim 1 , wherein at least one of the look-up is based at least in part on a sorted dictionary.

3. The method in accordance with claim 1 , wherein the look-up of the first level storage structure is based on an unsorted dictionary.

4. The method in accordance with claim 1 , wherein the look-up of the second level storage structure is based on a sorted dictionary and an index.

5. The method of claim 1 , further comprising merging, into a main dictionary that is sorted, a first dictionary for the first level storage structure and a second dictionary of the second level storage structure.

6. The method in accordance with claim 1 further comprising storing a new version of the data, when the first level storage structure receives a request comprising an update operation, an insert operation, or a delete operation.

7. The method in accordance with claim 6 , further comprising storing the new version of the data, when the second level storage structure receives a bulk insert.

8. The method of claim 1 , wherein the database comprises an in-memory database.

9. A system comprising:

at least one programmable processor;

at least one memory including program code which when executed causes operations comprising:

receiving query for data stored in a database, wherein the database stores the data in accordance with a multi-level storage structure that includes a first level storage structure, a second level storage structure, and a main store, wherein the first level storage structure is configured to store at least a first data in a write-optimized logical row store, wherein the second level storage structure is configured to store at least a second data in a column store, and wherein the main store is configured to store at least a third data in a corresponding column store; and

in order to respond to the query, performing a look-up for the data in the multi-level storage structure, the look-up performed first at the first level storage structure, and if the data is not found at the first level storage structure, the look-up for the data is performed at the second level storage structure, and if the data is not found at the second level storage structure, the look-up for the data is performed at the main store.

10. The system in accordance with claim 9 , wherein at least one of the look-up is based at least in part on a sorted dictionary.

11. The system in accordance with claim 9 , wherein the look-up of the first level storage structure is based on an unsorted dictionary.

12. The system in accordance with claim 9 , wherein the look-up of the second level storage structure is based on a sorted dictionary and an index.

13. The system in accordance with claim 9 , further comprising merging, into a main dictionary that is sorted, a first dictionary for the first level storage structure and a second dictionary of the second level storage structure.

14. The system in accordance with claim 9 further comprising storing a new version of the data, when the first level storage structure receives a request comprising an update operation, an insert operation, or a delete operation.

15. The system in accordance with claim 14 , further comprising storing the new version of the data, when the second level storage structure receives a bulk insert.

16. The system in accordance with claim 9 , wherein the database comprises an in-memory database.

17. A non-transitory computer-readable storage medium including program code which when executed by at least one programmable processor causes operations comprising:

receiving a query for data stored in a database, wherein the database stores the data in accordance with a multi-level storage structure that includes a first level storage structure, a second level storage structure, and a main store, wherein the first level storage structure is configured to store at least a first data in a write-optimized logical row store, wherein the second level storage structure is configured to store at least a second data in a column store, and wherein the main store is configured to store at least a third data in a corresponding column store; and

in order to respond to the query, performing a look-up for the data in the multi-level storage structure, the look-up performed first at the first level storage structure, and if the data is not found at the first level storage structure, the look-up for the data is performed at the second level storage structure, and if the data is not found at the second level storage structure, the look-up for the data is performed at the main store.

18. The non-transitory computer-readable storage medium in accordance with claim 17 , wherein at least one of the look-up is based at least in part on a sorted dictionary.

19. The non-transitory computer-readable storage medium in accordance with claim 17 , wherein the look-up of the first level storage structure is based on an unsorted dictionary.

20. The non-transitory computer-readable storage medium in accordance with claim 17 , wherein the look-up of the second level storage structure is based on a sorted dictionary and an index.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 13, 2022
From: FAERBER, FRANZ; LEE, JUCHANG; SCHRETER, IVAN
To: SAP AG
Reel/Frame 062070/0666 →
CHANGE OF NAME Recorded Dec 13, 2022
From: SAP AG
To: SAP SE
Reel/Frame 062117/0724 →
Continuity (6)
Continuation 17220556 · Apr 1, 2021
Continuation 15260175 · Sep 8, 2016
Continuation 13843898 · Mar 15, 2013
Provisional Application 61646162 · May 11, 2012
Provisional Application 61640689 · Apr 30, 2012
Related Publication 20230113142A1 · Apr 13, 2023