Abstract:
A method for automatic database design for scalability by receiving a database schema and database workload; applying transaction chopping to split a large transaction into smaller transactions; select one or more transactions using dynamic programming based on transaction weights; deriving a database design that covers the selected transactions; and generating a transaction class design that is scalable.
Abstract:
A system includes first and second data stores, each store having a set of materialized views of the base data and the views comprise a multistore physical design; an execution layer coupled to the data stores; a query optimizer coupled to the execution layer; and a tuner coupled to the query optimizer and the execution layer, wherein the tuner determines a placement of the materialized views across the stores to improve workload performance upon considering each store's view storage budget and a transfer budget when moving views across the stores.
Abstract:
A system includes first and second data stores, each store having a set of materialized views of the base data and the views comprise a multistore physical design; an execution layer coupled to the data stores; a query optimizer coupled to the execution layer; and a tuner coupled to the query optimizer and the execution layer, wherein the tuner determines a placement of the materialized views across the stores to improve workload performance upon considering each store's view storage budget and a transfer budget when moving views across the stores.
Abstract:
A system to optimize layout of database objects in a relational database management system stored on a plurality of storage classes each characterized by a price and a storage capacity includes a time-based query optimizer and a layout recommender coupled to the time-based query optimizer to estimate a total cost of operation (TCO) for a query workload on each data layout. The layout recommender includes an auxiliary object selection comprising database objects that include auxiliary objects that are optional to place with auxiliary object candidates being given from an auxiliary object recommender component.
Abstract:
There are provided a system and method for predicting query execution time in a database system. A cost model determination device determines a cost model of a database query optimizer for the database system. The cost model models costs of queries applied to the database system. A profiling device determines profiling queries for profiling input/output cost units and processor cost units relating to the database system, and profiles the cost units using the profiling queries to output profiled cost units. A calibrating device calibrates cost units in the cost model responsive to the profiled cost units to output calibrated cost units. A sampling re-estimator samples and re-estimates a cardinality estimation of a final query plan to output an updated cardinality estimation. A predictor applies the calibrated cost units and the updated cardinality estimation in the cost model to generate a prediction of an execution time of a given query.
Abstract:
Systems and methods are disclosed for managing a multi-store execution environment by applying opportunistic materialized views to improve workload performance and executing a plan on multiple database engines to increase query processing speed by leveraging unique capabilities of each engine by enabling stages of a query to execute on multiple engines, and by moving materialized views across engines.
Abstract:
Systems and methods are disclosed to run a multistore system by receiving by-products of query processing in the multistore system, wherein the by-products include views or materializations of intermediate data; placing the views or materializations across the stores based on recently observed queries as indicative of a future query workload; determining a benefit score for each view based on a predicted future query workload, wherein each store has an allotted view storage budget, and there is a view transfer budget for transferring views between the stores; and tuning a physical design of the multistore system.
Abstract:
There are provided a system and method for predicting query execution time in a database system. A cost model determination device determines a cost model of a database query optimizer for the database system. The cost model models costs of queries applied to the database system. A profiling device determines profiling queries for profiling input/output cost units and processor cost units relating to the database system, and profiles the cost units using the profiling queries to output profiled cost units. A calibrating device calibrates cost units in the cost model responsive to the profiled cost units to output calibrated cost units. A sampling re-estimator samples and re-estimates a cardinality estimation of a final query plan to output an updated cardinality estimation. A predictor applies the calibrated cost units and the updated cardinality estimation in the cost model to generate a prediction of an execution time of a given query.
Abstract:
Systems and methods are disclosed for managing a multi-store execution environment by applying opportunistic materialized views to improve workload performance and executing a plan on multiple database engines to increase query processing speed by leveraging unique capabilities of each engine by enabling stages of a query to execute on multiple engines, and by moving materialized views across engines.
Abstract:
A method implemented in an online transaction processing system is disclosed. The method includes, upon a read request from a transaction process, reading a transaction log, reading data stored in a storage without accessing the transaction log, and constituting a current snapshot using the data in the storage and the transaction log. The method also includes, upon a write request from the transaction process, committing transaction by accessing the transaction log. The method also includes propagating update in the commit to the data in the storage asynchronously. The transaction commit is made successful upon applying the commit to the transaction log. Other methods and systems also are disclosed.