×

Methods and systems for optimizing queries in a database system

  • US 9,507,822 B2
  • Filed: 04/23/2013
  • Issued: 11/29/2016
  • Est. Priority Date: 04/19/2010
  • Status: Active Grant
First Claim
Patent Images

1. A method at a host organization for optimizing database queries in a database system of the host organization, the database system having one or more processors coupled with memory and including both a relational data store and a non-relational data store therein, the method comprising:

  • operating the database system within the host organization;

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

    retrieving, based on the request received at the host organization, one or more locations of the data for retrieval;

    generating, at the host organization, 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 one or more data elements residing within the non-relational data store and one or more other data elements residing within the relational data store;

    optimizing the database query to include at least a sub-query or a pre-query;

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

    wherein optimizing the database query comprises;

    (i) identifying via a first sub-query to a table within relational data store, the first portion of the data for retrieval, (ii) identifying via a second sub-query to the non-relational data store, the second portion of the data for retrieval, (iii) identifying a data delta between the first sub-query that identifies the first portion of the data retrieved within the relational data store and the second sub-query that identifies the second portion of the data retrieved within the non-relational data store, and (iv) executing a third sub-query replicating missing data from the relational data store to the non-relational data store according to the data delta;

    wherein the database query comprises a join operation performed by initiating non-relational database queries on the non-relational data store where one or more foreign key parents are stored in the relational data store; and

    wherein the join operation comprises a plurality of sub-queries which are generated based on query optimizations available via an optimizer agent of the host organization, the query optimizations selected from the group comprising;

    a specified ordering for the plurality of sub-queries;

    a target data store for execution of a corresponding sub-query;

    one or more pre-query assessments based on the data for retrieval;

    a replication order from the relational data store to the non-relational data store; and

    an in-memory join operation specifying at least one or more of the plurality of data elements for retrieval from each of the relational data store and the non-relational data store and placed into memory accessible to the optimizer agent and a corresponding sub-query to retrieve the at least one or more of the plurality of data elements from the memory accessible to the optimizer agent in fulfillment of the request.

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