お気に入りの新機能はブロックチェーン表やインデータベースJavaScript
三澤氏がOracle Databaseに関わったのは、バージョン6のころから。「それが今回、21まできて感慨深いものがある。Oracle Databaseはこのようにバージョンを追うごとに進化してきた」と言う。Oracle Database 21cでは、216の機能拡張が実装されており、コンセプトはデータベースを活用する開発者とアーキテクトに、より使いやすい環境を提供すること。さらにデータサイエンティストにも、よりデータ分析がしやすい環境を提供する。そしてデータベース管理者にも、より管理しやすいものを提供する。
Oracle Database 21cの主な機能強化点としては、開発者向けでは改竄不可能なSQL表となるブロックチェーン表、Oracle Database内部でJavaScriptのコードを実行するインデータベースJavaScript、スキャンが最大10倍、アップデートが最大4倍高速化したネイティブJSON対応、データサイエンティスト向けには機械学習モデルの構築を簡易化するAutoML、新規、既存アプリケーションのパフォーマンスを高速化するグラフ分析機能がある。
さらにデータベース管理者向けには、アプリケーションの変更なしで高速化が期待できるパーシステント・メモリ(永続性メモリ)、新たにシャーディング・アドバイザーとスキーマ解析ツールを追加したシャーディングの強化などがある。この中で三澤氏お気に入りの機能は、ブロックチェーン表だ。
「残念ながらさまざまなところで、文書改竄により社会問題が起きています。なぜそのような問題が起きているかと言えば、我々テクノロジーベンダーがそれに対する回答を用意できていなかったからです。いよいよテクノロジーベンダーが、改竄に対する回答を用意できました」(三澤氏)
データベースの中にブロックチェーン表の機能を加えることで、改竄されていないことを証明できるアプリケーションをSQLインターフェイスで容易に開発できる。そのデータベースをクラウド、オンプレミスの両方で提供できるベンダーは、Oracleだけだと言う。
もう1つ取りあげたのが、インデータベースJavaScriptの機能だ。Oracle Databaseのストアドプロシージャは、PL/SQLで記述する。それが10数年前にJavaでも記述できるようになり、新たな開発者ニーズに応えてきた。さらに開発者はわがままであり、それに応えるために今回JavaScriptでストアドプロシージャを記述できるようにした。これにより「JavaScriptでOracle Databaseの内部動作をデザインできるようになりました」と三澤氏は言う。
このインデータベースJavaScriptは、「Oracle GraalVM」を使って実現されている。GraalVMは2018年に発表した、多言語対応の汎用仮想マシンだ。Oracleからオープンソースの形で提供されている。今回Oracle Databaseの中にGraalVMを搭載し、ストアドプロシージャをJavaScriptで記述できるようにしている。ちなみに、Javaについては、従来通りJavaVMを利用する。つまり現状は、GraalVMとJavaVMがOracle Databaseの中で共存しているのだ。GraalVMは、JavaやPythonなど多言語に対応している。今後Oracle Databaseのストアドプロシージャを、PL/SQL、Java、JavaScript以外の言語でも記述したいとのニーズが出てくれば、それらに対応することもできそうだ。
この他に三澤氏は、ネイティブJSONについても触れた。従来よりも「とてつもなく高度なパフォーマンスを提供できるようになり、MongoDBのような専用のJSONファイルシステムよりも、はるかに速いスピードでネイティブJSONは動作します」と言う。さらにMicrosoft AzureのCosmos DBを引き合いに、シャーディング機能についても触れた。地球レベルの分散データベースの仕組みを大幅に強化しており、それを使い慣れたSQLで扱えるのもメリットだと強調する。
またAutoMLも取りあげた。「今のAIはなんだか面倒くさい」と三澤氏。現状の多くの機械学習のための環境では、機械学習を実行するところにさまざまなデータベースからデータを抜いてきてから学習を行う。その作業は面倒くさいものだと言う。対してOracle Databaseには、既にあらゆるデータタイプのデータが格納されている。格納されているデータに対し機械学習を実施したほうが、はるかに効率的だ。これを容易に実現するために「今回の21cでは、AutoMLをものすごく強化をしています」と言う。

ユーザーがこれら最新機能をすぐに利用したければ、「革新(Innovation)リリース」となる今回発表のOracle Database 21cを新規、あるいはバージョンアップで使うことになる。一方でミッションクリティカルなシステムで長期的に安定した運用がしたければ、長期(Long Term)リリースのOracle Database 19cを採用すると良いと三澤氏はアドバイスする。
長期リリースの19cを選んでも、革新リリースで実装された新機能は順次長期リリースにバックサポートされる。そのため、19cでもこれら新機能が安定化した段階で活用することができるのだ。かつてOracle Databaseは、最新バージョンは使わないと言うユーザーも多かった。安定稼働のために枯れた旧バージョンを使い続けるのではなく、システムの要求に応じ長期リリース、革新リリースを適宜選択できる。このメリットについても、三澤氏は改めてアピールしたのだった。