行為和應用實例
使用者可透過 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。
後續步驟
- 進一步瞭解 Datastream。
- 進一步瞭解活動和串流。
- 瞭解統一類型對應。
- 進一步瞭解 Datastream 支援的來源。
- 進一步瞭解 Datastream 支援的目的地。
- 瞭解如何建立私人連線設定、連線設定檔和串流。