- BigQuery 教程
- BigQuery - 首頁
- BigQuery - 概述
- BigQuery - 初始設定
- BigQuery 與本地SQL引擎的比較
- BigQuery - Google Cloud Console
- BigQuery - Google Cloud 層次結構
- 什麼是Dremel?
- 什麼是BigQuery Studio?
- BigQuery - 資料集
- BigQuery - 表
- BigQuery - 檢視
- BigQuery - 建立表
- BigQuery - 基本模式設計
- BigQuery - 修改表
- BigQuery - 複製表
- 刪除和恢復表
- BigQuery - 填充表
- 標準SQL與傳統SQL
- BigQuery - 編寫第一個查詢
- BigQuery - CRUD操作
- 分割槽和叢集
- BigQuery - 資料型別
- BigQuery - 複雜資料型別
- BigQuery - STRUCT資料型別
- BigQuery - ARRAY資料型別
- BigQuery - JSON資料型別
- BigQuery - 表元資料
- BigQuery - 使用者自定義函式
- 連線到外部資料來源
- 整合計劃查詢
- 整合BigQuery API
- BigQuery - 整合Airflow
- 整合連線的表格
- 整合資料傳輸
- BigQuery - 物化檢視
- BigQuery - 角色和許可權
- BigQuery - 查詢最佳化
- BigQuery - BI引擎
- 監控使用情況和效能
- BigQuery - 資料倉庫
- 挑戰與最佳實踐
- BigQuery 資源
- BigQuery - 快速指南
- BigQuery - 資源
- BigQuery - 討論
什麼是Dremel?
BigQuery並非無限能力的工具。事實上,最好避免將BigQuery視為一個諺語中的黑盒。為了加深您的理解,有必要“深入瞭解”並檢查BigQuery引擎的一些內部工作原理。
Google 的 Dremel:一個分散式計算框架
BigQuery基於一個名為Dremel的分散式計算框架,Google在2010年的一篇白皮書中更詳細地解釋了它:“Dremel:互動式分析網路規模資料集”。
這篇白皮書描述了定義現代BigQuery的許多核心特徵的願景,例如臨時查詢系統、幾乎無限的計算能力以及對處理大資料(TB和PB)的重視。
Dremel是如何工作的?
由於Dremel最初是內部產品(自2006年以來在Google內部使用),它結合了搜尋和並行資料庫管理系統的各個方面。
為了執行查詢,Dremel使用“樹狀”結構,其中查詢的每個階段都是按順序執行的,並且可以並行執行多個查詢。Dremel將SQL查詢轉換為執行樹。
槽:BigQuery執行的基礎單元
在“查詢執行”標題下,作者描述了BigQuery執行的基礎單元:槽。
- 槽是一個抽象概念,代表可用的處理單元。
- 槽是有限的,這就是為什麼專案中的任何阻塞通常是由於缺乏槽可用性造成的。
- 由於槽的使用會根據許多因素(例如處理的資料量和一天中的時間)而變化,因此可以想象,在一天早些時候快速執行的查詢現在可能需要幾分鐘。
槽的抽象可能是Dremel論文中表達的最適用的概念;其他資訊有助於瞭解,但主要描述了BigQuery產品的早期迭代。
BigQuery:定價和使用模式
無論您是練習第一個BigQuery查詢的學生,還是高層決策者,瞭解定價對於確定您可以在BigQuery中儲存、訪問和操作內容的限制至關重要。
要徹底瞭解BigQuery定價,最好將成本分為兩部分:
- 使用情況(BigQuery的文件稱之為“計算”)
- 儲存
使用情況涵蓋了您可以想到的幾乎所有SQL活動,從執行簡單的SELECT查詢到部署ML模型或編寫複雜的自定義函式。
對於任何與使用相關的活動,BigQuery提供以下選擇:
- 按需付費或“按需”模式。
- 批次槽或“容量”模式,客戶按槽小時付費。
哪種定價模式最適合您?
在決定兩種定價模式之間時,務必考慮以下因素:
- 查詢的資料量
- 產生的使用者流量
“按需”模式按TB定價,這意味著對於擁有許多大型(多個TB)表的使用者來說,這可能是一種直觀且方便的跟蹤費用的方式。
“容量”或槽模型對於正在發展其資料基礎設施的組織或個人很有幫助,他們可能沒有固定數量的資料來幫助他們計算可靠的每月費率。與其擔心每個資源產生多少資料,不如將問題轉移到改進最佳實踐,以便將查詢時間分配給計劃流程和個人的臨時查詢。
本質上,槽模型遵循Dremel專案建立的框架,其中槽(伺服器)被預留並相應定價。