Skip to main content

Bidirectional by Necessity: Data Persistence and Adaptability for Evolving Application Development

  • Chapter

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 7680))

Abstract

Database-backed applications are ubiquitous. They have common requirements for data access, including a bidirectional requirement that the application and database must have schemas and instances that are synchronized with respect to the mapping between them. That synchronization must hold under both data updates (when an application is used) and schema evolution (when an application is versioned). The application developer treats the collection of structures and constraints on application data — collectively called a virtual database — as indistinguishable from a persistent database. To have such indistinguishability, that virtual database must be mapped to a persistent database by some means. Most application developers resort to constructing such a mapping from custom-built middleware because available solutions are unable to embody all of the necessary capabilities. This paper returns to first principles of database application development and virtual databases. It introduces a tool called a channel, comprised of incremental atomic transformations with known and provable bidirectional properties, that supports the implementation of virtual databases. It uses channels to illustrate how to provide a singular mapping solution that meets all of the outlined requirements for an example application.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Ambler, S.W., Sadalage, P.J.: Refactoring Databases. Addison-Wesley Publisher (2006)

    Google Scholar 

  2. Arenas, M., Barceló, P., Libkin, L., Murlak, F.: Relational and XML Data Exchange. Morgan and Claypool Publishers (2010)

    Google Scholar 

  3. Arenas, M., Peréz, J., Riveros, C.: The recovery of a schema mapping: bringing exchanged data back. In: PODS 2008, pp. 13–22 (2008)

    Google Scholar 

  4. Bancilhon, F., Spyratos, N.: Update Semantics of Relational Views. ACM Transactions on Database Systems 6(4), 557–575 (1981)

    Article  MATH  Google Scholar 

  5. Banerjee, J., Kim, W., Kim, H., Korth, H.F.: Semantics and Implementation of Schema Evolution in Object-Oriented Databases. In: SIGMOD 1987, pp. 311–322 (1987)

    Google Scholar 

  6. Bernstein, P.A., Chiu, D.-M.W.: Using Semi-Joins to Solve Relational Queries. J. ACM 28(1), 25–40 (1981)

    Article  MATH  Google Scholar 

  7. Blakeley, J.A., Muralidhar, S., Nori, A.K.: The ADO.NET Entity Framework: Making the Conceptual Level Real. In: Embley, D.W., Olivé, A., Ram, S. (eds.) ER 2006. LNCS, vol. 4215, pp. 552–565. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  8. Bohannon, A., Pierce, B.C., Vaughan, J.A.: Relational lenses: a language for updatable views. In: PODS 2006, pp. 338–347 (2006)

    Google Scholar 

  9. Curino, C., Moon, H., Zaniolo, C.: Graceful Database Schema Evolution: the PRISM Workbench. PVLDB 1(1), 761–772 (2008)

    Google Scholar 

  10. Dayal, U., Bernstein, P.: On the Correct Translation of Update Operations on Relational Views. ACM Transactions on Database Systems 8(3), 381–416 (1982)

    Article  MathSciNet  MATH  Google Scholar 

  11. Diskin, Z., Xiong, Y., Czarnecki, K.: From State- to Delta-Based Bidirectional Model Transformations. In: Tratt, L., Gogolla, M. (eds.) ICMT 2010. LNCS, vol. 6142, pp. 61–76. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  12. Domínguez, E., et al.: MeDEA: A database evolution architecture with traceability. Data and Knowledge Engineering 65(3), 419–441 (2008)

    Article  Google Scholar 

  13. Embley, D., Thalheim, B.: Handbook of Conceptual Modeling. Springer (2011)

    Google Scholar 

  14. Fagin, R., et al.: Clio: Schema Mapping Creation and Data Exchange. In: Borgida, A.T., Chaudhri, V.K., Giorgini, P., Yu, E.S., et al. (eds.) Conceptual Modeling: Foundations and Applications. LNCS, vol. 5600, pp. 198–236. Springer, Heidelberg (2009)

    Chapter  Google Scholar 

  15. Garcia-Molina, H., Ullman, J.D., Widom, J.: Database Systems - the complete book, 2nd edn. Pearson Education (2009)

    Google Scholar 

  16. Gottlob, G., Paolini, P., Zicari, R.: Properties and update semantics of consistent views. ACM Transactions on Database Systems 13(4), 486–524 (1988)

    Article  MathSciNet  MATH  Google Scholar 

  17. Gupta, A., Mumick, I.S.: Maintenance of Materialized Views: Problems, Techniques, and Applications. IEEE Data Engineering Bulletin 18(2), 3–18 (1995)

    Google Scholar 

  18. Hainaut, J.-L.: The Transformational Approach to Database Engineering. In: Lämmel, R., Saraiva, J., Visser, J. (eds.) GTTSE 2005. LNCS, vol. 4143, pp. 95–143. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  19. Hernández, M., Papotti, P., Tan, W.: Data Exchange with Data-Metadata Translations. PVLDB 1(1), 260–273 (2008)

    Google Scholar 

  20. Hibernate, http://www.hibernate.org/

  21. Hofmann, M., Pierce, B.C., Wagner, D.: Edit lenses. In: POPL 2012 (2012)

    Google Scholar 

  22. Keller, A.M.: Algorithms for Translating View Updates to Database Updates for Views Involving Selections, Projections, and Joins. In: PODS, pp. 154–163 (1985)

    Google Scholar 

  23. Lakshmanan, L.V.S., Sadri, F., Subramanian, S.N.: On efficiently implementing SchemaSQL on a SQL database system. In: VLDB 1999, pp. 471–482 (1999)

    Google Scholar 

  24. Lomet, D.B., et al.: Immortal DB: transaction time support for SQL server. In: SIGMOD 2005, pp. 939–941 (2005)

    Google Scholar 

  25. McBrien, P., Poulovassilis, A.: Data Integration by Bi-Directional Schema Transformation Rules. In: ICDE 2003, pp. 227–238 (2003)

    Google Scholar 

  26. McBrien, P., Poulovassilis, A.: Schema Evolution in Heterogeneous Database Architectures, A Schema Transformation Approach. In: Pidduck, A.B., Mylopoulos, J., Woo, C.C., Ozsu, M.T. (eds.) CAiSE 2002. LNCS, vol. 2348, pp. 484–499. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  27. Meijer, E., Bierman, G.M.: A co-relational model of data for large shared data banks. Commun. ACM 54(4), 49–58 (2011)

    Article  Google Scholar 

  28. Melnik, S., Adya, A., Bernstein, P.A.: Compiling Mappings to Bridge Applications and Databases. ACM TODS 33(4), 1–50 (2008)

    Article  Google Scholar 

  29. Microsoft SQL Server (2005), http://www.microsoft.com/sql/default.mspx

  30. Oliveira, J.N.: Transforming Data by Calculation. In: Lämmel, R., Visser, J., Saraiva, J. (eds.) GTTSE 2007. LNCS, vol. 5235, pp. 134–195. Springer, Heidelberg (2008)

    Google Scholar 

  31. Oracle TopLink, http://www.oracle.com/technology/products/ias/toplink/

  32. Papastefanatos, G., et al.: What-If Analysis for Data Warehouse Evolution. In: Song, I.-Y., Eder, J., Nguyen, T.M. (eds.) DaWaK 2007. LNCS, vol. 4654, pp. 23–33. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  33. Rahm, E., Bernstein, P.A.: An Online Bibliography on Schema Evolution. SIGMOD Record 35(4), 30–31 (2006)

    Article  Google Scholar 

  34. Ruby on Rails, http://rubyonrails.org/

  35. Snodgrass, R.T.: Developing Time-Oriented Database Applications in SQL. Morgan Kaufmann Publishers Inc., San Francisco (2000)

    Google Scholar 

  36. Terwilliger, J.F.: Graphical User Interfaces as Updatable Views. PhD thesis, Portland State University (2009)

    Google Scholar 

  37. Terwilliger, J.F., Bernstein, P.A., Unnithan, A.: Automated Co-evolution of Conceptual Models, Physical Databases, and Mappings. In: Parsons, J., Saeki, M., Shoval, P., Woo, C., Wand, Y. (eds.) ER 2010. LNCS, vol. 6412, pp. 146–159. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  38. Terwilliger, J.F., Bernstein, P.A., Unnithan, A.: Worry-Free Database Upgrades: Automated Model-Driven Evolution of Schemas and Complex Mappings. In: SIGMOD 2010, pp. 1191–1194 (2010)

    Google Scholar 

  39. Terwilliger, J.F., Delcambre, L.M.L., Logan, J.: Querying Through a User Interface. Journal of Data and Knowledge Engineering 63(3), 774–794 (2007)

    Article  Google Scholar 

  40. Terwilliger, J.F., Delcambre, L.M.L., Logan, J., Maier, D., Archer, D.W., Steinhauer, J., Britell, S.: Enabling revisitation of fine-grained clinical information. In: IHI 2010, pp. 420–424 (2010)

    Google Scholar 

  41. Terwilliger, J.F., Delcambre, L.M.L., Maier, D., Steinhauer, J., Britell, S.: Updatable and Evolvable Transforms for Virtual Databases. PVLDB 3(1), 309–319 (2010)

    Google Scholar 

  42. Vassiliadis, P., et al.: A generic and customizable framework for the design of ETL scenarios. Information Systems 30(7), 492–525 (2005)

    Article  Google Scholar 

  43. Velegrakis, Y., Miller, R.J., Popa, L.: Preserving Mapping Consistency Under Schema Changes. VLDB Journal 13(3), 274–293 (2004)

    Article  Google Scholar 

  44. Wei, H., Elmasri, R.: PMTV: A Schema Versioning Approach for Bi-Temporal Databases. In: TIME 2000, pp. 143–151 (2000)

    Google Scholar 

  45. Wyss, C.M., Robertson, E.L.: A Formal Characterization of PIVOT/UNPIVOT. In: CIKM 2005, pp. 602–608 (2005)

    Google Scholar 

  46. Wyss, C.M., Wyss, F.I.: Extending relational query optimization to dynamic schemas for information integration in multidatabases. In: SIGMOD 2007, pp. 473–484 (2007)

    Google Scholar 

  47. Yu, C., Popa, L.: Semantic Adaptation of Schema Mappings When Schemas Evolve. In: VLDB, pp. 1006–1017 (2005)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2013 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Terwilliger, J.F. (2013). Bidirectional by Necessity: Data Persistence and Adaptability for Evolving Application Development. In: Lämmel, R., Saraiva, J., Visser, J. (eds) Generative and Transformational Techniques in Software Engineering IV. GTTSE 2011. Lecture Notes in Computer Science, vol 7680. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-35992-7_6

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-35992-7_6

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-35991-0

  • Online ISBN: 978-3-642-35992-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics