データベース分析の概要

Oracle Databaseでは、ネイティブ分析機能がサポートされています。これらの機能はすべて共通サーバー上にあるため、効率的に結合できます。分析結果は、Oracle Business Intelligence Suite Enterprise Editionや他のBIツールと統合できます。

様々な分析は、ほとんど制限なく組み合せることができます。例6-28に、単一のSQL問合せにおけるOracle Machine Learning for SQLおよびテキストの処理を示します。この問合せでは、自然減する傾向が強く(確率が80%を超える)、有望な顧客であり(顧客価値率が90%を超える)、かつChecking Plusアカウントに関して最近カスタマ・サービスに問合せのあった顧客がすべて選択されます。自然減の傾向に関する情報は、tree_modelというOML4SQLモデルを使用して計算されます。Checking Plusアカウントに関するコール・センターのノートを検索するために、Oracle TextのCONTAINS演算子が使用されています。

次の表に、Oracle Databaseで実行できる組込み分析の一部を示します。

表6-259 Oracle Databaseのネイティブ分析

分析機能 説明 参照先ドキュメント

複合データの変換

データ変換は、分析用アプリケーションやETL (抽出、変換およびロード)の重要な側面である。データ変換の実装には、SQL式またはDBMS_DATA_MINING_TRANSFORMパッケージを使用できる。

DBMS_DATA_MINING_TRANSFORMは柔軟性のあるデータ変換用パッケージで、ビニングや正規化の機能に加え、様々な欠損値や外れ値の処理が含まれる。

Oracle Database PL/SQLパッケージ・プロシージャおよびタイプ・リファレンス

統計関数

Oracle Databaseでは多数のSQL統計関数が提供され、仮説検定(t検定、F検定など)、相関関数(ピアソン相関など)、クロスタブ統計および記述統計(中央値、最頻値など)がサポートされる。DBMS_STAT_FUNCSパッケージにより、分布適用プロシージャや、ある列に対する記述統計を戻すサマリー・プロシージャが追加されている。

『Oracle Database SQL言語リファレンス』および『Oracle Database PL/SQLパッケージおよびタイプ・リファレンス』

ウィンドウ関数と分析SQL関数

Oracle Databaseでは、累積集計、移動集計および集中集計を計算するためのウィンドウ関数および分析関数がサポートされる。集計ウィンドウ関数群では、SUMAVERAGECOUNTMAXMINを始めとする多数の関数の移動および累積バージョンの計算が可能です。

Oracle Databaseデータウェアハウス・ガイド

線形代数

UTL_NLAパッケージでは、VARRAYで表されるベクターや行列に対する操作用に、一般的なBLASおよびLAPACKライブラリ(バージョン3.0)のサブセットが公開される。このパッケージには、一次方程式のシステムを解決するプロシージャ、行列を反転するプロシージャ、および固有値と固有ベクターを計算するプロシージャが含まれる。

Oracle Database PL/SQLパッケージ・プロシージャおよびタイプ・リファレンス

分析ビュー

分析ビューは、ディメンション・モデルを使用してデータを編成します。これらを使用すると、集計および計算をデータ・セットに簡単に追加でき、比較的単純なSQLで問い合せることができるデータをビューに表示できます。

Oracle Databaseデータウェアハウス・ガイド

空間分析

Oracle Spatialでは、ハイエンドGISおよびLBSソリューションをサポートする高度な空間機能が提供される。Oracle Spatialの分析機能および機械学習機能には、ビニング、地域パターンの検出、空間相関、関連機械学習および空間クラスタリングなどがある。

また、Oracle Spatialでは、トポロジおよびネットワーク・データのモデルと分析もサポートされる。Oracle Spatialのトポロジ・データ・モデルを使用すると、トポロジ内のノード、エッジおよびフェイスに関するデータと連携できる。最短経路、最小コストの全域木、隣接分析、巡回セールスマン問題の計算など様々なネットワーク分析機能が含まれる。

Oracle Spatial開発者ガイド

グラフ

プロパティ・グラフは、Oracle Databaseの高度なグラフ問合せ機能および分析機能を提供します。インメモリー・グラフ・サーバー(PGX)は、グラフ化された機械学習アルゴリズムをサポートする機械学習ライブラリを提供します。機械学習ライブラリは、DeepWalk、教師ありGraphWiseおよびPg2vecアルゴリズムをサポートしています。

Oracle Database Property Graphグラフ開発者ガイド

テキスト分析

Oracle Textでは、Oracleデータベース、ファイルおよびWeb上に格納されているテキストおよびドキュメントの索引付け、検索および分析のために標準SQLが使用される。Oracle Textによって、一群のドキュメントの自動分類およびクラスタリングもサポートされる。こうしたOracle Textの分析機能の多くは、Oracle Machine Learningの機能の最上位に用意されている。

Oracle Textアプリケーション開発者ガイド

例6-28 Oracle Machine Learning for SQLとOracle Textを組み合せたSQL問合せ

SELECT A.cust_name, A.contact_info
  FROM customers A
 WHERE PREDICTION_PROBABILITY(tree_model,
            'attrite' USING A.*) > 0.8
   AND A.cust_value > 90
   AND A.cust_id IN
       (SELECT B.cust_id
          FROM call_center B
         WHERE B.call_date BETWEEN '01-Jan-2005'
                               AND '30-Jun-2005'   
         AND CONTAINS(B.notes, 'Checking Plus', 1) > 0);