本頁介紹 PostgreSQL 適用的 AlloyDB 中的 Lakehouse Federation,這項統一資料管理解決方案可擴充 AlloyDB 的查詢功能。這項整合功能可讓您順暢查詢各種 BigQuery 資源,包括:
- 原生資料表和具體化檢視表。
- BigQuery 檢視表 (邏輯檢視表)。
- BigLake 外部資料表,包括 Apache Iceberg 管理資料表。
- 標準外部資料表。
透過 Lakehouse Federation,您可以使用 AlloyDB 的查詢引擎,在同一個介面中,為應用程式的交易和分析工作負載提供支援。您也可以在 AlloyDB 上實現或匯入這項資料,以便在應用程式中更快存取,並使用 AlloyDB AI 和資料欄引擎。
AlloyDB 的 Lakehouse Federation 可讓您將 BigQuery 或 Iceberg 的資料載入及轉換至 AlloyDB,以支援作業應用程式,或彙整歷來資料和即時交易資料。這個用途可支援整合式分析,並在應用程式環境中提供完整的商家檢視畫面。
您可以將 AlloyDB 做為交易資料庫,也可以在 BigQuery 或 BigLake 中儲存大量資料。您的應用程式通常會分別與這兩個系統整合,以存取這些不同 Google Cloud服務的資料。透過 Lakehouse Federation,您可以使用 AlloyDB 實作的聯合查詢支援 (以外部資料包裝函式形式),在 AlloyDB 中透過 SQL 介面存取 BigQuery 和 AlloyDB 資料。
下推式廣告
您可以運用篩選和匯總下推技術,在資料移轉至 AlloyDB 或由 AlloyDB 處理之前,先在 BigQuery 中篩選或匯總資料,藉此加快查詢速度並降低成本。這種做法可盡量減少網路流量和記憶體用量,讓您快速有效率地分析大量資料集,且不會超出資源限制。
篩選條件下推
篩選條件下推 (也稱為述詞下推) 是一種最佳化技術,可盡可能將資料篩選作業移至儲存層。資料庫會「推送」篩選器 (使用 WHERE 子句) 到初始資料掃描中,而不是將大量資料表讀取到記憶體,然後捨棄不需要的資料列。
透過篩選條件下推,您可以使用含有 WHERE 子句的 SQL 查詢,存取遠端資料表中的資料子集。這項資料也可以在區域資料表上具體化,或是以區域分割區的形式附加至 PostgreSQL 資料表。
支援的篩選器
如果下列比較和算術運算出現在 PostgreSQL 查詢的篩選 (WHERE) 子句中,系統會使用 BigQuery API 將這些運算下推至 BigQuery:
比較運算子
=、>、<、>=、<=、<>、~~、!~~
算術運算子
+、-、*、/
匯總下推
匯總下推是進階資料庫最佳化功能,可盡可能在儲存層附近執行計算,例如 SUM、COUNT、AVG 或 GROUP BY。篩選條件下推功能會移除不需要的資料列,而匯總下推功能則會在資料庫引擎進一步處理資料列之前,先匯總需要的資料列。
支援的匯總
如果適用於支援的資料類型,下列匯總函式會使用 BigQuery API 下推至 BigQuery:
- SUM
- AVG
- MIN
- MAX
- COUNT
BigQuery 費用和帳單
BigQuery 外部資料包裝函式取決於下列項目:
- BigQuery 運算定價
- BigQuery Storage API 定價
詳情請參閱「BigQuery 計價方式」一文。
限制
- AlloyDB 和 BigQuery 可能使用不同的排序規則,因此兩個系統的資料排序方式可能不同。如果查詢的任何部分是在 BigQuery 上遠端執行,則排序規則會遵循 BigQuery 的設定。
- 從 BigQuery 傳回大量資料的查詢 (下推後) 並未經過最佳化。