MongoDB 商業智慧連接器

從 MongoBI 遷移到 MongoSQL

Looker 現在支援 MongoSQL,並建議從 MongoDB Connector for BI 遷移到 MongoSQL。

由於 MongoDB Connector for BI (MongoBI) 和 MongoSQL 之間的 SQL 語法存在差異,因此使用自訂 SQL 區塊、日期格式或資料庫函數的現有 LookML 模型可能需要進行語法調整。不要在未先驗證 LookML 程式碼的情況下,將現有的生產連接直接切換到 MongoSQL,因為這可能會破壞儀表板、外觀、計劃或警報。

若要安全地從 MongoBI 遷移到 MongoSQL,請依照下列步驟操作:

  1. 查看 MongoDB 文件中 MongoBI 和 MongoSQL 之間的 SQL 語法差異 從 Atlas BI 連接器過渡到 MongoSQL
  2. 在 Looker 中為 MongoSQL 建立一個新的連線 作為輔助連線。
  3. 在 LookML 專案的新開發分支中,更新模型檔案中的 connection 參數,使其指向新的 MongoSQL 連線。
  4. SQL Runner 中,測試並執行來自 Explore 的範例查詢,以驗證查詢語法和結果。
  5. 請驗證您的項目和內容:
  6. 解決所有驗證錯誤後,將變更部署到生產環境。

使用 MongoDB 連接器進行 BI (MongoBI)

Looker 可以透過 MongoDB Connector for BI 使用兩種方式存取 MongoDB:

  • MongoDB Atlas 中使用 MongoDB Connector for BI。
  • 使用安裝在與 MongoDB 資料庫相同伺服器上的 MongoDB Connector for BI。

MongoDB Atlas

您的 MongoDB Atlas 必須使用 M10+ 叢集。要讓 Looker 使用在 MongoDB Atlas 上執行的 MongoDB 資料庫,您必須使用 MongoDB Connector for BI (MongoBI)。啟用 Atlas 的 BI 連接器需要 MongoDB Atlas 使用 M10+ 叢集。

您還必須建立一個對所選資料庫具有讀取權限的使用者帳戶。

配置用於 BI 的 MongoDB 連接器

在 Looker 中建立連接之前,您的 MongoDB 或 Atlas 管理員需要按照以下步驟設定 MongoDB BI 連接器,這些步驟在本頁中有詳細說明:

將 Looker 伺服器新增至 Atlas IP 存取清單中

Atlas 只允許來自專案 IP 存取清單中的條目的用戶端連線。將 Looker IP 位址新增至 Atlas 專案的 IP 存取清單:

  1. 取得 Looker IP 位址
  2. 依照 Atlas IP 存取清單設定 說明將 Looker IP 位址新增至 Atlas IP 存取清單。

啟用 MongoDB BI 連接器

啟用 MongoDB BI 連接器:

  1. 請確認您位於 M10+ 集群 上。
  2. 在 Atlas 中,開啟叢集的連線頁面。記下主機名稱、連接埠號碼和使用者名稱。在 Looker 中配置連線時,您需要使用該資訊。

MongoDB 位於同一台伺服器上

在 Looker 中建立連線之前,您的 MongoDB 管理員應依照下列步驟設定 MongoDB 和 Mongo Connector for BI,這些步驟在本頁中有詳細說明:

安裝用於 BI 的 MongoDB 連接器

依照 在本機安裝 BI 連接器 MongoDB 文件頁面中的說明,將 MongoDB Connector for BI 安裝在與 MongoDB 資料庫相同的伺服器上。

加密網路流量

MongoDB BI 連接器要求在 MongoDB 伺服器和 Looker 應用程式之間使用 SSL 加密。請依照 MongoDB 文件頁面上的 設定 BI 連接器的 SSL 說明進行 SSL 設定。

設定 Looker 使用者和權限

MongoDB Shell 中輸入 use 指令,切換至 Looker 要連線的資料庫。接著,為 Looker 建立使用者,並指派 readWrite 角色:db.createUser()

use looker_database

db.createUser({ user: looker,
                pwd: `some_password_here`,
                roles: [ "readWrite" ]
              })

安裝 MongoBI JDBC 驅動程式檔案

無論是哪個 MongoDB Connector for BI 選項,Looker 都需要設定 JDBC 驅動程式檔案,請按照下列步驟操作:

下載這兩個 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 衍生資料表功能提供一種方式,可建立資料庫中不存在的新資料表。

MongoDB Connector for BI 支援暫時性一般衍生資料表,但不支援永久衍生資料表

由於一般衍生資料表是暫時性的,因此不需要儲存。因此您不需要為這些資料建立結構定義。不過,即使 looker_tmp 結構定義不存在,您仍須將 dbOwner 角色授予該結構定義。

請按照這篇 MongoDB 說明文件頁面中「修改 MongoDB 使用者」一節的說明,為 Looker 用來連線的使用者在 looker_tmp 上新增 dbOwner 角色。

db.grantRolesToUser("looker", [ {role: "dbOwner", db: "looker_tmp"} ])

建立 Looker 資料庫連線

請按照下列步驟,在 Looker 中建立資料庫連線:

  1. 在 Looker 的「管理」部分中,選取「連線」,然後按一下「新增連線」
  2. 從「Dialect」下拉式選單中選取「MongoBI」

  3. 填寫連線詳細資料。在這些設定中,有絕大部分都是多數資料庫方言的常用設定。參見將 Looker 連接到您的資料庫文件頁面提供相關資訊。

  4. 如要確認連線是否成功,請按一下「連線設定」頁面底部的「狀態詳細資料」區段中的「測試連線」按鈕。

  5. 如果 Looker 顯示「可以連線」,請按「連線」建立連線。

資料庫連線隨即會新增至 Looker「連線管理頁面的清單。

在 MongoDB Connector for BI 中使用 SQL 函數和運算符

在使用 MongoDB Connector for BI 連線進行開發時,您可以使用 MongoDB 文件中列出的 SQL 函數和運算子

支援的 JDBC 參數

對於 MongoDB Connector for BI,Looker 在連接的 附加 JDBC 參數 欄位中支援下列 JDBC 參數。如要瞭解這些參數,請參閱資料庫的說明文件。

  • allowMultiQueries
  • appName
  • authSource
  • autoReconnect
  • cachePrepStmts
  • characterEncoding
  • connectTimeout
  • connectTimeoutMS
  • elideSetAutoCommits
  • enabledSslProtocolSuites
  • enabledTLSProtocols
  • explainSlowQueries
  • maxAllowedPacket
  • password
  • queryInterceptors
  • queryTimeoutKillsConnection
  • replicaSet
  • rewriteBatchedStatements
  • socketTimeout
  • ssl
  • sslMode
  • tcpKeepAlive
  • useCompression
  • useCursorFetch
  • useLocalSessionState
  • user
  • useServerPrepStmts
  • useSSL
  • verifyServerCertificate
  • zeroDateTimeBehavior

功能支援

如要讓 Looker 支援某些功能,資料庫方言也必須支援這些功能。

從 Looker 26.16 版本開始,MongoBI 支援以下功能:

功能 是否支援?
Looker (Google Cloud Core)
對稱式匯總函式
衍生資料表
永久 SQL 衍生資料表
永久原生衍生資料表
穩定檢視畫面
終止查詢
以 SQL 為基礎的樞紐
時區
SSL
小計
JDBC 其他參數
區分大小寫
位置類型
名單類型
百分位數
不重複值的百分位數
SQL Runner 顯示程序
SQL Runner 說明資料表
SQL Runner 顯示索引
SQL Runner 選取 10
SQL Runner 計數
SQL 說明
OAuth 2.0 憑證
內容留言
連線集區
HLL 草圖
匯總感知
增量 PDT
毫秒
微秒
具體化檢視表
與前一段時期相比的指標
不重複值的概略計數
資料庫內分析模型
自訂日曆

此外: