行為和用途
Datastream 可讓使用者以近乎即時的方式,將關聯式資料庫管理系統 (RDBMS) 和其他來源的來源資料匯入 BigQuery 和 Cloud Storage 等目的地。這可用於後端用途,例如將資料載入 BigQuery 進行資料倉儲和分析,或是在資料上執行 Spark 工作,以便進行人工智慧和機器學習用途。
概念
變更資料擷取
變更資料擷取 (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 bucket。
事件傳送
- 我們無法保證事件順序。事件中繼資料包含可用於排序事件的資訊。
- 事件傳送至少會發生一次。事件中繼資料包含可用於移除目的地中任何重複資料的資料。
- 事件大小上限為每個事件 20 MB (BigQuery 目的地) 和每個事件 100 MB (Cloud Storage 目的地)。
如要進一步瞭解事件,請參閱「事件和串流」。
高可用性和災難復原
本節說明 Datastream 如何處理高可用性和災難復原相關情境。
高可用性:Datastream 是區域性服務,會在每個區域的多個可用區上執行。某個地區的單一區域發生故障,不會影響其他區域的服務可用性或品質。
災難復原:如果某個區域發生故障,則在該區域運作的所有串流都會在停機期間中斷。中斷服務問題解決後,Datastream 會從中斷處繼續執行,並從來源重新擷取尚未寫入目的地的任何資料。在這種情況下,目的地可能會出現資料重複的情形。如要進一步瞭解如何移除重複資料,請參閱「事件提交」。
初始資料和 CDC 資料
由於資料來源會在連線至串流之前 (即時資料) 就存在資料,因此 Datastream 會根據即時資料和歷來資料產生事件。
為確保快速存取資料,系統會同時將歷來資料和即時資料變更複製到目的地。事件中繼資料會指出該事件是來自回填資料或 CDC 資料。
後續步驟
- 進一步瞭解 Datastream。
- 進一步瞭解事件和串流。
- 瞭解統一類型對應。
- 進一步瞭解 Datastream 支援的來源。
- 進一步瞭解 Datastream 支援的目的地。
- 瞭解如何建立私人連線設定、連線設定檔和串流。