×

Storage performance optimization

  • US 8,924,357 B2
  • Filed: 07/09/2012
  • Issued: 12/30/2014
  • Est. Priority Date: 05/16/2008
  • Status: Active Grant
First Claim
Patent Images

1. A database system comprising a plurality of server nodes, including a given server node, the plurality of server nodes comprising:

  • one or more computer processors; and

    a non-transitory computer-readable storage medium storing computer program modules configured to execute on the one or more computer processors, the computer program modules comprising instructions, which, when executed, cause the one or more computer processors to;

    maintain a local copy of a database comprising at least a portion of the database on a local electronic storage that is local to a given server node, the local electronic storage coupled to the computer processor;

    maintain a reference copy of the database, corresponding to a complete copy of the database, stored in an external storage system, the external storage system shared between the plurality of server nodes and storing complete copy of the portions of database stored on two or more of the plurality of server nodes, wherein the complete copy of the database held on the external storage system operates as a backup for the local copy of the database and the complete copy of the database is kept current with respect to the local copy of the database, wherein maintaining the reference copy of the database comprises;

    receiving a request to update data stored in the local storage,responsive to receiving the request to update, identifying data stored on the external storage system corresponding to the data being updated in the local electronic storage, andperforming an update of the data in the local electronic storage and an update of the corresponding data stored on the external storage system as a single operation; and

    responsive to receiving a query;

    map the query to a first portion of result data stored in the local electronic storage of the given server node;

    map the query to the reference copy of the database stored in the shared external storage corresponding to the given server node;

    identify a second portion of result data stored in the external storage system, so that the first portion of the result data and the second portion of the result data are distinct;

    retrieve, in parallel, to the given server node, the first portion of the result data from the local electronic storage of the given server node and the second portion of the result data from the reference copy of the database stored in the external storage system; and

    combine, at the given server node, the first and second portion of the result data to generate a complete result to the query.

View all claims
  • 7 Assignments
Timeline View
Assignment View
    ×
    ×