III:Small: Database-driven Ajax applications

Supported by NSF 1018961

PI: Yannis Papakonstantinou

Project web page: http://www.db.ucsd.edu/NSF10FWD/

The NSF project abstract web page.


Konstantinos Karanasos (visiting PhD student, alumnus)

Yupeng Fu (PhD student, alumnus)

Other Personnel:

Michalis Petropoulos (Visiting Professor, alumnus)

Kian Win Ong (Postdoc, alumnus)

Erick Zamora (Staff programmer, alumnus)


AJAX programming enables superior performance and interface quality that is comparable to desktop applications, despite the fact that the users’ browsers interact with a remote server on the cloud. The challenge is that AJAX programs are hard to write since they are essentially distributed programs combining three different languages: browser-side Javascript, a server side programming language (e.g., Java, PHP, etc) and database access with SQL.

The proposal delivers an efficient development framework for the rapid creation of fully-fledged AJAX-based web application pages from declarative, data-driven, SQL-based specifications. 

Broad Impact: Declarative specifications lead to rapid programming, much fewer bugs and easy application maintenance and evolution, while the framework solves performance optimization and correctness problems and provides functionalities that otherwise the developer would need to take care of with tedious custom AJAX code.

The results are carried over besides Ajax to Adobe's Flash, the recent Microsoft's Silverlight and the emerging mobile application platforms. Furthermore, they contribute to UCSD’s web application development curriculum by providing a principled method of architecting and implementing interactive data-driven applications.

 Intellectual Merit: The proposal delivers an architecture and SQL-based page specification language that is sufficiently abstract and declarative to enable rapid development, while it is also (a) performant and (b) enables the same class of data-driven web applications with what can be manually coded. Novel incremental view maintenance, distributed query processing and concurrency control techniques enable performance, while the component-based structuring of pages blends the data aspects of the language with front-end mechanisms for creating rich interfaces.



[SQL1] UCSD and Couchbase collaborate on the SQL++ Next-Generation Query Language for Big Data. Joint press announcement by Couchbase and UCSD, 2015.

[SQL2] Couchbase Bets On Standard NoSQL Query Language. Press item covering UCSD’s SQL++ in Information Week, 2015.

[SQL3] SQL will inevitably come to NoSQL databases. Press item covering UCSD’s SQL++ in The Platform, 2015.

[CIDR2011] Y. Fu, K. W. Ong, Y. Papakonstantinou, M. Petropoulos “The SQL-based all-declarative FORWARD web application development framework” in Proc. Conference on Innovative Data Systems Research (CIDR), 2011.

[UAS13] Yupeng Fu, Kian Win Ong, Yannis PapakonstantinouDeclarative Ajax Web Applications through SQL++ on a Unified Application State, in Proc. DBPL 2013. Trento, Italy.

[DDA13] Yupeng Fu, Kian Win Ong, Yannis Papakonstantinou, Vicky Papavasiliou, Romain VernouxHolistic Data Access Optimization for Analytics Reports, Technical report, 2013.

[IVM15] Yannis Katsis, Kian Win Ong, Yannis Papakonstantinou, Keliang Zhao. Utilizing IDs to Accelerate Incremental View Maintenance.

[NOS14] Kian Win Ong , Yannis Papakonstantinou , Romain Vernoux The SQL++ Semi-structured Data Model and Query Language: A Capabilities Survey of SQL-on-Hadoop, NoSQL and NewSQL Databases. CoRR 2014

[NOS15] Yannis Papakonstantinou, Kian Win Ong  Semistructured Querying in the JSON era (tentative). Under Review in Foundations and Trends in Databases.