1. 概述
1.1 版本
FineBI 版本 | 功能變動 |
6.0 | - |
6.0.17 | 增加 fetchsize 參數配置 |
6.1.5 | 資料連結可放到資料夾中進行管理 |
1.2 功能簡介
建立 FineBI 與資料庫的連結,讓 FineBI 能夠直接獲取到資料庫中的資料。
2. 建立資料連結
1)管理者進入 FineBI 工程,點選「管理系統>資料連結管理」頁面。點選「建立>資料夾」,可以使用資料夾對資料連結進行分類管理。如下圖所示:
注:如果非管理者,使用者需要有 資料連結使用權限 才可以設定資料連結。
在某資料夾中建立資料連結。如下圖所示:
2)在彈出的視窗中,自訂一個資料連結名稱。如下圖所示:
3)選擇資料庫類型,例如要連結 MySQL 類型的資料庫,即需要選擇「MySQL」,然後點選「下一步」按鈕。如下圖所示:
4)輸入資料庫的相關資訊。如下圖所示:
以下為資料連結資訊的詳細解譯,不同資料庫要設定的連結資訊不同。可查看具體的文檔,例如 MySQL 可查看:MySQL資料連結
配置 | 介紹 |
---|---|
資料連結名稱 | 給這個資料連結一個名稱,按使用者自己的習慣起名即可 |
驅動 | 連結資料庫所需要的驅動:
|
資料庫名稱 | 輸入要連結的資料庫的名稱 |
主機 | 輸入資料庫所在主機(或伺服器)的 IP |
埠 | 輸入資料庫所在主機(或伺服器)的埠 |
認證方式 | 若資料庫支援多種認證方式,則點選會出現認證方式下拉框:
|
編碼 | 推薦使用預設 |
模式 |
注:需要正確選擇資料庫對應的模式,否則會導致新增資料庫表時顯示「當前資料連結中無可用表」,只能透過 SQL 資料集進行取數 |
資料連結URL | 自動生成的 URL ,無需特意配置 |
點選「測試連結」,即可測試是否可以連結成功。
若使用者不需要設定連結池,即可點選「儲存」。完成資料連結配置。
3. 進階設定
在連結資料庫時,可能需要進行一些進階設定,但大部分情況下是不需要設定的。
我們可以根據需要選擇性設定,如下圖所示:
Fetchsize 設定
基礎表抽數慢,直連SQL取數階段慢等問題,都可以透過 fetchsize 進行調優。
fetchSize 參數是用於控制從資料庫中獲取資料的成批處理大小的設定。較小的 fetchSize 值會減少每次資料庫查詢的記憶體消耗,但可能需要更多的資料庫往返來獲取完整的結果集;較大的 fetchSize 值可以減少資料庫往返次數,但會增加記憶體使用量。可以根據你的需求透過設定 fetchSize 參數值,來優化資料庫查詢效能。
若參數值 ≤ 0(例如:-20)則表示不開啟 fetchsize 參數。
1)Oracle、DB2、Postgre 這三種資料庫必須設定 fetchsize 參數,所以若設定了≤0 的參數值,會自動分別被更換為 128、50、10000。
2)其他資料庫預設情況下不開啟 fetchsize 參數。
SocketTimeout 設定
設定套接字逾時時長(連結接等待或資料傳輸的最長時間),超過此時間會強制中斷連結
為空或輸入為0時,視為不設定逾時
3.1 連結池設定
對連結池進行設定,選擇「連結池設定」按鈕,如下圖所示:
常用設定
名稱 | druid學名 | 預設值 | 含義 |
---|---|---|---|
最大活動連結數 | maxActive | 50 | 連結池在同一時間能夠分配的最大活動連結的數量 |
獲取連結前檢驗 | testOnBorrow | 是 | 申請連結時執行 validationQuery 檢查連結是否有效 |
閒置連結可用性定期檢查 | keepAlive | 是 | 檢查到需要留下的連結保證其可用 |
校驗語句 | validationQuery | 預設語句 | 用來檢查連結是否有效的 SQL 語句,要求是一個查詢語句,常用select 'x' 。使用者可自訂該語句。 |
獲取連結前檢驗 | testOnBorrow | 是 | 申請連結時執行 validationQuery 檢查連結是否有效 |
最大等待時間 | maxWait | 10000ms | 獲取連結時最大等待時間,若超過此時間還沒有連結成功,則判定此次連結失敗,不再等待 |
更多設定(不常用,如無特殊場景不建議修改)
名稱 | druid學名 | 預設值 | 含義 |
---|---|---|---|
初始化連結數 | initialSize | 0 | 初始化時建立物理連結的個數 |
最小閒置連結數 | minIdle | 0 | 連結池最小連結數量 |
歸還連結前校驗 | testOnReturn | 否 | 歸還連結時執行校驗語句validationQuery 檢查連結是否有效 |
獲取連結時閒置連結可用性校驗 | testWhileIdle | 否 | 指明連結是否被閒置連結回收器(如果有)進行檢驗,如果檢查失敗,則連結將被從池中去除 |
閒置連結回收器工作間隔 | timeBetweenEvictionRunsMillis | 60000ms(60s) | 該參數用於指定連結池中的閒置連結檢查和清理執行緒運作的時間間隔,單位為毫秒。 |
閒置連結回收檢查數 | numTestPerEvictionRun | 3 | 指定在每次閒置連結回收運作時要測試的連結數量 |
閒置連結回收時間臨界值 | minEvictableIdleTimesMillis | 1800s | 如果一個連結在連結池中閒置時間超過了臨界值,並且連結數超過了「最小閒置連結數」,那麼該連結就會被從連結池中移除 |
閒置連結強制回收時間臨界值 | maxEvictableIdleTimeMillis | 25200s(7h) | 一個連結在連結池中閒置的時間超出了該臨界值,會被從連結池中移除 |
閒置連結可用性定期檢查時間臨界值 | keepAliveBetweenTimeMillis | 120000ms(2min) | 閒置連結的保持存活時間,可以確定在閒置一段時間後連結不會被意外關閉 |
3.2 SSH 設定
若使用者安全性要求高,需要使用 SSH 。可以直接勾選「使用SSH通道」,輸入對應資訊。
注:驗證方法支援密碼和公用鍵,其中選擇「公用鍵」需要將檔案放置在 %FineBI%/webapps/webroot/WEB-INF/resources 下。
點選「測試連結」,若提示連結成功,點選「儲存」儲存該配置。
3.3 SSL 設定
注:暫只支援 MySQL 資料庫
1)在%FineBI%/webapps/webroot/WEB-INF/resources/certificates 中put 命令 CA 憑證、用戶端憑證以及用戶端祕鑰,如下圖所示:
2)勾選「使用SSL通道」,將檔案新增進對應位置。如下圖所示:
3)點選「測試連結」,若連結成功點選「儲存」儲存該配置。
4. 管理資料連結
4.1 單個資料連結管理
資料連結建立成功後,介面如下圖所示:
注:使用者建立的資料夾、資料連結,預設具備使用和管理權限。
使用者可在列表對資料連結做編輯、重新命名、複製、刪除、測試連結操作。如下圖所示:
設定項 | 說明 |
---|---|
測試連結 | 測試資料庫配置是否成功 |
編輯 | 修改資料連結配置項 |
重新命名 | 重新命名該資料庫 |
複製 | 複製該筆資料庫,且資料連結名自動加 1 |
刪除 | 刪除該資料庫 |
資料連結資訊 | 顯示資料庫類型和建立者 |
需要注意以下幾點:
未適配的資料庫類型右側不顯示圖示。
在管理資料連結時,資料連結的名稱不能隨意改動。更新到本地的表與資料庫匹配依靠的是資料連結的名稱,如果修改資料連結的名稱,從該連結中取出的表將無法再更新。
如果是 SQL 資料集,也會導致沒有「修改 SQL」的按鈕。
如果更新本地儲存的表中的資料庫,例如由開發環境變化到生產環境,表名與表結構均一致時,只需要修改資料連結的 URL 即可。本地儲存的表依照資料連結名依然可以更新資料。
4.2 資料夾管理資料連結
1)點選資料夾或根目錄,可透過資料連結名稱(不區分字母大小寫,支援模糊搜尋)、資料源類型(可多選,為表格中已有的資料源類型)、建立人(可多選,為表格中已有建立人)搜尋資料連結。如下圖所示:
「活動連結數」和「閒置連結數」的說明如下表所示:
連結池狀態 | 說明 |
---|---|
活動連結數 | 連結池最大可建立的連結數,若最大連結數是 10 ,程式已申請 10 個連結,而且一直在使用,第 11 個連結申請時報錯:active 10 maxActive 10 |
閒置連結數 | 當前處於閒置狀態的連結, 隨時會轉成活動連結, 閒置狀態超過最大閒置連結時間時自動釋放 活動連結數+閒置連結數=實際物理連結數 |
2)可對資料夾進行重新命名、刪除操作。如下圖所示:
3)可將資料連結從 A 資料夾中拖曳到 B 資料夾中;資料夾不支援拖曳到另外一個資料夾中,最多支援一層資料夾。
4.3 資料連結逾時檢查
在「資料連結管理>全局設定」中,提供「資料連結逾時檢查」功能,支援使用者自訂資料連結的逾時時間。
資料連結逾時時,報錯「31300010 kdc伺服器不連通」,可手動調大逾時時間。