Automatic data store architecture detection
First Claim
1. A complementary system comprising:
- a processing device comprising hardware;
a non-transitory computer-readable medium encoded with;
a data store analyzer module comprising;
an architecture analysis composer and analyzer component, which when executed by the processing device, causes the system to execute an analysis of an architecture of a data store prior to having received any user queries, wherein the analysis of the architecture of the data store identifies data store table names, identifies different columns in different tables of the data store that have duplicated data, and determines column sizes;
a data store statistics composer component, which when executed by the processing device, causes the system to collect and compile statistics from the data store; and
a data store architecture composer component, which when executed by the processing device, causes the system to compose an initial approximation of the architecture of the data store based on the analysis of the architecture of the data store prior to having received any user queries and independent of any output from a queries analyzer module;
the queries analyzer module, which comprises;
a queries analyzer component, which when executed by the processing device, causes the system to perform a syntactic analysis of a user query when a query is available;
a queries statistics composer component, which when executed by the processing device, causes the system to compile statistics on query content and query environment properties;
a queries architecture composer component, which when executed by the processing device, causes the system to compose an updated approximation of the data store architecture, including at least an update of the initial approximation of the architecture of the data store, the initial approximation of the architecture of the data store based on the analysis of the architecture of the data store prior to having received any user queries and independent of any output from the queries analyzer module;
a query repository comprising content, the query repository coupled to the queries analyzer component which is configured to use the query repository content to execute an immediate analysis of the impact of data store architecture changes as the data store changes are recognized by the system;
wherein the queries analyzer module components are configured to enable the queries analyzer module to collect, to analyze and to generate statistics related to the user queries and to integrate the statistics related to the user queries with the approximation received from the data store analyzer, that are based on the analysis of the architecture of the data store executed prior to having received any user queries, to compose a more precise approximation of the architecture of the data store;
wherein the complementary system is configured to dynamically detect when tables are inserted, modified, or removed from the data store by automatically carrying out continuous data store architecture analysis and comparing successive approximations of the architecture of the data store, and in response to detecting that a table has been inserted, modified, or removed from the data store, the query repository receives a report of changes to components of the data store from the data architecture composer component and selects one or more query templates that do not contain the changed components of the data store and transfers the selected one or more query templates to the query analyzer component;
wherein the complementary system comprises interfaces enabling the complementary system to interface with an existing data store system using existing interfaces or the complementary system is integrated with a data store system.
2 Assignments
0 Petitions
Accused Products
Abstract
The present invention is a system for automatic recognition of data store architecture and tracking dynamic changes and evolution in data store architecture. The system of the invention 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. Methods for using the system of the invention are also described.
18 Citations
21 Claims
-
1. A complementary system comprising:
-
a processing device comprising hardware; a non-transitory computer-readable medium encoded with; a data store analyzer module comprising; an architecture analysis composer and analyzer component, which when executed by the processing device, causes the system to execute an analysis of an architecture of a data store prior to having received any user queries, wherein the analysis of the architecture of the data store identifies data store table names, identifies different columns in different tables of the data store that have duplicated data, and determines column sizes; a data store statistics composer component, which when executed by the processing device, causes the system to collect and compile statistics from the data store; and a data store architecture composer component, which when executed by the processing device, causes the system to compose an initial approximation of the architecture of the data store based on the analysis of the architecture of the data store prior to having received any user queries and independent of any output from a queries analyzer module; the queries analyzer module, which comprises; a queries analyzer component, which when executed by the processing device, causes the system to perform a syntactic analysis of a user query when a query is available; a queries statistics composer component, which when executed by the processing device, causes the system to compile statistics on query content and query environment properties; a queries architecture composer component, which when executed by the processing device, causes the system to compose an updated approximation of the data store architecture, including at least an update of the initial approximation of the architecture of the data store, the initial approximation of the architecture of the data store based on the analysis of the architecture of the data store prior to having received any user queries and independent of any output from the queries analyzer module; a query repository comprising content, the query repository coupled to the queries analyzer component which is configured to use the query repository content to execute an immediate analysis of the impact of data store architecture changes as the data store changes are recognized by the system; wherein the queries analyzer module components are configured to enable the queries analyzer module to collect, to analyze and to generate statistics related to the user queries and to integrate the statistics related to the user queries with the approximation received from the data store analyzer, that are based on the analysis of the architecture of the data store executed prior to having received any user queries, to compose a more precise approximation of the architecture of the data store; wherein the complementary system is configured to dynamically detect when tables are inserted, modified, or removed from the data store by automatically carrying out continuous data store architecture analysis and comparing successive approximations of the architecture of the data store, and in response to detecting that a table has been inserted, modified, or removed from the data store, the query repository receives a report of changes to components of the data store from the data architecture composer component and selects one or more query templates that do not contain the changed components of the data store and transfers the selected one or more query templates to the query analyzer component; wherein the complementary system comprises interfaces enabling the complementary system to interface with an existing data store system using existing interfaces or the complementary system is integrated with a data store system. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method comprising:
-
executing, by a complementary computing system comprising hardware, an analysis of an architecture of a data store in prior to having received any user queries, wherein the analysis of the architecture of the data store identifies data store table names, identifies different columns in different tables of the data store that have duplicated data, and determines column sizes; collecting and compiling statistics from the data store; composing an initial approximation of the architecture of the data store using the analysis of the architecture of the data store prior to having received any user queries; performing a syntactic analysis of a user query when a query is available; compiling statistics on query content and query environment properties when queries are available; composing one or more updated approximations of the data store architecture using the statistics on query content and query environment properties, including at least an update of the initial approximation of the architecture of the data store, the initial approximation of the architecture of the data store based on the analysis of the architecture of the data store prior to having received any user queries; performing an analysis of the impact of data store architecture changes as the data store changes are recognized; analyzing and generating statistics related to the users queries; integrating the analyzed statistics with the approximation composed using the analysis of the architecture of the data store prior to having received any user queries to compose a more precise approximation of the architecture of the data store; and dynamically detecting when tables are inserted, modified, or removed from the data store by automatically carrying out continuous data store architecture analysis and comparing successive approximations of the architecture of the data store; in response to detecting that a table has been inserted, modified, or removed from the data store, receiving a report of changes to components of the data store and selecting one or more query templates that do not contain the changed components of the data store; and transferring the selected one or more query templates to a query analyzer. - View Dependent Claims (12, 13, 14, 15)
-
-
16. A non-transitory computer-readable medium encoded with instructions thereon, wherein the instructions are readable by a computing device in order to cause the computing device to perform operations comprising:
-
executing an analysis of an architecture of a data store prior to having received any user queries, wherein the analysis of the architecture of the data store identifies data store table names, identifies different columns in different tables of the data store that have duplicated data, and determines column sizes; collecting and compiling statistics from the data store using the analysis of the architecture of the data store user queries; composing an initial approximation of the architecture of the data store using the executed analysis of the architecture of a data store performed prior to having received any user queries; performing a syntactic analysis of a user query when a query is available; compiling statistics on query content and query environment properties when queries are available; composing one or more updated approximations of the data store architecture, including at least an update of the initial approximation of the architecture of the data store, the initial approximation of the architecture of the data store based on the analysis of the architecture of the data store prior to having received any user queries, using the statistics on query content and query environment properties; performing an analysis of the impact of data store architecture changes as the data store changes are recognized; analyzing and generating statistics related to the users queries; integrating the analyzed statistics with the approximation composed using the analysis of the architecture of the data store executed prior to having received any user queries to compose a more precise approximation of the architecture of the data store; and dynamically detecting when tables are inserted, modified, or removed from the data store by automatically carrying out continuous data store architecture analysis and comparing successive approximations of the architecture of the data store; in response to detecting that a table has been inserted, modified, or removed from the data store, receiving a report of changes to components of the data store and selecting one or more query templates that do not contain the changed components of the data store; and transferring the selected one or more query templates to a query analyzer. - View Dependent Claims (17, 18, 19, 20, 21)
-
Specification