【全球案例】Unity:利用 BigQuery 分析 PB 級的資料,實現報表與機器學習應用

Unity Technologies 是全球創作與運行即時 3D 應用 (Real-Time 3D, RT3D) 的佼佼者。Unity 所建構、營運的服務每個月觸及數十億的終端用戶,還有許多外部服務支援金融交易、行銷等項目。而這些服務及系統所產生的資料都非常重要,有利於 Unity 更加了解業務營運與服務狀況。為了增加資料的可見度與開發這些資料的潛能,Unity 必須剖析資料倉儲並鞏固其資料來源,以便更有效提供、管理資料。

集中整合資料服務

Unity 處理的資料量非常巨大,每個月有超過 30 億次的應用程式下載,還有 50% 的遊戲(各遊戲平台、行動裝置及個人電腦平均值)是使用 Unity 作為開發平台。Unity 營運著全球最大的廣告網路之一,也支援著全球數十億的遊戲玩家。Unity 的系統每天消化並處理 Unity 在全球支援的數百億個活動,並與外部企業共同運作如客戶關係管理系統 (CRM system) 等服務。

而 Unity 期待將這些服務的資料與大量的串流資料整合提供給使用者。這代表其資料平台必須得處理每日幾十億個事件。此外,平台還得具備每個月處理 PB 等級資料量的能力,並且得讓各公司的股東們、內部各團隊運用平台上的資料及分析資料來做出重要的企業決策。

除此之外,Unity 所選擇的平台也需要符合其嚴謹的安全性與隱私權政策,Unity 內部員工對於存取資料有著非常嚴密的限制,對於平台的選擇,資料的匿名化與加密是絕對且重要的。

Unity 期望能集中整合其資料服務、建構一套通用的解決方案,僅需要建構一次,未來就能服務多種不同的需求。過去 Unity 不同服務都使用不一樣的平台;儲存機器學習的資料集是一套,儲存企業資料的資料倉儲是另一套,而處理串流服務的報表資料又是另一套。而現在,Unity 找到了一個可以降低成本單一平台的解決方案 ─ Google Cloud BigQuery。

選擇 BigQuery 的主要考量

Unity 在兩年多前決定將整個架構從另一個雲端服務系統遷移至 Google Cloud,並將分析系統建構於 BigQuery 之上。此決定取決於幾個主要的因素:可擴充性、支援多資料來源、成本效益、強大的安全隱私設定。

除了以上,Unity 也希望這套資料處理工具能夠分析資料、產出報表,同時供所有人創建新的資料集、合併成新的資料表以及建立資料範本。匯總資料和 event-level 類型資料都可用於報告、分析和做為機器學習的資料源,這些資料都可以在 BigQuery 中做靈活的應用。

另外,平台支援機器學習功能也是一大考量點,因為這是許多 Unity 服務的核心。機器學習靠的是快速的資料回饋迴圈運作的,服務會產生資料並同時將其做為輸入資料,逐漸把服務往最佳化的方向調整舉例來說,依據 Unity 的學習資料,提供更多相關的推薦內容,來達成更好的使用者體驗。

搬遷 BigQuery 經驗談

遷移作業採定期執行,執行的過程中需要仔細調整資料表的格式、ETL 流程和搜尋功能。這項複雜的工程遷移作業費時六個月,主要是為了符合 GDPR 政策。另一個原因是因為 Unity 將所有的分散式資料庫和工具轉變為單一資料平台。下列為需要注意的事項:

1. 資料欄位設計

BigQuery 需要有固定的 schema這個限制各有優缺點。固定的 schema 降低了寫入的靈活性,並強制開發人員嚴格遵循該 schema。從優點來說,團隊則可利用這個優勢提供安全的下游操作,讓錯誤的資料記錄不會破壞資料。

Unity 便建立一套 schema 管理系統。此套系統讓 Unity 內部團隊在產生、寫入資料時有規則可以遵循,藉此改動 schema 以讓格式不符的資料能夠正常寫入至資料表。針對資料寫入,schema 的限制可以給予資料有所保護,再加上 schema 管理系統的靈活性,能夠提供團隊很大的幫助。

2. 資料視覺化的便利性

任何複雜的資料分析系統都需要了解目標用戶。舉例來說,組織中的某些人只需要一張簡單的儀表板,這時就只需使用到簡化資料操作類型的產品,比如整合 Data Studio。有時,這些使用者需要更複雜的報表功能、創建複雜的儀表板,這時候 Looker 就會是更好的選擇。

3. 機器學習應用

BigQuery 中儲存的資料能夠快速被轉換至 AutoML 和 BigQuery ML 中做使用。同時,其他機器學習的範例可能需要高度客製化的解決方案。針對這些情況,Unity 也著手開發 Kubeflow-based 的解決方案,使其亦能使用 BigQuery 的資料。

展望未來:現代化資料分析基礎設施

Unity 現已能夠部署世界一流的資料分析基礎設施且能每天從數十億個事件中接收 PB 等級的資料。Unity 現在可以在幾個小時內將資料提供給公司的股東們。Unity 將過去的獨立資料整合後,改善了過往的內部流程、有能力提供營運報表,並縮短了許多請求的處理時間。此外,Unity 還將不同的資料整合至單一個資料源 (BigQuery),再由 BigQuery 回應所有的資料請求。使用 Google Cloud 全代管資料倉儲服務 BigQuery 不僅提供良好的彈性和靈活性,更降低了 Unity 的各項成本。

(本文翻譯改編自 Google Cloud。)

相關文章

Martech 必看!手把手教學帶您正確的建立行銷資料倉儲 (二)

保護 Google Cloud 資料庫安全的最佳實踐

Martech 必看!手把手教學帶您正確的建立行銷資料倉儲 (一)


連絡「GCP 專門家」