MongoDB への接続

コンセプト情報

ACCESSDATA コマンド

MongoDB はクラウド データ サービスです。MongoDB データ コネクターを使用して、会社の MongoDB データをインポートできます。

メモ

Analytics は任意のコネクターとして MongoDB を提供します。データ アクセス ウィンドウでこのコネクターを使用できない場合、一般的に、インストール中にコネクターが選択されていないことが原因です。詳細については、任意の Analytics データ コネクター と Python エンジンをインスト-るするを参照してください。

作業を開始する前に

MongoDB に接続するには、以下を収集する必要があります。

  • MongoDB データベースをホストするサーバーのサーバー名または IP アドレス

  • 正しい接続ポート
  • MongoDB データベースの名前

接続の前提条件の収集については、組織の MongoDB 管理者に支援を仰いでください。管理者から支援を得られない場合は、あなたまたは管理者から MongoDB のサポートにお問い合わせください。

MongoDB 接続の作成

  1. Analytics のメイン メニューから、[インポート > データベースとアプリケーション]を選択します。
  2. ACL コネクター セクションの[新規の接続 ]タブから、MongoDBを選択します。

    ヒント

    使用可能なコネクターのリストをフィルタリングするには、[接続のフィルタリング]ボックスに検索文字列を入力します。コネクターはアルファベット順に表示されます。

  3. データ接続の設定]パネルが開いたら、接続設定を入力し、パネルの下部にある[保存して接続]をクリックします。

    デフォルトの接続名を使用するか、新しい接続名を入力します。

MongoDBの接続は、[既存の接続]タブに保存されます。今後、MongoDBに接続するには、保存したこの接続を使用できます。

接続が確立されると、データ アクセス ウィンドウが開いてステージング領域が表示されるので、データのインポートを開始できます。MongoDBからデータをインポートする方法については、データ アクセス ウィンドウの作業を参照してください。

接続設定

基本設定

設定 説明
サーバー MongoDB データベースをホストするサーバーのホスト名または IP アドレス  
ポート

MongoDB サーバーがクライアント接続をリスニングするために使用する TCP ポートの番号。

デフォルト値は 27017 です。

27017
データベース MongoDB データベースの名前。  
レプリカ セットへの接続

ドライバーが MongoDB 実装のレプリカセットにアクセスできるかどうかを指定します。

  • 無効 - ドライバーはレプリカセットにアクセスできません。

  • 有効 - ドライバーは MongoDB 実装のレプリカセットにアクセスできます。
無効
レプリカ セット名 ドライバーがアクセスするレプリカセットの名前。  
セカンダリ サーバー

レプリカセットに接続するときに使用するサーバーのカンマ区切りのリスト。

サーバーがクライアント接続をリスニングするために使用している TCP ポートを指定するには、コロン(:)とポート番号をサーバー名または IP アドレスの後ろに付けます。

 
認証機構

MongoDB が接続を認証するために使用する認証メカニズム。

  • 認証なし - ドライバーは接続を認証しません。

  • MongoDB ユーザー名とパスワード - SCRAM-SHA-1 プロトコルを使用して認証します。これは MongoDB で使用されるデフォルトの認証プロトコルです。

  • Kerberos - Kerberos プロトコルを使用して認証します。

  • LDAP - LDAP プロトコルを使用して認証します。
認証なし
サービス名 MongoDB サーバーの Kerberos サービス プリンシパル名。 mongodb
認証のタイプ

認証用の MongoDB データベースの名前。

認証データベースがデータを取得するためのデータベースとは異なる場合にのみ、この値が必須です。

admin
ユーザー名 MongoDB で認証するためのユーザー名。  
パスワード MongoDB で認証するためのパスワード。  

詳細設定

設定 説明
SSL の有効化 ドライバーがサーバーに接続するために SSL を使用するかどうかを指定します。 無効
自己署名証明書の許可 サーバーからの自己署名 SSL 証明書を許可するかどうかを指定します。 無効
PEM 鍵ファイル クライアントを検証するための証明書を含む .pem ファイルへの完全パス。  
PEM 鍵のパスワード [PEM 鍵ファイル]フィールドで指定されたクライアント証明書ファイルのパスワード。  
証明局のファイル サーバーを検証するために使用する .pem ファイルの完全パス。  
証明局のディレクトリ サーバーを検証するための .pem ファイルを含むディレクトリの完全パス。この設定により、ドライバーは SSL 検証で複数の .pem ファイルにアクセスできます。  
証明書失効リスト ファイル 取り消された証明書のリストを含む .pem ファイルの完全パス。  
ダブルバッファリングの有効化

ダブルバッファリングを使用してデータを取得するかどうかを指定します。

MongoDB ドライバーは、SELECT オペレーション中に、ダブルバッファリングを使用して、ドライバーのパフォーマンスを改善することができます。

有効
文字列を SQL_WVARCHAR として公開

文字列データ型が SQL_WVARCHAR または SQL_VARCHAR のどちらにマッピングされるかどうかを指定します。

有効
バイナリを SQL_LONGVARBINARY として公開 SQL_LONGVARBINARY または SQL_VARBINARY のどちらの型としてバイナリ列を返すかどうかを指定します。 有効
継承の有効化 ドライバーが仮想テーブル間の結合を最適化し、フィルタリングおよび集計最適化を処理のために MongoDB データベースに渡すかどうかを指定します。 有効
ブロックあたりにフェッチできるドキュメント数

一度にクエリが返すドキュメントの最大数。ダブルバッファリングが有効なときに使用されるバッファー サイズもこの設定で決まります。

デフォルト値は 4096 です。

4096
文字列型の列のサイズ

STRING 列に含まれる最大文字数。

デフォルト値は 255 です。

255
バイナリ型の列のサイズ

バイナリ型の列の最大データ長さ。

デフォルト値は 32767 です。

32767
メタデータ機構

ドライバーがスキーマ定義を検索する場所を指定します。

  • データベース - MongoDB データベースからスキーマ定義を読み込みます。
  • ローカル ファイル - [ローカル ファイル]フィールドで指定された JSON ファイルからスキーマ定義を読み込みます。
データベース
ローカル ファイル MongoDB に接続するときにドライバーで使用するスキーマ定義を含むローカル JSON ファイルの完全パス。  
サンプリング手法

一時スキーマ定義を生成するときにデータをサンプリングする方法を指定します。

  • 前方 - データベースの最初のレコードから順にデータをサンプリングします。
  • 後方 - データベースの最後のレコードから逆順にデータをサンプリングします。

前向き
サンプリングするドキュメント数 (全ドキュメントの場合は0)

一時スキーマ定義を生成するためにサンプリングできるレコードの最大数。

このオプションが 0 に設定されると、データベースのすべてのドキュメントがサンプリングされます。

デフォルト値は 100 です。

100
サンプリング ステップ数

データベースをスキャンして一時スキーマ定義を生成するときに、レコードをサンプリングする間隔。たとえば、このオプションを 2 に設定すると、データベースのレコードが 2 件ごとにサンプリングされます。

デフォルト値は 1 です。

1
書き戻しバッチ サイズ (1 から 1000)

書き込みオペレーション中に一度に処理できるドキュメントの最大数。

デフォルト値は 500 です。

500
書き込み確認

書き込みオペレーションの成功を報告するために書き込みオペレーションを確認する必要がある、プライマリおよびセカンダリ サーバーの合計数。

このオプションが 0 に設定されると、書き込みオペレーションを確認する必要がありません。

デフォルト値は 1 です。

1
書き込み確認のタイムアウト

オペレーションが失敗したことを報告する前に、セカンダリ サーバーが書き込みオペレーションを確認までにドライバーが待機する最大秒数。

このオプションが 0 に設定されると、ドライバーはタイムアウトしません。代わりに、ドライバーはすべてのセカンダリ サーバーが書き込みオペレーションを確認するまで待機し、その後にオペレーションが成功したことを報告します。

デフォルト値は 0 です。

0
書き込み確認ありでの記録対象書き込み数 書き込みオペレーションを確認する前に、書き込みオペレーションのデータをジャーナルにコミットする必要があるかどうかを指定します。 無効

データ コネクターの更新

Analytic、ロボット エージェント、または AX Server をアップグレードする場合は、いずれかの Analytics データ コネクターを使ってデータをインポートするスクリプト(ACCESSDATA コマンド)をテストする必要があります。

データ ソースまたは ODBC ドライバーのサード パーティ ベンダーが加えた変更により、1 つまたは複数のデータ コネクターを更新しなければならない可能性があります。スクリプトに作り込んだデータ接続を引き続き正常に動作させるには、それを更新する必要があります。

  • インポートの再実行 接続機能を最も簡単に更新する方法は、更新されたバージョンの Analytics のデータ アクセス ウィンドウを使って、インポートを手動で実行することです。ログに記録されている ACCESSDATA コマンドをコピーし、それを使ってスクリプトを更新します。

    メモ

    データ ソースに接続してインポートを再実行する前に、コネクターのキャッシュを消去することで、既存の一連のテーブル名を削除します。

    データ アクセス ウィンドウの[既存の接続]タブで、接続名の横にある[ >キャッシュの消去]を選択します。

  • フィールド指定の更新 データ ソースまたは ODBC ドライバーのテーブル スキーマの変更と一致するように、スクリプト本体内のフィールド指定を更新しなければならない場合もあります。必要に応じてフィールド名、フィールドのデータ型、およびフィールド長とレコード長を変更します。
  • フィルター処理の結果の確認 データ インポートの一環として適用したフィルター処理の結果も確認する必要があります。インポートのフィルター処理によってレコードを正しく追加または除外できたかどうかを確認します。

MongoDB データ コネクターの変更

MongoDB データ コネクターに加えられた具体的な変更内容を次に挙げます。

Analytics のバージョン 変更

14.2

このコネクターでは、MongoDB 3.0 および 3.2 への接続がサポートされなくなりました。

MongoDB 3.4、3.6、4.0 には接続することができます。