Multimedia Tools and Applications

, Volume 4, Issue 2, pp 115–151 | Cite as

The Architecture of the Dalí Main-Memory Storage Manager

  • Philip Bohannon
  • Daniel Lieuwen
  • Rajeev Rastogi
  • Avi Silberschatz
  • S. Seshadri
  • S. Sudarshan

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.

Main memory database management systems storage managers 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

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.Google Scholar
  2. 2.
    A. Aho, J. Hopcroft, and J. D. Ullman, The Design and Analysis of Computer Algorithms, Addison-Wesley, 1974.Google Scholar
  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.Google Scholar
  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.Google Scholar
  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.Google Scholar
  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.Google Scholar
  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.Google Scholar
  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.Google Scholar
  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.Google Scholar
  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.Google Scholar
  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.Google Scholar
  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.Google Scholar
  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.Google Scholar
  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.Google Scholar
  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.Google Scholar
  21. 21.
    Maurice Herlihy, Impossibility and universality results for wait-free synchronization, Technical report, CMU, TR-CS-88-140, May 1988.Google Scholar
  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.Google Scholar
  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.Google Scholar
  24. 24.
    H. Korth and A. Silberschatz, Database System Concepts. McGraw-Hill, (second edition), 720pp., 1991.Google Scholar
  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.Google Scholar
  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.Google Scholar
  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.Google Scholar
  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.Google Scholar
  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.Google Scholar
  32. 32.
    Daniel F. Lieuwen, Narain Gehani,, and Robert ArleinThe Ode active database: Trigger semantics and implementation,” in Proc. Data Engineering, February–March 1996.Google Scholar
  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.Google Scholar
  34. 34.
    U. Manber and G. D. LadnerConcurrency control in dynamic search structures,” ACM Proc. on Database Systems, April 1982, pp. 268–282.Google Scholar
  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.Google Scholar
  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.Google Scholar
  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.Google Scholar
  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.Google Scholar
  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.Google Scholar
  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.Google Scholar
  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.Google Scholar
  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.Google Scholar

Copyright information

© Kluwer Academic Publishers 1997

Authors and Affiliations

  • Philip Bohannon
    • 1
  • Daniel Lieuwen
    • 1
  • Rajeev Rastogi
    • 1
  • Avi Silberschatz
    • 1
  • S. Seshadri
    • 2
  • S. Sudarshan
    • 2
  1. 1.Bell LaboratoriesMurray Hill
  2. 2.Indian Institute of TechnologyBombayIndia

Personalised recommendations