インデータベース処理(インデータベース分析とも呼ばれる)とは、データ分析をデータウェアハウス機能に統合することを指します。今日では、クレジットカード詐欺 検出や投資銀行の リスク管理などに使用される多くの大規模データベースでこの技術が採用されています。これは、従来の手法に比べてパフォーマンスが大幅に向上するためです。[1]
歴史
従来のデータ分析手法では、データをデータベースから別の分析環境に移し、そこで処理を行い、その後データベースに戻す必要がありました(IBMのSPSSは、現在でもこの処理を行っているツールの例です)。データが存在するデータベース内で分析を行うことで、データウェアハウス自体で処理が行われるため、従来の手法に伴うコスト、時間、セキュリティの問題が解消されます。[2]
インデータベース機能は、1990年代半ばにIBM、Illustra / Informix(現IBM)、Oracleなどのベンダーからオブジェクト関連データベースシステムとして初めて商用提供されましたが、この技術が普及し始めたのは2000年代半ばになってからでした。[3]分析ワークステーションからエンタープライズデータウェアハウスに分析を移行するという概念は、2005年9月18日から22日にフロリダ州オーランドで開催されたTeradata Partners 2005「可能性を体験」カンファレンスにおいて、トーマス・タイルストン氏が「ケーキも食べられて、食べられる!SASとTeradataを組み合わせたデータマイニングの加速」と題したプレゼンテーションで初めて紹介されました。タイルストン氏はその後、この技術を2006年、 [4] 、 2007年、[5] 、[6] 、[7]、2008年に世界規模で発表しました。 [8]
当時、収集・分析可能なデータ量がメガバイトからギガバイト、テラバイト、ペタバイトへと指数関数的に増加し続け(主にインターネットの台頭による)、データベース内処理の必要性はますます高まっていました。この「ビッグデータ」こそが、データを効率的かつ正確に収集、処理、分析することがますます重要になっている主な理由の一つです。
また、ビジネスのスピードは加速しており、ナノ秒単位のパフォーマンス向上が一部の業界では大きな違いを生む可能性があります。[2]さらに、より多くの人々や業界が重要な質問に答えるためにデータを使用するようになるにつれて、彼らが尋ねる質問はより複雑になり、より洗練されたツールとより正確な結果が求められます。
これらすべての要因が組み合わさり、データベース内処理の必要性が生まれました。分析、データウェアハウス、レポート作成向けに特別に設計された列指向データベースの導入が、この技術の実現に貢献しました。
種類
データベース内処理には、モデルを SQL コードに変換する処理、C または C++ ライブラリを組み込みユーザー定義関数 (UDF) としてデータベース プロセス スペースにロードする処理、およびアウトオブプロセス ライブラリ (通常は C、C++、または Java で記述され、SQL ステートメントの組み込み UDF としてデータベースに登録する処理) の 3 つの主なタイプがあります。
モデルをSQLコードに変換する
このタイプのデータベース内処理では、予測モデルはソース言語から、通常はストアドプロシージャ内でデータベース内で実行可能なSQLに変換されます。多くの分析モデル構築ツールは、モデルをSQLまたはPMML (予測モデリングマークアップ言語)でエクスポートする機能を備えています。SQLをストアドプロシージャにロードすると、パラメータを介して値を渡すことができ、モデルはデータベース内でネイティブに実行されます。このアプローチを使用できるツールには、SAS、SPSS、R、KXENなどがあります。
C または C++ ライブラリをデータベース プロセス空間にロードする
インプロセスで実行されるCまたはC++ UDFライブラリでは、関数は通常、データベースサーバー内に組み込み関数として登録され、SQL文内の他の組み込み関数と同様に呼び出されます。インプロセスで実行されることで、関数はデータベースサーバーのメモリ、並列処理、および処理管理機能に完全にアクセスできるようになります。そのため、関数はデータベースやエンジンに悪影響を与えないよう、適切に動作する必要があります。このタイプのUDFは、OLAP、数学、統計、単変量分布、およびデータマイニングアルゴリズムにおいて、あらゆる手法の中で最も高いパフォーマンスを発揮します。
アウトオブプロセス
アウトプロセスUDFは通常、C、C++、またはJavaで記述されます。アウトプロセスで実行されるため、独自のプロセス空間で独自のリソースを使用して実行されるため、データベースやエンジンに同様のリスクを負うことはありません。ただし、インプロセスUDFと同じパフォーマンスは期待できません。アウトプロセスUDFは通常、データベースエンジンに登録され、標準SQL(通常はストアドプロシージャ)を介して呼び出されます。アウトプロセスUDFは、データベースサーバーの機能を安全に拡張する方法であり、カスタムデータマイニングライブラリを追加する理想的な方法です。
用途
データベース内処理により、不正検出、信用スコアリング、リスク管理、取引処理、価格設定とマージン分析、使用状況に基づくマイクロセグメンテーション、行動ターゲティング広告、顧客サービス組織が次善の行動を決定するために使用する推奨エンジンなど、高スループットのリアルタイムアプリケーションでデータ分析がよりアクセスしやすく、関連性が高まります。[9]
ベンダー
インデータベース処理は、Teradata(および買収したAster Data Systems )、IBM( Netezza、PureData Systems、Db2 Warehouse製品)、IEMC Greenplum、Sybase、ParAccel、SAS、EXASOLなど、多くの大手データウェアハウスベンダーによって機能として実行および推進されています。これらのベンダーが提供するCWIのMonetDBやIBMのDb2 Warehouseなど一部の製品では、ユーザーが独自の関数(UDF)や拡張機能(UDX)を記述して製品の機能を強化できます。[10] Fuzzy Logixは、数学、統計、データマイニング、シミュレーション、分類モデリングに使用されるインデータベースモデルのライブラリに加え、株式、債券、金利、ポートフォリオ最適化用の金融モデルも提供しています。 In-DataBase Pioneers は、マーケティング チームや IT チームと連携して、データ ウェアハウス内でデータ マイニングと分析のプロセスを制度化し、高速で信頼性が高く、カスタマイズ可能な消費者行動と予測分析を実現します。
関連技術
インデータベース処理は、データウェアハウスのパフォーマンス向上に焦点を当てた複数の技術の一つです。他には、並列コンピューティング、シェアード・エブリシング・アーキテクチャ、シェアード・ナッシング・アーキテクチャ、超並列処理などがあります。これは、予測分析能力の向上に向けた重要なステップです。[11]
外部リンク
- EXASOL EXAPowerlytics
参考文献
- ^ What Is In-Database Processing?、Wise Geek 、 2012年5月14日閲覧
- ^ ab Das, Joydeep (2010年5月10日)、データベース内分析による競争力強化、データベーストレンド&アプリケーション
- ^ Grimes, Seth (2008年12月15日)、In-Database Analytics: A Passing Lane for Complex Analysis、Intelligent Enterprise
- ^ 「ビジネスインテリジェンス – 予測から鋭い洞察を得る | IT World Canada News」2006年10月31日。2014年8月21日時点のオリジナルよりアーカイブ。
- ^ http://www2.sas.com/proceedings/forum2007/371-2007.pdf [裸の URL PDF ]
- ^ “SAS Global Forum 2007 – SAS-Wiki”. 2014年8月21日時点のオリジナルよりアーカイブ。2014年8月21日閲覧。
- ^ “アーカイブコピー”. 2014年8月22日時点のオリジナルよりアーカイブ。2014年8月21日閲覧。
{{cite web}}: CS1 maint: アーカイブされたコピーをタイトルとして (リンク) - ^ http://www.teradata.kr/teradatauniverse/PDF/Track_2/2_2_Warner_Home_Thomas_Tileston.pdf [ベア URL PDF ]
- ^ Kobelius, James (2011年6月22日)、「予測の力:CRMの次の最善の行動に関するケーススタディ」、Forrester、2012年4月13日時点のオリジナルからアーカイブ、 2012年5月15日取得
- ^ “Embedded R in MonetDB”. 2014年12月22日. 2014年11月13日時点のオリジナルよりアーカイブ。 2014年12月22日閲覧。
- ^ https://timmanns.blogspot.com/2009/01/isnt-in-database-processing-old-news.html 「データベース内処理はもう時代遅れではないのか?」「Tim Manns のブログ(データマイニングブログ)」、2009 年 1 月 8 日