Oracle Database 23cは「開発者に寄り添う」? 開発総責任者に聞いた生成AIにも(当然)対応

「Oracle Database 23c」が正式にリリースされた。この最新版Oracle Databaseは、アプリケーション開発をシンプルにすることがテーマなのだという。どういうことなのかを、開発総責任者に聞いた。

» 2023年11月30日 05時00分 公開
[谷川耕一@IT]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

 クラウドが主流の時代となり、Oracle Databaseは18cから毎年バージョンを更新するようになった。この年次リリースには「Innovation Release(革新リリース)」と「Long Term Release(長期リリース)」の2つがあるが、最新版の23cはLong Term Releaseだ。コンセプトは「App Simple」で、「開発者にとって使いやすいデータベース」を意味するのだという。

「コンバージドデータベースとAutonomousで開発者を楽にする」

 具体的にはどういうことなのか。

Oracleのデータベース開発担当シニアバイスプレジデント、ウェイ・フー氏

 「開発者の仕事を助けるテクノロジーは2つある」と、Oracleのデータベース開発担当シニアバイスプレジデント、ウェイ・フー(Wei Hu)氏は話す。

 1つ目は「コンバージドデータベース」だ。1つのデータベースであらゆるデータ型、あらゆるワークロードに対応する。開発者は用途に合わせてさまざまなデータベースを選択する必要はなく、運用管理もOracle Databaseだけを対象とすればいい。

 「全ての人がコンバージドデータベースを良いとは思っていないかもしれない」とフー氏は言う。実際、主要クラウド事業者など、用途ごとにさまざまなデータベースを提供する方針のベンダーは少なくない。

 だが、「さまざまなデータベースを提供すると、ユーザーはそれぞれのデータベースの運用管理を並行して行わなければならない。データも分断化し、コピーを持つことになる。データが別々のデータベースに散在すると、データ間の関係性も見えにくくなる」(フー氏)

 もう一つは開発者によるデータベースの扱いの簡素化だ。自律した運用管理を実現する「Autonomous Database」が、これを担う。Oracle Databaseをクラウド上で自動実行でき、ユーザーや開発者は可用性の確保やチューニングなど、運用管理の手間を気にすることなくデータベースのデータを活用できる。

 フー氏がさらに強調するのは、Oracle Databaseがオンプレミスはもちろん、さまざまなクラウドで動くということだ。Oracle Cloud Infrastructure(OCI)はもとより、Amazon Web Services(AWS)やMicrosoft Azure(Azure)にもOracle Databaseのマネージドサービスがある。また、「Cloud@Customer」というサービスでは、企業が自社のデータセンターでマネージドサービスとして利用できる。データを顧客の下から遠く離す必要がなくなり、管理はOracleに任せられる。どの環境のOracle Databaseも同じアーキテクチャなので、オンプレミスからクラウド、クラウドからオンプレミスにデータベースを移動させても問題はない、とする。

 メジャークラウドとの間では、さらに踏み込んだ提携も進めている。2022年にはAzureからシームレスにOCI上のOracle Databaseサービスを使えるようにした。さらに2023年にはAzureのデータセンターにOracle Exadataを展開し、利用できるようにした。顧客はAzureの利用料として支払いをし、使うのはAzureのデータセンターで動くOracle Exadataのマネージドサービスとなる。まずはMicrosoftとの間でマルチクラウドの協業を進めているが、顧客からの声に応じて他のクラウドベンダーとも同様な取り組みを進める、とフー氏は言う。

JSONを使いやすくし、グラフデータも容易に扱える

 Oracle Database 23cの開発者向け機能としてフー氏が真っ先に挙げるのは、JSONとリレーショナルの二面性を提供する「JSON/Relational Duality」だ。

 「アプリケーションの開発者はJSONを好む。従来、リレーショナルデータベースでJSONを容易に利用できるようにするには、O/Rマッピング(オブジェクトリレーショナルマッピング)などの機能を使う必要があった。JSON/Relational Dualityを使えば、リレーショナルなデータをJSONオブジェクトのように扱える」とフー氏は言う。

 JSON/Relational Dualityであれば、Oracle Database本来のトランザクション性能やデータの整合性は担保したままデータを扱える。アプリケーションからJSONデータを更新しても、SQLでリレーショナルデータベースのデータを更新しても、整合性はとれた形でデータが管理される、という。

 「Property Graph」も、コンバージドデータベースを象徴する機能だ。これは人と人、物と物などの関係性を表現するのに最適なグラフデータを、リレーショナルデータベースで容易に扱えるようにするもの。

 「ソーシャルメディアに見られるような人と人の関係性や、送金に関わるやりとりの関係性などは、リレーショナルデータよりグラフデータのほうが表現しやすい。Property GraphはSQLを用いてデータベースの中で簡単にグラフデータを扱える」とフー氏は説明する。

 他にも、データベース内のマイクロサービスのサポート機能がある。データベースでマイクロサービスを正しく扱うのは難しいが、この機能により複数のマイクロサービス間におけるメッセージのやりとりの信頼性を、アプリケーションではなくデータベース側で担保できる。またOracle Databaseに対するキャッシュの機能を簡素化する「True Cache」を使えば、Redisなどをキャッシュとして利用した際にアプリケーション側でデータを最新に保つ、あるいは整合性を担保するなどの手間を削減できる。

 Oracle Database 23cでは、SQLのシンプル化も行っている。正しいSQLの文法で記述すると冗長になる部分を、デフォルトの値で標準化し簡素化する。これはSQLの新しい規格ではない。「SQLの文法を厳しく捉えて全て書く必要はない。書かなくても明らかな部分を省略しても、SQLのエンジンが補完し、正しい答えを返す」とフー氏は説明する。

 これらの機能を使うことで、アプリケーション開発者はより多様なタイプのデータを容易に扱え、その上で複数データベースの管理などを意識する必要もなくなる。その上でOracle Databaseが従来備えてきた、高度な信頼性や安定性、拡張性などのメリットも合わせて享受できるというわけだ。

生成AIの企業活用で主流となるRAGにも対応するAI Vector Search

 2023年のOracle CloudWorldで、Oracle Database 23cに新たに追加すると発表したのが、ベクトル検索を可能にする「AI Vector Search」だ。「ユーザーは、Oracle DatabaseがAIに対応できることにも期待している」とフー氏。それに応えるのがベクトルデータベースとなる。

 AI Vector Searchを使えば、Oracle Databaseの中で非構造化データに対するセマンティック検索が可能となる。画像や動画、あるいはドキュメントなどの非構造化データを数値化しベクトルデータとして格納、それらに対応する類似性検索のインデックスを合わせることで、ベクトルデータ同士を高速に比較できるようになる。

 Oracle Databaseの中でベクトルデータベース機能を実現したことで、同じデータベース内にあるビジネスデータとベクトルデータを組み合わせた検索も可能ということになる。

 企業が抱える顧客やプロダクトなどの情報は、企業内のデータベースなどにあるはずだ。社内データに対するAI Vector Searchの結果を参考情報として付属し、大規模言語モデル(LLM)に質問することで、学習していない企業情報を加味し、質問に対する正しい答えを返せるようになる。LLMに対するプロンプトに基づき、社内データなどから検索して抽出したものをLLMに渡す手法がRAG(Retrieval Augmented Generation)だ。AI Vector SearchはRAGに対応し、セマンテック検索の結果にビジネスデータ検索の結果も合わせて渡せる。

 ベクトルデータベースがビジネスデータを格納するデータベースと別々の場合は、それぞれで検索し結果のデータを合わせてLLMに渡す必要がある、とフー氏は強調する。データベースが別々では、双方のデータを関連付けて検索するのは難しい。

 「専用のベクトルデータベースは、ベクトルデータの検索は得意でもビジネスデータの検索は得意ではないだろう。また、ベクトルデータベースでのセキュリティはどう担保するのかなど、新たな問題も出てくる。これらの課題に対するOracleの回答が、ベクトルデータも扱えるコンバージドデータベースだ」とフー氏は言う。

 ChatGPT登場から1年余り、LLMは着実に進化している。LLMが出す答えの精度などに人々の関心は行きがちだが、今後は企業独自の情報を加味し、ビジネスに必要な質問に正確に答えることが求められる。そのために企業独自のデータを学習し、用途に合った独自LLMを構築する。あるいは既存のLLMで追加学習を行い、用途に合うようチューニングする方法もある。しかしどちらの場合も学習には膨大なGPUリソースを必要とし、コストも莫大となる。多くの企業にとっては、追加での学習も難しいだろうとフー氏は言う。

 「そのため、正確な答えを出すのに必要なデータをRAGを介してLLMに渡す形が、企業の生成AI活用では主流となるだろう。この時に非構造化データはもちろんビジネスデータも合わせ、いかに効率的に検索し安全にLLMに渡せるかが鍵となる。23cであれば、SQLを使うことで生成AIのアプリケーションも簡単に開発できる」(フー氏)

 Oracleではベクトルデータもグラフデータも扱えるようなコンバージドデータベースであることが、生成AIのアプリケーションを開発する際にも役立つと考えているという。

 AI Vector Searchは、ChatGPTが登場し、生成AIが一気に注目を集めたから新機能として組み込むことになったのか。

 「ゼロからAI Vector Searchの機能を開発したわけではない。AI Vector Searchの肝はインデックス化の部分だ。Oracleはインデックスに何十年もの知見があり、その一部を活用して実現している。ChatGPT登場以前にはこの機能のビジネス価値が見えにくかったというだけだ」(フー氏)

 知見やノウハウはあったものの、さすがにここ1年の開発はかなりタフだった、そしてまだ忙しいとも言う。データがなければ、生成AIから価値を得ることはできない。そしていかに効率的な形で最適なデータをLLMに渡し、価値ある答えを引き出せるかが重要だ。そういう意味からも、改めてデータベースの機能、性能、役割を進化させていくという。

Copyright © ITmedia, Inc. All Rights Reserved.

スポンサーからのお知らせPR

注目のテーマ

Microsoft & Windows最前線2025
AI for エンジニアリング
ローコード/ノーコード セントラル by @IT - ITエンジニアがビジネスの中心で活躍する組織へ
Cloud Native Central by @IT - スケーラブルな能力を組織に
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。