# 雲端資料倉庫中的資料集架構

Qlik Talend Data Integration 可讓您建立、管理和控制分析資料管道，將資料一路傳遞給消費者。當您使用 Qlik Talend Data Integration 在雲端資料倉庫中產生資料集時，會產生儲存表格、變更表格和檢視。

直覺且引導式的使用者介面可協助您建置、塑模和執行資料管道。自動為操作資料存放區 (ODS) 和歷史資料存放區 (HDS) 產生架構，無需手動編碼。

使用 Qlik Data Gateway - Data Movement 和 CDC 的 Qlik Talend Data Integration 資料管道架構

使用 Qlik Data Gateway - Data Movement 和 CDC 的 Qlik Talend Data Integration 資料管道架構

使用 Qlik Data Gateway - Data MovementQlik Data Gateway - Data Movement 和 CDC 的 Qlik Talend Data IntegrationQlik Talend Data Integration 資料管道架構 ![](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Resources/Images/dr_DIArchitecture_v1.svg)

* 登陸

  Qlik Talend Data Integration 中的登陸工作控制從資料來源到登陸區的連續資料登陸。圖表中的範例描述使用 Qlik Data Gateway - Data Movement 透過 CDC 存取資料來源，以保持資料在最新狀態。您也可以使用 Qlik Cloud 來源連線來執行完整載入，這些載入可以排程為定期重新載入。

  如需有關何時需要使用 資料移動閘道 的資訊，請參閱 [何時需要 資料移動閘道？](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/Gateways/replication-gateway.htm#top)

  資訊備註登陸區中的表格是為供 Qlik Talend Data Integration 儲存資料工作內部使用而產生的。請勿在任何其他下游程序中使用登陸表格。

* 儲存

  儲存工作控制何時將資料套用至儲存表格，並建立和管理表格與外部檢視。

* 外部檢視

  使用資料時，最佳實務是使用檢視。與表格相比，檢視提供了多項優點，包括改善的資料並行性。

## 使用即時檢視

您可以使用即時檢視存取目前資料 (ODS) 和歷史資料 (HDS)。即時檢視包含來自變更表格中尚未套用至目前或先前表格的資料。這可讓您以較低的延遲查看資料，而無需頻繁套用變更的資料。延遲合併的功能可降低目標平台中的成本和處理需求。

即時檢視的另一個好處是運算層不需要一直執行。

* 登陸可以指向一個明確的倉庫，該倉庫可以很小，因為它只執行 INSERT 作業以實現快速執行。

* 例如，每天執行一次的儲存程序可以喚醒大型運算圖層進行處理。

* 延遲可以獲得改善，因為我們不再需要整天套用變更。當插入的新記錄在變更表格中可用時，它們會立即在即時檢視中可用。

[檢視影片剪輯](https://play.vidyard.com/USr4BCxeuYsVV1hE5JmKWb)

## 架構

成品會在內部架構和資料工作架構中產生。

* 內部架構包含實體資料表格。

* 資料工作架構包含可用來使用資料的檢視。

  當架構與多個資料工作相關聯時，每個資料工作必須為表格和檢視使用唯一的前置詞。您可以在資料工作設定中設定前置詞。

只有內部架構會檢查命名衝突。對於其他架構，您必須確定表格名稱中沒有命名衝突。最佳實務是將內部架構命名為與資料工作架構相同的名稱，並加上 \_internal。這將有效確保每個架構和前置詞組合都是唯一的。

當您刪除工作或專案時，由 Qlik Talend Data Integration 建立的架構不會被刪除。

資訊備註所有表格和檢視均由 Qlik Talend Data Integration 管理。請勿使用其他工具變更資料。

## 表格

下列表格建立於內部架構中。

資訊備註內部架構中的表格如有變更，恕不另行通知。在可能的情況下，您應主要使用檢視來使用資料。

* 目前表格 (ODS)

  此表格包含在最新套用間隔期間以變更更新的資料來源複本。

* 先前表格 (HDS)

  此表格包含類型 2 歷史資料。只有在資料工作設定中啟用 歷史記錄 時才會產生。

  當來源表格記錄更新時，每次都會將新記錄新增至先前表格。歷史記錄是前一個目前記錄的副本，其中也包含更新的內容以及其有效的時間。

  使用歷史檢視或歷史即時檢視來檢視歷史資料。如需詳細資訊，請參閱 [歷史檢視](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Storage/dataset-tables.htm#History) 和 [歷史即時檢視](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Storage/dataset-tables.htm#History2)。

* 變更表格

  此表格包含從工作開始以來對應來源表格的所有變更，且永遠不會被截斷。只有當登陸模式為 完整載入和 CDC 時才會產生。

  提示備註如果您的系統處理大量變更，請考慮定期從變更表格中截斷已套用的變更。這應可減少資源消耗並改善效能。

資訊備註

當您重新插入先前已刪除的記錄，且這些記錄具有相同的主索引鍵值時。hdr\_\_operation 的值將為 U - 已更新。

以 hdr\_\_ 開頭的欄名稱保留供 Qlik Talend Data Integration 在標頭欄中使用。如需詳細資訊，請參閱 [模糊的欄名稱](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Deploying/Troubleshooting-data-assets.htm#Ambiguou)。

### 目前表格

命名：&lt;INTERNAL\_SCHEMA&gt;.[&lt;PREFIX&gt;]&lt;TABLE\_NAME&gt;\_current

下列標頭欄會新增至表格結構中。

目前表格標頭欄位

| 欄位 | 類型 | 描述 |
| --- | --- | --- |
| hdr\_\_key\_hash | varbinary(20) | 所有記錄主索引鍵的雜湊。雜湊格式為 SHA1。欄位以退格字元分隔。<br><br>此欄不會在 資料超市 資料工作中產生。 |
| hdr\_\_key\_id | int64 | 每筆記錄遞增的序列。<br><br>此欄僅在 資料超市 資料工作中產生。 |
| hdr\_\_from\_timestamp | timestamp | UTC 格式的時間戳記<br><br><ul> <li> <p>對於從完整載入取得的資料，它將是完整載入開始時間。</p> </li> <li> <p>對於透過變更表格傳入的變更，它將是記錄的時間戳記欄位。</p> </li> </ul> |
| hdr\_\_operation | string(1) | 此記錄的最新作業。<br><br><ul> <li> <p>D - 從變更表格中刪除。</p> </li> <li> <p>U - 從變更表格中更新。</p> </li> <li> <p>I - 從變更表格中插入。</p> </li> <li> <p>L - 由完整載入工作插入。</p> </li> <li> <p>d - 從比較和套用中刪除。</p> </li> <li> <p>u - 從比較和套用中更新。</p> </li> <li> <p>i - 從比較和套用中插入。</p> </li> </ul> |
| hdr\_\_inserted\_timestamp | timestamp | 第一次新增索引鍵時的 UTC 時間戳記。使用完整載入時，為完整載入的開始時間。 |
| hdr\_\_modified\_timestamp | timestamp | 套用最後一次更新時的 UTC 時間戳記。 |

### 先前表格

已新增下列標頭欄位。

命名：&lt;INTERNAL\_SCHEMA&gt;.[&lt;PREFIX&gt;]&lt;TABLE\_NAME&gt;\_prior

先前表格標頭欄位

| 欄位 | 類型 | 描述 |
| --- | --- | --- |
| hdr\_\_key\_hash | varbinary(20) | 所有記錄主索引鍵的雜湊。<br><br>此欄不會在 資料超市 資料工作中產生。 |
| hdr\_\_key\_id | int64 | 每筆記錄遞增的序列。<br><br>此欄僅在 資料超市 資料工作中產生。 |
| hdr\_\_from\_timestamp | timestamp | UTC 格式的時間戳記 |
| hdr\_\_to\_timestamp | timestamp | UTC 格式的時間戳記 |
| hdr\_\_operation | string(1) | 此記錄的最新作業。<br><br><ul> <li> <p>D - 從變更表格中刪除。</p> </li> <li> <p>U - 從變更表格中更新。</p> </li> <li> <p>I - 從變更表格中插入。</p> </li> <li> <p>L - 由初始載入插入。</p> </li> <li> <p>d - 從比較和套用中刪除。</p> </li> <li> <p>u - 從比較和套用中更新。</p> </li> <li> <p>i - 從比較和套用中插入。</p> </li> </ul> |
| hdr\_\_was\_current\_from\_timestamp | timestamp | 記錄首次成為目前記錄時的 UTC 時間戳記。 |
| hdr\_\_was\_current\_to\_timestamp | timestamp | 記錄最後一次成為目前記錄時的 UTC 時間戳記。 |

### 變更表格

命名：&lt;INTERNAL\_SCHEMA&gt;.[&lt;PREFIX&gt;]&lt;TABLE\_NAME&gt;\_ct

下列標頭欄位會新增至表格結構中。

變更表格標頭欄位

| 欄位 | 類型 | 描述 |
| --- | --- | --- |
| hdr\_\_change\_identifier | varchar(50) | 變更識別碼是包含兩個部分的字串：<br><br><ul> <li> <p>自 1970/1/1 以來的批次執行開始時間戳記 (以毫秒為單位) (10 位數字串)</p> </li> <li> <p>來自複寫閘道器的變更序列 (35 個字元)</p> </li> </ul> |
| hdr\_\_operation | varchar(1) | 此記錄的最新作業。<br><br><ul> <li> <p>D - 從變更表格中刪除。</p> </li> <li> <p>U - 從變更表格中更新。</p> </li> <li> <p>I - 從變更表格中插入。</p> </li> <li> <p>d - 從比較和套用中刪除。</p> </li> <li> <p>u - 從比較和套用中更新。</p> </li> <li> <p>i - 從比較和套用中插入。</p> </li> </ul> |
| hdr\_\_timestamp | timestamp | UTC 格式的時間戳記。 |
| hdr\_\_key\_hash | binary(20) | 所有記錄主索引鍵的雜湊。<br><br>此欄不會在 資料超市 資料工作中產生。 |
| hdr\_\_key\_id | int64 | 每筆記錄遞增的序列。<br><br>此欄僅在 資料超市 資料工作中產生。 |

## 檢視

下列檢視建立於資料工作目標架構中。建立哪些檢視取決於您是否啟用了即時檢視和歷史記錄，以及您是否使用變更處理。

* 標準檢視

* 即時檢視

* 變更檢視

* 歷史檢視

* 歷史即時檢視

資訊備註所有以 hdr\_\_ 開頭的標頭欄名稱均為保留名稱。如果您在儲存工作中使用檢視，則必須在儲存工作中重新命名使用的標頭欄以避免命名衝突，因為儲存工作將產生具有相同標頭欄的檢視。

### 標準檢視

命名：&lt;EXTERNAL\_SCHEMA&gt;.[&lt;PREFIX&gt;]&lt;TABLE\_NAME&gt;

沒有標頭欄新增至表格結構中。

### 即時檢視

即時檢視會顯示每個所選來源表格的檢視，該檢視會將表格與變更表格中的變更合併。這為查詢提供了資料的即時檢視，而無需等待下一個套用週期。從變更表格檢視合併的變更在表格之間不具備交易一致性。

只有在資料工作設定中啟用 即時檢視 時，才會建立即時檢視。

命名：&lt;EXTERNAL\_SCHEMA&gt;.[&lt;PREFIX&gt;]&lt;TABLE\_NAME&gt;&lt; 即時檢視的後置詞&gt;

表格標頭欄位

| 欄位 | 類型 | 描述 |
| --- | --- | --- |
| hdr\_\_key\_hash | varbinary(20) | 所有記錄主索引鍵的雜湊。雜湊格式為 SHA1。欄位以退格字元分隔。<br><br>此欄不會在 資料超市 資料工作中產生。 |
| hdr\_\_key\_id | int64 | 每筆記錄遞增的序列。<br><br>此欄僅在 資料超市 資料工作中產生。 |
| hdr\_\_from\_timestamp | timestamp | UTC 格式的時間戳記<br><br><ul> <li> <p>對於從完整載入取得的資料，它將是完整載入開始時間。</p> </li> <li> <p>對於透過變更表格傳入的變更，它將是記錄的時間戳記欄位。</p> </li> </ul> |
| hdr\_\_operation | string(1) | 此記錄的最新作業。<br><br><ul> <li> <p>D - 從變更表格中刪除。</p> </li> <li> <p>U - 從變更表格中更新。</p> </li> <li> <p>I - 從變更表格中插入。</p> </li> <li> <p>L - 由完整載入工作插入。</p> </li> <li> <p>d - 從比較和套用中刪除。</p> </li> <li> <p>u - 從比較和套用中更新。</p> </li> <li> <p>i - 從比較和套用中插入。</p> </li> </ul> |
| hdr\_\_inserted\_timestamp | timestamp | 第一次新增索引鍵時的 UTC 時間戳記。使用完整載入時，為完整載入的開始時間。 |
| hdr\_\_modified\_timestamp | timestamp | 套用最後一次更新時的 UTC 時間戳記。 |
| hdr\_\_store | varchar(10) | 這表示記錄所在的位置。<br><br><ul> <li> <p><span>CURRENT</span> - 如果記錄位於目前的實體表格中。</p> </li> <li> <p><span>CHANGES</span> - 如果記錄位於變更表格中。</p> </li> </ul> |

### 變更檢視

這是每個所選來源表格在登陸架構中變更表格的檢視。

命名：&lt;EXTERNAL\_SCHEMA&gt;.[&lt;PREFIX&gt;]&lt;TABLE\_NAME&gt;\_changes

下列標頭欄位會新增至表格結構中。

變更檢視標頭欄位

| 欄位 | 類型 | 描述 |
| --- | --- | --- |
| hdr\_\_change\_identifier | string(50) | 變更識別碼是包含兩個部分的字串：<br><br><ul> <li> <p>自 1970/1/1 以來的批次執行開始時間戳記 (以毫秒為單位) (10 位數字串)</p> </li> <li> <p>來自複寫閘道器的變更序列 (35 個字元)</p> </li> </ul> |
| hdr\_\_from\_timestamp | timestamp | UTC 格式的時間戳記<br><br><ul> <li> <p>對於從完整載入取得的資料，它將是完整載入開始時間。</p> </li> <li> <p>對於透過變更表格傳入的變更，它將是記錄的時間戳記欄位。</p> </li> </ul> |
| hdr\_\_to\_timestamp | timestamp | UTC 格式的時間戳記<br><br><ul> <li> <p>對於從完整載入取得的資料，它將是完整載入開始時間。</p> </li> <li> <p>對於透過變更表格傳入的變更，它將是記錄的時間戳記欄位。</p> </li> </ul> |
| hdr\_\_operation | string(1) | 此記錄的最新作業。<br><br><ul> <li> <p>D - 從變更表格中刪除。</p> </li> <li> <p>U - 從變更表格中更新。</p> </li> <li> <p>I - 從變更表格中插入。</p> </li> <li> <p>L - 由完整載入工作插入。</p> </li> <li> <p>d - 從比較和套用中刪除。</p> </li> <li> <p>u - 從比較和套用中更新。</p> </li> <li> <p>i - 從比較和套用中插入。</p> </li> </ul> |
| hdr\_\_timestamp | timestamp | UTC 格式的時間戳記。 |
| hdr\_\_key\_hash | binary(20) | 所有記錄主索引鍵的雜湊。<br><br>此欄不會在 資料超市 資料工作中產生。 |
| hdr\_\_key\_id | int64 | 每筆記錄遞增的序列。<br><br>此欄僅在 資料超市 資料工作中產生。 |

### 歷史檢視

如果在資料工作設定中啟用了 歷史記錄，則會在每個所選來源表格的資料資產架構中產生歷史檢視。已新增下列標頭欄位。

命名：&lt;EXTERNAL\_SCHEMA&gt;.[&lt;PREFIX&gt;]&lt;TABLE\_NAME&gt;&lt; 歷史檢視的後置詞&gt;

歷史檢視標頭欄位

| 欄位 | 類型 | 描述 |
| --- | --- | --- |
| hdr\_\_key\_hash | binary(20) | 所有記錄主索引鍵的雜湊。<br><br>此欄不會在 資料超市 資料工作中產生。 |
| hdr\_\_key\_id | int64 | 每筆記錄遞增的序列。<br><br>此欄僅在 資料超市 資料工作中產生。 |
| hdr\_\_from\_timestamp | timestamp | UTC 格式的時間戳記<br><br><ul> <li> <p>對於從完整載入取得的資料，它將是完整載入開始時間。</p> </li> <li> <p>對於透過變更表格傳入的變更，它將是記錄的時間戳記欄位。</p> </li> </ul> |
| hdr\_\_to\_timestamp | timestamp | UTC 格式的時間戳記<br><br><ul> <li> <p>對於從完整載入取得的資料，它將是完整載入開始時間。</p> </li> <li> <p>對於透過變更表格傳入的變更，它將是記錄的時間戳記欄位。</p> </li> </ul> |
| hdr\_\_was\_current\_from\_timestamp | timestamp | 記錄首次成為目前記錄時的 UTC 時間戳記。 |
| hdr\_\_was\_current\_to\_timestamp | timestamp | 記錄最後一次成為目前記錄時的 UTC 時間戳記。 |
| hdr\_\_store | varchar(7) | 這表示記錄所在的位置。<br><br><ul> <li> <p><span>CURRENT</span> - 如果記錄位於目前的實體表格中。</p> </li> <li> <p><span>PRIORS</span> - 如果記錄位於包含歷史資料的先前表格中。</p> </li> </ul> |
| hdr\_\_operation | string(1) | 此記錄的最新作業。<br><br><ul> <li> <p>D - 從變更表格中刪除。</p> </li> <li> <p>U - 從變更表格中更新。</p> </li> <li> <p>I - 從變更表格中插入。</p> </li> <li> <p>L - 由完整載入工作插入。</p> </li> <li> <p>d - 從比較和套用中刪除。</p> </li> <li> <p>u - 從比較和套用中更新。</p> </li> <li> <p>i - 從比較和套用中插入。</p> </li> </ul> |
| hdr\_\_deleted | bit | 根據 hdr\_\_operation 是否為 D 或 d，指出記錄是否已軟刪除。 |

### 歷史即時檢視

歷史即時檢視會在資料資產架構中為每個所選來源表格產生，並將每個所選來源表格與變更表格中的變更合併。已新增下列標頭欄位。

命名：&lt;EXTERNAL\_SCHEMA&gt;.[&lt;PREFIX&gt;]&lt;TABLE\_NAME&gt;&lt; 即時歷史檢視的後置詞&gt;

即時歷史檢視標頭欄位

| 欄位 | 類型 | 描述 |
| --- | --- | --- |
| hdr\_\_key\_hash | binary(20) | 所有記錄主索引鍵的雜湊。<br><br>此欄不會在 資料超市 資料工作中產生。 |
| hdr\_\_key\_id | int64 | 每筆記錄遞增的序列。<br><br>此欄僅在 資料超市 資料工作中產生。 |
| hdr\_\_store | varchar(10) | 這表示記錄所在的位置。<br><br><ul> <li> <p><span>CURRENT</span> - 如果記錄位於目前的實體表格中。</p> </li> <li> <p><span>PRIORS</span> - 如果記錄位於包含歷史資料的先前表格中。</p> </li> <li> <p><span>CHANGES</span> - 如果記錄位於變更表格中。</p> </li> </ul> |
| hdr\_\_operation | string(1) | 此記錄的最新作業。<br><br><ul> <li> <p>D - 從變更表格中刪除。</p> </li> <li> <p>U - 從變更表格中更新。</p> </li> <li> <p>I - 從變更表格中插入。</p> </li> <li> <p>L - 由完整載入工作插入。</p> </li> <li> <p>d - 從比較和套用中刪除。</p> </li> <li> <p>u - 從比較和套用中更新。</p> </li> <li> <p>i - 從比較和套用中插入。</p> </li> </ul> |
| hdr\_\_deleted | bit | 根據 hdr\_\_operation 是否為 D 或 d，指出記錄是否已軟刪除。 |