IP Library Patent Application 15808008
Patent Application
App. No. 15/808,008

GENERATION OF A MULTI-TENANT SKINNY TABLE FOR A BASE TABLE

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 None
App. No.
15/808,008
Abstract

A first table that includes columns corresponding to data associated with entities may be identified. A selection of a subset of the columns of the first table may be received. Data from each column of the subset of columns may be identified. Furthermore, a second table may be generated based on the subset of the columns of the first table and the data from each column of the subset of the columns. A partition key may be generated for each row of the second table based on an entity and a portion of the data associated with each corresponding row of the second table.

Claims (50)

1 . A method comprising:

identifying a first table comprising a first plurality of rows, wherein each row of the first plurality of rows corresponds to an entity from a plurality of entities, and a plurality of columns corresponding to data associated with the plurality of entities;

receiving a selection of a subset of the plurality of columns of the first table;

identifying data from each column of the subset of columns;

generating, by a processing device, a second table based on the subset of the plurality of columns of the first table and the data from each column of the subset of the plurality of columns, the second table comprising a second plurality of rows, wherein each row of the second plurality of rows corresponds to an entity from the plurality of entities; and

generating a partition key for each row of the second plurality of rows based on a corresponding entity of the plurality of entities and a portion of the data associated with each corresponding row of the second plurality of rows.

2 . The method of claim 1 , further comprising:

performing an encoding function with the data from each column of the subset of columns of the plurality of columns of the first table, wherein the generating of the second table comprises storing the encoded data from a corresponding row at corresponding columns of the second table.

3 . The method of claim 1 , wherein a value of the partition key is used to store data of the corresponding row of the second table together.

4 . The method of claim 1 , wherein a first column of the second table includes the partition key for the corresponding row and a second column of the second table specifies the entity associated with the corresponding row.

5 . The method of claim 1 , further comprising:

generating a function metadata table comprising a first column identifying the subset of the columns and a second column identifying a corresponding function used to encode the data from each column of the subset of columns.

6 . The method of claim 1 , further comprising:

generating a partition metadata table comprising a first column specifying the partition key for each row of the second table, and a second column specifying values used to generate the partition key.

7 . The method of claim 1 , further comprising:

receiving a search query associated with the first table; and

performing the search query by using the second table.

8 . A system comprising:

a memory; and

a processing device, operatively coupled with the memory, to:

identify a first table comprising a first plurality of rows, wherein each row of the first plurality of rows corresponds to an entity from a plurality of entities, and a plurality of columns corresponding to data associated with the plurality of entities;

receive a selection of a subset of the plurality of columns of the first table;

identify data from each column of the subset of columns;

generate a second table based on the subset of the plurality of columns of the first table and the data from each column of the subset of the plurality of columns, the second table comprising a second plurality of rows, wherein each row of the second plurality of rows corresponds to an entity from the plurality of entities; and

generate a partition key for each row of the second plurality of rows based on a corresponding entity of the plurality of entities and a portion of the data associated with each corresponding row of the second plurality of rows.

9 . The system of claim 8 , wherein the processing device is further to:

perform an encoding function with the data from each column of the subset of columns, wherein the generating of the second table comprises storing the encoded data at corresponding columns of the second table.

10 . The system of claim 8 , wherein a value of the partition key is used to store data of the corresponding row of the second table at a particular location.

11 . The system of claim 8 , wherein a first column of the second table includes the partition key for the corresponding row and a second column of the second table specifies the entity associated with the corresponding row.

12 . The system of claim 8 , wherein the processing device is further to:

generate a function metadata table comprising a first column identifying the subset of the columns and a second column identifying a corresponding function used to encode and decode the data from each column of the subset of columns.

13 . The system of claim 8 , wherein the processing device is further to:

generate a partition metadata table comprising a first column specifying the partition key for each row of the second table, and a second column specifying values used to generate the partition key.

14 . The system of claim 8 , wherein the processing device is further to:

receive a search query associated with the first table; and

perform the search query by using the second table

15 . A non-transitory computer readable medium including data that, when accessed by a processing device, cause the processing device to:

identify a first table comprising a first plurality of rows, wherein each row of the first plurality of rows corresponds to an entity from a plurality of entities, and a plurality of columns corresponding to data associated with the plurality of entities;

receive a selection of a subset of the plurality of columns of the first table;

identify data from each column of the subset of columns;

generate a second table based on the subset of the plurality of columns of the first table and the data from each column of the subset of the plurality of columns, the second table comprising a second plurality of rows, wherein each row of the second plurality of rows corresponds to an entity from the plurality of entities; and

generate a partition key for each row of the second plurality of rows based on a corresponding entity of the plurality of entities and a portion of the data associated with each corresponding row of the second plurality of rows.

16 . The non-transitory computer readable medium of claim 15 , wherein the instruction further cause the processing device to:

perform an encoding function with the data from each column of the subset of columns, wherein the generating of the second table comprises storing the encoded data at corresponding columns of the second table.

17 . The non-transitory computer readable medium of claim 15 , wherein a value of the partition key is used to store data of the corresponding row of the second table at a particular location.

18 . The non-transitory computer readable medium of claim 15 , wherein a first column of the second table specifies the entity associated with the corresponding row and a second column of the second table includes the partition key for the corresponding row.

19 . The non-transitory computer readable medium of claim 15 , wherein the instruction further cause the processing device to:

generate a function metadata table comprising a first column identifying the subset of the columns and a second column identifying a corresponding function used to encode the data from each column of the subset of columns.

20 . The non-transitory computer readable medium of claim 15 , wherein the instruction further cause the processing device to:

generate a partition metadata table comprising a first column specifying the partition key for each row of the second table, and a second column specifying values used to generate the partition key.

Assignments (2)
CHANGE OF NAME Recorded Oct 30, 2023
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 065394/0169 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2017
From: MATHUR, ROHITASHVA
To: SALESFORCE.COM, INC.
Reel/Frame 044081/0890 →