This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Persistent Caching: An Implementation Technique for Complex Objects with Object Identity
July 1992 (vol. 18 no. 7)
pp. 631-645

Many recent complex object database systems support the concepts of object identity and object identifier. Following an object identifier to access the referenced object is called navigation operation and is an essential operation in dealing with complex objects. Navigation operation is a difficult operation to implement efficiently since every navigation operation inherently causes one disk access operation. A scheme to notably accelerate the navigation operation among a sea of complex objects, by increasing the effective number of objects in one disk page is proposed. The main concept of the presented technique is threefold. The first idea is to store a cached value within a complex object that is referencing another complex object. The second is that when the referenced object is to be updated the update propagation is delayed until the time when the cached value is referenced. The third is to utilize a hashed table on main memory to efficiently validate the consistency between the cached values and the original values.

[1] S. Abiteboulet al., "An introduction to the completeness of languages for complex objects and nested relations," in S. Abiteboul, P. C. Fischer, and H. J. Schek, Eds.,Nested Relations and Complex Objects in Databases, New York: Springer-Verlag, 1989, pp. 117-138.
[2] R. Alonso, D. Barbara, and H. Garcia-Molina, "Data Caching Issues in an Information Retrieval System,"ACM Trans. Database Systems, Vol. 15, No. 3, Sept. 1990, pp. 359-384.
[3] M. Atkinsonet al., "The object-oriented database system manifesto," inProc. First Int. Conf. Deductive and Object-Oriented Databases, pp. 40-57, Dec. 1989.
[4] M. P. Atkinson and O. P. Buneman, "Types and persistence in data-base programming languages,"ACM Computing Surveys, vol. 19, pp. 105-190, June 1987.
[5] F. Bancilhon, T. Briggs, S. Khoshafian, and P. Valduriez, "FAD: a powerful and simple database language," inProc. 13th VLDB Conf. (Brighton, UK), 1987, pp. 97-105.
[6] F. Bancilhon and P. Buneman, Eds.,Advances in Database Programming Language. Reading, MA: Addison-Wesley, 1989.
[7] D. S. Batory and W. Kim, "Modeling concepts for VLSI CAD objects,"ACM Trans. Database Syst., vol. 10, no. 3, Sept. 1985.
[8] V. Benzakan, "An evaluation model for clustering strategies in theO2object-oriented database system," in S. Abiteboul and P. C. Kanellakis, Eds.,Third Int. Conf. Database Theory, pp. 126-140, Dec. 1990.
[9] M. J. Careyet al, "The architecture of the EXODUS extensible DBMS," inProc. Int. Workshop on Object-Oriented Database Systems, Sept. 1986.
[10] E. F. Codd, "Extending the relational database model to capture more meaning,"ACM Trans. Database Syst., vol. 4, no. 4, pp. 397-434, Dec. 1979.
[11] G. P. Copeland and S. Khoshafian, "A decomposed storage model," inProc. ACM SIGMOD Conf. Management of Data, May 1985.
[12] C. J. Date,An Introduction to Relational Database Systems, 4th ed. Reading, MA: Addison-Wesley, 1990, p. 854.
[13] P. J. Denning and G. S. Graham, "Multiprogrammed memory management,"Proc. IEEE, vol. 63, pp. 924-939, 1975.
[14] O. Deuxet al., "The story ofO2,"IEEE Trans. Knowledge and Data Engineering, vol. 2, pp. 91-108, Mar. 1990.
[15] K. Dittrich and U. Dayal, Eds.,Proc. Int. Workshop on Object-Oriented Database Systems, IEEE Computer Society Press, Washington, D.C., Sept. 1986.
[16] M.F. Hornick and S.B. Zdonik, "A shared, segmented memory system for an object-oriented database,"ACM Trans. Office Automation Systems, vol. 5, no. 1, pp. 70-95, Jan. 1987.
[17] R. Hull and R. King, "Semantics database modeling: Survey, applications, and research issues,"Comput. Surveys, vol. 19, no. 3, pp. 201-260, Sept. 1987.
[18] K. Kato, "Storage management techniques of object-oriented database systems,"J. Inform. Processing Society of Japan, vol. 32, pp. 532-539, May 1991, in Japanese.
[19] K. Katoet al., "A comprehension-based database language and its distributed execution," inProc. IEEE Tenth Int. Conf. Distributed Computing Systems, pp. 442-449, May 1990.
[20] S. N. Koshafian and G. P. Copeland, "Object identity,"SIGPLAN Notices (Proc. ACM Conf. Object-Oriented Programming Systems, Languages and Applications (OOPSLA)), vol. 21, no. 11, pp. 417- 423, 1986.
[21] W. Kimet al., "Architecture of the ORION next-generation database system,"IEEE Trans. Knowledge Data Eng., vol. 2, pp. 109-124, Mar. 1990.
[22] P. Larson, "Dynamic hash tables,"Commun. ACM, vol. 31, Apr. 1988.
[23] C. Lécluse and P. Richard, "TheO2database programming languages," inProc. Fifteenth Int. Conf. Very Large Databases, Aug. 1989.
[24] W. Litwin, "Linear hashing: A new tool for files and tables addressing," inProc. 6th Conf. VLDB, pp. 212-223, Oct. 1980.
[25] M. Lottor, "Domain administrators operations guide," vol. 25, Network Working Group, 1987.
[26] D. Maieret al., "Development of an object-oriented DBMS," inProc. ACM OOPSLA'86, pp. 472-482, 1986.
[27] T. Masuda, "Methods for the measurement of memory utilization and the improvement of program locality,"IEEE Trans. Software Eng., vol. SE-5, pp. 618-631, 1979.
[28] A. Meier and R. A. Lorie, "A surrogate concept for engineering databases," inProc. 9th Conf. VLDB, pp. 30-32, Oct. 1980.
[29] A. Ohoriet al., "Database programming in Machiavelli--A polymorphic language with static type inference," inProc. ACM SIGMOD Conf., pp. 46-57, May 1989.
[30] S. L. Osborn and T. E. Heaven, "The design of a relational database system with abstract data types for domains,"ACM Trans. Database Syst., vol. 11, Sept. 1986.
[31] Z. M. Ozsoyoglu and L.-Y. Yuan, "A new normal form for nested relations,"ACM Trans. Database Syst., vol. 12, Mar. 1987.
[32] M. A. Rothet al., "Extended algebra and calculus for nested relational databases,"ACM Trans. Database Syst., vol. 4, Dec. 1988.
[33] E. J. Shekita and M. J. Carey, "Performance enhancement through replication in an object-oriented DBMS," inProc. ACM SIGMOD Conf. Management of Data, pp. 325-336, June 1989.
[34] A. Smith, "Cache Memories,"Computing Surveys, Vol. 14, No. 3, Sept. 1982, pp. 473- 530.
[35] P. Stenströom, "A survey of cache coherence schemes for multiprocessors,"IEEE Computer, vol. 23, pp. 12-25, June 1990.
[36] M. Stonebrakeret al., "Application of abstract data types and abstract indices to CAD databases," inProc. ACM SIGMOD Conf. Management of Data, May 1983.
[37] P. Valduriez, "Join indices,"ACM Trans. Database Syst., vol. 12, pp. 218-246, June 1987.
[38] P. Valduriez, S. Khoshafian, and G. Copeland, "Implementation techniques for complex objects," inProc. 12th Int. Conf. Very Large Data Bases, Kyoto, Japan, Aug. 1986.
[39] S. B. Yao, "Approximating block accesses in database organizations,"Commun. ACM, vol. 20, pp. 260-261, Apr. 1977.
[40] E. Bertinoet al., "Indexing techniques for queries on nested objects,"IEEE Trans. Knowledge and Data Eng., vol. 1, pp. 196-214, June 1989.

Index Terms:
persistent caching; implementation technique; complex objects; object identity; complex object database systems; object identifier; navigation operation; update propagation; hashed table; buffer storage; database management systems; file organisation
Citation:
K. Kato, T. Masuda, "Persistent Caching: An Implementation Technique for Complex Objects with Object Identity," IEEE Transactions on Software Engineering, vol. 18, no. 7, pp. 631-645, July 1992, doi:10.1109/32.148481
Usage of this product signifies your acceptance of the Terms of Use.