×

Methods and systems for optimizing queries in a multi-tenant store

  • US 10,649,995 B2
  • Filed: 11/04/2016
  • Issued: 05/12/2020
  • Est. Priority Date: 04/19/2010
  • Status: Active Grant
First Claim
Patent Images

1. A method of optimizing database queries in a database system having a relational data store and a non-relational data store, the method comprising:

  • receiving a request at a host system for the database system, the request specifying data for retrieval from the database system;

    retrieving, based on the request via the host system, one or more locations of the data for retrieval;

    generating, at the host system, a database query based on the request, wherein the database query specifies a plurality of data elements for retrieval, the plurality of data elements including a first portion of the data residing within the non-relational data store and a second portion of the data residing within the relational data store;

    optimizing the database query to include a join operation specifying a plurality of sub-queries to join the first portion of the data and the second portion of the data into a joined data set responsive to the request;

    wherein optimizing the database query further includes;

    (i) identifying a first sub-query to a table within the relational data store corresponding to the first portion of the data for retrieval, (ii) identifying a second sub-query to the non-relational data store corresponding to the second portion of the data for retrieval, (iii) replicating the table within the relational data store to the non-relational data store, and (iv) generating the optimized database query with one or more sub-queries to fetch both the first portion of the data for retrieval and the second portion of the data for retrieval from the non-relational data store;

    wherein optimizing the database query by (iii) replicating the table within the relational data store to the non-relational data store further comprises optimizing the database query based on a policy to replicate a smaller dataset from its primary location to a location having the larger dataset in fulfillment of the replication; and

    executing the optimized database query against the database system to retrieve the data.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×