Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Oracle Database In-Memory 21c New Feature

oracle4engineer
April 09, 2021
280

Oracle Database In-Memory 21c New Feature

Oracle Database 21cのDatabase In-Memory関連の新機能紹介資料です。

oracle4engineer

April 09, 2021
Tweet

More Decks by oracle4engineer

Transcript

  1. インメモリ・ベクター・ジョイン • インメモリ・ベクター・ジョインはインメモリ・ベクター・フ レームワークを複雑なジョインの高速化に活用する 新機能 • Group By集計を含むハッシュ・ジョインがより最適化 - インメモリ・スキャン中にジョイントと集計処理を実施

    (ベクター集計) - 性能向上のため、ジョイン・グループを有効活用 - 1つのSIMDベクター命令でSALESおよびITEM表の複数の行を一 度に参照(ベクター・ジョイン) • IMDS (インメモリ・ダイナミック・スキャン)を活用して 性能をさらに向上 • 最大15倍まで性能向上可能 Copyright © 2021, Oracle and/or its affiliates 3
  2. AIM: 自己管理型インメモリ • 新機能である自動インメモリ(AIM)オプション - inmemory_automatic_level = HIGH • AIMはインメモリ列ストアの自動管理を実現

    - 表にINMEMORY設定を事前にする必要な し • オブジェクトを自動的に管理 - ユーザーの指定なしにインテリジェントにデータ のポピュレーションと廃棄を実施 - アクセス頻度が少なくなったインメモリ列を自 動的に圧縮 インメモリ列ストア Hot Data Intermediate Data Cool Data Hot Data よく 利用 される表を ポピュレー ション 利用頻度の低い 列を自動削除 自動的に 利用頻度の 低くなった 列を圧縮 Copyright © 2021, Oracle and/or its affiliates 4
  3. インメモリ・ハイブリッド・スキャン • 大きくてアクセス頻度の低い列をインメ モリ列ストアから除外が可能 - 例 イメージやドキュメントなど • 以前の動作ではクエリーが除外された 列にアクセスする場合はインメモリアク

    セスは不可に • インメモリ・ハイブリッド・スキャンでは - インメモリ列ストアを使ったスキャンや フィルタ - 行ストアから除外された列の値を フェッチ - 10倍を超える性能向上 Copyright © 2021, Oracle and/or its affiliates ID 5 6 7 8 In-Memory Column Store SALES table Excludes Invoice Column Item Camera Laptop Phone LED TV Price $200 $2000 $500 $3000 ID Item Price Invoice 5 Camera $200 6 Laptop $2000 7 Phone $500 8 LED TV $3000 Row Store (Buffer Cache) SALES table 1. Priceの列ストアを使用し スキャンとフィルタ <JSON > 2. invoices を行スト アから フェッチ SELECT Invoice FROM Sales WHERE Price > 1000 5
  4. • 最大8KまでインラインでIM列ストアにポ ピュレーションできる最適化されたバイナリ 形式の新しいJSONデータ型列 • JSONコンテンツへのインメモリ・クエリーは JSON_TABLE, JSON_VALUE, JSON_EXISTS および

    JSON_TEXTCONTAINSをサポート - 例: movie.name に “Jurassic”を含む 映画を検索する • JSON列(例: JSON_VALUE)で追加 の式(事前処理結果)を作成して列スト アに保存することが可能 • 2倍から最大30倍の 性能向上 インメモリJSONデータ型 Relational In-Memory Virtual Columns In-Memory JSON Format In-Memory Colum Store { "Theater":"AMC 15", "Movie":”Sully", "Time“:2016-09-09T18:45:00", "Tickets":{ "Adults":2 } } Relational Virtual JSON Copyright © 2021, Oracle and/or its affiliates 6
  5. 7 • パーティションされた外部表もしくはハイブリッ ド外部表のポピュレーションを新たにサポート – トップレベル(表レベル)のINMEMORY句はすべて のパーティションに継承 – INMEMORY属性を個々のパーティションに設定 することも可能

    • 選択した外部もしくは内部のパーティションの みをポピュレーションする柔軟性 In-Memory Column Store インメモリ外部表サポートの機能拡張 Copyright © 2021, Oracle and/or its affiliates
  6. Copyright © 2019 Oracle and/or its affiliates.s インメモリ・フルテキスト列 • 各テキスト列に向けた新しいイン

    メモリのみ使える転置インデックス • 転置インデックスは単語をその単 語が含まれるドキュメントへマップ • インメモリ・テーブルスキャンで実行 されるため、リレーショナル+Text のコンバージド・クエリーが高速化 • 分析ワークロード用のディスク上 のTextインデックスを置き換え • テキスト・クエリーを3倍高速化 インメモリ列ストア Name John Ram Emily Sara Text Index Resume (Text) 「PHD」の Degreeを持ち、 Resumeに database」の記 載がある求職者 を探す Words .. .. .. .. databas e .. .. Degree PHD BS MS MS Copyright © 2021, Oracle and/or its affiliates 8
  7. System Global Area (SGA) Buffer Cache Shared Pool Log Buffer

    Large Pool In-Memory Area (Max 16GB) Other インメモリ・ベースレベル • 最大 16GB までインメモリ列ストアが Database In-Memoryオプションなしで利 用可能 (Enterprise Editionのみ) • ベースレベルの目的はお客様にDatabase In-Memoryオプションの価値をお試しいただ くため • Database In-Memoryオプションで提供さ れる機能すべてが、ベースレベルでは利用はで きない • INMEMORY_FORCEパラメータをセットする ことで利用可能 - 必ずBASE_LEVELに設定 9 Copyright © 2021, Oracle and/or its affiliates 9
  8. 追加の インメモリ列 インメモリ空間検索 • それぞれのSpatial列に対して、インメ モリ用Spatialサマリー列を追加 - Spatialサマリー – Spatialの詳細データ

    に関するコンパクトな近似 • Spatialサマリーはインメモリ型で保存 - SIMDベクター・スキャンを用いて値をフィル ター - 検索用Rツリー・インデックスの置き換え • 空間検索を最大10倍高速化 - データ分析用Rツリー・インデックスのメンテ ナンスを不要に Copyright © 2021, Oracle and/or its affiliates インメモリ列ストア Parcel Number 09504039 0 09504031 0 09504025 0 09504026 0 Spatial Summary Spatial Details Which parcel is the utility valve in? Parcel Address 300 Oracle Pkwy 400 Oracle Pkwy 500 Oracle Pkwy 600 Oracle Pkwy Search 140 Million US land parcels 10
  9. CellMemory • オンプレミスの Exadataのお客様に有効 • Database In-Memoryライセンスが必要 • インメモリ列ストアを有効にすることなく、 CellMemory機能を利用可能

    • 下記設定で: • INMEMORY_FORCE=CELLMEMORY_LEVEL • INMEMORY_SIZE=0 • すべてのDatabase In-Memoryデータ型が Exadata Flash Cache上で利用可能に Copyright © 2021, Oracle and/or its affiliates 11 In-Flash Columnar scans Up to 25.6 TB Flash per Server