資料立方體
以超過兩個維度思考您的資料。
資料立方體是一種針對分析查詢進行最佳化的結構描述。它們包含一個或多個常用存取維度的度量(例如訂單計數的計算)。這些度量是預先計算的,表示您資料庫中的某些作業會取得原始資料、執行這些計算,並建立一個新表格來儲存結果,以便使用者可以查詢結果,而不用每次都從頭開始查詢和計算。
當您根據某些度量彙總資料時,您可以想像您正在將多個表格堆疊在一起,結果看起來有點像立方體。這個立方體隱喻很貼切,但只能說明到這裡 — 事實上,大多數多維度資料的維度都遠遠超過三個。有時您會聽到這個概念被稱為超立方體或 OLAP 立方體,因為它用於分析查詢。
資料立方體將相關資訊排列在一起,例如在一段時間內儲存特定產品在不同商店位置的銷售額。這使得分析更加彈性,例如識別關於特定產品的趨勢或評估商店績效。當您的資料以立方體形式結構化時,複雜 OLAP 查詢的大部分準備工作都已預先計算,這表示這些查詢的執行速度比所有表格都分開儲存時快得多。
資料立方體是否已過時?
資料立方體在 1990 年代開始流行,當時運算能力和記憶體非常珍貴。當時,執行複雜的分析查詢會對系統造成重大壓力,而彙總和快取這些經常存取的度量非常有意義。
然而,近年來,資料倉儲、欄式儲存以及更便宜、更強大的電腦興起,導致分析領域的範例轉變:對分析速度最佳化的關注已讓位於優先考慮資料集的可用性,並確保資料的格式化方式使查詢和探索更容易。
所以,是的,資料立方體已不再流行,但如果您使用資料庫,您可能仍然會在某些時候遇到這個概念和資料立方體運算。
Metabase 中的資料立方體運算
為了讓您概觀典型的資料立方體運算,我們將使用 Metabase 的範例資料庫,以對資料立方體的近似值進行切片、切塊、樞紐分析、向下鑽取和向上彙總。我們將從詢問 Orders
表格的問題開始,以查看依產品類別和訂單建立年份分組的訂單計數。
重要的是要知道 Metabase 不會轉換您的連結表格成為資料立方體,但如果您的資料已經是立方體結構,Metabase 會理解這些立方體,沒有問題。
無論如何,Metabase 可以執行與您在資料庫軟體中對立方體執行的類似運算,如下所示。但是,如果您在新增資料來源時資料尚未在立方體中設定,則在 Metabase 中執行這些類似運算不會使這些程序的執行速度更快。從這個意義上說,Metabase 有助於組織,並使這些運算易於執行,但它們的效能仍然取決於您的基礎資料庫。
切片和切塊
切片資料立方體是指分離出一個表格,以根據單一維度分析資料。這基本上是建立此立方體的反向操作,但您可以從立方體的任何角度取得切片。
與切片類似,切塊資料立方體可讓我們放大資料特定子集的值,例如雕刻出較小的立方體,以更仔細地查看多個維度。
在 Metabase 中,切片和切塊是透過篩選條件完成的,篩選條件會根據特定維度縮小我們的結果。在下方,我們已篩選上方的相同表格,僅包含產品類別為 Doohickey 的訂單計數 — 切片的範例。
切塊運算看起來會很相似,但會包含多個維度,例如如果我們想要查看 2016 年和 2017 年包含 Gizmos 的訂單
樞紐分析
樞紐分析我們的立方體可讓我們從不同的角度查看它,並讓我們有機會交換構成我們資料列和欄位的欄位。這裡的總計未預先計算;Metabase 會即時執行數學運算。
向下鑽取
執行向下鑽取運算可讓我們更精細地查看任何給定維度。我們可以透過一個或多個維度細分來向下鑽取(也稱為鑽取)我們在 Metabase 中的資料,例如如果我們想要查看依產品類別和產品供應商劃分的訂單。
向上彙總
向上彙總運算提供沿著資料立方體給定維度的彙總金額。在 Metabase 中,這是透過摘要完成的。