Goals


As database servers handle more and more requests on increasingly larger databases the process of optimizing resource usage (both hardware and software) becomes more difficult. The ever-changing state-of-the-art hardware and the needs for increased functionality present a new set of bottlenecks to overcome.

The main philosophy of the Staged DB design is to group concurrent tasks per software and hardware resource in the system. We do not propose a major overhaul in existing DBMS software. Rather, a small number of targeted changes can encapsulate existing functions into micro-servers (stages) ready to process a group of tasks.

By better matching tasks with resources we can attack bottlenecks and optimize resource usage in ways that are not feasible with traditional DBMS designs.


Current Focus

Our focus currently is in four directions:

  • Study the performance of database systems when running OLTP and DSS workload on emerging hardware, such as the highly-parallel chip multiprocessors.

  • Build a staged relational query engine that can optimally manage available disk bandwidth, RAM, and CPU cycles across multiple concurrent queries, and provide a significant performance boost over conventional query engines.

  • Apply the Staged DB design coupled with smart scheduling to Online Transaction Processing (OLTP) engines in order to optimize both instruction and data cache (processor cache) performance, as well as, to improve the (intra-transaction) parallelism in those workloads.

  • Optimize chip multiprocessors for commercial workloads, especially database applications, such as on-line transaction processing (OLTP) and decision support applications (DSS).

Future Plans

  • Apply the Staged DB design in distributed and highly-paralllel CMP environments.

  • Develop auto-tuning tools for Staged DBMS.