IP Library Granted Patent US 11,288,287
Granted Patent B2
US 11,288,287 · App. 16/050,705 · Granted Mar 29, 2022

Methods and apparatus to partition a database

Inventors: Brian Howard Stewart (Idaho Falls, ID); Brian Roland Rhees (Idaho Falls, ID); Seth D. Grover (Idaho Falls, ID)
Assignee: McAfee, LLC
G06F16/278G06F16/24553
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 11,288,287
App. No.
16/050,705
Filed
Jul 31, 2018
Granted
Mar 29, 2022
Kind
B2
Art Unit
2165
USPC
707/756
Abstract

Methods, apparatus, systems and articles of manufacture to partition a database are disclosed. An example apparatus includes a dimension identifier to identify at least two dimensioning values associated with a received query, the query including unstructured data to be written to a database. A partition manager is to select a partition into which data is to be written based on the at least two dimensioning values. At least one of the at least two dimensioning values being a variant of unstructured data associated with the query. A partition creator is to, in response to the selected partition not existing in the database, create the selected partition. A data writer is to write the data to the selected partition.

Claims (40)

1. An apparatus to partition a database, the apparatus comprising:

memory; and

at least one processor including instructions that, when executed, cause the at least one processor to:

obtain a first query and a second query, the first query including first unstructured data to be written to a database, the second query including second unstructured data to be written to the database;

identify first dimensioning values associated with the first unstructured data and second dimensioning values associated with the second unstructured data, the first dimensioning values including a first tenant identifier and a first variant associated with the first unstructured data, the second dimensioning values including a second tenant identifier and a second variant associated with the second unstructured data, the second tenant identifier different from the first tenant identifier, the second variant different from the first variant;

select a first partition into which the first unstructured data is to be written based on the first dimensioning values;

select a second partition into which the second unstructured data is to be written based on the second dimensioning values, the second partition different from the first partition;

in response to at least one of the first partition or the second partition not existing in the database, create the at least one of the first partition or the second partition;

write the first unstructured data to the first partition; and

write the second unstructured data to the second partition.

2. The apparatus of claim 1 , wherein the first and second dimensioning values exclude time.

3. The apparatus of claim 1 , wherein the first unstructured data uses a first format identified by a first variant identifier and the second unstructured data uses a second format identified by a second variant identifier.

4. The apparatus of claim 1 , wherein the the instructions, when executed, cause the at least one processor to store the first dimensioning values as a first index in association with the first partition and store the second dimensioning values as a second index in associated with the second partition.

5. The apparatus of claim 1 , wherein the instructions, when executed, cause the at least one processor to identify third dimensioning values in connection with a third query, the third query requesting data, the at least one processor to select at least one of the first partition or the second partition for reading based on the third dimensioning values, the at least one processor to read the data from the at least one of the first partition or the second partition.

6. A non-transitory computer-readable medium comprising instructions that, when executed, cause a machine to at least:

obtain a first query and a second query, the first query including first unstructured data to be written to a database, the second query including second unstructured data to be written to the database;

identify first dimensioning values associated with the first unstructured data and second dimensioning values associated with the second unstructured data, the first dimensioning values including a first tenant identifier and a first variant associated with the first unstructured data, the second dimensioning values including a second tenant identifier and a second variant associated with the second unstructured data, the second tenant identifier different from the first tenant identifier, the second variant different from the first variant;

select a first partition into which the first unstructured data is to be written based on the first dimensioning values;

select a second partition into which the second unstructured data is to be written based on the second dimensioning values, the second partition different from the first partition;

in response to determining that at least one of the first partition or the second partition does not exist in the database, create the at least one of the first partition of the second partition;

write the first unstructured data to the first partition; and

write the second unstructured data to the second partition.

7. The non-transitory computer-readable medium of claim 6 , wherein the first and second dimensioning values exclude time.

8. The non-transitory computer-readable medium of claim 6 , wherein at least a first portion of the first unstructured data uses a first format identified by a first variant identifier and a second portion of the second unstructured data uses a second format identified by a second variant identifier.

9. The non-transitory computer-readable medium of claim 6 , wherein the instructions, when executed, further cause the machine to at least store the first dimensioning values as a first index in association with the first partition and store the second dimensioning values as a second index in association with the second partition.

10. The non-transitory computer-readable medium of claim 6 , wherein the instructions, when executed, further cause the machine to at least:

identify third dimensioning values in connection with a third query, the third query requesting data;

select at least one of the first partition or the second partition for reading based on the third dimensioning values; and

read the data from the at least one of the first partition or the second partition.

11. An apparatus to partition a database, the apparatus comprising:

means for identifying first dimensioning values associated with first unstructured data from a first query and second dimensioning values associated with second unstructured data from a second query, first unstructured data and the second unstructured data to be written to a database, the first dimensioning values including a first tenant identifier and a first variant associated with the first unstructured data, the second dimensioning values including a second tenant identifier and a second variant associated with the second unstructured data, the second tenant identifier different from the first tenant identifier, the second variant different from the first variant;

means for selecting a first partition into which the first unstructured data is to be written based on the first dimensioning values;

means for selecting a second partition into which the second unstructured data is to be written based on the second dimensioning values, the second partition different from the first partition;

means for creating, in response to determining that at least one of the first partition or the second partition does not exist in the database, the at least one of the first partition or the second partition;

means for writing the first unstructured data to the first partition; and

means for writing the second unstructured data to the second partition.

12. The apparatus of claim 11 , wherein the first and second dimensioning values exclude time.

13. The apparatus of claim 11 , wherein at least a first portion of the first unstructured data to be stored has a first format identified by a first variant identifier and at least a second portion of the second unstructured data to be stored has a second format identified by a second variant identifier.

14. The apparatus of claim 11 , wherein the means for creating is further to store the first dimensioning values as a first index in association with the first partition and store the second dimensioning values as a second index in associated with the second partition.

15. The apparatus of claim 11 , wherein the means for identifying is further to identify third dimensioning values in connection with a third query, the third query requesting data, the means for selecting is further to select at least one of the first partition or the second partition for reading based on the third dimensioning values, and further including means for reading the data from the at least one of the first partition or the second partition.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 4, 2018
From: GROVER, SETH D.; RHEES, BRIAN ROLAND; STEWART, BRIAN HOWARD
To: MCAFEE,LLC
Reel/Frame 047072/0439 →
Continuity (1)
Related Publication 20200042538A1 · Feb 6, 2020
Cited By (1)
US 12,717,791