SelectDB資料源特性說明

  • 文檔創建者:Nikozhan
  • 編輯次數:3
  • 最近更新:shuning 于 2026-05-06

  • 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. 通用配置

    附件列表


    主題: 配置資料源
    已經是第一篇
    已經是最後一篇
    • 有幫助
    • 沒幫助
    • 只是瀏覽
    • 评价文档,奖励 1 ~ 100 随机 F 豆!

    滑鼠選中內容,快速回饋問題

    滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。

    不再提示

    10s後關閉

    獲取幫助
    線上支援
    獲取專業技術支援,快速幫助您解決問題
    工作日9:00-12:00,13:30-17:30在线
    頁面反饋
    針對當前網頁的建議、問題反饋
    售前咨詢
    業務咨詢
    電話:0933-790886或 0989-092892
    郵箱:taiwan@fanruan.com
    頁面反饋
    *問題分類
    不能為空
    問題描述
    0/1000
    不能為空

    反馈已提交

    网络繁忙