寫入 SelectDB 資料庫時,若需要目標表表名、欄位名支援含中文,需要同時滿足下面幾個條件:
執行 SQL:SET GLOBAL enable_unicode_name_support = true;無需重啟 。
中文表名 / 欄位名必須用反引號`包裹,否則會觸發 SQL 文法錯誤,例如:CREATE TABLE `使用者訂單表`
注:中文識別符號需避免與 SQL 關鍵字重名(如 SELECT、FROM 的中文翻譯),若必須使用需加反引號;所有節點(FE/BE)、用戶端(DBeaver/MySQL Client)需統一字元集為 utf8mb4(執行 SET NAMES utf8mb4;),避免中文亂碼 。
「資料同步」、「參數指派」、「全局指派參數」、「資料轉換-DB表輸入」的資料來源支援:SelectDB。
「SQL腳本」的資料源中新增:SelectDB。
注:配置方式不支援「儲存程式」。
「資料同步」、「資料轉換-DB表匯出」的資料去向新增:SelectDB。
1)目標表為自動建表時,表類型說明:
不支援設定物理主鍵
支援設定 NOT NULL
必須設定物理主鍵
2)目標表為已存在表時,表類型說明:
1)寫入方式選擇「直接將資料寫入目標表」時,不支援配置主鍵映射和主鍵衝突策略
2)寫入方式不支援「基於標識欄位,追加/更新/刪除資料」
寫入方式選擇「直接將資料寫入目標表」時,主鍵衝突策略只能選擇:
主鍵相同,改寫目標表的資料
不支援選擇:
主鍵相同,忽略輸入源的資料
主鍵相同,記錄為髒資料
1)寫入方式選擇「直接將資料寫入目標表」時,不支援配置主鍵映射以及主鍵衝突策略
4.2.12.2 及之後版本,目標端為 SelectDB 時,支援 交易控制 功能。
注 1:SelectDB 需要 V3.0 及以上版本。
注 2:開啟「交易控制」之前,需要在 SelectDB 資料連結 URL 中新增參數 useLocalSessionState=true,否則運作會報錯。
例如:jdbc:mysql://192.168.5.199:9099/mysql?useLocalSessionState=true
4.2.3.1 及之後版本,寫入 SelectDB 時,支援設定行列分隔符。如下圖所示:
注:行分隔符、列分隔符不能相同
列分隔符說明:
下拉框支援選項:自動處理、推薦分隔符(\x01)、英文逗號、列表符、英文分號、管道符、ASCII字元
優點:
若來源端資料包含 FDL 預設分隔符,會幫使用者做轉義取代(使用轉義符來轉義資料中的行列分隔符),確定資料寫入成功
缺點:
會損失一些寫入效能
大部分場景中,使用者資料中不會包含 \x01,避免寫入出錯的同時,保證效能
若使用者資料中包含 \x01,FDL 不做轉義取代,寫入將報錯
行分隔符說明:支援設定CR+LF、LF、ASCII字元作為行分隔符
4.2.8.4 及之後版本,寫入 SelectDB 時,支援設定資料分批條件,只要滿足其中任何一個條件,就會立即生成一批資料並執行寫入操作。
說明如下:
1)自動分批、自訂分批應用場景:
自動分批:一般情況下使用「自動分批」配置即可;
自訂分批:當大批量資料寫入或高頻次寫入引發資料庫壓力過載問題,可以靈活調整分批寫入配置。
2)各設定項限制:
單條批數限制範圍:0~9999999。
單批大小限制範圍:0~999。
單批累積時間限制範圍:100~1000000。
定時任務:
支援自動分批
支援自訂分批:單條批數、單批大小
若定時任務歷史資料量大,沒有實時增量資料
提吞吐:配置較大的「單批條數」和「單批大小」
支援自訂分批:單條批數、單批大小、單批累計時間
注:若同步類型選擇「存量+增量同步」,單批累計時間設定僅對增量階段的資料生效
實時管道任務中,若歷史資料量大:
全量階段:按定時任務的優化邏輯
增量階段:配置合適的「」單批累積時間進行流轉批,結合實際資料庫效能情況和在使用
者能接受的寫入延遲情況,儘量攢大單批資料量,提升寫入效率
4.2.8.4 及之後版本,寫入 SelectDB 時,支援設定寫入間隔,控制資料的寫入頻率。如下圖所示:
1)作為管道寫入端時,不支援無主鍵同步功能。
2)作為管道寫入端,表類型說明:
3)4.2.8.4 及之後版本,實時管道任務寫入 SelectDB 時,選擇去向中支援設定資料分批、寫入間隔。詳情參見本文 1.5、1.6 節。
4.2.8.4 及之後版本,實時任務寫入 SelectDB 時,寫入方式支援設定資料分批、寫入間隔。詳情參見本文 1.5、1.6 節。
4.2.17.1 及之後版本,定時管道任務支援寫入 SelectDB 資料庫 。
目標表若為已存在表,支援寫入分割槽表 。
SelectDB 資料庫版本需在 3.0 及以上版本;
需要資料庫支援交易,SelectDB 資料連結 URL 中需要新增參數:useLocalSessionState=true 。
1)表類型預設為主鍵模型(Unique Key) - 讀時合併,可修改為主鍵模型(Unique Key) - 寫時合併,不支援選擇另外兩種類型表建表
2)自動建表的目標表主鍵不可手動修改,不可取消映射
若為「已存在表」:
1)已存在表也僅支援選擇主鍵模型(Unique Key) - 讀時合併或主鍵模型(Unique Key) - 寫時合併
2)已存在表的主鍵必須與來源端完全一致,否則不可透過校驗
表類型只能設定為以下兩種表類型:
主鍵模型(Unique Key) - 讀時合併
主鍵模型(Unique Key) - 寫時合併
1)表類型只能選擇以下兩種表類型:
增量子表
全量有主鍵子表
通用說明:
不論目標表類型為「已存在表」還是「自動建表」,目標表增加_fdl_subtable_key欄位,不可取消,該欄位與DM_KEY共同作為聯合主鍵
若為「自動建表」:
1)表類型只能設定為以下兩種表類型:
2)目標表主鍵不可手動修改,不可取消映射
2)已存在表的主鍵(不算_fdl_subtable_key)必須與來源端完全一致,否則不可透過校驗
3)已存在表必須有_fdl_subtable_key作為主鍵,否則不可透過校驗,該欄位標紅
已存在表表類型需為:明細模型(Duplicate Key)
表類型只能設定為:明細模型(Duplicate Key)
詳情請參見:庫表管理、血緣分析
支援發布資料查詢 API 。
資料接收 API 支援寫入該資料庫。
目標表為已存在表時,允許選擇的表類型為:
明細模型(Duplicate Key)
主鍵模型(Unique Key)- 寫時合併
主鍵模型(Unique Key)- 讀時合併
聚合模型(Aggregate Key)
目標表為建立表時,允許選擇的表類型為:
1)如果所選目標表為「明細模型」或「聚合模型」,不支援配置主鍵映射
2)如果所選目標表為「主鍵模型-寫時合併」和「主鍵模型-讀時合併」,支援配置主鍵映射:
如果所選表自身有物理主鍵,則沿用物理主鍵
如果所選表自身沒有物理主鍵,則標記邏輯主鍵
如果所選目標表為「主鍵模型-寫時合併」和「主鍵模型-讀時合併」,僅支援選擇:「改寫目標表的資料」
支援 通用配置-自動建表配置、通用配置-欄位映射規則
滑鼠選中內容,快速回饋問題
滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。
不再提示
10s後關閉
反馈已提交
网络繁忙