Oracle Database Multilingual Engine

A runtime for executing GraalVM languages in Oracle Database.

Project Details

Oracle Database Multilingual Engine

Oracle Database Multilingual Engine

A runtime for executing GraalVM languages in Oracle Database.

Project Overview

Stored procedures, user-defined functions and triggers - in general server-side procedural logic - complement SQL processing and are an important part of many database applications, in particular in enterprise environments. Multilingual Engine (MLE) is a feature of Oracle Database that enables the use of modern programming languages like JavaScript for server-side procedural logic. On the basis of GraalVM, MLE builds a platform for efficient, scalable program execution in Oracle Database that is tightly integrated with processing of relational and non-relational data.

A first version of MLE has been published as part of Oracle Database 21c. It features ad-hoc execution of JavaScript snippets and integration with Oracle APEX. MLE supports all major PL/SQL types and automatically maps to the corresponding JavaScript types and vize-versa. Additionally, the JavaScript code itself can execute PL/SQL and SQL through a built-in JavaScript module.

The Multilingual Engine team at Oracle Labs works on further developing this platform to provide innovative features for database apps.

Principal Investigator

Alexander joined Oracle Labs in 2017. He holds a PhD in Computer Science from the University of Tübingen, Germany. Alexander’s research interests lie at the intersection of database systems and programming languages. His PhD was looking at efficient support for complex-object data models in relational database systems, based on techniques from diverse fields such as query optimization and parallel computing. At Oracle Labs he leads the Multilingual Engine group which works on innovative features to leverage the full power of database systems for application development.