×

Performing complex operations in a database using a semantic layer

  • US 8,954,418 B2
  • Filed: 12/27/2010
  • Issued: 02/10/2015
  • Est. Priority Date: 05/14/2010
  • Status: Active Grant
First Claim
Patent Images

1. A computer-implemented method comprising:

  • implementing a database executing on a computer system, wherein the database includes a row store and a column store;

    receiving a data request from an application in the database executing on the computer system, the data request specifying standard structured query language (SQL) operations and custom application operations to be performed for said application, wherein the custom application operations include creating a first table as a row table in the row store and creating a second table as a column table in the column store, wherein the custom application operations include a plurality of functions, and wherein at least two of the plurality of functions are free of side effects;

    processing, on the computer system, the data request in a semantic layer of the database, the semantic layer processing the standard SQL operations and the custom application operations, and wherein, in response to receiving the data request, the semantic layer generates a logical execution plan comprising said standard SQL operations and said custom application operations;

    converting, on the computer system, the logical execution plan into a physical execution plan using algebraic transformations and cost based optimizations based on database statistics, wherein the physical execution plan comprises native executable database operations for performing the standard SQL operations and the custom application operations, wherein the physical execution plan for the column store combines column store related read operations into a single plan operation that represents a complex query against the column store, and wherein the physical execution plan indicates that the at least two of the plurality of functions that are free of side effects are executed in parallel;

    executing the physical execution plan on the database, and in accordance therewith, generating a data result, wherein executing the physical execution plan includes performing a row store operation on the first table in the row store and performing a column store operation on the second table in the column store such that the at least two of the plurality of functions that are free of side effects are executed in parallel; and

    sending the data result from the database to the application.

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