為 BigQuery 目的地設定分區和叢集,即可提高查詢效能並控管費用。分區和分群可減少 BigQuery 在執行查詢時需要掃描的資料量。
資料表分區
資料表分區功能可將資料表劃分為多個區段 (稱為分區),方便您管理及查詢資料。您可以指定分區資料欄,將資料表分區。
Datastream 支援三種 BigQuery 資料表的分區類型:
依擷取時間分區:您可以根據 Datastream 將資料擷取至 BigQuery 的時間,將資料表分區。您可以選擇按小時、日、月或年設定擷取時間分區。預設精細程度為「每日」。
依時間單位進行資料分割:您可以根據資料來源的資料欄分割資料表,Datastream 會將資料欄對應至下列其中一種 BigQuery 資料型別:
DATE、DATETIME或TIMESTAMP。如要瞭解 Datastream 如何將來源資料類型對應至 BigQuery 資料類型,請參閱 BigQuery 中的資料類型對應。視來源資料欄對應的 BigQuery 資料類型而定,您可以選取下列其中一種精細度類型:
DAY、MONTH、YEAR:適用於DATE資料型別。HOUR、DAY、MONTH、YEAR:適用於DATETIME和TIMESTAMP資料型別。
依整數範圍分區:您可以依來源資料欄將資料表分區,而 Datastream 會將來源資料欄的資料類型對應至 BigQuery
INTEGER資料類型。請提供下列資訊:- 開始:第一個分區範圍的起始值 (含)。
- 結束:最後一個分區範圍的結束值 (不含)。
- 間隔:每個分區範圍的寬度。
詳情請參閱整數範圍分區。
如要瞭解如何設定串流的分區,請參閱「設定串流的來源資料庫相關資訊」。
資料表叢集
叢集處理會根據叢集處理資料欄的值排序資料表中的資料,並將值相似的資料並置。如果查詢只依叢集資料欄篩選,系統只會掃描相關資料區塊,而非整個資料表或資料表分區。這有助於提升查詢效能並降低查詢費用。
您最多可依據四個資料欄,將 BigQuery 資料表叢集化。指定資料欄的順序會決定資料的排序方式。
您可以根據資料來源資料欄叢集資料表,而 Datastream 會將該資料欄對應至下列其中一種 BigQuery 資料類型:
BIGNUMERICBOOLEANDATEDATETIMEGEOGRAPHYINT64NUMERICRANGESTRINGTIMESTAMP
如要瞭解 Datastream 如何將來源資料類型對應至 BigQuery 資料類型,請參閱「BigQuery 中的資料類型對應」。
如要瞭解如何為串流設定叢集,請參閱「設定串流的來源資料庫相關資訊」。
限制
如要瞭解 BigQuery 的分區限制,請參閱「分區資料表簡介」。
如要瞭解 BigQuery 的叢集限制,請參閱叢集資料表簡介。
如要瞭解 BigQuery 分區資料表的配額限制,請參閱「配額與限制」。
此外,使用 Datastream 時,還須遵守下列限制:
- 只有在 Datastream 建立新的 BigQuery 資料表時,才會套用分區和分群設定。如要為現有資料表設定或修改分割和叢集設定,請先從 BigQuery 刪除該資料表,然後在 Datastream 中設定或修改其設定。
- 如果是 MongoDB 來源,您只能依擷取時間分區資料表。
- MongoDB 資料庫不支援叢集功能。
後續步驟
- 如要進一步瞭解 BigQuery 中的分區,請參閱「分區資料表簡介」和「管理分區資料表」。
- 如要進一步瞭解 BigQuery 中的叢集功能,請參閱「叢集資料表簡介」和「管理叢集資料表」。
- 如要進一步瞭解串流,請參閱串流生命週期。
- 如要瞭解如何建立串流,請參閱「建立串流」。
- 如要進一步瞭解 BigQuery,請參閱 BigQuery 目的地。