The Architecture of the Dalí Main-Memory Storage Manager

Abstract

Performance needs of many database applicationsdictate that the entire database be stored in main memory.The dali system is a main memory storage manager designed toprovide the persistence, availability and safety guarantees one typically expects from a disk-resident database, while at the same time providing very high performance by virtue of being tuned to support in-memory data.User processes map the entire database into their address space andaccess data directly, thus avoiding expensive remote procedure calls andbuffer manager interactionstypical of accesses in disk-resident commercial systems available today.

dali recovers the database to a consistent state in the case of system as well as process failures. It alsoprovides unique concurrency control and memory protection features, aswell as ordered and unordered index structures. Both object-oriented and relational database management systems have beenimplemented on top of dali. dali provides access to multiple layers ofapplication programming interface, including its low-level recovery,concurrency control and indexing components as well as its high-levelrelational component. Finally, various features of dali can be tailored tothe needs of an application to achieve high performance–for example,concurrency control and logging can be turned off if not desired, enablingdali to efficiently support applications that requirenon-persistent memory-resident data to be shared by multiple processes.

This is a preview of subscription content, log in to check access.

References

  1. 1.

    R. Agrawal and N. GehaniOde (object database and environment): the language and the data model,” in Proc. of ACM-SIGMOD Int'l Conference on Management of Data, Portland, OR, May 1989, pp. 36–45.

  2. 2.

    A. Aho, J. Hopcroft, and J. D. Ullman, The Design and Analysis of Computer Algorithms, Addison-Wesley, 1974.

  3. 3.

    A. Analyti and S. PramanikFast search in main memory databases,” in Proc. of ACM-SIGMOD Int'l Conference on Management of Data, 1992.

  4. 4.

    R. Arlein, J. Gava, N. Gehani, and D. Lieuwen, Ode 4.2 user manual, Included in distribution at ftp://research.att.com/dist/ode/doc, 1996.

  5. 5.

    D. Batory, J. Barnett, J. Garza, K. Smith, K. Tsukuda, B. Twichell, and T. WiseGenesis: An extensible database management system,” in S. Zdonik and D. Maier, editors, Readings in Object-Oriented Database Systems, Morgan Kaufman, 1990.

  6. 6.

    P.A. Bernstein, M. Hsu, and B. MannImplementing recoverable requests using queues,” in Proc. of ACM-SIGMOD Int'l Conference on Management of Data, May 1990.

  7. 7.

    A. Biliris and E. Panagos, EOS User's Guide, Release 2.0.0, Technical report, AT&T Bell Labs, 1993, BL011356-930505-25M.

  8. 8.

    P. Bohannon, D. Leinbaugh, R. Rastogi, S. Seshadri, A. Silberschatz, and S. Sudarshan, Logical and physical versioning in main memory databases, Technical Report 113880-951031-12, Lucent Technologies Bell Laboratories, Murray Hill, 1995.

    Google Scholar 

  9. 9.

    P. Bohannon, D. Lieuwen, A. Silbershatz, S. Sudarshan, and J. GavaRecoverable user-level mutual exclusion,” in Proc. 7th IEEE Symposium on Parallel and Distributed Processing, October 1995.

  10. 10.

    P. Bohannon, J. Parker, R. Rastogi, S. Seshadri, A. Silberschatz, and S. Sudarshan, Distributed multi-level recovery in main memory databases, Technical Report 1125300-96-0227-01TM, Lucent Technologies Bell Laboratories, Murray Hill, 1996.

    Google Scholar 

  11. 11.

    M. J. Carey, D. J. DeWitt, J. E. Richardson, and E. J. ShekitaStorage management for objects in EXODUS,” in W. Kim and F. H. Lochovsky, editors, Object-Oriented Concepts and Databases, Addison-Wesley, 1989.

  12. 12.

    D. J. DeWitt, R. Katz, F. Olken, D. Shapiro, M. Stonebraker, and D. WoodImplementation techniques for main memory database systems,” in Proc. of ACM-SIGMOD Int'l Conference on Management of Data, Boston, Mass., June 1984, pp. 1–8.

  13. 13.

    M.H. EichA classification and comparison of main memory database recovery techniques,” in Proc. of the IEEE Conference on Data Engineering, Los Angeles, CA, February 1989, pp. 332.

  14. 14.

    R. Fagin, J. Nievergelt, N. Pippenger, and H.R. Strong, Extendible hashing — a fast access method for dynamic files, IBM, Res.R. RJ2305, July 1978.

  15. 15.

    H. Garcia-Molina and K. SalemMain memory database systems: An overview,” IEEE Transactions on Knowledge and Data Engineering, Vol. 4, pp. 509–516, 1992.

    Google Scholar 

  16. 16.

    V. Gottemukkala and T. LehmanLocking and latching in a memory-resident database system,” in Proc. of the Int'l Conf. on Very Large Databases, August 1992, pp. 533–544.

  17. 17.

    J. N. Gray, R. A. Lorie, G. F. Putzolu, and I. L. Traiger.Granularity of locks and degrees of consistency in a shared database,” in G.M. Nijssen, editor, Modeling in Data Base Management Systems, pp. 365–394. North-Holland, Amsterdam, 1976.

    Google Scholar 

  18. 18.

    L. M. Haas, W. Chang, G. M. Lohman, J. McPherson, P. F. 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, Vol. 2, March 1990.

  19. 19.

    Robert B. HagmannA crash recovery scheme for a memory-resident database system,” IEEE Transactions on Computers, Vol. C-35, pp. 839–847, 1986.

    Google Scholar 

  20. 20.

    Maruice HerlihyA methodology for implementing highly concurrent data structures,” in ACM SIGPLAN Symp. on Principles and Practice of Parallel Programming, March 1989.

  21. 21.

    Maurice Herlihy, Impossibility and universality results for wait-free synchronization, Technical report, CMU, TR-CS-88-140, May 1988.

  22. 22.

    H. V. Jagadish, Dan Lieuwen, Rajeev Rastogi, Avi Silberschatz, and S. SudarshanDali: A high performance main-memory storage manager,” in Proc. of the Int'l Conf. on Very Large Databases, 1994.

  23. 23.

    H. V. Jagadish, Avi Silberschatz, and S. SudarshanRecovering from main-memory lapses,” in Proc. of the Int'l Conf. on Very Large Databases, 1993.

  24. 24.

    H. Korth and A. Silberschatz, Database System Concepts. McGraw-Hill, (second edition), 720pp., 1991.

  25. 25.

    H. T. Kung and P. L. LehmanConcurrent manipulation of binary search trees,” ACM Transactions on Database Systems, Vol. 5, pp. 354–382, 1980.

    Google Scholar 

  26. 26.

    Charles Lamb, Gordon Landis, Jack Orenstein, and Dan WeinrebThe ObjectStore database system,” CACM, Vol. 34, pp. 50–63, 1991.

  27. 27.

    T. Lehman, E. J. Shekita, and L. CabreraAn evaluation of Starburst's memory resident storage component,” IEEE Transactions on Knowledge and Data Engineering, Vol. 4, 1992, pp. 555–566.

    Google Scholar 

  28. 28.

    T. J. Lehman and M. J. CareyQuery processing in main memory database management system,” in Proc. of ACM-SIGMOD Int'l Conference on Management of Data, pp. 239–250, 1986.

  29. 29.

    T. J. Lehman and M. J. CareyA study of index structures for main memory database management systems,” in Proc. of the Int'l Conf. on Very Large Databases, August 1986, pp. 294–303.

  30. 30.

    T. J. Lehman and M. J. CareyA recovery algorithm for a high-performance memory-resident database system,” in Proc. of ACM-SIGMOD Int'l Conference on Management of Data, 1987, pp. 104–117.

  31. 31.

    X. Li and M. EichPost-crash log processing for fuzzy checkpointing main memory databases,” in Proc. IEEE CS Intl. Conf. on Data Engineering, April 1993.

  32. 32.

    Daniel F. Lieuwen, Narain Gehani,, and Robert ArleinThe Ode active database: Trigger semantics and implementation,” in Proc. Data Engineering, February–March 1996.

  33. 33.

    D. LometMLR: A recovery method for multi-level systems,” in Proc. of ACM-SIGMOD Int'l Conference on Management of Data, 1992, pp. 185–194.

  34. 34.

    U. Manber and G. D. LadnerConcurrency control in dynamic search structures,” ACM Proc. on Database Systems, April 1982, pp. 268–282.

  35. 35.

    C. MohanARIES/KVL: A key-value locking method for concurrency control of multiaction transactions operating on Btree indexes,” In IBM Almaden Res.Ctr, Res.R. No.RJ7008, 27pp., March 1990.

  36. 36.

    C. Mohan, D. Haderle, B. Lindsay, H. Pirahesh, and P. SchwarzARIES: A transaction recovery method supporting fine-granularity locking and partial rollbacks using write-ahead logging,” ACM Transactions on Database Systems, Vol. 17, pp. 94–162, 1992.

    Google Scholar 

  37. 37.

    C. Mohan and F. LevineARIES/IM an efficient and high concurrency index management method using write-ahead logging,” in Proc. of ACM-SIGMOD Int'l Conference on Management of Data, June 1992.

  38. 38.

    B. Özden, R. Rastogi, A. Silberschatz, P. S. Nararyan, and C. MartinThe Fellini multimedia storage server,” In S. M. Chung, editor, Multimedia Information Storage and Management, Kluwer Academic Publishers, 1996.

  39. 39.

    K. Salem and H. Garcia-MolinaSystem M: A transaction processing testbed for memory resident data,” IEEE Transactions on Knowledge and Data Engineering, Vol. 2, pp. 161–172, March 1990.

    Google Scholar 

  40. 40.

    E. Shekita and M. ZwillingCricket: A Mapped Persistent Object Store,” in Proc. of the Persistent Object Systems Workshop, Martha's Vineyard, MA, September 1990.

    Google Scholar 

  41. 41.

    V. Singhal, S. V. Kakkad, and P. R. WilsonTexas: An efficient, portable persistent store,” in Proc. Fifth Int'l. Workshop on Persistent Object Systems, September 1992.

  42. 42.

    Mark Sullivan and Michael StonebreakerUsing write protected data structures to improve software fault tolerance in highly available database management systems,” in Proc. of the Int'l Conf. on Very Large Databases, 1991, pp. 171–179.

  43. 43.

    J. Turek, D. Shasha, and S. PrakashLocking without blocking: Making lock based concurrent data structure algorithms nonblocking,” in Proc. of the ACM SIGACT-SIGMOD-SIGART Symposium on Principles of Database Systems, June 1992.

  44. 44.

    G. Weikum, C. Hasse, P. Broessler, and P. MuthMulti-level recovery,” in Proc. of the ACM SIGACT-SIGMOD-SIGART Symposium on Principles of Database Systems, June 1990, pp. 109–123.

  45. 45.

    Seth J. White and David J. DeWittQuickstore: A high performance mapped object store, in Proc. of ACM-SIGMOD Int'l Conference on Management of Data, 1994.

Download references

Author information

Affiliations

Authors

Rights and permissions

Reprints and Permissions

About this article

Cite this article

Bohannon, P., Lieuwen, D., Rastogi, R. et al. The Architecture of the Dalí Main-Memory Storage Manager. Multimedia Tools and Applications 4, 115–151 (1997). https://doi.org/10.1023/A:1009662214514

Download citation

  • Main memory database management systems
  • storage managers