Cargando…

Ephemeral data handling in microservices with Tquery

The adoption of edge and fog systems, along with the introduction of privacy-preserving regulations, compel the usage of tools for expressing complex data queries in an ephemeral way. That is, queried data should not persist. Database engines partially address this need, as they provide domain-speci...

Descripción completa

Detalles Bibliográficos
Autores principales: Giallorenzo, Saverio, Montesi, Fabrizio, Safina, Larisa, Zingaro, Stefano Pio
Formato: Online Artículo Texto
Lenguaje:English
Publicado: PeerJ Inc. 2022
Materias:
Acceso en línea:https://www.ncbi.nlm.nih.gov/pmc/articles/PMC9454887/
https://www.ncbi.nlm.nih.gov/pubmed/36091995
http://dx.doi.org/10.7717/peerj-cs.1037
_version_ 1784785458518032384
author Giallorenzo, Saverio
Montesi, Fabrizio
Safina, Larisa
Zingaro, Stefano Pio
author_facet Giallorenzo, Saverio
Montesi, Fabrizio
Safina, Larisa
Zingaro, Stefano Pio
author_sort Giallorenzo, Saverio
collection PubMed
description The adoption of edge and fog systems, along with the introduction of privacy-preserving regulations, compel the usage of tools for expressing complex data queries in an ephemeral way. That is, queried data should not persist. Database engines partially address this need, as they provide domain-specific languages for querying data. Unfortunately, using a database in an ephemeral setting has inessential issues related to throughput bottlenecks, scalability, dependency management, and security (e.g., query injection). Moreover, databases can impose specific data structures and data formats, which can hinder the development of microservice architectures that integrate heterogeneous systems and handle semi-structured data. In this article, we present Jolie/Tquery, the first query framework designed for ephemeral data handling in microservices. Jolie/Tquery joins the benefits of a technology-agnostic, microservice-oriented programming language, Jolie, and of one of the most widely-used query languages for semi-structured data in microservices, the MongoDB aggregation framework. To make Jolie/Tquery reliable for the users, we follow a cleanroom software engineering process. First, we define Tquery, a theory for querying semi-structured data compatible with Jolie and inspired by a consistent variant of the key operators of the MongoDB aggregation framework. Then, we describe how we implemented Jolie/Tquery following Tquery and how the Jolie type system naturally captures the syntax of Tquery and helps to preserve its invariants. To both illustrate Tquery and Jolie/Tquery, we present the use case of a medical algorithm and build our way to a microservice that implements it using Jolie/Tquery. Finally, we report microbenchmarks that validate the expectation that, in the ephemeral case, using Jolie/Tquery outperforms using an external database (MongoDB, specifically).
format Online
Article
Text
id pubmed-9454887
institution National Center for Biotechnology Information
language English
publishDate 2022
publisher PeerJ Inc.
record_format MEDLINE/PubMed
spelling pubmed-94548872022-09-09 Ephemeral data handling in microservices with Tquery Giallorenzo, Saverio Montesi, Fabrizio Safina, Larisa Zingaro, Stefano Pio PeerJ Comput Sci Distributed and Parallel Computing The adoption of edge and fog systems, along with the introduction of privacy-preserving regulations, compel the usage of tools for expressing complex data queries in an ephemeral way. That is, queried data should not persist. Database engines partially address this need, as they provide domain-specific languages for querying data. Unfortunately, using a database in an ephemeral setting has inessential issues related to throughput bottlenecks, scalability, dependency management, and security (e.g., query injection). Moreover, databases can impose specific data structures and data formats, which can hinder the development of microservice architectures that integrate heterogeneous systems and handle semi-structured data. In this article, we present Jolie/Tquery, the first query framework designed for ephemeral data handling in microservices. Jolie/Tquery joins the benefits of a technology-agnostic, microservice-oriented programming language, Jolie, and of one of the most widely-used query languages for semi-structured data in microservices, the MongoDB aggregation framework. To make Jolie/Tquery reliable for the users, we follow a cleanroom software engineering process. First, we define Tquery, a theory for querying semi-structured data compatible with Jolie and inspired by a consistent variant of the key operators of the MongoDB aggregation framework. Then, we describe how we implemented Jolie/Tquery following Tquery and how the Jolie type system naturally captures the syntax of Tquery and helps to preserve its invariants. To both illustrate Tquery and Jolie/Tquery, we present the use case of a medical algorithm and build our way to a microservice that implements it using Jolie/Tquery. Finally, we report microbenchmarks that validate the expectation that, in the ephemeral case, using Jolie/Tquery outperforms using an external database (MongoDB, specifically). PeerJ Inc. 2022-07-22 /pmc/articles/PMC9454887/ /pubmed/36091995 http://dx.doi.org/10.7717/peerj-cs.1037 Text en ©2022 Giallorenzo et al. https://creativecommons.org/licenses/by/4.0/This is an open access article distributed under the terms of the Creative Commons Attribution License (https://creativecommons.org/licenses/by/4.0/) , which permits unrestricted use, distribution, reproduction and adaptation in any medium and for any purpose provided that it is properly attributed. For attribution, the original author(s), title, publication source (PeerJ Computer Science) and either DOI or URL of the article must be cited.
spellingShingle Distributed and Parallel Computing
Giallorenzo, Saverio
Montesi, Fabrizio
Safina, Larisa
Zingaro, Stefano Pio
Ephemeral data handling in microservices with Tquery
title Ephemeral data handling in microservices with Tquery
title_full Ephemeral data handling in microservices with Tquery
title_fullStr Ephemeral data handling in microservices with Tquery
title_full_unstemmed Ephemeral data handling in microservices with Tquery
title_short Ephemeral data handling in microservices with Tquery
title_sort ephemeral data handling in microservices with tquery
topic Distributed and Parallel Computing
url https://www.ncbi.nlm.nih.gov/pmc/articles/PMC9454887/
https://www.ncbi.nlm.nih.gov/pubmed/36091995
http://dx.doi.org/10.7717/peerj-cs.1037
work_keys_str_mv AT giallorenzosaverio ephemeraldatahandlinginmicroserviceswithtquery
AT montesifabrizio ephemeraldatahandlinginmicroserviceswithtquery
AT safinalarisa ephemeraldatahandlinginmicroserviceswithtquery
AT zingarostefanopio ephemeraldatahandlinginmicroserviceswithtquery