A semi-automated framework for migrating web applications from SQL to document oriented NoSQL database

Non-relational databases, such as NoSQL, play a major role enabling web applications to manipulate flexible data. Non-relational databases have different strengths from relational databases and are optimized to scale dynamic data such as that used by posts by users in social media, producing terabytes of data. As businesses scale, they need to migrate legacy relational applications to use NoSQL techniques. There are two parts to the migration: the migration of the schema and data, and the migration of the application source code. In this paper, we present a semi-automated approach to solve the second part. We migrate and optimize the embedded SQL queries to interact with the new database API and change the application code to use the new queries. CCS CONCEPTS • Software and its engineering→ Softwaremaintenance tools; Software design tradeoffs; Automatic programming.

[1]  Sami Bhiri,et al.  ODBAPI: A Unified REST API for Relational and NoSQL Data Stores , 2014, 2014 IEEE International Congress on Big Data.

[2]  James R. Cordy,et al.  The TXL source transformation language , 2006, Sci. Comput. Program..

[3]  Cristina Băzăr,et al.  The Transition from RDBMS to NoSQL. A Comparative Analysis of Three Popular Non-Relational Solutions: Cassandra, MongoDB and Couchbase , 2014 .

[4]  George H. L. Fletcher,et al.  On Bridging Relational and Document-Centric Data Stores , 2013, BNCOD.

[5]  Alza A. Mahmood Automated Algorithm for Data Migration from Relational to NoSQL Databases , 2018 .

[6]  Kenneth Mark Anderson,et al.  MySQL to NoSQL: data modeling challenges in supporting scalability , 2012, SPLASH '12.

[7]  James R. Cordy,et al.  SQL2XMI: Reverse Engineering of UML-ER Diagrams from Relational Database Schemas , 2008, 2008 15th Working Conference on Reverse Engineering.

[8]  Ching-Hsien Hsu,et al.  Data adapter for querying and transformation between SQL and NoSQL database , 2016, Future Gener. Comput. Syst..

[9]  James R. Cordy,et al.  Automating Coverage Metrics for Dynamic Web Applications , 2010, 2010 14th European Conference on Software Maintenance and Reengineering.

[10]  James R. Cordy,et al.  WAFA: Fine-grained dynamic analysis of web applications , 2009, 2009 11th IEEE International Symposium on Web Systems Evolution.

[11]  Mark David Weiser,et al.  Program slices: formal, psychological, and practical investigations of an automatic program abstraction method , 1979 .

[12]  Arpita Gopal,et al.  A study of normalization and embedding in MongoDB , 2014, 2014 IEEE International Advance Computing Conference (IACC).

[13]  Rabi Prasad Padhy,et al.  RDBMS to NoSQL: Reviewing Some Next-Generation Non-Relational Database's , 2011 .

[14]  R. Aggarwal,et al.  An Algorithm for Transformation of Data from MySQL to NoSQL ( MongoDB ) , 2013 .

[15]  Elder Cirilo,et al.  A Framework for Migrating Relational Datasets to NoSQL1 , 2015, ICCS.

[16]  Roland Bouman,et al.  Pentaho Kettle Solutions: Building Open Source ETL Solutions with Pentaho Data Integration , 2010 .

[17]  Eleni Stroulia,et al.  From relations to multi-dimensional maps: a SQL-to-HBase transformation methodology , 2016, CASCON.

[18]  Yeh-Ching Chung,et al.  JackHare: a framework for SQL to NoSQL translation using MapReduce , 2013, Automated Software Engineering.

[19]  David Axmark,et al.  MySQL Introduction , 1999 .

[20]  Radu Calinescu,et al.  Evaluating cloud database migration options using workload models , 2018, Journal of Cloud Computing.

[21]  Zheng Wang,et al.  Model Transformation and Data Migration from Relational Database to MongoDB , 2016, 2016 IEEE International Congress on Big Data (BigData Congress).

[22]  Chongxin Li,et al.  Transforming relational database into HBase: A case study , 2010, 2010 IEEE International Conference on Software Engineering and Service Sciences.