ホーム > ライブラリー > Teradata コラム > 賢い選択 (1)
データの取得、統合、変換、移動および同期化を全社レベルで行うことは、ネットワークの整備と少し似ています。毎日の仕事に不可欠なものとなっていますが、何らかのトラブルが発生するまでは余り注意を払いません。データウェアハウス環境におけるデータの取得および統合とは、トランザクション・システムとデータウェアハウス間でどのデータをどれだけ、いつ、どのように移動させるかということです。データウェアハウスの利用形態が高度化するに従って、そのライフサイクル期間全体を考慮して、データ取得・統合戦略を検討する必要がでてきます。
初期段階のデータウェアハウスは、主として戦略的意思決定支援に利用され、データをバックグラウンドで大量にロードするのが一般的な戦略です。もっと頻繁な更新が必要になると、更新箇所のみを対象としたミニバッチ処理方式で毎日時間を決めてロードする戦略を選択するようになります。
そして、データウェアハウスがよりビジネスに不可欠になってくると、可用性やデータ鮮度の要件がリアルタイムに近づきます。ビジネスに不可欠な意思決定を全社的に行えるようにするために、データの同期化、統合、アクセス性を含めた一層複雑な戦略が必要となります。本記事では、データの取得・統合に関する各種戦略と、Teradata
がいろいろなデータ統合方法にどのように対応しているかを解説します。
最新のテクノロジーやビジネス動向に加え、様々なデータ取得・統合方法があり、データ統合に関する決定は一層難しくなってきています。
データの種類および量の増加
Knightsbridge による「Top Ten Trends in Data Warehousing
2004(データウェアハウジングに関する 10大動向 2004)」という白書では、ランキング上位 10%に入る企業は
2006年までに 5TB から 15TB の生データを扱うようになるという調査結果を紹介しています。このようなデータ量の増加は、個々のデータソースに
ITリソースの追加を行わずに、ばらばらのデータソースを統合する複雑な作業を管理するための新しいツールが必要となることを意味しています。
リアルタイム更新へ移行
データウェアハウジングは、リアルタイム更新の実現が求められています。TDWI-Forrester が行った
2004年度四半期単位のテクノロジー調査では、「データウェアハウジング:更新頻度が加速」と題して、1日に何回もデータウェアハウスを更新する企業が過去
18ヶ月に
7%増加し、今後も増えると指摘しています。
外部 ETLツールのパフォーマンス向上
Gartner が 2003年度の調査レポート「ETLツール・マーケットは今後徐々に拡大」で指摘しているように、そのマーケットは拡大しています。企業が
ROI(Return
On Investment:投資収益率)を高めるために自社開発したデータの抽出、変換、およびロードを実行するプログラムから、市販の
ETLツールに乗り換えるケースが増えているからです。データをデータウェアハウスに格納する際に
ETLワークフローを利用すると、複雑なデータ変換を行ってからデータをロードすることができ、異種データソースにも対応できます。
1日24時間、常にデータ・アクセス可能
最近では、世界中のお客様やビジネス・パートナーをサポートする企業が増えています。インターネットや
Webベースのテクノロジーにより世界中どこからでも企業にアクセスできるようになったため、企業の基本インフラストラクチャは高可用性が求められています。さらに、ビジネスを成功させるためには、意思決定支援システムの高可用性も不可欠になっています。これらの結果、バッチ作業時間が事実上消滅し、データの可用性と優れた性能を保証する高可用性のデータウェアハウス・ソリューションが出現しています。
リアルタイム・エンタープライズ(Real-Time Enterprise:RTE)
現在、データウェアハウス・システムは変革期にあります。“インテリジェント” な決定を全社的にリアルタイムで行うには意思決定支援システムの明細履歴データを活用する必要があり、データウェアハウスに一層厳しいデータ精度およびアクセス要件を課すようになっています。データウェアハウスは、トランザクション・システムから緊密に同期化されたデータを格納し、適切なユーザーが適切なときにアクセスできるようにする必要があります。
どのようなデータ取得・統合ソリューションを選択するかは、次に挙げるいくつかの要素によって決まります。
Teradata のバッチロード・ユーティリティ(FastLoad
および MultiLoad)は、最小限の CPUオーバーヘッドで大量のデータを非常に短い時間で取得します。FastLoad
は、空の Teradataデータベースのテーブルへロードするのに利用し、MultiLoad
は既存のテーブルへのデータのロードや更新に利用します。この 2つのユーティリティは、ストアド・プロシージャ、ユーザー定義関数(UDF)、ユーザー作成プログラム(INMOD)、アクセス・モジュールを呼び出すことにより、現行のビジネスロジックを利用して入力データを選択、検証および事前処理できます。これらのバッチロード・ユーティリティは、データを並列にブロック単位でロードするので、大量のデータをロードするのに理想的なツールです。FastLoad
や MultiLoad はテーブルをロックするため、ロード中はテーブルが利用できません。このため、ロードジョブは作業時間内に完了するようにスケジュールする必要があります。したがって、継続的な更新または
1日24時間稼働するデータベースへのアクセスが必要な場合は利用されません。
バッチ作業時間の制限は、ミニバッチ処理方式を利用すればある程度緩和できます。また、チェックポイント・リスタート機能を備えているので、ロードジョブが中断された場合のデータ整合性を確保できます。
FastLoad や MultiLoadルーチンは簡単に開発できますが、INMOD やアクセス・モジュールは開発に時間がかかることがあります。しかし、アクセス・モジュールを導入すると、特定のデータソースにアクセスするすべてのアプリケーションに利用できます。FastLoad
と MultiLoad はリソース消費を抑え、柔軟性に優れており、様々なデータをロードすることが可能です。
Teradata TPump は、データを連続的にほぼリアルタイムでロード(ストリーミングとも言います)でき、その場合でもテーブルはアクセス可能な状態のままです。TPump
は、データの可用性が常に要求される状況で利用されるのが最も一般的ですが、変更量が比較的少ないテーブルの更新にも利用できます。
TPump は、更新する行に行ハッシュ・ロックを発行するため、ユーザーはロックされた行以外のデータにはアクセスできます。Teradata
のバッチロード・ユーティリティと同様、TPump
は Teradata のノード全体で並列に処理します。TPumpベースのソリューションは、Teradataデータベースにロードするデータを収集、クレンジングおよび変換するキューイング・メカニズム、ETLツール、メッセージ・ブローカーと一緒に利用できます。
Teradataデータベースは、Ab Initio、Ascential、Informatica
などのベンダーの ETLツールと連係動作が可能です。これらのベンダーが扱うツールは、Teradataデータベースへのアクセスをワークフローに組み込むことができます。Teradataデータベースに
SQLステートメントを発行したり、カスタムプログラムを実行したり、Teradata のロード・ユーティリティを直接呼び出すこともできます。
複雑な変換、異種データ・アクセス、または大量データの取得を実行する場合、 ETLソリューションを検討すべきです。ETLワークフローはすべてのアプリケーションで利用できますが、開発するにはかなりのリソースが必要な場合があります。ETL
に代わるのが、ELT(Extract、Load、Transform:抽出、ロード、変換)です。ELT
では、データを抽出し、Teradataデータベースにロードしてから Teradataウェアハウスの機能とパフォーマンスを活用してデータの変換を行います。
Copyright (C) Teradata Magazine - March 2005