關閉

馬雲曾說: “未來二三十年內最昂貴最值錢的不是石油也不是房子,而是數據”。常聽到: 大數據的應用能幫助企業瞄準客戶需求、找出潛在客戶,但是即使擁有龐大的數據資料,若沒有做有效的資料處理,那麼數據的價值也無法突顯。面對這個問題,企業可以利用PaaS服務-BigQuery來進行大型數據集的交互式分析。根據官方的介紹: “BigQuery具備高擴充性與成本效益的無伺服器多雲端資料倉儲系統,專為增進企業靈活性而設計。” 簡單來說,BigQuery就是一款雲端的企業數據倉儲。

企業數據倉儲-Enterprise Data Warehouse (EDW)是現今許多公司統一管理企業內所有資料的數據倉庫。EDW就像一個統一集中的大數據倉庫,將來自不同系統的企業數據(如ERP、CRM)儲存在一起。

要更有效了解BigQuery,必須先了解數據倉儲(Data Warehouse)的架構,其架構主要包含3部分:數據來源(Raw data layer)、倉庫(Warehouse)、以及透過分析工具呈現出來的介面(Analytical tools)。

極密曝光!GCP架構實戰!- 大數據分析BigQuery

首先,上圖為資料倉儲的一層架構。資料庫會直接與使用者分析介面連接。這樣的架構面臨的問題是無法展現靈活的分析效能。假設資料庫裡有500GB的資料,直接做查詢時,處理時間會過長。當輸入不夠精確,也無法篩選出有效資料。因此,一層架構的設計很少應用在大規模數據平台上。

極密曝光!GCP架構實戰!- 大數據分析BigQuery

兩層架構則在EDW與使用者介面中間添加了數據市集Data Mart Layer。這裡可以把數據市集當作是數據倉儲的一個子集,數據市集面向的都是特定的業務主題,通常只包含一個主題領域,是一個規模較小的數據庫。這樣的結構解決了第一層架構面臨到查詢緩慢的問題。由於數據市集限制了使用者能夠查詢的資料。一方面,每個單位部門可以更便利查到所需的數據,另一方面,這樣的限制也讓整體系統的安全性提高。
 

極密曝光!GCP架構實戰!- 大數據分析BigQuery

三層架構的設計上則再進一步添加Online Analytical Processing (OLAP) layer,線上分析處理是用來快速解決多維分析問題的一種方法。我們常見的關聯式資料庫屬於二維形式,而其中的OLAP cube由多為資料組成。透過OLAP操作的四種類型包含:Roll-up、Drill-down、Slice and dice和Pivot (rotate),達到多維資料的快速查詢功能。因此,OLAP特別針對讀取做優化,也能做到資料的更新、刪除。目前幾乎所有數據倉儲都有提供OLAP服務。
 

極密曝光!GCP架構實戰!- 大數據分析BigQuery

資料來源:​​https://cloud.google.com/architecture/bigquery-data-warehouse
 

而BigQuery就是與EDW 具有相同特徵的數據倉庫。因為屬於雲端的完全託管服務,所以也算是雲數據倉庫Cloud data warehouse (CDW)。
 

 

BigQuery

BigQuery的主要特色為全託管(fully managed)且無伺服器(serverless)。服務運行的軟硬體皆由GCP負責管理。服務不會輕易中斷,達到高可用性的特色。使用者不用擔心硬體資源,機器資源可彈性增減,花費也取決於您的實際使用量。

極密曝光!GCP架構實戰!- 大數據分析BigQuery

資料來源:https://cloud.google.com/bigquery 
 

BigQuery支援多種匯入來源:本地、Google 雲端硬碟、Cloud Storage,BigQuery Data Transfer Service (DTS)、Data Fusion外掛程式等多種方式將資料上傳到資料倉庫。而支援的資料格式有:Avro、CSV、JSON、ORC 或 Parquet 格式。

極密曝光!GCP架構實戰!- 大數據分析BigQuery
資料來源:https://cloud.google.com/blog/products/data-analytics/new-blog-series-bigquery-explained-overview


BigQuery的整體架構如上圖,將儲存和計算分離,功能各自獨立。解耦合結構降低系統出錯的發生頻率,讓企業可以根據業務彈性選擇儲存與處理方案,同時也可以分別管控使用費用。於BigQuery上傳資料時,資料會加密來確保資料安全性。上傳的資料也會分別存放在不同的資料中心,和擁有不同的加密金鑰。在操作方面,使用Standard SQL語法,對於開發人員來說是無陣痛期的。BigQuery也支援資料表之間的Join動作,可以做即時分析(real-time analytics)。

此外,BigQuery運算速度快,主要有兩個原因,一個是使用Columnar storage(數據按列儲存),搜尋時不必掃描全部,即可快速找到資料。另一個原因則為Tree architecture,指的是Query會分散由數千台伺服器處理調度查詢。BigQuery自2010年創立至今,除了作為大數據倉儲的查詢服務,還有提供其他多元的服務,像是BigQuery ML:讓使用者建構機器學習模型、BigQuery GIS:支援地理空間資料格式的分析技術等。
 



撰寫人
極密曝光!GCP架構實戰!- 大數據分析BigQuery

助理工程師
許媁涵 Annie Hsu