ODBC データソース

Data Workbench サーバー(InsightServer64.exe)は、ドライバーが ODBC 3.0 に準拠していれば SQL データベース(Oracle、Microsoft SQL Server など)からイベントデータを読み取ることもできます。

Data Workbench サーバーの ODBC 対応は、Sensor から、または外部処理で生成されたログファイルからデータを読み込むための既存の機能と大きな違いはありません。ただし、特別に考慮する必要のある事柄と制限が存在します。

  • Data Workbench サーバーの ODBC 対応機能はクラスタリング機能に適合しています。データをすべての処理サーバーに分散すると、以後すべての処理(クエリー処理を含む)で、クラスタリングの利点を最大限に活用できます。

  • ODBC 対応は、サードパーティの ODBC ドライバーに依存します。ODBC 対応機能が正しく動作するためには、それらのドライバーが、Data Workbench サーバーを実行するコンピューターに対し、アドビプラットフォーム以外のツールを使って設定されている必要があります。Data Workbench コンピューターについては特別な設定は不要です。

  • データの読み込み元となるテーブルまたはビューには、インクリメントする ID 列が必要です。データベースに新しい行が挿入されたときに、どの行においても、この列(テーブル内の実際の列または SQL の列式)の値が減少することは許されません。この制約に違反した場合、データが失われます。適切なパフォーマンスを確保するためには、この列または列式にインデックスが必要です。

    メモ

    Increasing ID列には、複数の行に同じ値を指定できます。 例えば、タイムスタンプ列の有効桁数が不十分だとそのようなことが起こります。

  • Data Workbench サーバーは、長大なデータ(実際に使用するデータベースアプリケーションで決められた長さを超えるデータ)が格納された列を読み込むことができません。

  • データベースからのデータ取得は、ディスクファイルからの読み取りに比べて低速です。ODBC ソースからデータを読み込むデータセットは、Sensor や他のディスクファイルのデータから構築される同じサイズのデータセットと比べて、処理(特に再処理時)に時間がかかります。

データの再処理について詳しくは、 再処理と再変換.

InsightサーバーをODBC用に設定するにはevent data

SQL データベースからデータを読み込むように Data Workbench サーバーを設定するにはまず、次の作業を順に実行する必要があります。

  1. データセットを処理する Data Workbench サーバーコンピューターに適切なデータベースクライアントソフトウェア(ODBC ドライバーを含む)をインストールします。

    メモ

    Data Workbenchサーバークラスターで処理するODBCイベントデータを読み込む場合は、クラスター内のすべての処理サーバーにデータベースクライアントソフトウェアをインストールする必要があります。 クラスター内の処理サーバーを指定する方法について詳しくは、『サーバー製品のインストールと管理に関するガイド』を参照してください。

  2. Windows の ODBC データソースアドミニストレーターを使用してデータソースを設定します。

    Data Workbench サーバー(InsightServer64.exe)は、Windows サービスとして実行されることに注意してください。したがって、Data Workbench サーバーがデータソースを使用するためには、通常そのデータセットが、「ユーザー DSN」ではなく「システム DSN」として設定されている必要があります。この設定作業について詳しくは、データベースソフトウェアのドキュメントを参照してください。

適切なData Workbenchサーバーマシンにデータベースクライアントソフトウェアをインストールした後、目的のプロファイルのLog Processing設定ファイル内の適切なパラメーターを編集して、ODBCデータソースを使用するようにデータセットを設定できます。

パラメーター

ODBC(Open Database Connectivity)標準に準拠したデータベースからのデータには、以下のパラメーターがあります。

パラメーター 説明
名前 ODBC ソースを識別する情報。
Data Source Name データの読み込み元のデータベースを指定する DSN。DSN は、データセットの処理が実行される Data Workbench サーバーコンピューターの管理者に支給を依頼してください。
Database Password データベースへの接続に使用するパスワード。データソースアドミニストレーターで DSN のパスワードが設定済みである場合は空欄でも構いません。ここに指定したパスワードは、データソースアドミニストレーターで設定されている DSN のパスワードよりも優先されます。
Database User ID データベースへの接続に使用するユーザー ID。データソースアドミニストレーターで DSN のユーザー ID が設定済みである場合は空欄でも構いません。ここに指定したユーザー ID は、データソースアドミニストレーターで設定されている DSN のユーザー ID よりも優先されます。
Fields データベース内のデータ列から Data Workbench サーバーの実行エンジンにおけるデータフィールドへのマッピングを指定する列オブジェクトのベクトル。列ごとに、Column NameField Name を指定します。Column Name は、SQL の列式です。上記の Table Identifier で識別されるテーブルのコンテキストで有効な列式であることが必要です。列名のほか、SQL 式(テーブル内の列をいくつでも使用可)を指定できます。有効桁数を損なわずに特定のデータ型の値を文字列に変換するために書式設定関数が必要となる場合があります。すべてのデータは、データベースのデフォルトの書式設定メソッドを使って暗黙的に文字列に変換されます。明示的な書式設定式を使用しないと、一部の列のデータ型(date/time データ型など)でデータの損失が生じる可能性があります。
Increasing ID Column

新しい行が追加されたときにインクリメントする(少なくとも減少しない)という基準を満たした列名または SQL 列式。つまり、B という行が A という行よりも後にテーブルに追加された場合、B 行におけるこの列(または列式)の値は、A 行における対応する値よりも(データベースのネイティブのソート順において)大きくなければなりません。

  • Increasing ID Column には既存の列と同じ名前を使用できますが、必ずしも同じ名前である必要はありません。
  • この式の型は、SQL の文字データ型であると見なされます。インクリメントする実際の ID 列がそれ以外のデータ型である場合は、列式を指定して文字列に変換する必要があります。通常、比較は辞書式順序(文字単位)で行われるので、値の書式は注意深く設定することが大切です。
  • この式は SQL ORDER BY 句で使用され、SQL WHERE 句の中で比較されます。実際に使用する列式にインデックスを構築することがきわめて重要となります。

Log Source ID

このパラメーターには、任意の文字列を値として指定できます。このパラメーターの値が指定されていると、異なるログソースからのログエントリを区別して、ログの生成元を特定したり、処理の対象を絞り込んだりすることができます。x-log-source-id フィールドには、ログソースを識別する値がログエントリごとに格納されます。例えば、ODBCSource01 という ODBC ソースからのログエントリを識別したい場合、「from ODBCSource01」と入力すれば、このソースから収集されるすべてのログエントリの x-log-source-id フィールドにその文字列が渡されます。

x-log-source-id フィールドについて詳しくは、 イベントデータレコードフィールド.

Run On Server データベースに ODBC クエリーを実行してデータを取得する処理サーバーの profile.cfg ファイル内のインデックス値(データセットのすべての処理サーバーは、profile.cfg ファイルの Processing Servers パラメーターにリストされ、0 から始まるインデックス値がその各サーバーに割り当てられます)。デフォルト値は 0 です。
Table Identifier 読み込むデータが格納されているテーブルまたはビューを指定する SQL 式。標準的なテーブル ID の形式は SCHEMA.TABLE です。

ここに示したのは、Data Workbench の Log Processing 設定ウィンドウで ODBC データソースを指定する例です。このデータソースは、Data Source Name "VSTestO"を持つデータベース内のVISUAL.VSLというテーブルからデータを取得します。 5 つの列オブジェクト(Fields)によって、データベースのデータ列から Data Workbench サーバーにデータをマッピングしています。

このページ