設定復寫方法

使用Replication方法和重新檢查來識別資料庫表格中的新資料或更新資料。 正確設定這些變數對於確保資料正確性和最佳化更新時間至關重要。 本主題著重於復寫方法。

Data Warehouse管理員中同步新資料表時,會自動為資料表選擇復寫方法。 瞭解各種複製方法、表格的組織方式,以及表格資料的行為方式,讓您為表格選擇最佳的複製方法。

什麼是復寫方法?

Replication方法分為三個群組 — IncrementalFull TablePaused

Incremental Replication 表示Commerce Intelligence只會在每次復寫嘗試時復寫新資料或更新資料。 由於這些方法可大幅減少延遲,Adobe建議儘可能使用。

Full Table Replication 表示Commerce Intelligence會在每次復寫嘗試時復寫表格的全部內容。 由於要複製的資料量可能很大,這些方法可能會增加延遲和更新時間。 如果表格包含任何時間戳記或日期時間欄,Adobe建議改用增量方法。

Paused ​表示資料表的復寫已停止或暫停。 Commerce Intelligence不會在更新週期期間檢查是否有新的或更新資料;這表示不會從以此為復寫方法的資料表中復寫任何資料。

增量複製方法 incremental

修改時間(最理想)

Modified At復寫方法使用datetime欄(在建立資料列時填入,然後在資料變更時更新)來尋找要復寫的資料。 此方法的設計目的是處理符合下列條件的表格:

  • 包含datetime欄,此欄最初是在建立資料列時填入,並會在資料列修改時更新;
  • datetime資料行絕不為Null;
  • 不會從表格中刪除列

除了這些條件之外,Adobe建議為用於Modified At復寫的datetime資料行​ 編制索引,因為這樣有助於最佳化復寫速度。

當更新執行時,透過搜尋在最近更新之後發生的datetime欄中有值的列,可識別新資料或已變更的資料。 當發現新資料列時,會將它們復寫到您的Data Warehouse。 如果Data Warehouse管理員中有任何資料列,則會以目前的資料庫值覆寫。

例如,資料表可能有一個名為modified\_at的資料行,指出上次變更資料的時間。 如果最新的更新在星期二中午執行,則更新會搜尋所有具有大於星期二中午的modified\_at值的列。 自星期二中午以來建立或修改的任何發現列都會複製到Data Warehouse。

您知道嗎?
即使您的資料庫目前無法支援Incremental復寫方法,您也可以對資料庫進行變更,以啟用Modified AtSingle Auto Incrementing PK的使用。

Modified At不僅是最理想的復寫方法,也是最快的復寫方法。 此方法不僅會在大型資料集中產生顯著的速度,而且不需要設定重新檢查選項。 其他方法需要逐一檢視整個表格以識別變更,即使一小部分資料已變更。 Modified At只會反複處理這個小子集。

單一自動遞增主索引鍵

Auto Incrementing是循序將主索引鍵指派給資料列的行為。 如果資料表為Auto Incrementing,而資料表中最高主索引鍵為1,000,則下一個主值是1,001或更高。 不使用Auto Incrementing行為的資料表可指派小於1,000的主索引鍵值或跳至大得多的數字,但並不常用。

此方法旨在從符合下列條件的表格中複製新資料:

  • single-column primary key;和
  • primary key資料型別是integer;以及
  • auto incrementing個主索引鍵值。

當資料表使用Single Auto Incrementing Primary Key復寫時,搜尋大於Data Warehouse中目前最高值的主索引鍵值來探索新資料。 例如,如果Data Warehouse中的最高主鍵值為500,則下次更新執行時,將會搜尋主鍵值為501或更高的列。

新增日期

Add Date方法的功能與Single Auto Incrementing Primary Key方法類似。 這個方法不是使用整數以取得資料表的主索引鍵,而是使用timestamped資料行來檢查新資料列。

當資料表使用Add Date復寫時,透過搜尋晚於同步至您Data Warehouse的最新日期的時間戳記值,會探索新資料。 例如,如果更新上次執行時間為20/12/2015 09:00:00,則時間戳記大於此的任何列都將標示為新資料並複製。

NOTE
Modified At方法不同,Add Date不會檢查現有資料列是否有更新的資訊,而只會尋找新的資料列。

完整表格複製方法 fulltable

完整表格

在偵測到新資料列時,Full table復寫會重新整理整個資料表。 這是目前為止最不有效率的複製方法,因為所有資料在每次更新期間都必須重新處理(假設有新列)。

在同步化程式開始時查詢資料庫並計算資料列數目,即可偵測新資料列。 如果您的本機資料庫包含超過Commerce Intelligence的資料列,則會重新整理資料表。 如果資料列計數相同,或Commerce Intelligence包含比本機資料庫多​ ​資料列,則會略過資料表。

這引出​ Full Table復寫在 ​時不相相容的重要點

  • 在後續更新週期之間,刪除的資料列多於在本機資料庫表格中建立的資料列,或者
  • 欄值已變更,但未建立其他列

在上述任一情況中,Full Table復寫不會偵測到任何變更,且您的資料會過時。 由於此復寫方法效率不高,加上上述需求,最後才建議使用Full Table復寫。

主索引鍵批次

當資料表使用Primary Key Batch (PK批次)時,透過計算主索引鍵值範圍或批次中的資料列來探索新資料。 雖然您通常認為這會與整數搭配使用,但即使是文字值,排序方式也可以讓系統定義常數範圍。

例如,假設更新執行並執行索引鍵1至100範圍的列計數。 在此更新中,系統會尋找並記錄37列。 在下次更新中,會在1-100範圍上再次執行列計數,並找到41列。 由於與上次更新相比列數不同,因此系統會更詳細地檢查該範圍(或批次)。

此方法旨在從符合下列條件的表格複製資料:

  • 單欄非整數;或
  • 複合索引鍵(包含主索引鍵的多個欄) — 請注意,複合主索引鍵中使用的欄永遠不能有null值;或
  • 單欄、整數、不自動增加主索引鍵值。

此方法並不理想,因為為了檢查批次和尋找變更而必須執行的處理量太大,所以速度非常慢。 Adobe建議不要使用此方法,除非無法進行必要的修改以支援其他複製方法。 如果必須使用這個方法,預期更新時間會增加。

設定復寫方法

複製方法是以表格為基礎設定的。 若要設定資料表的復寫方法,您需要Admin許可權,才能存取Data Warehouse管理員。

  1. 進入Data Warehouse管理員後,從Synced Tables清單中選取表格以顯示表格的結構描述。

  2. 目前的複製方法列在表格名稱下方。 若要變更,請按一下連結。

  3. 在顯示的快顯視窗中,按一下IncrementalFull Table復寫旁的選項按鈕以選取復寫型別。

  4. 接著,按一下​ Replication Method ​下拉式清單以選取方法。 例如,PausedModified At

    note note
    NOTE
    有些增量方法需要您設定Replication Key。 Commerce Intelligence將使用此索引鍵來決定下一個更新週期應該從何處開始。
    例如,如果您想要對orders資料表使用modified at方法,您必須將date column設定為復寫金鑰。 復寫金鑰可能有數個選項,但您選取created at或建立訂單的時間。 如果上次更新週期在12/1/2015 00:10:00停止,則下一個週期會開始複製日期大於此日期的created at資料。
  5. 完成時,按一下​ Save

檢視整個程式:

正在結束

為了完成,您已經將這個表格放在一起,比較各種複製方法。 為Data Warehouse中的表格選取方法非常方便。

Method
Syncing New Data
Processing Rechecks on Large Data Sets
Handle Composite Keys?
Handle Non-Integer PKs?
Handle Non-Sequential PK Population?
Handle Row Deletion?
Auto-Incrementing Primary Key
更快
慢速
Primary Key Batch Monitoring
慢速
慢速
Modified At
更快
更快

相關檔案

recommendation-more-help
e1f8a7e8-8cc7-4c99-9697-b1daa1d66dbc