Tenant data residency requirements enforcement in multitenant collaborative work environments
US-2024370830-A1 · Nov 7, 2024 · US
US2016283572A1 · US · A1
| Field | Value |
|---|---|
| Publication number | US-2016283572-A1 |
| Application number | US-201514669106-A |
| Country | US |
| Kind code | A1 |
| Filing date | Mar 26, 2015 |
| Priority date | Mar 26, 2015 |
| Publication date | Sep 29, 2016 |
| Grant date | — |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Methods, systems, and computer program products are included for defining a partitioning strategy corresponding to an attribute, creating tables and inserting data into the tables according to the partitioning strategy, detecting triggering events, and responsive to the triggering events, dynamically activating tables for storing data.
Opening claim text (preview).
What is claimed is: 1 . A computer-implemented method for dynamically partitioning and storing data in a database, the method comprising: defining a plurality of subsets corresponding to an attribute; creating a first table in a database, the first table corresponding to data values that are members of a first subset of the plurality of subsets; receiving a first insert statement, the first insert statement including a first data value that is a member of the first subset; transforming the first insert statement into a transformed first insert statement; executing the transformed first insert statement to insert the first data value into the first table; receiving a second insert statement, the second insert statement including a second data value that is a member of the first subset; detecting a trigger event corresponding to the first table; based on the detecting, creating a second table in the database, the second table corresponding to data values that are members of the first subset; transforming the second insert statement into a transformed second insert statement; and executing the transformed second insert statement to insert the second data value into the second table. 2 . The method of claim 1 , wherein transforming the first insert statement comprises: parsing the first insert statement to identify the attribute and the first data value; determining that the first data value is a member of the first subset; identifying an active table corresponding to the first subset, wherein the first table is the active table; and modifying the first insert statement to indicate that the first data value is to be inserted into the first table. 3 . The method of claim 1 , wherein the trigger event corresponds to the first table having or exceeding at least one of the following: a pre-configured number of records; a pre-configured table size; and a pre-configured index size. 4 . The method of claim 1 , wherein creating the second table in the database further comprises: placing the first table on hold; and marking the second table as active. 5 . The method of claim 1 , wherein the first table is a first vertical partition corresponding to the first subset and the second table is a second vertical partition corresponding to the first subset. 6 . The method of claim 1 , wherein each subset of the plurality of subsets is a horizontal partition corresponding to the attribute, wherein the first subset is a first horizontal partition, wherein the first table and the second table are members of the first horizontal partition. 7 . The method of claim 1 , wherein transforming the second insert statement comprises: parsing the second insert statement to identify the attribute and the second data value; determining that the second data value is a member of the first subset; identifying an active table corresponding to the first subset, wherein the second table is the active table; and modifying the second insert statement to indicate that the second data value is to be inserted into the second table. 8 . The method of claim 1 , further comprising: defining the attribute as a key attribute. 9 . The method of claim 1 , further comprising: deleting one or more data values from the first table; determining a first closeness between the first table and an original table; determining a second closeness between the second table and the original table; determining that the first closeness is less than the second closeness; detecting that the first table is less than or equal to a pre-configured minimum table size, number of records, or index size; placing the second table on hold; and marking the first table as active. 10 . The method of claim 1 , further comprising: creating a table corresponding to each subset of the plurality of subsets, wherein a hash table identifies tables that correspond to each subset of the plurality of subsets. 11 . A non-transitory computer-readable medium for database partitioning, comprising computer-readable instructions, the computer-readable instructions executable by a processor to cause the processor to: receive a first insert statement, the first insert statement including a first data value that is a member of a first subset; transform the first insert statement; insert the first data value into a first table; detect a trigger event corresponding to the first table; create a second table, the second table corresponding to data values that are members of the first subset; receive a second insert statement, the second insert statement including a second data value that is a member of the first subset; transform the second insert statement; and insert the second data value into the second table. 12 . The medium of claim 11 , wherein the trigger event is at least one of the following: meeting or exceeding a pre-configured number of records; meeting or exceeding a pre-configured table size; and meeting or exceeding a pre-configured index size. 13 . The medium of 11 , wherein creating the second table further comprises: marking in a hash table that the first table is on hold; and marking in the hash table that the second table is active. 14 . The medium of claim 11 , wherein the first table is a first vertical partition corresponding to the first subset and the second table is a second vertical partition corresponding to the first subset. 15 . The medium of claim 11 , wherein the first subset is a horizontal partition corresponding to the attribute, wherein the first table and the second table are members of the horizontal partition. 16 . A system comprising: a processor and a memory; an enterprise application that is executed by the processor, the enterprise application including a business key functionality module; the business key functionality module to define a plurality of subsets corresponding to an attribute; a database including a first table, the first table corresponding to data values that are members of a first subset of the plurality of subsets; a dynamic partition layer, the dynamic partition layer to receive a first insert statement, the first insert statement including a first data value that is a member of the first subset; the dynamic partition layer to transform the first insert statement; the dynamic partition layer to detect a trigger event corresponding to the first table; the database including a second table, the second table corresponding to data values that are members of the first subset; the dynamic partition layer to receive a second insert statement, the second insert statement including a second data value that is a member of the first subset; and the dynamic partition layer to transform the second insert statement. 17 . The system of claim 16 , wherein the trigger event is at least one of the following: meeting or exceeding a pre-configured number of records; meeting or exceeding a pre-configured table size; and meeting or exceeding a pre-configured index size. 18 . The system of claim 16 , wherein the first table is a first vertical partition corresponding to the first subset and the second table is a second vertical partition corresponding to the first subset. 19 . The system of claim 16 , wherein each subset of the plurality of subsets is a horizontal partition corresponding to the attribute, wherein the first subset is a first horizontal partition, wherein the first table and the second table are members of the first horizontal partition. 20 . The sy
Data partitioning, e.g. horizontal or vertical partitioning · CPC title
Hash tables · CPC title
Tablespace storage structures; Management thereof · CPC title
Physics · mapped topic
Physics · mapped topic
Related publications grouped by family.
Answers are generated from the same data shown on this page.