※ 本記事は、Andy Rivenesによる”New Database In-Memory Features in Oracle Database 23ai“を翻訳したものです。

2024年6月18日


Oracle Database 23aiが登場し、Database In-Memoryには多くの新機能があります。

Oracle Database 23aiの詳細は、このリンクを参照してください。

Database In-Memoryの多くの新機能についてすでにブログしています。また、Ask TOM Office Hoursセッションもあります。このセッションでは、23ai Free – Developer Releaseで機能する新機能の数を実証しています。最新バージョンのOracle Database 23ai Freeにはいくつかの変更があるため、新機能とその動作を確認します。また、以前のDeveloper Releaseの機能を調べた場合は、もう1つ検討する必要があります。それらを試してみていないなら、この要約があなたに見てほしい動機になることを願っています。

次に、Oracle Database 23aiでのDatabase In-Memoryの新機能または更新機能を示します:

インメモリー機能の自動有効化

この機能は、自動インメモリー(AIM)の機能拡張であり、23ai AIMでは、拡張ワークロード分析アルゴリズムに基づいて、結合グループを自動的に作成し、インメモリー最適化算術、ベクトル最適化およびBloomフィルタの最適化を有効にできます。この新しい分析では、インメモリー移入されたオブジェクトのDMLオーバーヘッドを考慮することで、AIMによる混合ワークロード環境のワークロードの測定方法も改善されます。

自動インメモリー・サイズ設定

これは本当にエキサイティングな新機能です。自動インメモリー・サイズ設定では、IM列ストアを自動共有メモリー管理(ASMM)の一部として管理できるようになりました。つまり、ASMMは、データベース全体のワークロード要件に基づいてIM列ストアを拡張または縮小できます。

マルチレベルの結合と集計

この機能は、Oracle Database 21cで追加されたインメモリー・ベクトル化結合機能の追加機能です。23c Developer Releaseのマルチレベル結合および集計の新しい追加について、ブログ記事を書きました。インメモリー・ベクトル化結合の背景をご覧になりたい方は、Oracle Database 21cのブログ記事をご覧ください。

選択的インメモリー列

これは、すべての列をALLキーワードで除外または含めることができる機能を備えており、表またはマテリアライズド・ビューの列のサブセットのみを移入する場合、列の長いリストを保持する必要がなくなります。

インメモリーのOptimized Dates

インメモリー式(IME)フレームワークを利用して、IM列ストアで日付比較をさらに高速化するための別の最適化。有効にすると、MONTHとYEARが抽出され、IMEに配置され、日付のそれらの部分に対する比較は非常に高速になります。次に、インメモリーのOptimized Datesを利用できるSQL問合せの例を示します:

SELECT d.d_year, p.p_brand1,SUM(lo_revenue) rev
FROM   lineorder l, date_dim d, part p, supplier s
WHERE  l.lo_orderdate = d.d_datekey AND l.lo_partkey = p.p_partkey
AND    l.lo_suppkey = s.s_suppkey AND p.p_category = 'MFGR#12';
AND    s.s_region   = 'AMERICA';
AND    EXTRACT(year from d.d_datekey) = 1997
GROUP  BY d.d_year, p.p_brand1;

新しいデータベース・ネイティブ・インメモリー・アドバイザ

Oracle Database 23aiでは、データベース・ネイティブの新しいインメモリー・アドバイザが使用可能になりました。以前に、インメモリー適格性テストを19cに発表し、バックポートしました。インメモリー・アドバイザもデータベースに移動しました。新しいアドバイザの大きな利点は、インメモリー・アドバイザを実行するために追加のコードをデータベースにインストールする必要がないことです。新しいインメモリー・アドバイザは、追加のライセンスを必要としなくなったヒート・マップ・データを使用して、2つのスナップショット間の分析ワークロードを分析し、レポートを実行して結果を表示できます。

ハイブリッドExadataスキャン

ハイブリッドExadataスキャンでは、IM列ストア・スキャンとExadataスマート・スキャンの両方を、部分的に移入されたインメモリー表に対して実行できます。この機能より前は、表がExadataで一部しか移入されていなかった場合、IM列ストアのデータにアクセスされていない可能性があります。この機能は、AIMを使用し、IM列ストアがメモリー不足である場合に大きなメリットとなる可能性があることを修正します。

インメモリー列JSON

この機能により、CELLMEMORYのインメモリーJSON最適化のサポートが可能になります。Exadataスマート・スキャンでは、JSON列を自動的に検出し、パス/値索引をExadataスマート・フラッシュ・キャッシュのインメモリー列リライト(CELLMEMORY)の一部として構築できます。

ご覧のとおり、Oracle Database 23aiではDatabase In-Memoryに多くの変更が加えられており、これはOracle Database 21cで行われたすべての追加に加えられています。19cからアップグレードするお客様には、多くのことを検討する必要があります。