历史版本16 :SelectDB資料源特性說明 返回文檔
編輯時間: 內容長度:图片数:目录数: 修改原因:


icon提示:
本文詳細說明 SelectDB 據源在 FDL 中的使用特性,包括使用限制以及在不同功能使用中的特殊情況,幫助使用者更好地理解和應用資料源。

寫入 SelectDB 資料庫時,若需要目標表表名、欄位名支援含中文,需要同時滿足下面幾個條件:

執行 SQL:SET GLOBAL enable_unicode_name_support = true;無需重啟 。

中文表名 / 欄位名必須用反引號`包裹,否則會觸發 SQL 文法錯誤,例如:CREATE TABLE `使用者訂單表`

注:中文識別符號需避免與 SQL 關鍵字重名(如 SELECT、FROM 的中文翻譯),若必須使用需加反引號;所有節點(FE/BE)、用戶端(DBeaver/MySQL Client)需統一字元集為 utf8mb4(執行 SET NAMES utf8mb4;),避免中文亂碼 。

目錄:

1. 定時任務编辑

1.1 讀取

「資料同步」、「參數指派」、「全局指派參數」、「資料轉換-DB表輸入」的資料來源支援:SelectDB。

「SQL腳本」的資料源中新增:SelectDB。

注:配置方式不支援「儲存程式」。

1.2 寫入-表類型

「資料同步」、「資料轉換-DB表匯出」的資料去向新增:SelectDB。

1)目標表為自動建表時,表類型說明:

表類型
邏輯說明
明細模型(Duplicate Key)

不支援設定物理主鍵

支援設定 NOT NULL

主鍵模型(Unique Key)- 讀時合併

必須設定物理主鍵

支援設定 NOT NULL

主鍵模型(Unique Key)- 寫時合併必須設定物理主鍵

支援設定 NOT NULL

聚合模型(Aggregate Key)僅展示,不可選

2)目標表為已存在表時,表類型說明:


表類型
邏輯說明
明細模型(Duplicate Key)

1)寫入方式選擇「直接將資料寫入目標表」時,不支援配置主鍵映射和主鍵衝突策

2)寫入方式不支援「基於標識欄位,追加/更新/刪除資料」

主鍵模型(Unique Key)- 寫時合併

寫入方式選擇直接將資料寫入目標表時,主鍵衝突策略只能選擇

  • 主鍵相同,改寫目標表的資料

不支援選擇:

  • 主鍵相同,忽略輸入源的資料

  • 主鍵相同,記錄為髒資料

主鍵模型(Unique Key)- 讀時合併
聚合模型(Aggregate Key)

1)寫入方式選擇直接將資料寫入目標表時,不支援配置主鍵映射以及主鍵衝突策略

2)寫入方式不支援「基於標識欄位,追加/更新/刪除資料」


1.3 交易控制

4.2.12.2 及之後版本,目標端為 SelectDB 時,支援 交易控制 功能。

注 1:SelectDB 需要 V3.0 及以上版本。

注 2:開啟「交易控制」之前,需要在 SelectDB 資料連結 URL 中新增參數 useLocalSessionState=true,否則運作會報錯。

例如:jdbc:mysql://192.168.5.199:9099/mysql?useLocalSessionState=true


1.4 寫入-分隔符

4.2.3.1 及之後版本,寫入 SelectDB 時,支援設定行列分隔符。如下圖所示:

SelectDB Enterprise 版本說明
2.0 及以上支援指定行列分隔符

注:行分隔符、列分隔符不能相同

列分隔符說明:

下拉框支援選項:自動處理、推薦分隔符(\x01)、英文逗號、列表符、英文分號、管道符、ASCII字元

列分隔符
說明
自動處理

優點:

若來源端資料包含 FDL 預設分隔符,會幫使用者做轉義取代(使用轉義符來轉義資料中的行列分隔符),確定資料寫入成功

缺點:

會損失一些寫入效能

推薦分隔符(\x01)

優點

大部分場景中,使用者資料中不會包含 \x01,避免寫入出錯的同時,保證效能

缺點:

若使用者資料中包含 \x01,FDL 不做轉義取代,寫入將報錯

英文逗號、列表符、英文分號、管道符、ASCII字元若使用推薦分隔符報錯,使用者根據實際資料,指定分隔符

行分隔符說明:支援設定CR+LF、LF、ASCII字元作為行分隔符

2.0 以下
「2.0及以上版本不同的是,列分隔符中沒有自動處理選項

1.5 寫入-資料分批

4.2.8.4 及之後版本,寫入 SelectDB 時,支援設定資料分批條件,只要滿足其中任何一個條件,就會立即生成一批資料並執行寫入操作。

說明如下:

1)自動分批、自訂分批應用場景:

  • 自動分批:一般情況下使用「自動分批」配置即可;

  • 自訂分批:當大批量資料寫入或高頻次寫入引發資料庫壓力過載問題,可以靈活調整分批寫入配置。

2)各設定項限制:

  • 單條批數限制範圍:0~9999999。

  • 單批大小限制範圍:0~999。

  • 單批累積時間限制範圍:100~1000000。


支援的功能備註

定時任務:

支援自動分批

支援自訂分批:單條批數、單批大小

13.png

若定時任務歷史資料量大,沒有實時增量資料

提吞吐:配置較大的「單批條數」和「單批大小」

實時任務:

支援自動分批

支援自訂分批:單條批數、單批大小、單批累計時間

1.png

實時任務中:
實時管道任務:

支援自動分批

支援自訂分批:單條批數、單批大小、單批累計時間

1.png

注:若同步類型選擇「存量+增量同步」,單批累計時間設定僅對增量階段的資料生效

實時管道任務中,若歷史資料量大:

  • 全量階段:按定時任務的優化邏輯

  • 增量階段:配置合適的「」單批累積時間進行流轉批,結合實際資料庫效能情況和在使用

者能接受的寫入延遲情況,儘量攢大單批資料量,提升寫入效率

1.6 寫入-寫入間隔

4.2.8.4 及之後版本,寫入 SelectDB 時,支援設定寫入間隔,控制資料的寫入頻率。如下圖所示:


2. 實時管道任務编辑

1)作為管道寫入端時,不支援無主鍵同步功能。

2)作為管道寫入端,表類型說明:

表類型
邏輯說明
明細模型(Duplicate Key)此類型不支援自動建表
主鍵模型(Unique Key)- 讀時合併必須設定物理主鍵

支援設定 NOT NULL

主鍵模型(Unique Key)- 寫時合併

必須設定物理主鍵

支援設定 NOT NULL

聚合模型(Aggregate Key)此類型不支援自動建表

3)4.2.8.4 及之後版本,實時管道任務寫入 SelectDB 時,選擇去向中支援設定資料分批、寫入間隔。詳情參見本文 1.5、1.6 節。

3. 實時任務编辑

4.2.8.4 及之後版本,實時任務寫入 SelectDB 時,寫入方式支援設定資料分批、寫入間隔。詳情參見本文 1.5、1.6 節。

4. 定時管道编辑

4.2.17.1 及之後版本,定時管道任務支援寫入 SelectDB 資料庫 。

目標表若為已存在表,支援寫入分割槽表 。

4.1 使用前提

SelectDB 資料庫版本需在 3.0 及以上版本;

需要資料庫支援交易,SelectDB 資料連結 URL 中需要新增參數:useLocalSessionState=true 。

4.2 表類型

來源表目標表
增量主表、全量有主鍵主表若為「自動建表」:

1)表類型預設為主鍵模型(Unique Key) - 讀時合併,可修改為主鍵模型(Unique Key) - 寫時合併,不支援選擇另外兩種類型表建表

2)自動建表的目標表主鍵不可手動修改,不可取消映射

若為「已存在表」:

1)已存在表也僅支援選擇主鍵模型(Unique Key) - 讀時合併或主鍵模型(Unique Key) - 寫時合併

2)已存在表的主鍵必須與來源端完全一致,否則不可透過校驗

主表(有主鍵)若為「自動建表」:

表類型只能設定為以下兩種表類型:

  • 主鍵模型(Unique Key) - 讀時合併

  • 主鍵模型(Unique Key) - 寫時合併

若為「已存在表」:

1)表類型只能選擇以下兩種表類型:

  • 主鍵模型(Unique Key) - 讀時合併

  • 主鍵模型(Unique Key) - 寫時合併

增量子表

全量有主鍵子表


通用說明:

不論目標表類型為「已存在表」還是「自動建表」,目標表增加_fdl_subtable_key欄位,不可取消,該欄位與DM_KEY共同作為聯合主鍵

若為「自動建表」:

1)表類型只能設定為以下兩種表類型:

  • 主鍵模型(Unique Key) - 讀時合併

  • 主鍵模型(Unique Key) - 寫時合併

2)目標表主鍵不可手動修改,不可取消映射

若為「已存在表」:

1)表類型只能選擇以下兩種表類型:

  • 主鍵模型(Unique Key) - 讀時合併

  • 主鍵模型(Unique Key) - 寫時合併

2)已存在表的主鍵(不算_fdl_subtable_key)必須與來源端完全一致,否則不可透過校驗

3)已存在表必須有_fdl_subtable_key作為主鍵,否則不可透過校驗,該欄位標紅

主表(無主鍵)、全量無主鍵子表

若為「已存在表」:

已存在表表類型需為:明細模型(Duplicate Key)

若為「自動建表」:

表類型只能設定為:明細模型(Duplicate Key)    

5. 庫表管理&血緣分析编辑

詳情請參見:庫表管理血緣分析

6. 資料服務编辑

6.1 資料查詢 API

支援發布資料查詢 API 。

6.2 資料接收API

資料接收 API 支援寫入該資料庫。

6.2.1 通用 API 請求體

設定項
說明
目標表

目標表為已存在表時,允許選擇的表類型為:

  • 明細模型(Duplicate Key)

  • 主鍵模型(Unique Key)- 寫時合併

  • 主鍵模型(Unique Key)- 讀時合併

  • 聚合模型(Aggregate Key)

目標表為建立表時,允許選擇的表類型為:

  • 明細模型(Duplicate Key)

  • 主鍵模型(Unique Key)- 寫時合併

  • 主鍵模型(Unique Key)- 讀時合併

主鍵映射

1)如果所選目標表為「明細模型聚合模型,不支援配置主鍵映

2)如果所選目標表為「主鍵模型-寫時合併主鍵模型-讀時合併,支援配置主鍵映射:

  • 如果所選表自身有物理主鍵,則沿用物理主鍵

  • 如果所選表自身沒有物理主鍵,則標記邏輯主鍵

主鍵沖突策略

如果所選目標表為「主鍵模型-寫時合併主鍵模型-讀時合併僅支援選擇:「改寫目標表的資料

1766122908223949.png

6.2.2 簡道雲表單推播

設定項
說明
目標表
允許選擇的表類型為:
  • 主鍵模型(Unique Key)- 寫時合併

  • 主鍵模型(Unique Key)- 讀時合併


7. 通用配置编辑