Home
Welcome! These pages describe the Staged Database Systems project at Carnegie Mellon.
This large long-term project introduces a revolutionary staged design for high-performance, evolvable DBMS that are easy to tune and maintain. We break the database system into modules and encapsulate them into self-contained stages connected to each other through queues. There are multiple research problems associated with this new database system architecture, ranging from optimizing hardware resource usage to job queueing and scheduling with multiple constraints and to multi-query processing and optimization.
Our current focus is two directions:
- Apply the Staged DB design coupled with smart scheduling to Online Transaction Processing (OLTP) engines and optimize both instruction and data cache (processor cache) performance. More in “Goals”...
- 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. More in “Goals”...
The Staged Database System design: Each stage has its own queue and thread support. New queries queue up in the first stage, they are encapsulated into a "packet", and pass through the five stages shown on the top of the figure. A packet carries the query’s "backpack:" its state and private data. Inside the execution engine a query can issue multiple packets to increase parallelism.
Home |
Goals |
People |
Publications |
Resources
|