View-Driven Optimization of Database-Backed Web Applications

This paper describes HYPERLOOP, a system for optimizing databasebacked web applications (DBWAs). Current approaches in optimizing DBWAs focus on partitioning the application among the browser, application server, and the database, and rely on each component to optimize their portion individually without developer intervention. We argue that this approach misses the goal of DBWAs in optimizing for end-user experience, and fails to leverage domain-specific knowledge that DBWA developers have. For instance, a news website might prioritize loading of the news headlines, even at the expense of slowing down loading of other visual elements on the page. HYPERLOOP illustrates the idea of viewdriven optimization by allowing developers to specify priorities for each of the elements on the webpage, and uses such information to drive optimization of the entire webpage. HYPERLOOP currently focus on optimizing for render time of webpage components, and our preliminary results show that this view-driven approach can substantially improve DBWA performance by leveraging developer provided application knowledge.

[1]  Alvin Cheung,et al.  Understanding Database Performance Inefficiencies in Real-world Web Applications , 2017, CIKM.

[2]  Ahmed E. Hassan,et al.  Detecting performance anti-patterns for applications developed using object-relational mapping , 2014, ICSE.

[3]  Alvin Cheung,et al.  StatusQuo: Making Familiar Abstractions Perform Using Program Analysis , 2013, CIDR.

[4]  Alvin Cheung,et al.  PowerStation: automatically detecting and fixing inefficiencies of database-backed web applications in IDE , 2018, ESEC/SIGSOFT FSE.

[5]  Surajit Chaudhuri,et al.  Automated Selection of Materialized Views and Indexes in SQL Databases , 2000, VLDB.

[6]  Anastasia Ailamaki,et al.  QPipe: a simultaneously pipelined relational query engine , 2005, SIGMOD '05.

[7]  Ahmed E. Hassan,et al.  Finding and Evaluating the Performance Impact of Redundant Data Access for Applications that are Developed Using Object-Relational Mapping Frameworks , 2016, IEEE Transactions on Software Engineering.

[8]  Alvin Cheung,et al.  Optimizing database-backed applications with query synthesis , 2013, PLDI.

[9]  S. Sudarshan,et al.  Program Transformations for Asynchronous and Batched Query Submission , 2014, IEEE Transactions on Knowledge and Data Engineering.

[10]  Anastasia Ailamaki,et al.  CoPhy: A Scalable, Portable, and Interactive Index Advisor for Large Workloads , 2011, Proc. VLDB Endow..

[11]  Gustavo Alonso,et al.  SharedDB: Killing One Thousand Queries With One Stone , 2012, Proc. VLDB Endow..

[12]  Alvin Cheung,et al.  Managing data constraints in database-backed web applications , 2020, 2020 IEEE/ACM 42nd International Conference on Software Engineering (ICSE).

[13]  Alvin Cheung,et al.  Leveraging Lock Contention to Improve OLTP Application Performance , 2016, Proc. VLDB Endow..

[14]  Swaminathan Sivasubramanian,et al.  Amazon dynamoDB: a seamlessly scalable non-relational database service , 2012, SIGMOD Conference.

[15]  Alvin Cheung,et al.  View-Centric Performance Optimization for Database-Backed Web Applications , 2019, 2019 IEEE/ACM 41st International Conference on Software Engineering (ICSE).

[16]  Alvin Cheung,et al.  Sloth: being lazy is a virtue (when issuing database queries) , 2014, SIGMOD Conference.

[17]  Maaz Bin Safeer Ahmad,et al.  Automatically Leveraging MapReduce Frameworks for Data-Intensive Applications , 2018, SIGMOD Conference.