使用 Datastream 以近乎即時的方式將資料複製到 BigQuery

瞭解如何使用 Datastream,將來源資料庫中的資料複製到 BigQuery 資料集。


如要直接在 Google Cloud 控制台按照逐步指南操作,請按一下「Guide me」(逐步引導)

逐步引導


事前準備

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  5. Make sure that billing is enabled for your Google Cloud project.

  6. Enable the Datastream API.

    Enable the API

  7. 請確認您已為使用者帳戶指派 Datastream 管理員角色。

    前往「身分與存取權管理」頁面

  8. 如果您想為標準或共用虛擬私有雲網路建立私人連線設定,則必須完成其他事前準備。詳情請參閱「建立私人連線設定」。

需求條件

Datastream 提供多種來源選項、目的地選項和網路連線方法。

在本快速入門課程中,我們假設您要將資料從 PostgreSQL 適用的 Cloud SQL 資料庫複製到 BigQuery。對於來源資料庫,您應該可以將資料庫執行個體設為接受來自 Datastream 公開 IP 位址的連線。

由於我們無法得知您的環境詳細資訊,因此無法提供網路設定的詳細步驟。

在本快速入門導覽課程中,您將選取「IP 許可清單」做為網路連線方式。IP 許可清單是一種安全性功能,通常用於限制及控管來源資料庫中資料的存取權,只允許信任的使用者存取。您可以使用 IP 許可清單建立可信任的 IP 位址或 IP 範圍清單,讓使用者和其他雲端服務 (例如 Datastream) 存取這項資料。如要使用 IP 許可清單,您必須讓來源 Cloud SQL 資料庫接受來自 Datastream 的連入連線。

建立連線設定檔

建立連線設定檔後,您就能在 Datastream 中儲存來源和目的地的部分基本資訊。您可以在多個串流中重複使用這項資訊。

在本快速入門課程中,您將選取「PostgreSQL」做為來源連線設定檔的設定檔類型,並選取「BigQuery」做為目的地連線設定檔的設定檔類型。Datastream 會使用連線設定檔中的資訊,連線至來源資料庫和 BigQuery。

為 PostgreSQL 資料庫建立來源連線設定檔

  1. 在 Google Cloud 控制台中,前往 Datastream 的「Connection profiles」(連線設定檔) 頁面。

    前往「連線設定檔」頁面

  2. 按一下「建立設定檔」

  3. 在「Create a connection profile」頁面中,按一下「PostgreSQL」設定檔類型 (因為您要為 PostgreSQL 資料庫建立來源連線設定檔)。

  4. 在「Create PostgreSQL profile」頁面的「Define connection settings」部分提供下列資訊:

    • 輸入 My Source Connection Profile 做為來源資料庫的連線設定檔名稱
    • 保留系統自動產生的連線設定檔 ID
    • 選取要儲存連線設定檔的區域

    • 輸入連線詳細資料

      • 在「主機名稱或 IP」欄位中,輸入 Datastream 可用來連線至來源 PostgreSQL 資料庫的主機名稱或公開 IP 位址。您提供公開 IP 位址,是因為IP 許可清單將用於本快速入門導覽課程的網路連線方式。
      • 在「Port」欄位中,輸入用於來源資料庫的通訊埠號碼。對於 PostgreSQL 資料庫,預設通訊埠通常為 5432
      • 輸入使用者名稱密碼,驗證來源資料庫。
      • 在「資料庫」欄位中輸入可用來辨識資料庫執行個體的名稱。對於 PostgreSQL 資料庫,這個值通常是 postgres
  5. 在「定義連線設定」部分中,按一下「繼續」。「Create PostgreSQL profile」頁面中的「Define connectivity method」部分已啟用。

  6. 請選擇要用來建立來源資料庫與 Datastream 之間連線的網路方法。在本快速入門課程中,請使用「連線方式」下拉式選單,選取「IP 許可清單」做為網路連線方式。

  7. 將來源資料庫設為接受來自顯示的 Datastream 公開 IP 位址的連入連線。

  8. 在「Define connectivity method」部分,按一下「CONTINUE」「Create PostgreSQL profile」頁面中的「Test connection profile」部分已啟用。

  9. 點選「執行測試」,確認來源 PostgreSQL 資料庫和 Datastream 可以相互通訊。

  10. 確認是否顯示「測試通過」狀態。

  11. 如果測試失敗,您可以在流程的適當部分解決問題,然後返回重新測試。如要瞭解疑難排解步驟,請參閱「診斷問題」頁面。

  12. 點選「建立」。

為 BigQuery 建立目的地連線設定檔

  1. 在 Google Cloud 控制台中,前往 Datastream 的「Connection profiles」(連線設定檔) 頁面。

    前往「連線設定檔」頁面

  2. 按一下「建立設定檔」

  3. 在「Create a connection profile」頁面中,點選「BigQuery」設定檔類型 (因為您要為 BigQuery 建立目的地連線設定檔)。

  4. 在「Create BigQuery profile」(建立 BigQuery 設定檔) 頁面中提供下列資訊:

    • 輸入 My Destination Connection Profile 做為目的地 BigQuery 服務的連線設定檔名稱
    • 保留系統自動產生的連線設定檔 ID
    • 選取要儲存連線設定檔的區域
  5. 點選「建立」。

建立 PostgreSQL 資料庫的來源連線設定檔和 BigQuery 的目的地連線設定檔後,即可使用這些設定檔建立資料串流。

建立串流

在本節中,您將建立串流,將來源 PostgreSQL 資料庫中的資料複製到 BigQuery。

建立串流的步驟包括:

  • 定義串流的設定。
  • 選取您為來源資料庫建立的連線設定檔 (來源連線設定檔)。在本快速入門課程中,這會是「我的來源連線設定檔」
  • 設定串流的來源資料庫相關資訊,方法是指定複製屬性,以及 Datastream 來源資料庫中的資料表和結構定義:
    • 可轉移至目的地。
    • 無法轉乘至目的地。
  • 決定 Datastream 是否會補充歷來資料,以及是否會將持續變更的資料串流至目的地,或是只串流資料的變更。
  • 選取您為 BigQuery 建立的連線設定檔 (目的地連線設定檔)。在本快速入門導覽課程中,這會是「我的目的地連線設定檔」
  • 設定串流目的地的相關資訊,例如設定 BigQuery 資料集。
  • 正在驗證串流。

定義串流的設定

  1. 前往 Google Cloud 控制台的 Datastream「Streams」(串流) 頁面。

    前往「串流」頁面

  2. 按一下「建立串流」

  3. 在「建立串流」頁面的「定義串流詳細資料」面板中,提供下列資訊:

    • 輸入 My Stream 做為「串流名稱」
    • 保留系統自動產生的「串流 ID」
    • 在「Region」選單中,選取您建立來源連線設定檔的區域。
    • 在「來源類型」選單中,選取「PostgreSQL」設定檔類型。
    • 在「Destination type」選單中,選取「BigQuery」設定檔類型。
  4. 查看系統自動產生的必要條件,瞭解環境必須如何準備串流。這些必要條件包括如何設定來源資料庫,以及如何設定 BigQuery。

  5. 按一下「繼續」。「Create stream」頁面隨即顯示「Define PostgreSQL connection profile」面板。

指定來源連線設定檔的相關資訊

  1. 在「Source connection profile」選單中,選取 PostgreSQL 資料庫的來源連線設定檔

  2. 點選「執行測試」,確認來源資料庫和 Datastream 可以相互通訊。

    如果測試失敗,系統會顯示與連線設定檔相關的問題。如要瞭解疑難排解步驟,請參閱「診斷問題」頁面。進行必要變更來修正問題,然後重新測試。

  3. 按一下「繼續」。「Create stream」頁面的「Configure stream source」面板隨即顯示。

設定串流的來源資料庫相關資訊

  1. 請提供來源資料庫的「Replication slot」(複製運算單元)和「Publication」(發布作業)名稱。設定 PostgreSQL 資料庫時,系統會建立複製運算單元與發布作業。

  2. 使用「Objects to include」(要包含的物件) 選單,指定 Datastream 會複製到 BigQuery 的來源資料庫中的資料表和結構定義。只有在資料庫中最多有 5,000 個物件時,系統才會載入選單。

    在本快速入門導覽課程中,您希望 Datastream 轉移所有資料表和結構定義。因此,請從選單中選取「採用任何結構定義的所有資料表」

  3. 按一下「繼續」。「Create stream」頁面隨即顯示「Define BigQuery connection profile」面板。

選取目的地連線設定檔

  1. 在「Destination connection profile」選單中,選取 BigQuery 的目的地連線設定檔

  2. 按一下「繼續」。「Create stream」頁面隨即顯示「Configure stream destination」面板。

設定串流目的地的相關資訊

  1. 選擇「Dataset for each schema」(針對每個結構定義建立資料集) 選項,讓 Datastream 在 BigQuery 中針對來源資料庫中的每個結構定義自動建立資料集。

  2. 選取在 BigQuery 中建立資料集的「Location type」(位置類型)。雖然這個位置不一定要與建立 Datastream 串流的區域相同,但為了提升成本和效能,建議您將所有資源和資料集都放在同一個區域。

  3. 將「Prefix」設為 quickstart-。Datastream 會在 BigQuery 中建立的每個資料集開頭加入這個字串。

  4. 將「Stream write mode」的值設為「Merge」。這樣一來,BigQuery 中的資料表就會與來源保持同步。

  5. 將「指定資料過時程度限制」下拉式清單中的值設為 15 分鐘。BigQuery 會根據這個值,決定查詢資料時資料的過時程度。

  6. 按一下「繼續」。「Create stream」頁面隨即顯示「Review stream details and create」面板。

建立串流

  1. 確認串流的詳細資料,以及串流會用來將資料從來源 PostgreSQL 資料庫傳輸至 BigQuery 的來源和目的地連線設定檔。

  2. 按一下「執行驗證」,驗證串流。驗證串流時,Datastream 會檢查來源是否已正確設定、驗證串流是否可連線至來源和目的地,並驗證串流的端對端設定。

  3. 通過所有驗證檢查後,按一下「建立」

  4. 在「Create stream?」對話方塊中,按一下「CREATE」

開始串流

在快速入門的上一節中,您已建立串流,但尚未啟動。你可以立即執行這項操作。

在本快速入門課程中,您將分別建立及啟動串流,以免串流建立程序導致來源資料庫的負載增加。如要延遲該負載,請建立串流但不要啟動,然後在可產生負載時啟動串流。

啟動串流後,Datastream 就能將資料、結構定義和資料表從來源資料庫轉移至目的地。

  1. 前往 Google Cloud 控制台的 Datastream「Streams」(串流) 頁面。

    前往「串流」頁面

  2. 找出要啟動的串流,然後勾選左側的核取方塊。在本快速入門導覽課程中,這會是「我的串流」

  3. 按一下 [START] (開始)。

  4. 在對話方塊中按一下「開始」。串流的狀態會從 Not started 變更為 Starting,再變更為 Running

    啟動串流後,您可以確認 Datastream 是否已將資料從來源資料庫轉移至目的地。

驗證串流

在本節中,您會確認 Datastream 將來源 PostgreSQL 資料庫的所有資料表資料轉移至 BigQuery。

  1. 前往 Google Cloud 控制台的 Datastream「Streams」(串流) 頁面。

    前往「串流」頁面

  2. 按一下你建立的串流。在本快速入門導覽課程中,這會是「我的串流」

  3. 在「串流詳情」頁面中,按一下「目的地寫入路徑」欄位下方的連結。BigQuery Studio 會在另一個分頁中開啟。

  4. 確認您看見代表來源 PostgreSQL 資料庫結構定義和資料表的資料集和資料表。

  5. 按一下其中一個資料表,即可預覽資料。

清除所用資源

如要避免系統向您的 Google Cloud 帳戶收取您在本頁所用資源的費用,請按照下列步驟操作。

  1. 您可以使用 Google Cloud 控制台刪除專案、Datastream 串流和連線設定檔,以及 BigQuery 資料集。

清除在 Datastream 上建立的資源,這些資源就不會占用配額,您日後也無須為其付費。下列各節將說明如何刪除或停用這些資源。

刪除專案

如要避免付費,最簡單的方法就是刪除您為本快速入門導覽課程建立的專案。

  1. 前往 Cloud 控制台中的「管理資源」頁面。

    前往「管理資源」頁面

  2. 在專案清單中選取要刪除的專案,然後點按「刪除」。

  3. 在對話方塊中輸入專案 ID,然後按一下「Shut down」(關閉) 即可刪除專案。

刪除串流

  1. 前往 Google Cloud 控制台的 Datastream「Streams」(串流) 頁面。

    前往「串流」頁面

  2. 按一下要刪除的串流。在本快速入門導覽課程中,這會是「我的串流」

  3. 按一下「暫停」

  4. 在對話方塊中,按一下「暫停」

  5. 在「串流詳細資料」頁面的「串流狀態」窗格中,確認串流的狀態為 Paused

  6. 按一下 [刪除]

  7. 在對話方塊的文字欄位中輸入 Delete,然後按一下「DELETE」

刪除連線設定檔

  1. 在 Google Cloud 控制台中,前往 Datastream 的「Connection profiles」(連線設定檔) 頁面。

    前往「連線設定檔」頁面

  2. 找出要刪除的每個連結設定檔,然後勾選對應的核取方塊。在本快速入門課程中,請勾選「我的來源連線設定檔」和「我的目的地連線設定檔」的核取方塊。

  3. 按一下 [刪除]

  4. 在對話方塊中按一下「刪除」

刪除 BigQuery 資料集

  1. 前往 Google Cloud 控制台的「BigQuery Studio」頁面。

    前往 BigQuery Studio

  2. 展開您在本快速入門導覽課程中建立的專案節點。

  3. 針對要刪除的每個資料集,依序按一下「View actions」選單和「Delete」

  4. 在對話方塊的文字欄位中輸入 delete,然後按一下「DELETE」

後續步驟