Oracle、「Oracle Database 23ai」を発表 AIベクトル検索に対応、SQLでBoolean型を追加:JSONとリレーショナルを効率的に利用できる仕組みを導入
Oracleは、コンバージドデータベースの最新バージョン「Oracle Database 23ai」を発表した。AIベクトル検索が導入されたことに加え、SQLの改善も複数施されている。グラフデータベース機能やRaftプロトコルも実装された。
Oracleは2024年5月4日(米国時間)、コンバージドデータベースの最新バージョン「Oracle Database 23ai」(旧称:Oracle Database 23c)を発表した。Oracle Database 23aiでは、AI(人工知能)に焦点を当て、製品名を23cから23aiに変更したとしている。
Oracle Database 23aiは「Oracle Exadata Cloud@Customer」「OCI Exadata Database Service」「OCI Base Database Service」「Azure Oracle Database Service」で利用できる。自律型データベース「Oracle Autonomous Database」を無料で提供する「Always Free」版でも同バージョンを利用可能で、「Autonomous Database 23ai Container Image」および「Oracle Database 23ai Free」の提供も開始している。
Oracleは、「Oracle Database 23ai for Linux」(OL&RHEL 8/9)とWindowsのオンプレミスバージョンも今後数カ月以内に公開予定としている。
Oracle Database 23aiの主な特徴は以下の通り。
Oracle Database 23aiの主な特徴
新世代のAIモデルの強化
アプリケーション開発者が、AIや生成AI機能を簡単に組み込むことができるように、ベクトルを生成、格納できる新機能が導入された。
ドキュメント、画像、動画、音声といったオブジェクトをベクトルに変換することで、これらのオブジェクトの類似性を検索できるようになる。SQLを使用してAIベクトル検索とビジネスデータ検索を組み合わせることもできる。
同機能により、大規模言語モデル(LLM)に追加のコンテキストを提供してLLMの知識を拡張したり、顧客や組織に関する質問の回答精度を向上させたりできるという。
データのセキュアなエンコード
Oracle Database 23aiでは、AIモデルのオープンフォーマットである「ONNX(Open Neural Network Exchange)」をサポートし、開発者が信頼しているAIモデルをデータベースに直接ロードできるようになった。自社データを外部に送信するリスクを避けながら、Oracle Database 23aiに追加されるオブジェクトを安全かつ効率的にベクトルとして変換できるようになる。
自然言語での質問応答
「Cohere」や「Llama」などのLLMと連携させることで、自然言語を使ってデータベースに質問できるようになった。例えば、「若い世代に人気のある商品の過去四半期の売上高を教えてください」のような質問をすると、Oracle Database 23aiは、回答に必要な表のメタデータをLLMと共有する。LLMは「若い世代」の意味を理解し、SQLのフィルターとして変換し、データベースの範囲を絞り込めるという。
JSONとリレーショナルの二面性(JSON Relational Duality)の導入
JSONとリレーショナルのデータモデルを同時に利用できる「JSON Relational Duality」が導入された。アプリケーション開発者は、JSONのシンプルで直感的なデータモデリングとリレーショナルデータベースの柔軟性と効率性の両方を活用できる。
リレーショナルテーブルの上にJSON二面性ビューを作成することで、JSONドキュメントを使用してデータセットへの問い合わせ、更新をするアプリケーションを構築できる。複雑なORM(Object Relational Mapping)が不要になり、開発速度が向上し、より迅速に高品質のアプリケーションを提供できるようになるという。
SQLの改善、機能強化
SQLにおいて以下のような複数の改善、機能強化が実施された。
- 2つの新しいデータ型「Boolean」と「Vector」の追加
- テーブル定義で使用されるデータ型の用途が分かる「データ使用状況ドメイン」の追加
- 「from dual」なしで時間隔(INTERVAL)型データの集計ができるように改善
- テーブル値コンストラクタを導入し、SELECT文やマージ文における複数行の指定方法を簡素化
プロパティグラフの導入
グラフデータベースのように複雑な関係をモデル化できる「プロパティグラフ」が導入された。これにより、データ間の複雑な関係を視覚的かつ直感的に表現できるようになった。新たなSQL拡張を利用することで、複雑な問い合わせも実行できるという。
Raftのサポート
分散データベース技術の一つとして知られる合意プロトコルの「Raft」がサポートされた。Raftを使用すると、Raftレプリケーションは全てのシャードにレプリケーションユニットと呼ばれるコピーを保持する。シャードの障害または再構成が発生すると自動でデータをリバランスする。Raftにより、1秒未満のフェイルオーバーが可能になり、ビジネスの継続性が確保されるという。
データキャッシュのシンプル化
アプリケーションレイヤーでデータキャッシュを活用すると、アプリケーションの応答性を高めたり、データベースの負荷を軽減させたりできる。一方、データベースとキャッシュデータの整合性といったリスクに対応する必要もある。
Oracle Database 23aiでは、「True Cache」と呼ばれる新機能が導入された。True Cacheはプライマリーデータベースで実行されるディスクレスのOracle Instanceであり、データキャッシュの役割を果たすという。
この仕組みにより、アプリケーションレイヤーのキャッシュとバックエンドのデータベースのデータが常に一致するように自動で管理される。開発者はキャッシュ管理コードを書く必要がなくなり、シンプルかつ最低限のコード変更だけでキャッシュのメリットを享受できるようになるという。
「SQL Firewall」の導入
SQLインジェクション攻撃による権限のないSQLの実行、権限のないスタッフによるSQLの実行を防ぐ「SQL Firewall」が導入された。データベース管理者は、許可リストを作成して、どのSQLクエリが実行可能か事前に設定できる。許可されていないクエリが検出された場合には、ログに記録可能だという。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- Oracle Database 23cは「開発者に寄り添う」? 開発総責任者に聞いた
「Oracle Database 23c」が正式にリリースされた。この最新版Oracle Databaseは、アプリケーション開発をシンプルにすることがテーマなのだという。どういうことなのかを、開発総責任者に聞いた。 - Oracle、社内用AIコーディングコンパニオン「Oracle Code Assist」を社外にも提供する計画を発表
Oracleは、社内で使用しているAIコーディングコンパニオン「Oracle Code Assist」を社外にも提供する計画を発表した。 - ベクトルデータベース(Vector Database)/ベクトルストア(Vector Store)とは?
ベクトルデータベースとは、テキストなどのデータを数値ベクトル(埋め込み)として保存するデータベースを指す。「ベクトルストア」とも呼ばれる。ベクトル検索により、意味的に類似する情報を探せるのが特徴で、チャットAIのRAG構築に役立つ。本稿ではベクトル検索の機能を持つ代表的な製品の概要もそれぞれ簡単に紹介する。