US 12,141,142 B2
System and method for enhancing processing of a query to a relational database with software-based near-data processing (NDP) technology
Javier Picorel, Munich (DE); Antonio Barbalace, Munich (DE); Antonios Iliopoulos, Munich (DE); and Dmitry Voytik, Munich (DE)
Assigned to Huawei Technologies Co., Ltd., Shenzhen (CN)
Filed by Huawei Technologies Co., Ltd., Shenzhen (CN)
Filed on Jan. 21, 2021, as Appl. No. 17/154,817.
Application 17/154,817 is a continuation of application No. PCT/EP2019/053713, filed on Feb. 14, 2019.
Prior Publication US 2021/0141794 A1, May 13, 2021
Int. Cl. G06F 16/24 (2019.01); G06F 9/54 (2006.01); G06F 12/0893 (2016.01); G06F 16/22 (2019.01); G06F 16/2453 (2019.01)
CPC G06F 16/24537 (2019.01) [G06F 9/544 (2013.01); G06F 12/0893 (2013.01); G06F 16/221 (2019.01); G06F 2212/608 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A system for enhancing processing of a query to a relational database, the system comprising:
processing circuitry of a server, the server being associated with a database comprising a plurality of tuples, each of the plurality of tuples comprising a plurality of attributes, the processing circuitry being configured to:
execute a query engine configured to receive a query, the query comprising at least one operator relating to at least one of the plurality of attributes;
propagate the at least one operator to a storage engine,
execute the storage engine, wherein the storage engine is configured to propagate the at least one operator to an adjusted memory management module, wherein the adjusted memory management module is configured to:
retrieve, from a secondary storage device storing at least one part of the database, a plurality of tuples,
write, into a cache, the plurality of tuples,
filter, using the at least one operator, the plurality of tuples written into the cache and thereby determine a set of complying tuples, each complying tuple complying with the at least one operator, and
return, to the storage engine, the set of complying tuples;
propagate the set of complying tuples from the storage engine to the query engine; and
output, by the query engine, each of the complying tuples received from the storage engine,
wherein the adjusted memory management module is configured to perform the filtering, using the at least one operator, the plurality of tuples retrieved from the storage medium and thereby determine the set of complying tuples by implementing near data processing (NDP) to filter the tuples written into the cache at the point of data retrieval from the storage medium.