×

Hash join using collaborative parallel filtering in intelligent storage with offloaded bloom filters

  • US 9,336,275 B2
  • Filed: 07/23/2014
  • Issued: 05/10/2016
  • Est. Priority Date: 09/19/2008
  • Status: Active Grant
First Claim
Patent Images

1. A system comprising:

  • one or more storage devices storing raw data in data block structures;

    a storage server configured to respond to input/output (I/O) requests directly from one or more database servers, but not to respond to database commands received directly from database clients;

    wherein the I/O requests are requests for raw data from specified data block structures;

    wherein the storage server is configured to respond to the I/O requests from the one or more database servers by reading data blocks from or writing data blocks to the one or more storage devices; and

    a database server, connected via a network to the storage server;

    wherein the storage server acts as an intermediary for all data transfers between the database server and the one or more storage devices;

    wherein the database server is configured to respond to database commands received directly from one or more database clients, but the database server is not capable of directly responding to I/O requests for raw data;

    wherein the database server is configured to perform;

    identifying one or more data blocks, of the data block structures stored on the one or more storage devices, that store raw data that represents a first table;

    generating join metadata based upon one or more attributes of a second table;

    sending to the data storage system;

    a particular I/O request for the one or more data blocks, anddata indicating the join metadata;

    wherein the storage server is further configured to perform;

    receiving the particular I/O request for the one or more data blocks;

    reading the one or more data blocks from the one or more storage devices;

    identifying a portion of the raw data in the one or more data blocks that represents table rows that are guaranteed, based on the join metadata, to not be needed for a join operation with the second table; and

    returning, to the database server, a filtered version of the one or more data blocks without at least the identified portion;

    wherein the database server is further configured to perform;

    receiving the filtered version of the one or more data blocks from the storage server; and

    a join operation between the first table and the second table based on the filtered version of the one or more data blocks.

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