Looker は、次の 2 つのオプションを使用して BI 用の MongoDB コネクタを使用して MongoDB にアクセスできます。
- MongoDB Atlas で BI 用の MongoDB コネクタを使用する。
- MongoDB データベースと同じサーバーにインストールされた、BI 用の MongoDB コネクタを使用する。
MongoDB Atlas
MongoDB Atlas では、M10 以上のクラスタを使用する必要があります。Looker で、MongoDB Atlas で実行する MongoDB データベースを使用するには、BI 用のMongoDB コネクタ(MongoBI)を使用する必要があります。Atlas 向けの BI コネクタを有効にするには、MongoDB Atlas で M10 以上のクラスタを使用する必要があります。
また、目的のデータベースに対する読み取り権限を持つユーザー アカウントを作成する必要があります。
BI 用のMongoDB コネクタの構成
Looker で接続を作成する前に、MongoDB または Atlas 管理者は、このページで説明している以下の手順に沿って BI 用のMongoDB コネクタを設定する必要があります。
Looker サーバーの Atlas IP アクセスリストへの追加
Atlas は、プロジェクトの IP アクセスリストにあるエントリからのクライアント接続のみを許可します。Looker の IP アドレスを Atlas プロジェクトの IP アクセスリストに追加します。
- Looker の IP アドレスを取得します。
- Atlas IP アクセスリストの設定手順に沿って、Looker の IP アドレスを Atlas の IP アクセスリストに追加します。
BI 用の MongoDB コネクタの有効化
BI 用の MongoDB コネクタを有効にします。
- M10 以上のクラスタを使用していることを確認します。
- Atlas で、クラスタの Connect ページを開きます。ホスト名、ポート、ユーザーをメモします。この情報は、Looker で接続を構成する際に必要になります。
同じサーバー上の MongoDB
Looker で接続を作成する前に、MongoDB 管理者はこのページに記載されている次の手順の沿って、MongoDB と BI 用の Mongo コネクタを設定する必要があります。
BI 用の Mongo コネクタのインストール
MongoDB ドキュメント ページのオンプレミスで BI コネクタをインストールするで説明されているように、MongoDB データベースと同じサーバーに BI 用の MongoDB コネクタをインストールします。
ネットワークトラフィックの暗号化
BI 用の MongoDB コネクタでは、MongoDB のサーバーと Looker アプリケーションの間で SSL 暗号化を使用する必要があります。MongoDB ドキュメント ページのBI コネクタ用の SSL の構成にある SSL 設定手順に従います。
Looker のユーザーと権限の設定
MongoDB Shell で use
コマンドを入力して、Looker が接続するデータベースに切り替えます。次に、ロール readWrite
で db.createUser()
を使って Looker のユーザーを作成します。
use looker_database
db.createUser({ user: looker,
pwd: `some_password_here`,
roles: [ "readWrite" ]
})
MongoBI JDBC ドライバ ファイルのインストール
BI 用の MongoDB コネクタのオプションのどちらの場合でも、Lookerでは以下の手順で JDBC ドライバ ファイルを構成する必要があります。
次の 2 つの JAR ファイルをダウンロードします。
パッケージ化されていない JDBC ドライバのドキュメント ページの手順に沿って、次の値を使用します。
ドライバ シンボル: mongobi
ドライバ エントリ:
- name: mongobi
dir_name: mongobi
module_path: com.mysql.jdbc.Driver
override_jdbc_url_subprotocol: mysql
Looker 6.2 以前を使用している場合:
- name: maria15x
dir_name: mongobi
module_path: com.mysql.jdbc.Driver
override_jdbc_url_subprotocol: mysql
ドライバを言語のディレクトリに配置する手順の場合、これらのファイルへのパスは次のようになります。
looker/custom_jdbc_drivers/mongobi/mongosql-auth-1.0.0-rc0.jar
looker/custom_jdbc_drivers/mongobi/mysql-connector-java-5.1.47.jar
標準派生テーブルの使用の許可(推奨)
派生テーブルは分析の洗練度を高めることができるLookerの重要なツールです。クエリのパフォーマンスを向上させる重要な役割を担う可能性もあります。簡単に説明すると、Looker の派生テーブル機能は、データベースにまだ存在しない新たなテーブルを作成するための手段です。
BI 用の MongoDB コネクタは、一時的な標準派生テーブルをサポートしていますが、永続的な派生テーブルはサポートしていません。
標準派生テーブルは一時的なものであるため、保存する必要はありません。したがって、標準派生テーブルのスキーマを作成する必要はありません。 ただし、スキーマが存在しない場合でも、looker_tmp
スキーマに dbOwner
ロールを付与する必要はあります。
データベース ユーザーの構成に関するこの MongoDB ドキュメント ページの「MongoDB ユーザーの変更] セクションに沿って、Looker が接続に使用するユーザーの looker_tmp
に dbOwner
ロールを追加します。
db.grantRolesToUser("looker", [ {role: "dbOwner", db: "looker_tmp"} ])
データベースへの Looker 接続の作成
Looker からデータベースへの接続を作成する手順は次のとおりです。
- Looker の [管理者] セクションで [接続] を選択し、[新しい接続] をクリックします。
[MongoBI] プルダウン メニューから [MongoBI] を選択します。
接続の詳細を入力します。設定の大部分は、ほとんどのデータベース言語に共通するものです。詳細については、Looker をデータベースに接続するのドキュメント ページをご覧ください。
接続が成功したことを確認するには、[テスト] をクリックします。トラブルシューティング情報については、データベース接続のテストのドキュメント ページをご覧ください。
これらの設定を保存するには、[接続] をクリックします。
BI 用の MongoDB コネクタでの SQL 関数と演算子の使用
BI 接続で MongoDB コネクタを使用して開発する場合は、MongoDB のドキュメントに一覧表示されている SQL 関数と演算子を使用できます。
機能のサポート
一部の機能については、Looker でサポートするには、データベース言語が同じ機能に対応している必要があります。
MongoBI は、Looker 24.18 の時点で、次の機能をサポートしています。
機能 | サポート対象 |
---|---|
サポート レベル | 対応 |
Looker(Google Cloud コア) | × |
対称集計 | × |
派生テーブル | ○ |
永続的な SQL 派生テーブル | × |
永続的なネイティブ派生テーブル | × |
安定したビュー | × |
クエリの強制終了 | ○ |
SQL ベースのピボット | × |
タイムゾーン | × |
SSL | ○ |
Subtotals | × |
JDBC の追加パラメータ | ○ |
大文字と小文字を区別 | ○ |
ロケーション タイプ | ○ |
リストのタイプ | × |
パーセンタイル | × |
個別のパーセンタイル | × |
SQL Runner の表示プロセス | ○ |
SQL Runner の説明テーブル | ○ |
SQL Runner 表示インデックス | ○ |
SQL Runner Select 10 | ○ |
SQL ランナーの数 | ○ |
SQL の説明 | ○ |
Oauth 認証情報 | × |
コンテキスト コメント | ○ |
接続プーリング | × |
HLL スケッチ | × |
集計認識 | × |
増分PDT | × |
ミリ秒 | × |
マイクロ秒 | × |
マテリアライズド ビュー | × |
Approximate Count Distinct | × |
次の特長があります。
- MongoDB では、ディメンション グループのmillisecondとmicrosecondのタイムフレームはサポートされていません。
- MongoDB では、ディメンションのmillisecond、millisecondX、microsecondのタイプはサポートされていません。
- Looker では、MongoBI からアクセスされたすべてのタイムスタンプが協定世界時(UTC)のタイムゾーンにあるものとして扱われます。