總覽
在這個主題中,我們將為您解答 Datastream 的常見問題。此常見問題與下列項目相關:
- DataStream 與變更資料擷取 (CDC) 的一般問題
- MySQL 變更資料擷取 (CDC)
- Oracle 變更資料擷取 (CDC)
- DataStream 的常見用途
- Datastream 如何與 Google Cloud 資料服務整合
- DataStream 預覽與 Google Analytics (分析) 版本的相關資訊
- DataStream 的行為與限制
- 安全性與連線
- 處理資料串流檔案
- 監控資料串流
- 定價
- DataStream 的其他相關資訊
DataStream 與變更資料擷取 (CDC) 的一般問題
問題 | 回應 |
---|---|
什麼是資料串流? | DataStream 是一款無伺服器且易於變更的資料擷取 (CDC) 與複製服務,能讓您以穩定可靠的方式,跨異質資料庫和應用程式同步資料串流。Datastream 支援將資料從 Oracle 和 MySQL 資料庫的資料串流至 Cloud Storage。 這項服務能簡化與 Dataflow 範本的整合,讓您能在 BigQuery 中獲得具體化檢視表、將其資料庫複製到 Cloud SQL 或 Cloud Spanner 以進行資料庫同步處理,或是透過 Cloud Storage 直接利用串流處理事件導向架構,才能使用 Android 手機或平板電腦尋找另一部裝置。如要搭配轉換到 BigQuery 來建立資料管道,DataStream 也會與 Cloud Data Fusion 整合。 |
什麼是 CDC? | CDC 是一種資料整合方法,能夠減少系統資源整合並分析資料。這個方法僅用來從資料來源擷取最新的變更 (更新、插入或刪除),通常是透過讀取來源來保留內部交易完整性的變更記錄。 CDC 能有效降低新資料載入作業與資料倉儲空間之來源的影響,而且無須透過載入大量載入或即時串流的方式,將資料變更為目的地。 在 CDC 中,有許多用途都能從發生資料的持續性存取中獲取價值,像是數據分析、跨分散式系統同步處理資料,以及事件導向架構等。 |
什麼是候補廣告? | 除了持續的變更之外,DataStream 還使用補充作業從來源提取所有現有資料,然後將資料串流至目的地。因此,目的地會「填入」內含來源的所有歷來資料。 |
DataStream 資料串流方法為何? | 資料串流會以下列其中一種方式,將資料從一個來源串流至目的地:
|
什麼是變更串流? | 變更串流是指資料串流發送到目的地 (例如 Cloud Storage 以進行下游) 的事件序列。寫入目的地串流的資料寫入目的地是一組檔案,包含特定資料庫表在一段時間內的變更記錄事件。這些事件代表從來源中刪除資料表的插入、更新和刪除作業。您可以針對以事件驅動架構的服務 (例如 Dataflow),針對目的地使用的事件處理及處理事件。 |
什麼是實質化檢視表? | 具體化檢視表是目的地中來源資料表最新 1 到 1 的最新表示法。這類檢視表是 Oracle 資料庫表格,而這個資料表的變更會持續複製到 BigQuery 資料表。因此,使用 Oracle 資料表串流的變更,BigQuery 資料表隨時保持在最新狀態。 具體化檢視表會耗用各項變更事件,並透過更新內容更新具體化檢視表。DataStream 會使用 Dataflow 整合範本,從目的地提取變更串流事件,並據此更新目標資料表,藉此將 BigQuery、Cloud SQL 和 Cloud Spanner 的具體具體化轉換為目的地。 |
DataStream 需要來源的代理程式嗎? | 您不需要在來源安裝代理程式。Datastream 使用現有介面 (例如 Oracle LogMiner) 移出資料。 |
對資料串流在實際工作環境資料庫使用效能的影響有何影響? | CDC 可在新資料載入目的地資料儲存庫和資料倉儲時,對來源影響的效率有效。此外,CDC 還能夠採用對資料進行大量載入或即時串流資料變更的流程,取代大量載入以及順暢的批次視窗。 此外,資料串流會限制並行補充工作的數量,並將控制中的物件做為補充作業和背回後端,藉此將初始補充作業所造成的影響降至最低。 |
您可以將記錄檔從來源複製到 Google Cloud 嗎? | 否。Datastream 會直接從資料庫伺服器查詢記錄,只有指定的資料表會寫入目的地。 |
DataStream 也能移轉歷來資料嗎? | 可以,根據預設,DataStream 會從您指定的來源資料庫即時擷取所有歷來資料資料,並合併至 CDC 串流。DataStream 可讓您靈活選擇從來源中的部分或所有資料庫資料表取得歷史資料。此外,設定串流時,您可以選擇停用過往候補廣告。 |
DataStream 支援的資料列大小上限為何? | 資料串流目前最多只能包含 3 MB 的資料列。 |
資料串流保證一定會排序嗎? | 資料串流不保證一定會排序。針對每個事件提供額外的中繼資料,可用於確保目的地值區中最終一致性。最終一致性、頻率和頻率等參數,通常能在 1 小時內完成。 |
DataStream 保證只要傳送一次即可? | 不行,資料串流至少必須傳送一次。DataStream 寫入每個事件的額外中繼資料,可用於移除重複的資料。 |
Datastream 如何處理結構定義中的來源變更? | Datastream 會定期從來源擷取結構定義。不過,在結構定義擷取期間,系統可能無法偵測到部分結構定義變更,這可能會導致資料不一致。我們計劃即時擷取資料定義語言事件,以便解決目前這種限制。 |
您是否使用加密的資料庫? | 會。 |
DataStream 是否可串流來自特定來源的資料表和資料欄? | 可以,DataStream 可以讓您針對資料表和結構定義指定及排除清單,只將串流中的資料傳輸至目的地。對於納入的表格,您可以排除資料表的某些資料欄,進一步微調要以串流方式將資料傳入目的地。不過,系統無法複製已建立的檢視表。 |
如何將串流移至其他專案或地區? |
MySQL 變更資料擷取 (CDC)
問題 | 回應 |
---|---|
DataStream 如何將資料移出 MySQL? | Datastream 使用 MySQL 的二進位檔記錄,從 MySQL 擷取變更事件。 |
Oracle 變更資料擷取 (CDC)
問題 | 回應 |
---|---|
DataStream 如何將資料移出 Oracle? | Datastream 使用 Oracle LogMiner 從 Oracle 的重做記錄擷取資料。 |
DataStream 需要 Oracle 中的 GoldGate 授權嗎? | 否,Datastream 使用 Oracle LogMiner 從資料庫的重做記錄讀取資料。 |
停止支援 Oracle LogMiner 會發生什麼情況? | 日後推出的版本將支援 Oracle。Oracle LogMiner 目前全面開放所有 Oracle 版本。 |
Datastream 是否支援 Oracle 多用戶群架構,特別是容器資料庫 (CDB) 和可插入資料庫 (PDB)? | DataStream 目前不支援 CDB 和 PDB,但我們目前正在規劃藍圖。 |
用途
問題 | 回應 |
---|---|
使用資料串流的常見用途有哪些? | DataStream 屬於美國疾病管制與預防中心 (CDC) 與複製服務,這代表在各種不同情況下,可以持續使用串流資料變更的長期用途。資料串流最常見的用途如下:
|
整合
問題 | 回應 |
---|---|
DataStream 如何與 Google Cloud 資料服務整合? | DataStream 可將來自不同來源的 CDC 資料複製到各種 Google Cloud 服務,藉此強化及強化 Google Cloud 資料套件。DataStream 與這些服務完美整合,能融入較大 Google Cloud 生態系統。 DataStream 已與下列資料服務整合:
|
預覽與評估
問題 | 回應 |
---|---|
資料串流的預覽和 Google Analytics (分析) 版本何時會推出? | DataStream 現已推出預覽版。我們預計於今年稍晚正式推出 Google Analytics (分析) 版本。 |
DataStream 支援哪些來源和目的地來支援預覽? | |
Data Stream 支援哪些來源和目的地? | DataStream 支援的來源和目的地均與 Google Analytics (分析) 預覽用。 |
DataStream 可以處理加密的資料庫嗎? | 會。 |
DataStream 的地區可用性為何? | 如要查看提供資料串流的地區清單,請參閱 IP 允許的清單和地區。 如果是 Google Analytics (分析),則資料串流服務適用於所有地區。 |
行為與限制
問題 | 回應 |
---|---|
DataStream 支援哪些來源版本? | MySQL 的資料串流支援 5.6、5.7 和 8.0。支援任何與 MySQL 相容的資料庫,包括但不限於:
針對 Oracle,Datastream 支援 11g 版本、12c 版本 2、18c 和 19c (非 SCAN 設定、CDB/PDB 或自治資料庫)。支援任何與 Oracle 相容的資料庫,包括但不限於:
|
DataStream 如何從來源擷取資料? | 針對 MySQL,Datastream 會處理 MySQL 二進位檔記錄,以擷取變更事件。 Oracle 會使用 LogMiner 和補充記錄設定,從 Oracle 的重做記錄擷取資料。 |
您可以將記錄檔從來源直接複製到 Google Cloud 嗎? | Datastream 不會複製記錄檔的完整內容,但會直接從資料庫伺服器查詢記錄檔,而且只將指定資料表的變更複製到目的地。 |
如果是 Oracle 來源,Datastream 是否需要 GoldGate 授權? | Datastream 不需要 GoldGate 授權,因為使用 Oracle LogMiner 從資料庫的 redo 記錄讀取資料。 |
較新版本不支援 Oracle LogMiner 會發生什麼情況? | 針對 Oracle 20 及更高版本中的 LogMiner 支援已移除,因此在這兩個版本之前,任何 Oracle 來源皆可繼續使用 LogMiner 與 DataStream。 |
DataStream 可處理的資料有哪些限制? |
MySQL 來源的一般限制、MySQL 來源的限制和限制。 一般限制包括:
MySQL 限制包含不支援無主金鑰且大小超過 100 GB 的資料表的補充作業。 Oracle 限制包括:
|
每個由資料串流產生的事件都會包含哪些資料? | 每個產生的事件 (用於插入、更新和刪除) 包含來源的完整資料,以及每個資料欄的資料類型和值。每個事件也包含事件中繼資料,可用於建立訂單並確保傳送一次。 |
資料串流保證一定會排序嗎? | 雖然資料串流不保證可進行排序,但會為各個事件提供額外的中繼資料。這個中繼資料可用於確保目的地的最終一致性。視來源來源、變更頻率和頻率和其他參數而定,最終一致性通常可在 1 小時內完成。 |
DataStream 保證只要傳送一次即可? | DataStream 至少會傳送一次。您可以使用資料串流寫入每個事件的額外中繼資料來清除重複資料。 |
Datastream 如何表示資料來源,供下游處理使用? | DataStream 對所有資料來源進行資料類型標準化,可簡化下游資料的處理作業。Datastream 使用原始來源資料類型 (例如 MySQL 統一類型代表所有可能的來源類型無損的超集合,而標準化表示各來源都能輕易地處理及查詢不同來源的資料。 當下游系統需要知道資料類型時,可透過對資料串流結構定義註冊的 API 呼叫來完成。這個登錄檔會儲存所有資料來源的最新版本化架構。由於來源資料庫的結構定義變更,結構定義登錄檔 API 也可讓您使用更快速的下游結構定義偏移。 |
Datastream 處理結構 (結構定義) 如何變更? | DataStream 會持續追蹤來源資料結構的變更。結構定義儲存在 DataStream 的結構定義登錄檔中,且每個事件都會參照產生時的結構定義。這樣一來,Datastream 或其他下游程序就能即時追蹤結構定義變更,並根據變更進行調整,確保所有資料都會串流及載入至目的地。 |
安全性與連線
問題 | 回應 |
---|---|
DataStream 是否保護機密資料的安全? | DataStream 支援多個安全的私人連線設定,可在資料從來源串流至目的地時保護傳輸中的資料。複製資料時,會根據預設加密資料,利用 Cloud Storage 的安全性控管機制。任何由 Datastream 進行緩衝的資料都會經過加密。 |
哪些可用的連線選項可讓您連接來源的資料串流? | 您可以設定三種連線方法:
|
如何限制資料串流處理機密資料? |
DataStream 可讓您指定要從串流來源串流的特定資料元素 (結構定義、表格和欄),以及您要排除在串流外排除的元素。 資料庫記錄可能會包含遭串流定義排除之元素的變更資料。由於系統無法在來源中篩選這些元素,DataStream 會讀取,但不會忽略任何與元素相關聯的資料。 |
處理資料串流檔案
問題 | 回應 |
---|---|
如何在 Cloud Storage 中建立檔案? | Datastream 會為每個資料表建立資料夾。在每個資料夾中,DataStream 會在使用者定義的檔案大小或時間達到指定門檻時輪替檔案 (或建立新檔案)。資料串流則會在偵測到結構定義變更時輪替檔案。檔案名稱是由唯一的架構鍵 (根據結構定義的雜湊碼) 所組成,後面再加上檔案中的第一個事件的時間戳記。為了安全起見,這類檔案名稱不適合用來讀取或理解。 |
如果 Cloud Storage 中的資料未排序,那麼如何在將物件載入目的地之前,先重新排序事件? | 每個事件均含有數個中繼資料欄位,專門用來識別 Oracle 重做記錄中的資料列。具體來說:
|
如果為同一個時間戳記建立多個檔案,這些檔案應該按照什麼順序來處理? | 由於我們無法保證排序檔案,所以無法保證檔案的處理方式,是使用特定時間戳記的所有檔案取得所有事件,然後使用上述方法套用排序。 |
主要更新的處理方式為何?事件前後是否有發生? | row_id 中繼資料欄位可用於識別正在變更的資料列。為確保資料完整性,請依據 row_id 欄位的關聯值來整合資料,而不是依賴主鍵。 |
監控資料串流
問題 | 回應 |
---|---|
如何得知已將所有歷來資料複製到目標 Cloud Storage 值區? | Datastream 提供記錄檔中目前狀態的相關資訊。建立記錄項目,以表示資料表完成補充作業的時間。 |
定價
問題 | 回應 |
---|---|
DataStream 的定價方式為何? | 資料串流費用是根據串流來源至目的地的資料量 (GB) 計費。 如要進一步瞭解 DataStream 的價格資訊,請參閱定價一文。 |
如何計算資料大小? | 費用是根據從來源串流到目的地的原始 (未壓縮) 資料大小計算。串流資料只會收取串流中目的地的資料費用。 |
如果您搭配 Dataflow 或 Cloud Data Fusion 使用 Datastream,那麼您需要支付多少費用? | 每項服務都會分開計費,並計費。 |
其他資訊
問題 | 回應 |
---|---|
如果我在使用「資料流」時有其他問題或問題,該怎麼辦? | 如果您在使用 DataStream 時遇到問題,Google 支援小組可以提供支援服務。此外,疑難排解指南會針對使用 DataStream 時可能遇到的常見問題。 |