Font Size: a A A

P2: A lightweight DBMS generator

Posted on:1999-02-06Degree:Ph.DType:Dissertation
University:The University of Texas at AustinCandidate:Thomas, Jeffrey AlanFull Text:PDF
GTID:1468390014970742Subject:Computer Science
Abstract/Summary:
Generators are tools that automate well-understood software development tasks. Unfortunately, generators are generally difficult to build and/or use, and often produce code with poor run-time performance. GenVoca generators are a special class of generators that provide a domain-independent blueprint for constructing customized systems from pre-fabricated software building blocks called components. Previously, GenVoca generators have failed to simultaneously provide high run-time performance and programmer productivity while scaling to produce complex systems.; Database management system (DBMS) construction is well-understood, but has refused to be automated. Much data management functionality is hand-coded, because appropriate DBMSs are not available, difficult to use, or offer inadequate run-time performance. A lightweight database management system (LWDB) is a high-performance, application-specific DBMS that omits one or more features and specializes the implementation of its features to maximize performance. LWDBs offer the potential to extend DBMS support to much of the data management functionality that is still hand-coded. GenVoca generators offer a powerful means of constructing LWDBs.; In this dissertation, we describe P2, a prototype GenVoca generator of LWDBs. Given an application developed using an implementation-independent, domain-specific programing language; together with a feature specification written using a concise, high-level notation; P2 generates a high-performance LWDB specialized to the requirements of the application. Our target applications are LWDBs for the LEAPS production system compilers and the Smallbase high-performance, main-memory DBMS. We demonstrate how P2 shows that GenVoca generators can scale to produce complex systems while maintaining high generated code performance and programmer productivity.
Keywords/Search Tags:DBMS, Generators, Performance
Related items