Abstract
OpenJPA is an implementation of the Java Persistence API (JPA) for Apache, with a caching layer for database queries. However the caching performance is poor when an application includes write transactions, because the OpenJPA cache-invalidation mechanism is coarse-grained and this results in a low cache hit rate. In this research, we implemented an index mechanism for cache invalidation optimized for the data access patterns. The sizes of the index can be adjusted for the available cache memory. The results of our benchmark indicated that the optimized index drastically improved the performance of OpenJPA even with a small index size in various data access pattern scenarios.
Keywords
- EJB3.0
- JPA
- OpenJPA
- Index
- Cache invalidation
This is a preview of subscription content, access via your institution.
Buying options
Preview
Unable to display preview. Download preview PDF.
References
EJB 3.0 Expert Group, JSR 220: Enterprise JavaBeans Version 3.0 Java Persistence API, Sun Microsystems, Santa Clara, CA (2006)
Amiri, K., Park, S., Tewari, R., Padmanabhan, S.: DBProxy: A dynamic data cache for Web applications. In: ICDE, pp. 821–831 (2003)
Luo, Q., Krishnamurthy, S., Mohan, C., Pirahesh, H., Woo, H., Lindsay, B.G., Naughton, J.F.: Middle-tier database caching for e-business. In: SIGMOD, pp. 600–611 (2002)
Larson, P.A., Goldstein, J., Zhou, J.: MTCache: Transparent mid-tier database caching in SQL server. In: ICDE, pp. 177–188 (2004)
Gupta, A., Mumick, I.S., Subrahmanian, V.S.: Maintaining views incrementally. In: SIGMOD, pp. 157–166 (1993)
Enoki, M., Ozawa, Y., Onodera, T.: Performance Improvement of OpenJPA by Query Dependency Analysis. In: Kitagawa, H., Ishikawa, Y., Li, Q., Watanabe, C. (eds.) DASFAA 2010. LNCS, vol. 5982, pp. 370–379. Springer, Heidelberg (2010)
Seshadri, P., Swami, A.: Generalized Partial Indexes. In: ICDE, pp. 420–427 (1995)
Ross, K.A., Srivastava, D., Sudarshan, S.: Materialized View Maintenance and Integrity Constraint Checking: Trading Space for Time. In: SIGMOD, pp. 447–458 (1996)
Transaction Processing Council. TPC-W specification, http://www.tpc.org.tpcw
Narula, A.: Ubs Publishers Distributors Ltd, ”80/20 Rule of Communicating Your Ideas Effectively” (2005)
Stonebraker, M.: The case for partial indexes. In: Proceedings of the 34th Very Large Databases, VLDB 1989 (1998)
Garey, M.R., Johnson, D.S.: Computers and Intractability: A Guide to the Theory of NP-Completeness. W.H. Freeman, New York (1979)
Karmarkar, N., Karp, R.: The differencing method of set partitioning. Technical Report UCB/CSD 82/113, University of California, Berkeley, CA (1982)
Korf, R.: A complete anytime algorithm for number partitioning. Artificial Intelligence 106(2), 181–203 (1998)
Partition (database), http://en.wikipedia.org/wiki/Partition_%28database%29
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2012 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Enoki, M., Ozawa, Y., Horii, H., Onodera, T. (2012). Memory-Efficient Index for Cache Invalidation Mechanism with OpenJPA. In: Wang, X.S., Cruz, I., Delis, A., Huang, G. (eds) Web Information Systems Engineering - WISE 2012. WISE 2012. Lecture Notes in Computer Science, vol 7651. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-35063-4_55
Download citation
DOI: https://doi.org/10.1007/978-3-642-35063-4_55
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-35062-7
Online ISBN: 978-3-642-35063-4
eBook Packages: Computer ScienceComputer Science (R0)