The Oracle database is a robust and extremely feature rich platform. In Oracle 12c, Oracle Labs introduced the Oracle Database Multilingual Engine (MLE). The MLE is still in beta, and no production date has yet been set.
    MLE makes it possible to run stored procedures and user-defined functions(UDF) written in JavaScript and TypeScript. My first guess was that MLE used the Nashorn JavaScript engine under the hood for this purpose. But that was totally wrong. Oracle Labs are using the GraalVM for this purpose. GraalVM is a JIT compiler that can run the JVM in polyglot mode. By that, we can surely expect the support for other languages in the future.
    Instead of running your JavaScript in the middle tier,  you can easily deploy and run the JavaScript functions within the Oracle database. After deploy, you can invoke the JavaScript as a UDF from SQL, or as a procedure call.
    If your modules/extensions(written in pure js) runs on node.js(Javascript runtime), you should be able to deploy them to the database.
    Potentially this can have a very positive performance impact if you are shuffling a lot of data between the database and the middle tier today. Also, people can use “their” preferred language. Another great thing is a big JavaScript community, which means support, but also that you can download already finished modules. Check out
    I am not a fan of ORM:s like Hibernate and Sequelize etc, not the technology itself, but how it is implemented in general from my experience. With new possibilities comes great responsibility. So having the database packed with JavaScript, Java, Python, SQL, PL/SQL and so on, gives awesome possibilities from a technical perspective. But of equal importance is Maintainability, Maintainability, Maintainability.
    MLE is still in beta! This is a really cool feature, I hope people will try it out and don’t forget to give feedback to the community
    You can download MLE at