IP Library Granted Patent US 10,599,677
Granted Patent B2
US 10,599,677 · App. 15/000,372 · Granted Mar 24, 2020

Methods and systems of splitting database indexes and digests

Inventors: Brian J. Bulkowski (Menlo Park, CA); Andrew Gooding (Mountain View, CA); Venkatachary Srinivasan (Sunnyvale, CA)
G06F16/278G06F16/2308
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,599,677
App. No.
15/000,372
Granted
Mar 24, 2020
Kind
B2
Abstract

A computer-implemented method of a distributed database system includes generating a database index. The method includes mapping a first specified number of bits of the database index to a database key. The method includes mapping a second specified number of bits to a data object associated with the database key. The method includes storing the first specified number of bits of the database key in a dram memory. The method includes storing second specified number of bits with the data object in a solid-state device (SSD) storage.

Claims (33)

1. A computer-implemented method of a database comprising:

assigning a unique key to a record of the database;

hashing the unique key into a digest, wherein the digest comprises thirty-two (32) bits;

randomizing the digest;

storing the digest in an index tree;

assigning each index element to a node in the index tree;

assigning twelve (12) bits of the digest to store information that determines which partitions to assign the record;

assigning six (6) bits of the digest to store information that determines which storage device on which to store the record;

assigning fourteen (14) bits of the digest to store information that determines a record lock to use on the record;

using a two-level look up operation in the database to locate a relevant portion of the record; and

including a void time in the thirty-two (32) bits of the digest.

2. The computer-implemented method of claim 1 , wherein the record comprises a set of fields in database related to one entity.

3. The computer-implemented method of claim 2 wherein the digest comprises four (4) bytes.

4. The computer-implemented method of claim 3 , wherein the digest is used to place and locate records in the database.

5. The computer-implemented method of claim 4 , wherein a partition identifier of each database server node depends on a number of nodes in a database cluster that includes the database, and herein the record and another record use the partition identifier to be on a same database server node.

6. The computer-implemented method of claim 5 further comprising: providing a fixed pool of mutexes for use by records in the database.

7. The computer-implemented method of claim 6 , wherein each record is assigned a specified mutex of the fixed pool of mutexes.

8. The computer-implemented method of claim 7 further comprising: assigning fourteen (14) bits of the digest is the specified mutex.

9. The computer-implemented method of claim 8 further comprising: storing the thirty-two (32) bits of the digest in the node in the index tree.

10. The computer-implemented method of claim 9 , wherein multiple records are packed together as one record in a bin in a manner that is transparent to an application accessing the database.

11. The computer-implemented method of claim 10 , wherein the multiple records that are packed together records use same identifiers in the thirty-two (32) bits of the digest.

12. A computer-implemented method of a database comprising:

assigning a unique key to a record of the database;

hashing the unique key into a digest;

randomizing the digest;

storing the digest in an index tree;

assigning each index element to a node in the index tree;

assigning a first specified number of bits of the digest to store information that determines which partitions to assign the record;

signing a second specified number of bits of the digest to store information that determines which storage device on which to store the record;

assigning a third specified number of bits of the digest to store information that determines a record lock to use on the record;

wherein the digest comprises thirty-two (32) bits, wherein the first specified number of bits comprises twelve (12) bits, wherein the second specified number of bits comprises six (6), and wherein the third specified number of bits comprises fourteen (14);

using a two-level look up operation in the database to locate a relevant portion of the record; and

including a void time in the thirty-two (32) bits of the digest.

Assignments (4)
SECURITY INTEREST Recorded Sep 4, 2024
From: AEROSPIKE, INC.
To: CANADIAN IMPERIAL BANK OF COMMERCE, AS ADMINISTRATIVE AGENT
Reel/Frame 068479/0616 →
RELEASE OF SECURITY INTEREST Recorded Aug 27, 2024
From: ACQUIOM AGENCY SERVICES LLC
To: AEROSPIKE, INC.
Reel/Frame 068408/0094 →
SECURITY INTEREST Recorded Dec 29, 2021
From: AEROSPIKE, INC.
To: ACQUIOM AGENCY SERVICES LLC
Reel/Frame 058502/0586 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 15, 2019
From: BULKOWSKI, BRIAN J.; GOODING, ANDREW; SRINIVASAN, VENKATACHARY
To: AEROSPIKE INC.
Reel/Frame 048887/0856 →
Continuity (2)
Provisional Application 62106226 · Jan 22, 2015
Related Publication 20160239529A1 · Aug 18, 2016