Journal of Intelligent Information Systems

, Volume 9, Issue 2, pp 107–123 | Cite as

P2: A Lightweight DBMS Generator

  • Don Batory
  • Jeff Thomas


A lightweight database system (LWDB) is ahigh-performance, application-specific DBMS. It differs from ageneral-purpose (heavyweight) DBMS in that it omits oneor more features and specializes the implementation ofits features to maximize performance. Although heavyweight monolithic andextensible DBMSs might be able to emulate LWDB capabilities, they cannotmatch LWDB performance.

In this paper, we describe P2, a generator of lightweight DBMSs, andexplain how it was used to reengineer a hand-coded, highly-tuned LWDB usedin a production system compiler (LEAPS). We present results that showP2-generated LWDBs reduced the development time and code size of LEAPS by afactor of three and that the generated LWDBs executed substantially fasterthan versions built by hand or that use an extensible heavyweight DBMS.

lightweight DBMS extensible DBMS GenVoca P2 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. D. Batory, J. Barnett, J. Garza, K. Smith, K. Tsukuda, B. Twichell, and T. Wise, "Genesis: An Extensible Database Management System," lEEE Transactions on Software Engineering, November 1998, pp. 1711–1730.Google Scholar
  2. D. Batory and S. O'Malley, “The Design and Implementation of Hierarchical Software Systems with Reusable Components,” ACM Transactions on Software Engineering and Methodology, Vol. 1, No.4, October 1992, pp. 355–398.Google Scholar
  3. D. Batory, V. Singhal, M. Sirkin, and J. Thomas,“Scalable Software Libraries,” ACM SIGSOFT, December 1993.Google Scholar
  4. D. Batory, “The LEAPS Algorithms,” Department of Computer Sciences, University of Texas at Austin, Technical Report 94-28.Google Scholar
  5. D. Batory, J. Thornas, and M. Sirkin, “Reengineering a Complex Application Using a Scalable Data Structure Compiler,” ACM SIGSOFT, December 1994.Google Scholar
  6. T. Biggerstaff, “The Library Scaling Problem and the Limits of Concrete Component Reuse” Proceedings of theThird International Conference on Reuse, November 1994Google Scholar
  7. G. Booch, Software Components with Ada, Benjamin/Cummings, 1987.Google Scholar
  8. D. Brant. T. Grose, B. Lofaso, and D. Miranker, “Effects of Database Size on Rule System Performance: Five Case Studies,” Proceedings of the 17th International Conference on Very Large Data Bases (VLDB). 1991.Google Scholar
  9. D. Brant and D. Miranker, “Index Support for Rule Activation,” ACM SIGMOD, May 1993.Google Scholar
  10. M. J. Carey, D. J. DeWitt, G. Graefe, D. M. Haight, J. E. Richardson, D. T. Schuh, E. J. Shekita, and S. Vandenberg, “The Exodus Extensible DBMS Project: An Overview.” in D. Maier and S. Zdonik (editors), Readings on Object-Oriented Databaae Systems, Morgan Kaufmann, 1990.Google Scholar
  11. L. Coglianese and R. Szymanski, “DSSA-ADAGE: An Environment for Architecture-based Avionics Devolopment” Proceedings of AGARD 1993.Google Scholar
  12. T. Cooper and Nancy Wogrin, Rule-based Programming with OPS5, Morgan-Kaufmann, 1988.Google Scholar
  13. L. Haas, W. Chang, G. Lotunan, J. McPherson, P. Wilms, G. Lapis, B. Lindsay, H. Pirahesh, M. Carey, and E. Shekita, “Starburst Mid-Flight: As the Dust Clears,” IEEE Transactions on Knowledge and Data Engineering, March 1990, pp. 143–161.Google Scholar
  14. M. Heytens, S. Listgarten, M. Neimat, K. Wilkinson, “Smallbase: A Main-Memory DBMS for High-Performance Applications,” HP Labs Technical Report, December 1994.Google Scholar
  15. J. S. Heideman and G. J. Popek, “File-System Development with Stackable Layers,” ACM Transactions on Computer Systems, February 1994.Google Scholar
  16. N. Hutchinson and L. Peterson, “The x-kernel: an Architecture for Implementing Network Protocols.” IEEE Trans. Software Engineering, January 1991.Google Scholar
  17. A. Keller, “Updates to Relational Database Through Views Involving Joins” in P. Scheuermann (editor), Improving Database Usability and Responsiveness, Academic Press, 1982.Google Scholar
  18. T. Lehman and M. Carey, “Query Processing in Main Memory Database Management System.” ACM SIGMOD, June 1986.Google Scholar
  19. D. Miranker, D. Brant. B. Lofaso, and D. Gadbois, “On the Performance of Lazy Matching in Production Systems,” Proc. National Conference on Artificial Intelligence, 1990.Google Scholar
  20. D. Miranker and E. Lofaso, “The Organization and Performance of a TREAT Based Production System Compiler,” IEEE Transactions on Knowledge and Data Engineering, March 1991.Google Scholar
  21. M. Norman and R. Bloor, “To Universally Serve,” Database Programming and Design, Vol. 9, No.7, July 1996, pp. 26–35.Google Scholar
  22. R. Prieto-Diaz and G. Arango, Domain Analysis and Software Systems Modeling, IEEE Computer Society Press, 1991.Google Scholar
  23. V. Singhal, S. Kakkad, and P. Wilson, “Texas: An Efficient, Portable Persistent Store,” Persistent Object Systems: Proc. Fifth International Workshop on Persistent Object Systems (San Miniato, Italy). September 1992, pp.11–33.Google Scholar
  24. M. Stonebraker and G. Kemnitz, “The Postgres Next-Generation Database Management System.” Communications of the ACM, October 1991, pp. 78–92Google Scholar
  25. M. Stonebraker, “The Miro DBMS,” ACM SIGMOD. 1993.Google Scholar
  26. M. Ubell, “The Montage Extensible DataBlade Achitecture,” ACM SIGMOD, 1994.Google Scholar
  27. D. Wells, J. Blakeley, C. Thompson, “Architecture of an Open Object-Oriented Database Management System,” IEEE Computer, October 1992, pp. 74–82.Google Scholar

Copyright information

© Kluwer Academic Publishers 1997

Authors and Affiliations

  • Don Batory
    • 1
  • Jeff Thomas
    • 1
  1. 1.Department of Computer SciencesThe University of Texas at AustinAustin

Personalised recommendations