重要概念和功能

行為和用途

Datastream 可讓您從關聯式資料庫管理系統 (RDBMS) 和其他來源擷取來源資料,並近乎即時地匯入 BigQuery、Apache Iceberg 資料表和 Cloud Storage 等目的地。這項功能可支援下游用途,例如將資料載入 BigQuery,用於資料倉儲和分析,或對資料執行 Apache Spark 工作,用於人工智慧和機器學習工作負載。

概念

本節說明有效使用 Datastream 時需要瞭解的主要概念。

變更資料擷取

變更資料擷取 (CDC) 是一組軟體設計模式,用於判斷及追蹤變更的資料,以便應用程式處理更新。CDC 也是一種資料整合方法,可識別、擷取及傳送企業資料來源的變更。

事件來源

事件來源設計模式會擷取應用程式狀態的每個變更,並以事件物件的形式呈現。應用程式可透過事件來源重建狀態、執行時間點復原 (處理該時間點前的事件)、在商業邏輯變更時重新計算狀態,或啟用命令查詢責任分離 (CQRS) 架構。隨著即時事件處理工具的演進,許多應用程式都採用事件來源模式。交易資料庫本質上是以事件為導向,可滿足完整性、一致性、獨立性和耐用性 (ACID) 的需求。

交易式資料庫

在交易資料庫中,資料庫執行的一系列作業通常會先寫入預寫記錄檔 (WAL),再對儲存引擎執行任何作業。在儲存空間引擎上執行作業並提交至 WAL 後,作業即視為成功。使用 WAL 可確保完整性和耐久性,並實現高保真度的資料庫複製作業。部分資料庫會將儲存空間層級發生的確切作業 (例如 write 0x41 at location 20) 寫入記錄,因此這些動作只能在相同的儲存空間引擎上複製。其他資料庫會記錄完整的邏輯陳述式 (或資料列),可在不同的儲存引擎上重新執行。

活動與串流

Datastream 會從各種來源近乎即時地擷取大量資料,並在目的地提供這些資料以供使用。Datastream 儲存的資料單位是事件。串流代表從來源持續擷取事件,並將事件寫入目的地。

一致的類型

資料來源有自己的資料類型,有些是資料庫專用,有些則是通用且可在資料庫之間共用。由於多個來源會將串流產生至統一目的地,因此所有來源都必須採用原始來源類型的標準表示法。統一型別是所有來源資料型別的常見無損表示法,因此資料可以連貫地使用。Datastream 支援的統一類型代表所有正規化類型的超集,適用於支援的來源系統。

實體結構定義

Datastream 包含五個實體:

  • 私人連線設定可讓 Datastream 透過安全的私人網路連線與資料來源通訊。這類通訊會透過虛擬私有雲 (VPC) 對等互連進行。
  • 連線設定檔代表特定來源或目的地資料庫的連線資訊。
  • 串流代表一組來源和目的地連線設定檔,以及串流專屬設定。
  • 物件代表串流的一部分。舉例來說,資料庫串流會為每個串流資料表提供資料物件。
  • 事件代表特定物件的每個資料操縱語言 (DML) 變更。

建立私人連線設定後,即可透過私人通訊管道,連線至 Google Cloud 或其他位置代管的來源。私人連線為選用功能。 Datastream 也支援透過公用網路連線的其他模式。

為來源和目的地建立連線設定檔後,您就可以建立串流,使用連線設定檔中儲存的資訊,將資料從來源傳輸至目的地。

建立串流後,Datastream 會直接連線至來源、取用內容,然後根據事件結構處理事件並寫入至目的地。

您可以分別管理私人連線設定和連線設定檔,以便重複使用。

功能與特色

Datastream 的功能包括:

  • 無伺服器:設定串流之後,資料就會開始移動。無須費心處理安裝、資源分配或維護事宜。Datastream 的自動調度資源功能會依據資料量變化,自動分配資源,確保資料近乎即時移動。
  • 以 Avro 為基礎的統一類型結構定義:Datastream 會將所有來源專屬資料類型轉換為以 Avro 類型為基礎的統一 Datastream 類型結構定義,以便進行來源獨立處理。
  • 串流舊有資料和 CDC 資料:Datastream 會近乎即時地同時串流舊有資料和 CDC 來源資料。
  • Oracle CDC 無須額外授權:Datastream 提供以 LogMiner 為基礎的 CDC 串流,可從任何 Oracle 來源版本 11.2 以上版本串流資料,無須額外授權或安裝軟體。
  • BigQuery 目的地:來源的變更會以近乎即時的方式持續複製到 BigQuery 資料表。BigQuery 中的資料可供分析,延遲時間極短。
  • Cloud Storage 目的地:CDC 資料會持續寫入 Cloud Storage 中自我描述的 Avro 或 JSON 檔案。您可以直接在該處處理這項資料,也可以將資料載入至下游的其他目的地 (例如 Spanner),以進行額外處理。
  • 透過 Knowledge Catalog 集中管理中繼資料:Datastream 資源 (例如串流、連線設定檔和連線設定) 會自動與 Knowledge Catalog 同步。您可以在 Knowledge Catalog 使用者介面中,直接搜尋及瀏覽這些資產。

用途

Datastream 主要有三種用途:

  • 資料整合:來自資料庫和軟體即服務 (SaaS) 雲端服務的資料串流,可將資料載入 BigQuery,提供近乎即時的資料整合管道。
  • 串流分析:資料庫中的變更會擷取至使用 Dataflow 的串流管道,用於偵測詐欺、處理安全事件及偵測異常。
  • 近乎即時的資料變更可用性:近乎即時的資料變更可用性可為人工智慧和機器學習應用程式提供支援,防止流失或透過行銷活動或將資料回饋至生產系統來提高參與度。

行為總覽

Datastream 可讓你將多個資料來源的持續變更,直接串流至 Google Cloud。

來源

  • 使用 Datastream 來源前,請先設定驗證和額外的來源選項。
  • 每個來源都會產生事件,反映所有資料操縱語言 (DML) 變更。
  • 每個串流都可以補充歷來資料,並將持續變更串流至目的地。

目的地

Datastream 支援 BigQuery、Apache Iceberg 資料表和 Cloud Storage 做為目的地。建立串流時,請定義目的地設定。

活動傳送

  • 我們不保證事件順序事件中繼資料包含可用於排序事件的資訊。
  • 事件傳送至少會發生一次。事件中繼資料包含可用於移除目的地中任何重複資料的資料。
  • BigQuery 目的地的事件大小上限為每個事件 20 MB,Cloud Storage 目的地的事件大小上限則為每個事件 100 MB。

如要進一步瞭解事件,請參閱「事件和串流」。

高可用性和災難復原

Datastream 可在不同可用區之間提供高可用性,並在區域服務中斷期間管理災難復原作業:

  • 高可用性:Datastream 是區域性服務,在每個區域的多個可用區中執行。任何一個區域發生單一可用區故障,都不會影響其他可用區的服務可用性或品質。

  • 災難復原:如果某個區域發生故障,該區域中執行的所有串流都會在服務中斷期間無法使用。服務中斷問題解決後,Datastream 會從停止作業的位置繼續,並從來源再次擷取尚未寫入目的地的資料。在這種情況下,目的地中可能會有重複資料。如要瞭解如何移除重複資料,請參閱「事件傳送」一文。

初始資料和變更資料擷取資料

由於資料來源在連線至串流前就已存在資料 (歷來資料),因此 Datastream 會從歷來資料和即時發生的資料變更產生事件。

為確保資料存取速度,系統會同時將歷來資料和即時資料變更複製到目的地。事件中繼資料會指出事件是來自回填或 CDC。

後續步驟