×

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

  • US 8,825,678 B2
  • Filed: 09/18/2009
  • Issued: 09/02/2014
  • Est. Priority Date: 09/19/2008
  • Status: Active Grant
First Claim
Patent Images

1. A method comprising:

  • in a database system comprising at least a database server and a data storage system that is separate from the database server, performing a join operation between at least a first table and a second table by;

    at the database server, generating a bloom filter based upon one or more attributes of the second table;

    identifying, at the database server, one or more locations of one or more data blocks in which the data storage system stores data for the first table;

    wherein the data storage system comprises one or more storage devices upon which data for tables, including the first table, is stored in a plurality of block structures, including the one or more data blocks;

    the database server sending to the data storage system;

    a) an input/output (I/O) request identifying the one or more locations of the one or more data blocks stored in the data storage system; and

    b) the bloom filter, associated with the I/O request;

    wherein the I/O request, is a communication that, when interpreted by the data storage system, causes;

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

    the data storage system generating a filtered response to the I/O request from the one or more data blocks by removing data block rows that do not apply to the bloom filter; and

    sending to the data storage system metadata indicating to the data storage system one or more data block row fields, of the one or more data blocks, that correspond to one or more particular columns of the first table, wherein removing data block rows that do not apply to the bloom filter comprises comparing results of one or more functions of the values of the one or more data block row fields to the bloom filter;

    in response to the I/O request, the database server receiving the filtered response from the data storage system;

    performing the join operation based on the filtered response;

    wherein the method is performed by one or more computing devices.

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