Oracle DatabaseがGraalVMを搭載、DB上でJavaScriptを実行可能。Pythonやほかの言語もサポートしていくと
オラクルは、最新データベース「Oracle Database 21c」を含む「Oracle Autonomous Database」を、Oracle Cloud上で無料で利用できる「Always Free」で提供開始したと発表しました。
「Oracle Database 21cは、世界で最も強力なコンバージド・データベース・エンジンの提供というオラクルの戦略を継続します。」発表資料はこちら https://t.co/DH13zechSx #database #データベース #OracleLive pic.twitter.com/o5huPbw6Hp
— Oracle Japan/日本オラクル (@Oracle_Japan) January 14, 2021
Oracle Database 21cは先月登場しており、データの改ざんに対して強靭な仕組みを備えた「ブロックチェーンテーブル」や、JSONデータをネイティブに格納するJSONデータ型、インメモリ機能の拡張による性能向上などがはかられています。
参考:Oracle Database 21c正式版が登場。データベース内でJavaScript実行可能、改ざんできないブロックチェーンテーブルなど新機能
Graal Multilingual Engineを搭載、Pythonもサポート予定
そのなかでも注目の新機能が、Oracle DatabaseにGraalVMをベースとした「Graal Multilingual Engine」を搭載し、データベース上でJavaScriptを実行可能にしたことです。
これにより、SQLやPL/SQLなどから、あらかじめ登録しておいたJavaScriptのコードを実行して結果を得ることなどが可能になります。
JavaScriptコード内からもデータベースにアクセスでき、その際にはJavaScriptのデータ型はOracleデータベースのデータ型に自動的にマッピングされます。
GraalVMは、JavaおよびJavaVM上でサポートされているScalaやKotlinなどの言語、JavaScript、Python、Ruby、R、さらにLLVMでサポートされているCやC++など、さまざまなプログラミング言語を単一の仮想マシンでサポートするという多言語対応の仮想マシンです。
参考:オラクル、JavaやJavaScript、Ruby、Pythonなど多言語対応を単一ランタイムで実現する「GraalVM」をオープンソースで公開。Twitterが本番環境で採用
このGraalVMをベースとした「Graal Multilingual Engine」も当然ながら多言語サポートが可能になっています。
現時点でオラクルはJavaScriptだけをOracle Database上のGraal Multilingual Engineで正式にサポートしていますが、Pythonのサポート計画があることを明らかにしており、それ以外の言語についても追加していくとしています。
ちなみにOracle Databaseは以前からJavaVMを搭載し、Javaの実行が可能になっていました。今回の「Graal Multilingual Engine」は、このJavaVMとは別の実行エンジンとして搭載されており、Javaもいままでと同様に実行可能になっています。
さまざまな機能が集約されていくOracle Database
オラクルはOracle Databaseにおいて、OLTPはもちろん、カラム型データベースによるOLAP処理、JSONデータやXMLデータ、スペイシャルデータ、グラフ型データ対応など、1つのデータベースにさまざまな機能を集約したコンバージドデータベース(Converged Database)と呼ばれる方針で開発を進めています。
Graal Multilingual Engineの搭載により、データモデルだけでなく、プログラミング言語の面でもOracle Databaseへの機能集約がさらに強化されていくと言えそうです。
あわせて読みたい
Amazon、アレクサのウェイクワードや声、機能などカスタマイズできる「Alexa Custom Assistant」発表
≪前の記事
Amazon LightsailがIPv6サポートを開始、仮想プライベートサーバ(VPS)として手軽にIPv6を利用可能に