Patent Document ID: 9244950
Application ID: 13934232
Patent Flag: 1

Claim One:
1. A computer program product for synthetic data generation, the computer program product comprising a non-transitory computer readable storage medium having program code embodied therewith, the program code executable by a processor to: receive annotated query subplans for a multiple table query workload comprising a desired cardinality for a plurality of nodes (v) in the annotated query subplans; determine a maximum entropy joint probability distribution for each attribute (x) for each node (v) as: p ⁡ ( x ) = exp [ ( ∑ v ⁢ ⁢ w v ⁢ f v ⁡ ( x ) Z ] ) for each node ν, wherein w v comprises a weight of node v, f v comprises a conjunct of predicates in a subplan rooted at node v, and Z comprises a normalization factor, wherein an iterative scaling algorithm is used to determine the weight w v for each node (v), wherein the iterative scaling algorithm comprises: repeating until convergence: Let ⁢ ⁢ p ⁡ ( x ) = exp [ ( ∑ v ⁢ w v ⁢ f v ⁡ ( x ) Z ] ) For each v = 1,. .. , n max : Let ⁢ ⁢ E p ⁡ [ f v ] = ∑ x ⁢ p ⁡ ( x ) ⁢ f v ⁡ ( x ) Update ⁢ ⁢ w v = w v + 1 n ( log ⁢ ⁢ K ⁡ [ f v ] E p ⁡ [ f v ] - log ⁢ ⁢ 1 - K ⁡ [ f v ] 1 - E p ⁡ [ f v ] ) wherein f ν comprises a characteristic function of a conjunct of predicates at node ν, K[f ν ] comprises an observed expectation of f ν , and E p [f ν ] is an estimated expectation of f ν , wherein the desired cardinality, and selectivities for each node v determined from the desired cardinality, are satisfied; and generate data for a plurality of tables by sampling the maximum entropy joint probability distribution for a domain of attributes (x) of a plurality of tables.