Breaking boundaries between programming languages and databases

Abstract : Several classes of solutions allow programming languages to express queries: Specific APIs such as JDBC, Object-Relational Mappings (ORMs) such as Hibernate, and language-integrated query frameworks such as Microsoft's LINQ. However, most of these solutions do not allow for efficient cross-databases queries, and none allow the use of complex application logic from the programming language in queries. In this thesis, we create a language-integrated query framework called BOLDR that, in particular, allows the evaluation in databases of queries written in general-purpose programming languages that contain application logic, and that target different databases of possibly different data models. In this framework, application queries are translated to an intermediate representation, then rewritten in order to avoid query avalanches and make the most out of database optimizations, and finally sent for evaluation to the corresponding databases and the results are converted back to the application. Our experiments show that the techniques we implemented are applicable to real-world database applications, successfully handling a variety of language-integrated queries with good performances.
Complete list of metadatas

Cited literature [112 references]  Display  Hide  Download

https://tel.archives-ouvertes.fr/tel-02309327
Contributor : Abes Star <>
Submitted on : Wednesday, October 9, 2019 - 11:03:07 AM
Last modification on : Friday, October 11, 2019 - 1:24:01 AM

File

76322_LOPEZ_2019_archivage.pdf
Version validated by the jury (STAR)

Identifiers

  • HAL Id : tel-02309327, version 1

Citation

Julien Lopez. Breaking boundaries between programming languages and databases. Databases [cs.DB]. Université Paris-Saclay, 2019. English. ⟨NNT : 2019SACLS235⟩. ⟨tel-02309327⟩

Share

Metrics

Record views

70

Files downloads

10