本規劃指南提供 SAP 和 Google Cloud 管理員所需資訊,協助他們規劃將 SAP 資料複製到 BigQuery 的作業,方法是使用 SAP LT Replication Server 搭配 2.0 版或 2.1 版的 BigQuery Connector for SAP。
BigQuery Connector for SAP 會安裝在 SAP Landscape Transformation Replication Server (SAP LT Replication Server) 中,並讓您能近乎即時地將 SAP 資料直接複製到 BigQuery。
您可以將資料儲存在 BigQuery,並使用人工智慧或機器學習,針對即時 SAP 應用程式資料執行即時分析。在 BigQuery 中,您也可以將 SAP 資料與其他來源的資料整合。
本指南涵蓋下列主題:
如需有關使用 BigQuery Connector for SAP 安裝及設定 SAP LT Replication Server 複本的逐步操作說明,請參閱 BigQuery Connector for SAP 安裝和設定指南。
如要瞭解 BigQuery,請參閱「什麼是 BigQuery?」一文。
如要瞭解 BigQuery 中 SAP 資料建模的解決方案加速器,請參閱 Google Cloud Cortex Framework。
BigQuery Connector for SAP 簡介
SAP 專用 BigQuery 連接器會使用 SAP Landscape Transformation Replication Server 的標準介面和功能,並支援 SAP LT Replication Server 支援的所有資料來源。
Google Cloud 會以傳輸檔案的形式提供 BigQuery Connector for SAP,您可以將這些檔案安裝到 SAP LT Replication Server。
請先下載包含傳輸檔案的安裝套件,再安裝 SAP 專用的 BigQuery 連接器。雖然目前提供免費的 BigQuery Connector for SAP,但您必須擁有 Cloud Billing 帳戶才能取得安裝套件。詳情請參閱「下載安裝套件」。
SAP 專用 BigQuery 連接器是 SAP LT Replication Server 專用 SAP Business Add In (BAdI) 的 Google Cloud 實作項目。Google Cloud 開發者可按照 SAP LT Replication Server SDK 程序開發 SAP 專用的 BigQuery 連接器。
BigQuery Connector for SAP 會運用 SAP LT Replication Server 的變更資料擷取功能。
資料處理
BigQuery Connector for SAP 會直接從 SAP LT Replication Server 將 SAP 記錄傳送至 BigQuery,不需任何中介資料整合層或工具。
收到記錄後,BigQuery 會以僅插入模式將記錄附加到資料表。如果 BigQuery 收到 BigQuery 資料表中已存在的記錄更新,BigQuery 會將記錄的新例項插入該資料表,而不會修改現有例項。記錄的最近插入例項會反映來源資料表中記錄的目前狀態。
BigQuery Connector for SAP 只允許最少的資料轉換,符合擷取、載入、轉換 (ELT) 模型,而非擷取、轉換、載入 (ETL) 模型。如要進一步瞭解這些模型,請參閱「資料管道程序和模式」。
SAP 適用的 BigQuery 連接器會根據來源資料,自動建議目標資料表的欄位、欄位名稱和資料類型。在建立目標 BigQuery 資料表之前,您可以視需要修改建議值。
系統會根據來源資料表中的欄位說明,建議目標欄位的名稱。詳情請參閱「欄位的預設命名選項」。
雖然 BigQuery Connector for SAP 會自動為多數欄位建議 BigQuery 資料類型,但布林值、時間戳記和十六進位值無法自動解讀,因此您必須手動對應這些值。詳情請參閱「資料類型對應」。
BigQuery Connector for SAP 提供多個強化點,可讓您在 BigQuery Connector for SAP 程式碼中插入自訂強化功能。詳情請參閱「增強功能結束」。
如果 BigQuery 中沒有目標資料表,BigQuery Connector for SAP 會建立一個。
複製作業開始後,SAP 記錄會以僅插入模式新增至 BigQuery。
安全性
您可以使用 SAP LT Replication Server 的角色式授權系統,控管 SAP 專用 BigQuery 連接器的存取權。安裝 BigQuery Connector for SAP 時,傳輸檔案會包含 BigQuery Connector for SAP 的專屬角色。如要進一步瞭解自訂角色,請參閱 SAP 安全性。
您可以使用身分與存取權管理驗證和授權,以及 BigQuery API 驗證,控管 Google Cloud 和 BigQuery 的存取權。詳情請參閱「Google Cloud 安全性」。
針對 SAP 專用 BigQuery 連接器和 BigQuery 之間的通訊,SAP 專用 BigQuery 連接器會使用端對端 HTTPS 通訊和 SSL。
如需 SAP 提供的授權資訊,請前往 SAP 說明入口網站,查看您所用 SAP LT Replication Server 版本的安全指南。
擴充性
對於數量龐大的資料 (例如含有數百萬個差異的數十億筆資料記錄),BigQuery Connector for SAP 會使用 SAP LT Replication Server 的縮放和區隔函式,以便大規模並行執行資料擷取作業。如需更多資訊,請前往 SAP 說明入口網站,查看您所用 SAP LT Replication Server 版本的大小設定指南。
在 BigQuery 端,SAP 專用 BigQuery 連接器會使用 BigQuery 串流 API 來擴大資料載入作業。
安裝架構
您可以在 SAP LT Replication Server 執行個體中,將 BigQuery Connector for SAP 安裝為 Business Add-In (BAdI)。
SAP LT Replication Server 執行個體可以位於 Google Cloud、地端部署或其他雲端供應商。無論 SAP LT Replication Server 在何處執行,都應盡可能靠近來源系統。請與網路團隊合作,確保來源 SAP 系統、SAP LT Replication Server 和 BigQuery 資料集之間的延遲時間短且處理量高。
以下各節說明 BigQuery Connector for SAP 的常見建議架構。
Google Cloud上的 SAP 資料來源架構
下圖顯示兩個 SAP LT Replication Server 安裝例子,其中 Google Cloud 的 SAP 資料來源為 Google Cloud。
為了說明每個架構的範例,其中一個安裝程序使用 SAP LT Replication Server 獨立架構,在這個架構中,SAP LT Replication Server 會安裝在個別伺服器上;另一個安裝程序使用 SAP LT Replication Server 嵌入架構,在這個架構中,SAP LT Replication Server 會安裝在 SAP 來源系統伺服器中。
由於 SAP LT 複本伺服器執行個體已安裝在Google Cloud上,因此 BigQuery Connector for SAP 會直接連線至 BigQuery API 端點,不需要透過 Cloud Interconnect 或 Cloud VPN 連線。
在圖表中,SAP 系統和 BigQuery 顯示在不同的 Google Cloud 專案中,但您可以視需要使用同一個專案。
在地端部署環境或其他雲端供應商環境中,為 SAP 資料來源建立架構
下圖顯示兩個 SAP LT Replication Server 安裝範例,分別在內部部署或其他雲端供應商處執行。
為了展示各架構的範例,一個安裝程序使用 SAP LT Replication Server 獨立架構,另一個則使用 SAP LT Replication Server 嵌入式架構。
在兩個範例中,SAP LT Replication Server 都安裝在與 SAP 資料來源相同的環境中。
從 SAP LT 複本伺服器中的 SAP 適用 BigQuery Connector 到 BigQuery 的連線,是由 Cloud Interconnect 連線或 Cloud VPN 連線提供。
資料流量的詳細架構檢視畫面
下圖顯示 SAP 適用的 BigQuery 連接器如何融入 SAP LT Replication Server 資料流程。
圖表中的數字會在圖表下方說明。
以下編號說明對應圖表中的數字:
- 在 SAP LT Replication Server 初始化之後,當來源資料表中的記錄遭到插入、更新或刪除時,資料庫觸發記錄會在記錄資料表中記錄變更。
- SAP LT Replication Server 會持續透過 RFC 呼叫檢查記錄資料表,找出新的項目。
- 如果 SAP LT Replication Server 找到新項目,讀取引擎會讀取記錄並呼叫對應和轉換引擎。
- 對應和轉換引擎會呼叫寫入引擎,後者會叫用 BigQuery Connector for SAP。
- SAP 專用 BigQuery 連接器會執行下列動作:
- 將 SAP 資料對應至目標資料表名稱、欄位名稱和 BigQuery 資料類型。
- 視需要建立 BigQuery 資料表。
- 透過 BigQuery 串流 API,將記錄以區塊形式傳送至 BigQuery。
- 收到資料後,BigQuery 會採取以下行動:
- 執行驗證檢查。
- 將記錄插入目標資料表。
- 將 HTTP 200 (
OK
) 狀態碼傳回至 SAP 專用 BigQuery 連接器。
- BigQuery Connector for SAP 會將 HTTP
OK
狀態碼傳回 SAP LT Replication Server,後者會從記錄資料表中刪除已複製的項目,並釋放 SAP 來源系統的資源。
軟體需求
SAP 專用 BigQuery 連接器支援主要的維護中企業應用程式版本做為資料來源,以及較舊的舊版應用程式。支援的 SAP 應用程式包括:
- SAP Business Suite 7
- S/4HANA
- 在 SAP NetWeaver 上執行的 SAP 應用程式
您可以在 Google Cloud、內部部署或 AWS、Azure 等公用雲端中,安裝 SAP LT Replication Server 中的 BigQuery Connector for SAP。
授權
根據您使用 Google Cloud 平台的使用規範協議,BigQuery Connector for SAP 會以「軟體」形式提供,包括可在 https://cloud.google.com/terms/service-terms 查看的《服務專屬條款》。在不影響上述條款的一般性原則下,您必須取得 Google 明確的書面許可,才能修改或發布 BigQuery Connector for SAP。
目前,BigQuery Connector for SAP 軟體不收取任何費用。為清楚說明,根據您使用 Google Cloud Platform 的相關協議,您使用其他「軟體」和「服務」(例如 BigQuery 和 BigQuery 串流 API) 時,可能會產生費用。
BigQuery Connector for SAP 不包含任何 SAP 軟體授權,包括但不限於 SAP LT Replication Server;請另外購買適當的 SAP 軟體授權。
SAP 軟體版本需求
您在獨立架構中安裝 SAP LT Replication Server 的伺服器,或是在嵌入式架構中安裝來源 ABAP 應用程式系統,SAP LT Replication Server 和 SAP 來源系統的必要版本會有所不同。
SAP 軟體需求也會因您用於資料來源的 SAP 系統而異,包括 SAP S/4HANA 或 SAP ECC。
如要查看支援 BigQuery Connector for SAP 的 SAP 軟體版本,請選取與 SAP 來源系統相對應的索引標籤: Google Cloud
S/4HANA
安裝架構 | 系統 | 支援的版本 | 使用者介面 (UI) 外掛程式 |
---|---|---|---|
獨立式 | 來源系統 |
|
SAP_UI 元件必須與 SAP NetWeaver 版本相容。 /UI2/CL_JSON:PL12 以上版本。 如要瞭解 SAP 外掛程式相容性,請參閱: |
SAP LT Replication Server 系統 |
|
||
內嵌 | 來源系統 |
|
ECC
安裝架構 | 系統 | 支援的版本 | 使用者介面 (UI) 外掛程式 |
---|---|---|---|
獨立式 | 來源系統 |
|
SAP_UI 元件必須與 SAP NetWeaver 版本相容。 /UI2/CL_JSON:PL12 以上版本。 如要瞭解 SAP 外掛程式相容性,請參閱: |
SAP LT Replication Server 系統 |
|
||
內嵌 | 來源系統 |
|
作業系統需求
SAP 專用 BigQuery Connector 支援 SAP LT Replication Server 支援的任何作業系統。
如要瞭解 SAP LT Replication Server 支援哪些作業系統,請參閱 SAP 產品供應情形矩陣。
gcloud CLI 需求
SAP 專用 BigQuery 連接器需要在 SAP LT 複製伺服器主機上安裝 Google Cloud CLI。
如果 SAP LT Replication Server 在 Google Cloud 上執行,且您使用的是 Compute Engine 提供的作業系統映像檔,系統可能會預先為您安裝 gcloud 命令列介面。
如要查看哪些作業系統映像檔包含 gcloud CLI,請參閱「作業系統詳細資料」一文中作業系統的對應表格。
如要確認 gcloud CLI 是否已安裝在現有的 SAP LT 複本伺服器主機上,請登入伺服器並發出任何 gcloud
指令。例如:
gcloud version
如果 SAP LT 複製伺服器主機尚未安裝 gcloud CLI,SAP 管理員可以安裝。如要進一步瞭解如何安裝 gcloud CLI,請參閱「安裝 gcloud CLI」。
支援的複製來源
BigQuery Connector for SAP 支援 SAP LT Replication Server 支援的大部分常用應用程式和資料庫來源系統。
支援的 SAP 應用程式來源
您可以從 SAP LT Replication Server 支援的 SAP 應用程式來源複製資料。
不過,SAP 建議不要使用 SAP LT Replication Server 複製 SAP Business Warehouse 中的資料。如需 SAP 提供的詳細資訊,請參閱 SAP 注意事項 2525755。
不支援 SAP Cloud 應用程式,例如 S/4HANA Cloud、SAP Ariba、SAP SuccessFactors 等。
支援的資料來源
您只能複製透明資料表或叢集資料表。
BigQuery Connector for SAP 不支援複製 SAP Core Data Services (CDS) 檢視畫面。
安全性
實施從 SAP LT Replication Server 到 BigQuery 的資料複製安全性時,您需要在 SAP LT Replication Server、SAP LT Replication Server 主機作業系統和Google Cloud中實施安全性控制措施。
SAP 安全性
如要控管誰可以在 SAP LT Replication Server 中設定及使用 SAP 專用 BigQuery 連接器,請使用標準 SAP 角色式授權。
SAP 專用 BigQuery 連接器會在傳輸安裝作業中提供授權物件 ZGOOG_MTID
。
如要設定及執行使用 BigQuery Connector for SAP 的資料複製作業,您可以定義在 SAP LT Replication Server 中具有管理存取權的角色,如「為 BigQuery Connector for SAP 建立 SAP 角色和授權」一文所述。
舉例來說,您可以定義名為 ZGOOGLE_BIGQUERY_ADMIN
的角色,該角色具備所有 SAP 授權,以及使用 SAP 專用 BigQuery 連接器將資料複製到 BigQuery 時,所需的 ZGOOG_MTID
授權。
如要進一步瞭解 SAP 提供的角色和授權資訊,請前往 SAP 說明入口網站,查看您所用 SAP LT Replication Server 版本的安全性指南。
Google Cloud security
為 Google Cloud 導入 BigQuery Connector for SAP 的安全防護機制時,可以採用下列安全控管機制:
- Identity and Access Management (IAM) 權限、角色、服務帳戶和金鑰。
- 在資料集或資料表層級設定的 BigQuery 控制項。
- 適用於以 API 為基礎的服務 (例如 BigQuery) 的虛擬私有雲 (VPC) 服務控制項。
Google Cloud Identity and Access Management
如要為 SAP 的 BigQuery 連接器進行驗證和授權,您需要在包含 BigQuery 資料集的Google Cloud 專案中建立 IAM 服務帳戶。
如要授權與 BigQuery 資源互動,您必須將角色授予服務帳戶,該帳戶具備在 BigQuery 專案中與 BigQuery 互動的權限。
如果您在 BigQuery 專案中建立服務帳戶,則可在建立服務帳戶時授予必要角色,服務帳戶就會自動成為 BigQuery 專案中的實體。
BigQuery Connector for SAP 需要存取 BigQuery 的權限,包含在下列身分與存取權管理角色中:
- BigQuery 資料編輯器
- BigQuery 工作使用者
如果 SAP LT Replication Server 是在 Compute Engine VM 上執行,您還需要將「Service Account Token Creator」角色授予主機 VM 的服務帳戶。
如果 SAP LT Replication Server 是在內部部署或在其他雲端平台上執行,除了建立服務帳戶之外,您還需要為 SAP 的 BigQuery 連接器建立服務帳戶金鑰。SAP 管理員會在 SAP LT Replication Server 主機上安裝金鑰。當 BigQuery Connector for SAP 連線至 BigQuery 時,SAP LT Replication Server 會使用服務帳戶金鑰,透過Google Cloud進行驗證。
在 Google Cloud上執行 SAP LT Replication Server 時,不需要服務帳戶金鑰。
如要進一步瞭解 IAM、服務帳戶、角色和權限,請參閱:
BigQuery 資料集和資料表存取權控管
除了 IAM 控制項外,您也可以使用 BigQuery 控管存取權。針對 SAP 適用的 BigQuery 連接器,您可以設定資料集和資料表的存取權控管。
如需詳細資訊,請參閱:
VPC Service Controls
在 Google Cloud上,VPC 防火牆規則不適用於與 BigQuery 的 API 互動。您可以改用 Virtual Private Cloud (VPC) Service Controls 來限制流量。
如果您的 SAP 工作負載在 Google Cloud上執行,您可以定義服務範圍來實作 VPC 服務控制項。詳情請參閱「服務範圍」。
如果 SAP 工作負載並未在 Google Cloud上執行,您可以在設定內部部署主機的私人 Google 存取權時,導入 VPC Service Controls。
如要進一步瞭解 BigQuery 的網路安全性,請參閱「網路安全性」。
進一步瞭解 Google Cloud 安全性
如要進一步瞭解安全性帳戶、角色和權限,請參閱:
網路
規劃 BigQuery 複寫作業的網路路徑時,請考量以下幾點:
- 頻寬
- 延遲時間及其對 SAP LT Replication Server 主機資源消耗的影響
- 資料量及其對現有網路負載的影響
- 如果您的 SAP 工作負載並非在 Google Cloud上執行,請選擇要使用的連線類型:Cloud Interconnect 或 Cloud VPN
正在連線至 Google Cloud
如果您的 SAP 系統未在 Google Cloud 上執行,且您尚未建立從 SAP 系統連線至 Google Cloud的連線,就必須建立連線,並設定 Google Cloud API 的私人存取權。
您可以使用 Cloud Interconnect 或 Cloud VPN 建立連線至 Google Cloud 。
相較於 Cloud VPN,Cloud Interconnect 通常提供更高的頻寬、更低的延遲時間和網路競爭。如果是大量且對效能敏感的複製工作, Google Cloud建議您為 BigQuery Connector for SAP 使用 Cloud Interconnect。
使用 Cloud VPN 時,複本資料會透過公開網際網路傳輸,因此網路爭用情況較難預測,延遲時間通常也會較長。
無論您選擇哪種連線選項,都必須檢查連線支援的所有流量。判斷連線是否具備足夠的頻寬和網路速度,可支援複製工作和任何其他工作負載,且不會對兩者造成負面影響。
連線速度緩慢可能會增加 SAP 來源伺服器和 SAP LT Replication Server 主機的資源用量,因為這會延長資源工作完成的時間,進而讓複製作業所需的資源長時間處於綁定狀態。
如要進一步瞭解連線選項,請參閱以下文章:
如果您使用 Proxy 伺服器將 HTTP 要求傳送至 Google Cloud,請在 SAP 交易 SICF
中設定 Proxy 伺服器。如需設定步驟,請參閱「設定 Proxy」一文的 SAP 說明文件。
頻寬
請確認 SAP LT Replication Server 和 BigQuery 之間的網路連線具備足夠的頻寬,以便以所需的速度支援資料量。
網路連線速度越慢,資料複製的延遲時間就越長,也會增加複製作業在來源 SAP 系統中使用的資源。
Google Cloud 建議在安裝時使用 Cloud Interconnect 連線,您也可以使用 Cloud VPN。
延遲時間
為減少網路連線的延遲時間,請盡可能在靠近 SAP LT 複製伺服器系統和 SAP 來源系統的位置建立目標 BigQuery 資料集。如果來源 SAP 系統是在 Google Cloud上執行,請在與來源 SAP 系統相同的 Google Cloud 地區建立 BigQuery 資料集。
將安裝作業遷移至正式環境前,請先測試延遲時間。
如要進一步瞭解網路效能,請參閱「網路連線效能」。
網路存取權控管
您可以在 SAP LT 複本伺服器和 Google Cloud之間的連線兩端實作網路存取控管。
Google Cloud 網路存取權控管
SAP 專用的 BigQuery Connector 會透過 API 端點與 BigQuery 通訊,不受 Google CloudVPC 防火牆規則的約束。
請改用 VPC Service Controls 限制流量。
如要進一步瞭解 BigQuery 的網路安全性,請參閱「網路安全性」。
SAP LT Replication Server 主機網路存取權控管
在 SAP LT Replication Server 主機上,您必須確保所有防火牆或 Proxy 都允許從伺服器傳送至 BigQuery API 端點的輸出流量。具體來說,SAP LT Replication Server 需要能夠存取下列 Google Cloud API:
- https://bigquery.googleapis.com
- https://iamcredentials.googleapis.com
成效規劃
SAP LT 複製伺服器和 BigQuery 之間的初始載入和複製作業效能,會受到複製路徑中不同點的多項因素影響。
不過,某些基本因素 (例如 SAP LT 複本伺服器與 BigQuery 資料集之間的距離,或是連線至 Google Cloud的頻寬) 對效能影響較大,遠超過其他因素。
一般效能最佳做法
為獲得最佳效能,請在 SAP LT 複製伺服器設定中納入下列最佳化建議:
- 在 Google Cloud上執行 SAP 工作負載,包括 SAP 來源系統和 SAP LT Replication Server。
- 如果 SAP 工作負載位於 Google Cloud,請在與 SAP 工作負載相同的地區建立 BigQuery 資料集。
- 如果您無法在 Google Cloud上執行 SAP 工作負載:
- 請在距離 SAP 工作負載最近的 Google Cloud區域中建立 BigQuery 資料集。
- 使用 Cloud Interconnect 連線至 Google Cloud 。
- 為避免資源競爭,請為 SAP 來源系統和 SAP LT Replication Server 使用個別的專屬主機。
- 根據 SAP 說明入口網站中您所用 SAP LT Replication Server 版本的大小設定指南,為工作負載最佳化 SAP LT Replication Server 系統大小。
- 請使用下列 SAP LT Replication Server 複製設定:
- 並行工作。
- Reading Type 1 (如果可行)。詳情請參閱「效能和 LTRS 進階複製設定」。
- 使用下列項目設定 BigQuery Connector for SAP:
- 預設記錄壓縮功能。
- 區塊大小上限。
- 將欄位對應至 BigQuery 資料表時,請盡量避免使用自訂名稱。
如需詳細資訊,請參閱:
其他可能影響成效的特性
設定和資料的許多特性都可能會影響效能。其中有些特徵可能無法修改。這些特徵包括:
- 在來源伺服器上:
- CPU 數量。
- 記憶體大小。
- 使用的資料庫,例如 SAP HANA、SAP ASE、IBM Db2 或其他資料庫。
- 來源資料表中的欄數。
- 每個記錄所含資料量。
- 資料表中繼資料,例如欄位名稱的長度。
- 對話方塊工作程序的數量。
- 在 SAP LT 複製伺服器上:
- CPU 數量。
- 記憶體大小。
- 主機可能執行的其他工作負載。
- SAP 對話方塊和背景工作程序。
- SAP LT Replication Server 安裝架構類型。如需更多資訊,請參閱「SAP LT 複製伺服器的獨立 (建議) 或嵌入式安裝」。
- 在 SAP LT Replication Server 系統上執行的背景工作數量。
- 在
LTRC
交易的「管理」分頁中,分配給大量移轉作業的背景工作數量。 LTRS
交易效能設定,包括「Reading Type」和「Portion Size」。
- 在 BigQuery 複製設定 (交易
/GOOG/SLT_SETTINGS
) 中:- 是否為目標欄位指定自訂名稱。處理目標 BigQuery 欄位名稱可能會對效能造成輕微影響。
- 是否啟用錄製壓縮功能。
- BigQuery Connector for SAP 的「Chunk Size」,可能會影響傳送的 HTTP 要求總數。
SAP LT Replication Server 效能考量事項
以下各節將討論與 SAP LT 複製伺服器設定相關的效能選項。
效能和 SAP LT Replication Server 安裝架構
在獨立架構中,SAP LT Replication Server 會安裝在專屬伺服器上,這類架構通常比嵌入式架構 (SAP LT Replication Server 會安裝在與來源系統相同的伺服器上) 提供更佳的效能。
在嵌入式架構中,SAP LT Replication Server 必須與 SAP 來源系統共用伺服器資源。
即使採用獨立架構,主機的 CPU 和記憶體,以及可能在伺服器上執行的任何其他工作負載,都可能會影響 SAP LT 複製伺服器執行個體的效能。
效能和 LTRS
進階複製設定
您在 LTRS
交易中為來源資料表指定的「進階複製設定」,會影響初始載入和複製作業的效能。
如需效能調整指南,特別是針對大量初始載入或複本的最佳化,請參閱 SAP Help Portal 中的 SAP LT 複本伺服器效能最佳化指南。
Google Cloud 建議您在交易 LTRS
的「進階複製設定」 >「一般效能」部分,採用下列規格:
針對大多數表格類型的初始載入作業,請將「1 個範圍計算」指定為「讀取類型」。如果資料表太大,無法使用 1 個區間計算,請指定 5 種讀取類型。
如要複製,請在「有效設定」下方執行下列操作:
- 如要進行最快速的複寫作業,請指定「Auto Ranges」。
- 如要進行更可靠的複製作業,請指定「No Ranges」。
下表列出幾種常見情況的建議設定。
資料表類型 | 建議的閱讀類型 |
---|---|
透明 (小型至中型) | 讀取類型 1 - 範圍計算 |
透明 (大型) | 只有在 Reading Type 1 無法運作時,才使用 Reading Type 5 - Range Calculation |
叢集表格 | 讀取類型 4 - 寄件者佇列 |
網路連線效能
SAP LT 複製伺服器系統與 BigQuery 之間的連線頻寬和延遲時間,可能會影響複製至 BigQuery 的整體效能。
這項影響不僅會影響複製速度,也會影響 SAP LT Replication Server 和來源系統所耗用的資源量,因為從 BigQuery 收到複製確認訊息的時間越長,SAP LT Replication Server 和來源系統就必須保留主機資源的時間越長。
如果您的 SAP 工作負載是在內部部署或其他雲端服務供應商上執行,Google Cloud 建議您使用 Cloud Interconnect 連線,因為這可提供高頻寬和低延遲,且不必與公開網際網路上的流量競爭。
您可以使用 Cloud VPN 連線至 Google Cloud 和 BigQuery,但透過 VPN 連線時,複本必須與一般網際網路流量競爭。
如果您的 SAP 工作負載在 Google Cloud上執行, Google Cloud建議您將 SAP LT Replication Server 和 BigQuery 資料集放在同一個區域。如果 SAP LT Replication Server 和 BigQuery 位於不同區域,延遲時間通常會更長,效能通常也會更差。如要進一步瞭解如何選擇地區,請參閱「選擇地區和區域」一文。
資料傳輸
一般來說,您應該在每個 HTTP 要求中傳送盡可能多的資料,以減少 HTTP 要求的總數和相關處理開銷。
不過,在某些情況下,您可能需要減少傳送的資料量,原因可能是特定資料表中的記錄大小,或是您已達到 BigQuery 的配額上限或其他限制。
您可以透過下列方式控制每個要求中傳送的資料量:
- 調整 SAP LT 複製伺服器傳送至 BigQuery Connector for SAP 的資料量 (portion 大小)。
- 調整 SAP 適用的 BigQuery 連接器傳送至 BigQuery 的資料量 (區塊大小)。
- 調整 BigQuery 專案中串流插入的配額。
調整 SAP LT Replication Server 傳送的資料量
SAP LT Replication Server 會將來源系統中的記錄以分段的方式傳送至 BigQuery Connector for SAP。每個部分都會視為個別的負載或複製工作,會消耗伺服器資源,直到完成為止。
一般來說,如果您增加 SAP LT Replication Server 的部分大小,SAP LT Replication Server 程序的數量和相關的額外負擔就會減少。
部分大小和分塊大小
SAP LT Replication Server 的部分大小以位元組為單位,或以位元組和記錄的乘積為單位。適用於 SAP 的 BigQuery Connector 區塊大小取決於可容納的記錄數量。區塊的位元組大小會因多項因素而異,包括記錄中的欄位數量,以及每個記錄所儲存的資料量。
如果 SAP LT Replication Server 的部分大小大於 BigQuery Connector for SAP 的區塊大小,BigQuery Connector for SAP 就會針對每個部分傳送多個區塊,直到傳送該部分的所有記錄為止。
如果部分大小小於區塊大小,則 BigQuery Connector for SAP 會為每個部分傳送一個區塊。每個區塊只包含在每個部分傳送的記錄數量,不受 BigQuery Connector for SAP 中設定的區塊大小影響。
建議您在 SAP LT Replication Server 中設定部分大小,讓 SAP 專用 BigQuery 連接器能夠建立盡可能大的區塊,且不會超過 BigQuery 對每個 HTTP 要求位元組數量的限制。
如需指定區塊大小的詳細指引,請參閱「BigQuery Connector for SAP 中的區塊大小」。
SAP LT Replication Server 中的部分大小
如要變更 SAP LT Replication Server 使用的預設區塊大小,請執行交易 LTRS
,然後調整「Performance Options」下方「Advanced Replication Settings」中的「Package Size」欄位值。
詳情請參閱 SAP 說明入口網站的 SAP LT Replication Server 效能最佳化指南。
BigQuery Connector for SAP 中的區塊大小
SAP 適用的 BigQuery 連接器會將資料傳送至 BigQuery,以區塊形式呈現記錄。建議您使用 BigQuery Connector for SAP 允許的最大區塊大小,即 10,000 筆記錄。10,000 筆記錄也是 BigQuery Connector for SAP 使用的預設區塊大小。
如果指定區塊中的記錄數量解析為超過 BigQuery 限制的 HTTP 要求位元組大小,您可能會收到 quotaExceeded
錯誤或 invalid
錯誤。
如果來源資料表中的記錄包含大量欄位,或欄位包含大量資料,就可能發生這種情況。
如果您收到與區塊大小相關的錯誤訊息,請嘗試縮減該資料表的大量轉移設定中指定的區塊大小。
對於 MSEG
、ACDOCA
和 MATDOC
等可能包含大量欄位的大型記錄的 SAP 來源資料表,您可能需要指定至少 2,000 的區塊大小。
您可以執行 /GOOG/SLT_SETTINGS
交易來指定區塊大小。資料表屬性畫面中的「區塊大小」欄位會指定區塊大小。
如需指定區塊大小的詳細指引,請參閱:
如要進一步瞭解 BigQuery 錯誤訊息,請參閱「錯誤訊息」。
與傳送部分內容相關的處理額外負擔
每個傳送的部分都會觸發下列動作,每個動作都會產生一些處理額外負擔或資源消耗:
- 來源系統中記錄表中的變更記錄集合會以單一部分傳送至 SAP LT Replication Server。變更的記錄尚未從記錄資料表中刪除。
- SAP LT Replication Server 會向 Google Cloud要求新的存取權杖。
- BigQuery Connector for SAP 會向 BigQuery 傳送 HTTP 要求,以便檢查目標資料表的結構。
- BigQuery Connector for SAP 會將記錄傳送至 BigQuery,並將單一部分收到的所有記錄分成多個區塊傳送。每個區塊都會透過個別的 HTTP 要求傳送。
- BigQuery 會處理收到的每個區塊。
- 每個區塊都會傳回 HTTP
OK
狀態碼給 SAP LT 複製伺服器。 - BigQuery 收到所有記錄後,SAP LT Replication Server 會從記錄資料表中刪除已傳送的記錄,最終釋放來源系統的資源。
如要進一步瞭解分割作業和設定 SAP LT Replication Server 以提升效能,請參閱 SAP Help Portal 中的 SAP LT Replication Server 效能最佳化指南。
BigQuery 配額
適用於專案的 BigQuery 串流 API 配額會限制您可在一段時間內,以及透過任何 HTTP 要求,將多少資料串流至 BigQuery。
舉例來說,BigQuery 會針對下列指標設定限制:
- 每個專案可傳送的位元組數 (每秒)。
- 單一 HTTP 要求中可傳送的記錄或資料列數量上限。
- 可傳送的 HTTP 要求大小上限。
針對串流插入作業,BigQuery 會將 HTTP 要求的大小固定為 10 MB,並將單一 HTTP 要求中可傳送的記錄數量固定為 50,000 筆。
在大多數情況下,您可以變更配額,但無法變更限制。
您可以在Google Cloud 主控台的「配額」頁面中,查看及編輯專案適用的配額。
如要進一步瞭解 BigQuery 串流資料插入的配額和限制,請參閱:
記錄壓縮
根據預設,BigQuery Connector for SAP 會壓縮傳送至 BigQuery 的記錄,以改善複製效能。
啟用記錄壓縮功能 (預設) 後,BigQuery Connector for SAP 會從傳送至 BigQuery 的記錄中省略來源記錄中的空白欄位。將記錄插入 BigQuery 時,從傳送的資料中省略的欄位會在目標資料表中以 null
進行初始化。
您可以在 BigQuery 表格設定中指定「Send Uncompressed Flag」,藉此停用記錄壓縮功能,但這可能會對複製效能造成負面影響。
選取「Send Uncompressed Flag」後,SAP 適用的 BigQuery 連接器會將記錄和所有欄位 (包括空白欄位) 傳送至 BigQuery。除了日期欄位和時間戳記欄位外,空欄位會保留在來源資料表中初始化的任何值。日期和時間戳記欄位的初始化值會收到下列值:
- 日期欄位初始值:
DATE 1970-01-01
- 時間戳記欄位初始值:
TIMESTAMP 1970-01-01 00:00:00 UTC
BigQuery 複製設定
使用 BigQuery Connector for SAP 設定複製作業時,您會使用多個不同的 SAP 交易,包括由 Google Cloud提供的自訂交易:
SM30
:定義連線至 Google Cloud的屬性,這些屬性會儲存在自訂設定表/GOOG/CLIENT_KEY
中,做為記錄。LTRC
- 定義 BigQuery Connector for SAP 複製應用程式和大量移轉 ID 等其他屬性/GOOG/SLT_SETTINGS
:定義目標 BigQuery 資料集、資料表和欄位的屬性。在 SAP LT Replication Server 中輸入/GOOG/SLT_SETTINGS
時,您必須加上/n
,才能在交易名稱中轉義初始的斜線。
語言支援
BigQuery Connector for SAP 2.1 版僅支援英文的複製設定。使用 SAP 交易和 Google Cloud提供的自訂交易設定複製作業時,請在 SAP 登入畫面中使用「English」做為登入語言。
不過,BigQuery Connector for SAP 支援在 SAP LT 複製伺服器上執行背景工作,且支援 SAP SLT 支援的所有語言。
您在使用 SAP 專用 BigQuery Connector 時可能會遇到的任何錯誤訊息,都會以英文產生,不受背景工作執行語言影響。
目標資料表屬性
當您透過執行 /GOOG/SLT_SETTINGS
交易在 SAP LT Replication Server 中設定複製作業時,可以指定在 BigQuery 中建立目標資料表時適用的設定。
舉例來說,您可以為目標 BigQuery 表格指定下列屬性:
- 資料表名稱
- 欄位的預設命名選項
- 額外欄位,用於擷取記錄變更,並啟用記錄計數查詢
- 資料表分區
欄位的預設命名選項
您可以設定 SAP 專用的 BigQuery 連接器,以便根據來源欄位的名稱或來源欄位的標籤和說明,為目標 BigQuery 資料表中的欄位建立名稱。標籤和說明通常會提供更多欄位內容資訊。
根據預設,SAP 專用 BigQuery 連接器會使用來源欄位的名稱。您可以在 /GOOG/SLT_SETTINGS
交易的大量轉移設定中,在資料表建立屬性中指定「自訂名稱」旗標,藉此變更預設值。這項規格儲存在 /GOOG/BQ_MASTR
設定表中。
建立名稱時,BigQuery Connector for SAP 會修改名稱,使其符合 BigQuery 命名慣例。
在建立資料表之前,您可以在 /GOOG/SLT_SETTINGS
交易的欄位對應畫面中編輯欄位名稱。
指定「自訂名稱」標記後,BigQuery 適用於 SAP 連接器會在建立目標資料表時使用這些名稱,並顯示在欄位對應畫面中的「外部欄位名稱」欄位中。
SAP 專用 BigQuery 連接器會根據每個來源欄位的 medium 欄位標籤,建立「External Field Name」欄中的名稱。如果來源欄位定義中未指定媒介欄位標籤,系統會使用欄位的簡短說明。如果未指定簡短說明,系統會使用最短的指定標籤。如果未指定任何項目,系統會使用來源欄位的名稱。
如要進一步瞭解如何自訂目標欄位名稱,請參閱「自訂目標欄位名稱」。
擷取記錄變更並啟用記錄計數
如要擷取觸發複製作業的來源資料表中變更類型,並能夠查詢 BigQuery 資料表中的記錄計數,以便與 SAP LT Replication Server 或來源資料表中的記錄計數進行比較,請在設定複製作業時,在 /GOOG/SLT_SETTINGS
交易中指定「Extra Fields Flag」選項。
指定「Extra Fields Flag」選項後,系統會將下列資料欄新增至目標 BigQuery 資料表的結構定義:
欄位名稱 | 資料類型 | 說明 |
---|---|---|
operation_flag
|
STRING
|
指出來源資料表中哪種變更會觸發記錄的載入或複製作業,並將其複製到 BigQuery。
如要計算在複製模式下插入的記錄,請查詢
如要計算在初始載入模式下插入的記錄,請查詢 |
is_deleted
|
BOOLEAN
|
如果為 true ,表示來源記錄已從來源資料表中刪除。
如要只計算 BigQuery 資料表中未從來源表格刪除的記錄,請使用 |
recordstamp
|
TIMESTAMP
|
SAP LT Replication Server 將記錄傳送至 BigQuery 的時間。 如要計算 BigQuery 資料表中的不重複記錄數量,請只查詢每個記錄最近插入的例項。如需查詢範例,請參閱「查詢 BigQuery 資料表中的記錄總數」。 |
「Extra Fields Flag」選項的目前設定會儲存在 /GOOG/BQ_MASTR
設定表中。
如要進一步瞭解如何指定額外欄位標記,請參閱:
- 如果 SAP LT Replication Server 是執行在 Compute Engine VM 上,請參閱「指定建立資料表和其他一般屬性」一文。
- 如果 SAP LT Replication Server 在Google Cloud以外的主機上執行,請參閱「指定建立資料表和其他一般屬性」一文。
資料表分區
您可以建立以來源資料表中的時間戳記欄為分區依據的 BigQuery 資料表,這樣就會建立以時間單位欄為分區的資料表;也可以以記錄插入 BigQuery 的時間為分區依據,這樣就會建立以擷取時間為分區的資料表。
設定複製屬性時,您可以在 /GOOG/BQ_TABLE
的「Partition Type」欄位中指定分區類型,啟用分區功能。
您可以指定的分區類型會調整按小時、日、月或年劃分的細緻程度。
如要使用來源資料表中的時間戳記,以便進行時間單位欄位分區,請在「分區欄位」欄位中指定來源欄位的名稱。
如要使用 BigQuery 插入時間進行擷取時間分區,您可以將「分區欄位」留空。SAP 專用的 BigQuery 連接器會在目標資料表中建立欄位,用於儲存插入時間。
目標欄位屬性
根據預設,SAP 專用 BigQuery Connector 會使用 SAP 來源資料表中的欄位名稱和資料類型,做為目標 BigQuery 中的欄位名稱和資料類型。
您可以選擇在建立目標資料表前,自訂欄位名稱或變更 BigQuery 資料類型。
自訂指定欄位名稱
在建立資料表之前,您可以自訂目標欄位名稱。
必要時,BigQuery Connector for SAP 會修改您指定的慣用名稱,以符合 BigQuery 命名慣例。
設定複製作業時,您可以在 /GOOG/SLT_SETTINGS
交易的欄位對應畫面中查看欄位名稱。SAP 專用 BigQuery Connector 會將設定儲存在 /GOOG/BQ_FIELD
設定資料表中。
在建立資料表之前,您可以透過編輯欄位對應畫面「Temporary Field Name」欄位中產生的名稱,指定自訂欄位名稱。如果您刪除值,並將「Temporary Field Name」欄位留空,SAP 適用的 BigQuery 連接器會使用來源欄位的名稱做為目標欄位的名稱。
編輯「臨時欄位名稱」後,點選「儲存」時,BigQuery Connector for SAP 會驗證值,視需要套用 BigQuery 命名慣例,並儲存變更。您可以按下 Enter 鍵驗證值,而無須儲存。
如要進一步瞭解如何為目標欄位設定預設命名方法,請參閱「欄位的預設命名選項」。
使用試算表或文字檔編輯 BigQuery 欄位對應
建立目標 BigQuery 資料表之前,您可以選擇將目標欄位的預設資料類型、名稱和說明儲存到試算表或文字檔,方便 BigQuery 資料工程師或管理員編輯值,而無須存取 SAP LT 複製伺服器。
編輯值後,您必須將檔案及其內容轉換為半形逗號分隔值 (CSV) 格式。接著,您可以使用自訂交易 /GOOG/SLT_SETTINGS
上傳 CSV 檔案,將更新套用至大量轉移設定。
使用 CSV 檔案編輯 BigQuery 欄位對應的程序包括下列步驟:
- 建立預設欄位對應項目的試算表或文字檔。
- 編輯值。
- 將試算表或文字檔轉換為 CSV 格式。
- 上傳 CSV 檔案。
如需這些步驟的詳細操作說明,請參閱「在 CSV 檔案中編輯 BigQuery 欄位對應」。
BigQuery 欄位命名慣例
BigQuery 命名慣例只使用小寫英文字母、數字和底線。
SAP 適用的 BigQuery 連接器會將 BigQuery 命名慣例套用至任何用於目標欄位名稱的輸入值。
舉例來說,如果您輸入 FIELD-@#!*123
做為自訂欄位名稱,BigQuery Connector for SAP 就會將名稱變更為 field_123
。
如要進一步瞭解 BigQuery 欄位命名慣例,請參閱「資料欄名稱」。
資料類型對應
根據預設,BigQuery Connector for SAP 會根據來源 SAP 欄位的 SAP 類型或 SAP 資料類型,將資料類型指派給目標 BigQuery 欄位。
設定複製作業時,您可以在 /GOOG/SLT_SETTINGS
交易的欄位對應畫面中查看資料類型。SAP 專用 BigQuery Connector 會將設定儲存在 /GOOG/BQ_FIELD
設定資料表中。
在建立資料表之前,您可以在欄位對應畫面中的「External Data Element」欄,將預設資料類型規格變更為其他 BigQuery 資料類型。
需要特殊處理的資料類型
部分 SAP 資料類型需要特殊處理,才能在目標 BigQuery 資料表中正確顯示。
您必須自行處理部分資料類型。BigQuery Connector for SAP 會為您處理其他事物。
布林值
對於布林值,SAP 會使用 CHAR
資料類型,而根據預設,SAP 專用 BigQuery 連接器會將其對應至目標 BigQuery 表格中的 STRING
資料類型。
因此,針對布林值,當您使用 /GOOG/SLT_SETTINGS
交易設定複製作業時,需要在欄位對應畫面中,將布林值欄位的預設資料類型指派項目從 STRING
變更為 BOOLEAN
。
時間戳記
對於時間戳記,SAP 會使用 P
(已壓縮的十進位) 或 DEC
(十進位) 資料類型,根據預設,BigQuery Connector for SAP 會將這些資料類型對應至目標 BigQuery 資料表中的 NUMERIC
。
因此,針對時間戳記,當您使用 /GOOG/SLT_SETTINGS
交易設定複製作業時,需要在欄位對應畫面中,將時間戳記欄位的預設資料類型指派項目從 NUMERIC
變更為 TIMESTAMP
或 TIMESTAMP (LONG)
。
X
SAP 類型
X
SAP 類型是十六進制,由 RAW
、RAWSTRING
或 LRAW
SAP 資料類型代表。根據預設,SAP 專用 BigQuery 連接器會將這些資料類型對應至來源 BigQuery 資料表中的 STRING
。
如果您需要來源欄位具有 X
SAP 類型類別,以便對應至 BYTES
,則需要變更 /GOOG/SLT_SETTINGS
交易的欄位對應畫面中欄位的預設資料類型指派。
X
SAP 類型有時也會用於 SAP 中表示整數。在這種情況下,SAP 專用 BigQuery 連接器會檢查來源欄位的資料類型,找出其中一個整數的 SAP 資料類型 (INT1
、INT2
、INT4
、INT8
),並在目標 BigQuery 資料表中指派 INTEGER
資料類型。
y
SAP 類型
y
SAP 類型類別是位元組字串,由 RAW
、RAWSTRING
或 LRAW
SAP 資料類型代表。根據預設,SAP 專用 BigQuery 連接器會將這些資料類型對應至來源 BigQuery 資料表中的 STRING
。
如果您需要來源欄位具有 y
SAP 類型類別,以便對應至 BYTES
,則需要變更 /GOOG/SLT_SETTINGS
交易的欄位對應畫面中欄位的預設資料類型指派。
預設資料類型對應
下表顯示 BigQuery Connector for SAP 的預設資料類型轉換:
SAP 類型 | SAP 資料類型 | BigQuery 資料類型 | 附註 |
---|---|---|---|
b (1 個位元組整數)s (2 個位元組整數)I (4 個位元組整數)8 (8 個位元組整數)
|
INT1 INT2 INT4 INT8
|
INTEGER |
|
F (浮點)
|
FLTP
|
FLOAT |
|
P (已封裝)
|
CURR DEC QUAN
|
NUMERIC |
根據預設,SAP 類型類別 P 會對應至 BigQuery 資料類型 NUMERIC ,並轉換為外部格式的數字。 |
N (數值) |
NUMC |
STRING |
|
X (十六進位)y (位元組字串)
|
RAW RAWSTRING LRAW
|
STRING |
如果 SAP 類型為 X ,但資料類型名稱涵蓋模式 'INT*' (INT1 、INT2 、INT4 ),來源資料元素就會替換為含有 TYPEKIND '8' 的新資料元素 TYPINT8 ,並對應至 BigQuery 資料類型 INTEGER 。 |
C (字元)g (字元字串)? (序列)& (clike)
|
CHARSTRING |
STRING |
|
D (日期) |
DATS |
DATE |
|
T (時間) |
TIMS |
TIME |
支援生命週期
Google Cloud 會支援並維護目前的 BigQuery Connector for SAP 主要版本,並在 Google Cloud的 SAP 版本說明頁面發布淘汰通知後,至少維持 12 個月。