Towards a Polyglot Data Access Layer for a Low-Code Application Development Platform

Low-code application development as proposed by the OutSystems Platform enables fast mobile and desktop application development and deployment. It hinges on visual development of the interface and business logic but also on easy integration with data stores and services while delivering robust applications that scale. Data integration increasingly means accessing a variety of NoSQL stores. Unfortunately, the diversity of data and processing models, that make them useful in the first place, is difficult to reconcile with the simplification of abstractions exposed to developers in a low-code platform. Moreover, NoSQL data stores also rely on a variety of general purpose and custom scripting languages as their main interfaces. In this paper we propose a polyglot data access layer for the OutSystems Platform that uses SQL with optional embedded script snippets to bridge the gap between low-code and full access to NoSQL stores. In detail, we characterize the challenges for integrating a variety of NoSQL data stores; we describe the architecture and proof-of-concept implementation; and evaluate it with a sample application.

[1]  Jesús García Molina,et al.  Inferring Versioned Schemas from NoSQL Databases and Its Applications , 2015, ER.

[2]  David J. DeWitt,et al.  Split query processing in polybase , 2013, SIGMOD '13.

[3]  Patrick Valduriez,et al.  CloudMdsQL: querying heterogeneous cloud data stores with a common language , 2016, Distributed and Parallel Databases.

[4]  Joseph K. Bradley,et al.  Spark SQL: Relational Data Processing in Spark , 2015, SIGMOD Conference.

[5]  Vanja Josifovski,et al.  SQL/MED: a status report , 2002, SGMD.

[6]  Daniel Lemire,et al.  Apache Calcite: A Foundational Framework for Optimized Query Processing Over Heterogeneous Data Sources , 2018, SIGMOD Conference.

[7]  Ying Yang,et al.  SchemaDrill: Interactive Semi-Structured Schema Design , 2018, HILDA@SIGMOD.

[8]  Daniel J. Abadi,et al.  Automatic Generation of Normalized Relational Schemas from Nested Key-Value Data , 2016, SIGMOD Conference.

[9]  Laura M. Haas,et al.  Optimizing Queries Across Diverse Data Sources , 1997, VLDB.

[10]  Goetz Graefe,et al.  F1 Query: Declarative Querying at Scale , 2018, Proc. VLDB Endow..

[11]  Christine Collet,et al.  ExSchema: Discovering and Maintaining Schemas from Polyglot Persistence Applications , 2013, 2013 IEEE International Conference on Software Maintenance.

[12]  Hakan Hacigümüs,et al.  MISO: souping up big data query processing with a multistore system , 2014, SIGMOD Conference.

[13]  João Costa Seco,et al.  A common data manipulation language for nested data in heterogeneous environments , 2015, DBPL.

[14]  Michael Stonebraker,et al.  The BigDAWG Polystore System , 2015, SGMD.