重要概念和功能

行為和應用實例

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

概念

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

變更資料擷取

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

事件來源

事件來源於 2005 年推出,是一種設計模式,可將應用程式狀態的每項變更擷取至事件物件。應用程式可運用事件來源重建狀態、執行時間點復原 (處理事件直到該時間點為止)、在邏輯變更時重新計算狀態,或啟用命令查詢責任分離 (CQRS) 設計。隨著即時事件處理工具不斷演進,許多應用程式都改用事件來源模式。從歷史來看,由於原子性、一致性、獨立性和耐用性 (ACID) 的要求,交易資料庫一向以事件為導向。

交易式資料庫

在交易式資料庫中,資料庫即將執行的作業集通常會先寫入預寫記錄檔 (WAL),然後才在儲存引擎上執行任何作業。在儲存空間引擎上執行作業並提交至 WAL 後,作業即視為成功。使用 WAL 可確保完整性和耐久性,並實現資料庫的高精確度複製。部分資料庫會將儲存空間層級的確切作業 (例如 write 0x41 on 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 可從任何 Oracle 來源版本 11.2g 以上,提供以 LogMiner 為基礎的 CDC 串流,無須支付額外授權費用或安裝軟體。

  • BigQuery 目的地:來源的變更內容會近乎即時地持續複製到 BigQuery 資料表。BigQuery 中的資料幾乎可立即用於分析。

  • Cloud Storage 目的地:系統會持續將 CDC 資料寫入 Cloud Storage 中自我描述的 Avro 或 JSON 檔案。這項資訊可供額外處理,可以直接在該位置處理,也可以載入下游的其他目的地,例如 Spanner。

用途

Datastream 主要有三種使用情境:

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

行為總覽

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

來源

  • 如要搭配使用 Datastream,您必須設定來源,包括驗證和額外設定選項。
  • 每個來源都會產生事件,反映所有資料操縱語言 (DML) 變更。
  • 每個串流都可以補充歷來資料,並將進行中的變更串流至目的地。

目的地

Datastream 支援 BigQuery 和 Cloud Storage 做為目的地。建立串流時,系統會定義所選的 BigQuery 資料集或 Cloud Storage 值區。

活動傳送

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

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

高可用性和災難復原

本節包含 Datastream 如何處理高可用性和災難復原相關情境的資訊。

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

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

初始資料和 CDC 資料

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

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

後續步驟