US 12,253,994 B2
Dynamically selecting among learned and non-learned indexes for data access
Jonathan Rivers, Brighton, MA (US); Douglas Hamilton, Boston, MA (US); and Leonid Rosenfeld, Brookline, MA (US)
Assigned to NASDAQ, INC., New York, NY (US)
Filed by Nasdaq, Inc., New York, NY (US)
Filed on Jul. 5, 2023, as Appl. No. 18/218,278.
Application 18/218,278 is a continuation of application No. 17/727,886, filed on Apr. 25, 2022, granted, now 11,726,974.
Application 17/727,886 is a continuation of application No. 17/154,855, filed on Jan. 21, 2021, granted, now 11,321,296, issued on May 3, 2022.
Prior Publication US 2023/0350866 A1, Nov. 2, 2023
Int. Cl. G06F 16/22 (2019.01); G06F 16/248 (2019.01); G06F 16/28 (2019.01); G06N 3/08 (2023.01)
CPC G06F 16/2272 (2019.01) [G06F 16/248 (2019.01); G06F 16/285 (2019.01); G06N 3/08 (2013.01)] 19 Claims
OG exemplary drawing
 
1. An electronic data access system, comprising:
one or more memory devices comprising a plurality of indexes for accessing data stored in a database, the plurality of indexes including at least one non-learned index that is formed and maintained without using machine learning and at least one learned index that is created or maintained using machine learning; and
a server infrastructure comprising at least one processor configured to perform operations that comprise:
receiving a query;
parsing the query to obtain a characteristic of the query;
responsive to the query, dynamically evaluating one or more data features of said data in view of the obtained characteristic;
inputting the one or more dynamically evaluated features to a neural network of an index selection model and obtaining, as output of the neural network model, values representing a significance of the one or more dynamically evaluated features;
selecting, by at least comparing the values representing the significance of the one or more dynamically evaluated features to one or more threshold values, an index from the plurality of indexes;
accessing the database using the selected index; and
outputting results for the query, based at least on portions of the data obtained by the accessing.