IP Library Granted Patent US 12,111,805
Granted Patent B2
US 12,111,805 · App. 18/160,969 · Granted Oct 8, 2024

Automatic data store architecture detection

Inventors: Guy Shaked (Be'er Sheva, IL); Vladimir Braverman (Los Angeles, CA); Marina Sadetsky (Kfar Saba, IL)
Assignee: TAMIRAS PER PTE. LTD., LLC
G06F16/217G06F16/213G06F16/9535
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 12,111,805
App. No.
18/160,969
Granted
Oct 8, 2024
Kind
B2
Abstract

A system is configured for automatic recognition of data store architecture and tracking dynamic changes and evolution in data store architecture. The system is a complementary system, which can be added onto an existing data store system using the existing interfaces or can be integrated with a data store system. The system comprises three main components that are configured to compose an approximation of the data store architecture. The first of these components is adapted to execute an analysis of the architecture of the data store; the second of the components is adapted to collect and compile statistics from said data store; and the third of the components is adapted to compose an approximation of the architecture of said data store.

Claims (58)

1. A system comprising:

a processor;

a data store communicatively coupled to the processor, the data store having a plurality of columns of data store tables; and

a non-transitory computer-readable medium coupled to the processor having instructions that, when executed by the processor, causes the system to:

determine a first approximation of a data store architecture, the first approximation including an estimate of column sizes of the plurality of columns of data store tables, the data store tables comprising rows and columns;

receive a user query;

responsive to the received user query, determine a second approximation, the second approximation including an update of the determined first approximation;

determine that the data store has changed based at least in part on detecting when data store tables are inserted, modified, or removed from the data store by automatically carrying out data store architecture analysis comprising analysis of a relationship between the columns of data store tables, and comparing successive approximations of the data store architecture comprising respective estimates of the column sizes;

determine that at least one of an insertion of data store tables, a modification of data store tables, or a removal of data store tables is detected;

in response to determining that the at least one of an insertion of data store tables, a modification of data store tables, or a removal of data store tables is detected, output a notification about the insertion, modification, or removal .

2. The system according to claim 1 , wherein the first approximation or the second approximation includes a collection of statistics constructed from data extracted from the data store and stored as separate entities.

3. The system according to claim 1 , wherein the first approximation or the second approximation is used as an input to a data arrangement application, or wherein the first approximation or the second approximation is configured to be used by a data store administrator to change existing data store architecture.

4. The system according to claim 1 , wherein the system is further configured to perform operations comprising:

check designated resources of a data store system, by:

tracking indicators of a performance of the data store system, and

determining resources of the data store system are available for use by the system to carry out another cycle of data store architecture approximation improvement or if the data store system is too busy or does not have enough available memory, disc space, or processing available for use by the system to carry out another cycle of data store architecture approximation improvement;

analyze data store system resources limits, and

generate and provide a resources analysis report.

5. The system according to claim 1 , wherein the system is further configured to perform operations comprising:

check designated resources of a data store system;

analyze data store system resources limits; and

generate and provide a resources analysis report.

6. The system according to claim 1 , wherein the system is configured to work with a subset of a data store which is obtained by volume reduction.

7. The system according to claim 1 , wherein the system is configured to work with a mirrored data store which is obtained by duplicating an existing data store.

8. The system according to claim 1 , wherein the system is configured to work with a data warehouse to improve performance by modifying an aggregation layer.

9. The system according to claim 1 , wherein the first approximation is performed independently of user queries.

10. A system comprising:

a processor;

a data store communicatively coupled to the processor, the data store having a plurality of columns of data store tables; and

a non-transitory computer-readable medium coupled to the processor having instructions that, when executed by the processor, causes the system to:

determine a first approximation of a data store architecture, the first approximation including a first estimate of column sizes of the plurality of columns of the data store tables, the data store tables comprising rows and columns;

determine if one or more user queries are available;

execute a syntactic analysis of available user queries;

use the syntactic analysis of user queries to generate statistics related to query content;

use the statistics related to query content to determine a second approximation of the data store, the second approximation of the data store including an update of the determined first approximation;

determine that the data store has changed based at least in part on detecting when data store tables are inserted, modified, or removed from the data store by automatically carrying out data store architecture analysis comprising comparing successive approximations of the data store architecture comprising respective estimates of the column sizes; and

output a notification about the data store changes.

11. The system according to claim 10 , wherein the query content used to generate query content related statistics comprises at least one of data tables used, filters used, strength of filters, complexity of query, priority of query user, execution time of query, or frequency of same query template usage.

12. The system according to claim 10 , wherein the determination as to whether one or more user queries are available comprises determining if one or more user queries are available in a queries repository.

13. The system according to claim 10 , wherein the determination as to whether one or more user queries are available comprises determining if one of more user queries are available in a query log or a query stream.

14. The system according to claim 10 , wherein the data store architecture comprises a relationship between the plurality of columns of the data store tables.

15. The system according to claim 10 , wherein the system is further configured to perform operations comprising:

identify columns that appear in a given query; and

determine if a first column and a second column are treated as equivalents in the given query.

16. The system according to claim 10 , wherein the system is further configured to perform operations comprising:

determine size of columns that appear in the given query; and

determine total size of the columns that appear in the given query.

17. The system according to claim 10 , wherein the system is further configured to limit syntactic query analysis to queries that do not alter the data store.

18. The system according to claim 10 , wherein the system is further configured to perform syntactic query analysis on nested queries that comprise a sub-query, wherein sub-queries are processed recursively in a bottom-up way.

19. A computerized method comprising:

determining a first approximation of a data store architecture, the first approximation including an estimate of a plurality of column sizes of data store tables, the data store tables comprising rows and columns;

receiving a user query;

responsive to the received user query, determining a second approximation, the second approximation including an update of the determined first approximation;

determining that the data store has changed;

determining that at least one of an insertion of data store tables, a modification of data store tables, or a removal of data store tables is detected; and

output a notification of the insertion, the modification, or the removal.

20. The method of claim 19 , further comprising:

in response to determining that the data store has changed, analyzing an impact of the data store changes to the data store architecture based, at least in part, on a content of a query repository.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 29, 2023
From: HR ASSET HOLDINGS, INC.
To: YANICKLO TECHNOLOGY LIMITED LIABILITY COMPANY
Reel/Frame 064743/0031 →
MERGER Recorded Aug 29, 2023
From: YANICKLO TECHNOLOGY LIMITED LIABILITY COMPANY
To: TAMIRAS PER PTE. LTD., LLC
Reel/Frame 064743/0053 →
MERGER Recorded Feb 9, 2023
From: YANICKLO TECHNOLOGY, L.L.C.
To: TAMIRAS PER PTE. LTD., LLC
Reel/Frame 062646/0563 →
Priority Claims (1)
IL 195956 · Dec 15, 2008 · national
Continuity (4)
Continuation 16280507 · Feb 20, 2019
Continuation 15466430 · Mar 22, 2017
Continuation 13139718
Related Publication 20230325368A1 · Oct 12, 2023