IP Library › Granted Patent US 11,354,307
Granted Patent B2
US 11,354,307 · App. 15/927,731 · Granted Jun 7, 2022

Systems and methods for managing databases

Inventors: Israel Gold (Munich, DE); Hillel Avni (Munich, DE); Antonios Iliopoulos (Munich, DE)
Assignee: Huawei Technologies Co., Ltd.
G06F16/24532G06F9/466G06F9/5016G06F16/2379G06F16/24552G06F16/278G06F16/90339
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,354,307
App. No.
15/927,731
Granted
Jun 7, 2022
Kind
B2
Abstract

There is provided a database management system, comprising: a multicore processor, a shared memory, a partitioned memory, and a database engine adapted to execute at least one transaction worker thread managing transaction states and database indexes in the shared memory using a cache coherency mechanism, and execute at least one partition manager thread for handling database access actions submitted by the at least one transaction worker thread to access a database in the partitioned memory, the cache coherency mechanism being disabled in the partitioned memory; wherein the at least one transaction worker thread and the at least one partition manager thread are executed simultaneously on the multicore processor.

Claims (22)

1. A database management system, comprising:

a multicore processor comprising a set of shared cores and a set of partition cores;

a memory; and

a database engine configured to:

divide the memory into a shared memory and a partitioned memory corresponding to two contiguous address spaces, wherein the shared memory is shared by the set of shared cores, and the partitioned memory comprises a plurality of logical database partitions, wherein each logical database partition of the partitioned memory is managed by a respective partition core of the set of partition cores that is mapped to the respective logical database partition;

selectively activate a cache coherency mechanism for the shared memory, wherein the cache coherency mechanism maintains coherency between core caches of the set of shared cores and the shared memory, and disable the cache coherency mechanism for the partitioned memory, wherein the cache coherency mechanism is disabled between core caches of the partition cores of the set of partition cores and the partitioned memory;

execute, based on the set of shared cores, at least one transaction worker thread for managing transaction states and database indexes in the shared memory based on the cache coherency mechanism; and

execute, based on at least one partition core of the set of partition cores, at least one partition manager thread for handling a plurality of database access actions submitted by the at least one transaction worker thread to access a database in the partitioned memory,

wherein the at least one transaction worker thread and the at least one partition manager thread are executed simultaneously on the multicore processor.

2. The system of claim 1 , wherein the database engine is further configured to dynamically divide a plurality of independent processing cores of the multicore processor into the set of shared cores and the set of partition cores according to a monitored run time work load of the multicore processor.

3. The system of claim 1 , wherein the at least one partition manager thread comprises a plurality of partition manager threads, and wherein each one of the plurality of logical database partitions corresponds to a respective partition manager thread of the plurality of partition manager threads.

4. The system of claim 3 , wherein the plurality of logical database partitions are equal size physical partitions.

5. The system of claim 3 , wherein the database engine is further configured to map the plurality of logical database partitions according to an output of a hash partitioning mechanism that relates to each one of the plurality of logical database partitions as comprising a plurality of rows each having a global hash value at a fixed range.

6. The system of claim 5 , wherein the global hash value for a respective row of the plurality of rows is composed by concatenating a table identifier and a primary key value of a table in which the respective row resides.

7. A method of managing database access actions, comprising:

dividing, by a database engine of a database management system, a memory of the database management system into a shared memory and a partitioned memory corresponding to two contiguous address spaces, wherein the shared memory is shared by a set of shared cores of a multicore processor of the database management system, and the partitioned memory comprises a plurality of logical database partitions, wherein each logical database partition of the partitioned memory is managed by a respective partition core of a set of partition cores of the multicore processor that is mapped to the respective logical database partition;

selectively activating, by the database engine, a cache coherency mechanism for the shared memory, wherein the cache coherency mechanism maintains coherency between core caches of the set of shared cores and the shared memory, and disabling the cache coherency mechanism for the partitioned memory, wherein the cache coherency mechanism is disabled between core caches of the partition cores of the set of partition cores and the partitioned memory;

executing, by the database engine, based on the set of shared cores, at least one transaction worker thread for managing transaction states and database indexes in the shared memory based on the cache coherency mechanism; and

executing, by the database engine, based on at least one partition core of the set of partition cores, at least one partition manager thread for handling a plurality of database access actions submitted by the at least one transaction worker thread to access a database in the partitioned memory,

wherein the at least one transaction worker thread and the at least one partition manager thread are executed simultaneously on the multicore processor of the database management system.

8. The database management system according to claim 1 , wherein the memory is a random access memory (RAM) of the database management system.

9. The database management system according to claim 8 , wherein the RAM is used as a main memory of the database management system.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 11, 2018
From: GOLD, ISRAEL; AVNI, HILLEL; ILIOPOULOS, ANTONIOS
To: HUAWEI TECHNOLOGIES CO., LTD.
Reel/Frame 045505/0459 →
Continuity (2)
Continuation PCTEP2016065400 · Jun 30, 2016
Related Publication 20180268027A1 · Sep 20, 2018