×

Versioned insert only hash table for in-memory columnar stores

  • US 10,255,309 B2
  • Filed: 11/25/2014
  • Issued: 04/09/2019
  • Est. Priority Date: 11/25/2014
  • Status: Active Grant
First Claim
Patent Images

1. A method comprising:

  • concurrently performing at least one read operation with at least one write operation that each insert a key/value pair into a backing array of a backing hash table of a hash table forming part of a columnar in-memory database, the backing array mapping a plurality of pointers each to a respective bucket, each bucket comprising at least one state bit and a hashed value of a corresponding key;

    iteratively determining, for each write operation, a first available position in the backing array at which a pointer to a new bucket containing the key/value pair can be inserted, each first available position having no corresponding pre-existing pointer, the iteratively determining comprising;

    identifying a candidate position in the backing array for the bucket containing the key/value pair by applying a modulo operation of the size of the backing array to a hash of the key determined using the hash table,iteratively, until the candidate position does not have a pre-existing pointer, (i) marking the at least one state bit for the bucket corresponding to the candidate pointer as overflown and (ii) identifying a next candidate position in the backing array, andcreating a new bucket for the candidate position that does not have a pre-existing pointer, the new bucket encapsulating at least one state bit indicating that the bucket is not overflown, and the key/value pair; and

    inserting, for each write operation, the pointer to the new bucket containing the key/value pair at the corresponding first determined position in the backing array.

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