Method, apparatus, and computer-readable medium for optimized data subsetting
AssigneeInformatica Corporation
InventorsVinayak Borkar, Richard Grondin, Ankur, Bhupendra Chopra
Life of this patent
Estimating the term…
Abstract
An apparatus, computer-readable medium, and computer-implemented method for data subsetting, including receiving a request for a subset of data from a plurality of tables, generating an entity graph corresponding to the plurality of tables, expanding the entity graph if the entity graph does not have any cycles, and performing acyclic subset processing on the expanded entity graph if the entity graph does not have any cycles and the expanded entity graph does not have any cycles.
Claims18
A method for data subsetting executed by one or more computing devices, the method comprising:
- receiving, by at least one of the one or more computing devices, a request for a subset of data from a plurality of tables, the request comprising subset criteria;
- generating, by at least one of the one or more computing devices, an entity graph corresponding to the plurality of tables, the entity graph comprising:
- a plurality of entities, each entity representing a table in the plurality of tables;
- edge data corresponding to a plurality of edges between the entities, wherein the edge data identifies a parent entity and a child entity, and each edge runs from a child entity to a parent entity;
- and
- relationship data corresponding to a plurality of relationships between the entities, wherein the relationship data identifies whether the relationship between the parent entity and the child entity is a major relationship or a minor relationship;
- expanding, by at least one of the one or more computing devices, the entity graph to generate an expanded entity graph based at least in part on a determination that the entity graph does not contain a cycle;
- and
- performing, by at least one of the one or more computing devices, acyclic subset processing using the expanded entity graph based at least in part on a determination that the entity graph does not contain a cycle and a determination that the expanded entity graph does not contain a cycle.
An apparatus for data subsetting, the apparatus comprising:
- one or more processors;
- and
- one or more memories operatively coupled to at least one of the one or more processors and having instructions stored thereon that, when executed by at least one of the one or more processors, cause at least one of the one or more processors to:
- receive a request for a subset of data from a plurality of tables, the request comprising subset criteria;
- generate an entity graph corresponding to the plurality of tables, the entity graph comprising:
- a plurality of entities, each entity representing a table in the plurality of tables;
- edge data corresponding to a plurality of edges between the entities, wherein the edge data identifies a parent entity and a child entity, and each edge runs from a child entity to a parent entity;
- and
- relationship data corresponding to a plurality of relationships between the entities, wherein the relationship data identifies whether the relationship between the parent entity and the child entity is a major relationship or a minor relationship;
- expand the entity graph to generate an expanded entity graph based at least in part on a determination that the entity graph does not contain a cycle;
- and
- perform acyclic subset processing on the expanded entity graph based at least in part on a determination that the entity graph does not contain a cycle and a determination that the expanded entity graph does not contain a cycle.
At least one non-transitory computer-readable medium storing computer-readable instructions that, when executed by one or more computing devices, cause at least one of the one or more computing devices to:
- receive a request for a subset of data from a plurality of tables, the request comprising subset criteria;
- generate an entity graph corresponding to the plurality of tables, the entity graph comprising:
- a plurality of entities, each entity representing a table in the plurality of tables;
- edge data corresponding to a plurality of edges between the entities, wherein the edge data identifies a parent entity and a child entity, and each edge runs from a child entity to a parent entity;
- and
- relationship data corresponding to a plurality of relationships between the entities, wherein the relationship data identifies whether the relationship between the parent entity and the child entity is a major relationship or a minor relationship;
- expand the entity graph to generate an expanded entity graph based at least in part on a determination that the entity graph does not contain a cycle;
- and
- perform acyclic subset processing on the expanded entity graph based at least in part on a determination that the entity graph does not contain a cycle and a determination that the expanded entity graph does not contain a cycle.
Dependencies are inferred from the claim text.