成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

程序員筆記 | 3個問題帶你入門數據建模

開發 開發工具
數據幾乎總是用于兩種目的:操作型記錄的保存和分析型決策的制定。簡單來說,操作型系統保存數據,分型型系統使用數據。

一、何為建模

數據幾乎總是用于兩種目的:操作型記錄的保存和分析型決策的制定。簡單來說,操作型系統保存數據,分型型系統使用數據。

  • 前者一般僅反映數據的***狀態,按單條記錄事務性來處理;其優化的核心是更快地處理事務。
  • 后者往往是反映數據一段時間的狀態變化,按大批量方式處理數據;其核心是高性能、多維度處理數據。

通常我們將操作型系統簡稱為OLTP(On-Line Transaction Processing)— 聯機事務處理,將分析型系統簡稱為OLAP(On-Line Analytical Processing)— 聯機分析處理。

針對這兩種不同的數據用途,如何組織數據,更好地滿足數據使用需求。這里就涉及到數據建模問題。即設計一種數據組織方式(模型),來滿足不同場景。在OLTP場景中,常用的是使用實體關系模型(ER)來存儲,從而在事務處理中解決數據的冗余和一致性問題。在OLAP場景中,有多種建模方式有:ER模型、星型模型和多維模型。下面分別說明下:

1. ER模型

OLAP中的ER模型,與OLTP中的有所區別。其本質差異是站在企業角度面向主題的抽象,而不是針對某個具體業務流程的實體對象關系的抽象。

2. 星型模型

星型模型,是維度模型在關系型數據庫上的一種實現。該模型表示每個業務過程包含事實表,事實表存儲事件的數值化度量,圍繞事實表的多個維度表,維度表包含事件發生時實際存在的文本環境。這種類似于星狀的結構通常稱為"星型連接"。其重點關注用戶如何更快速地完成需求分析,同時具有較好的大規模復雜查詢的響應性能。在星型模型基礎上,在復雜場景下還可以進一步衍生出雪花模型。

3. 多維模型

多維模型,是維度模型的另一種實現。當數據被加載到OLAP多維數據庫時,對這些數據的存儲的索引,采用了為維度數據涉及的格式和技術。性能聚集或預計算匯總表通常由多維數據庫引擎建立并管理。由于采用預計算、索引策略和其他優化方法,多維數據庫可實現高性能查詢。

在這三種方式中,星型模型使用較多,下面也著重對這種方式進行說明。

二、維度建模

1. 基本概念

在建模過程中,涉及到很多概念。下面通過一個場景來,來說明它們。例如:常見的電商下單環節,每個用戶提交一筆訂單(僅限一個物品),就對應于一條訂單記錄。

  • 【業務過程】:下訂單
  • 【粒度】:每筆訂單(拆分為單個物品)
  • 【維度】:地域、年齡、渠道等(可供分析的角度)
  • 【事實/度量】:訂單金額等(可用于分析的數據)

2. 建模步驟

(1) 收集業務需求與數據實現

在開始維度建模工作之前,需要理解業務需求,以及作為底層源數據的實際情況。通過與業務方溝通交流、查看現有報表等來發現需求,用于理解他們的基于關鍵性能指標、競爭性商業問題、決策制定過程、支持分析需求的目標。同時,數據實際情況可通過與數據庫系統專家交流,了解訪問數據可行性等。

(2) 選擇業務過程

業務過程是組織完成的操作型活動。業務過程時間建立或獲取性能度量,并轉換為事實表中的事實。多數事實表關注某一業務過程的結果。過程的選擇非常重要的,因為過程定義了特定的設計目標以及對粒度、維度、事實的定義。

(3) 聲明粒度

聲明粒度是維度設計的重要步驟。粒度用于確定某一事實表中的行表示什么。在選擇維度或事實前必須聲明粒度,因為每個候選維度或事實必須與定義的粒度保持一致。在從給定的業務過程獲取數據時,原子粒度是***級別的粒度。強烈建議從關注原子級別粒度數據開始設計,因為原子粒度數據能夠承受無法預期的用戶查詢。

(4) 確認維度(描述環境)

維度提供圍繞某一業務過程事件所涉及的"誰、什么、何處、何時、為什么、如何"等背景。維度表包含分析應用所需要的用于過濾及分類事實的描述性屬性。牢牢掌握事實表的粒度,就能夠將所有可能存在的維度區分開來。

(5) 確認事實(用于度量)

事實,涉及來自業務過程事件的度量,基本上都是以數據值表示。一個事實表行與按照事實表粒度描述的度量事件之間存在一對一關系,因此事實表對應一個物理可觀察的事件。在事實表內,所有事實只允許與聲明的粒度保持一致。

(6) 部署方式 - 星型模型或多維模型

選擇一種維度模型的落地方式。既可以選擇星型模型,部署在關系數據庫上,通過事實表及通過主外鍵關聯的維度表;也可以選擇多維模型,落地于多維數據庫中。

3. 建模規范

以維度建模為理論基礎,定義一系列術語來描述建模對象。下圖摘自于《阿里巴巴大數據實踐之路》。

(1) 數據域

指面向業務分析,將業務過程或者維度進行抽象的集合。在劃分數據域時,既能涵蓋當前所有的業務需求,又能在新業務進入時無影響地被包含進已有的數據域中和擴展新的數據域。

(2) 業務過程

指企業的業務活動事件,如下單、支付、退款都是業務過程。請注意,業務過程是一個不可拆分的行為事件,通俗地講,業務過程就是企業活動中的事件。

(3) 時間周期

用來明確數據統計的時間范圍或者時間點,如最近30天、自然周、截至當日等。

(4) 修飾類型

是對修飾詞的一種抽象劃分,是從屬于某個業務域的。

(5) 修飾詞

指除了統計維度以外指標的業務場景限定抽象。修飾詞隸屬于一種修飾類型。

(6) 度量/原子指標

原子指標和度量含義相同,基于某一業務事件行為下的度量,是業務定義中不可再拆分的指標,具有明確業務含義的名詞,如支付金額。

(7) 維度

維度是度量的環境,用來反映業務的一類屬性,這類屬性的集合構成一個維度,也可以稱為實體對象。維度屬于一個數據域,如地理維度(其中包擠國家、地區、省以及城市等級別的內容)、時間維度(其中包括年、季、月、周、日等級別的內容)。

(8) 維度屬性

維度屬性隸屬于一個維度,如地理維度里面的國家名稱、國家ID、省份名稱等都屬于維度屬性。

(9) 派生指標

派生指標=一個原子指標+多個修飾詞(可選)+時間周期。可以理解為對原子指標業務統計范圍的圈定。

三、設計要點

1. 維度表設計

維度是維度建模的基礎和靈魂。在維度建模中,將度量稱為"事實",將環境描述為"維度",維度是用于分析事實所需要的多樣環境。維度所包含的表示維度的列,稱為維度屬性。維度屬性是查詢約束條件、分組和報表標簽生成的基本來源,是數據易用性的關鍵。維度的作用一般是查詢約束、分類匯總以及排序等。維度的設計過程就是確定維度屬性的過程,如何生成維度屬性,以及所生成的維度屬性的優劣,決定了維度使用的方便性,成為數據倉庫易用性的關鍵。正如Kimball所說的,數據倉庫的能力直接與維度屬性的質量和深度成正比。

在整個設計過程中,應當遵循下面一些原則:

  • 維度屬性盡量豐富,為數據使用打下基礎。
  • 給出詳實的、富有意義的文字描述。
  • 沉淀通用維度屬性,為建立一致性維度做好鋪墊。
  • 嚴格區分事實與維度,通過使用場景進行區分。

2、事實表設計

事實表作為數據倉庫維度建模的核心,緊緊圍繞著業務過程來設計,通過獲取描述業務過程的度量來表達業務過程,包含了引用的維度和與業務過程有關的度量。在設計過程中,可以選擇不同類型的事實表,它們有各自的適用場景。

在整個設計過程中,應當遵循下面一些原則:

  • 選擇一種適合的事實表類型。
  • 事實盡可能完整,包含整個業務過程的全部事實。
  • 確保每一個事實度量都是一致性,反復計算都會得到相同的結果。盡量記錄一些“原子”事實,而不是加工后的結果。
  • 可適當做些”維度退化屬性”,提高事實表的查詢性能。
  • 為提高聚合性能,可適度做些上卷匯聚事實表。

【本文是51CTO專欄機構宜信技術學院的原創文章,微信公眾號“宜信技術學院( id: CE_TECH)”】

戳這里,看該作者更多好文

責任編輯:趙寧寧 來源: 宜信技術學院
相關推薦

2021-09-14 11:10:20

程序員技能開發者

2015-08-12 14:39:47

程序員問題

2021-07-05 07:28:14

程序員菜鳥技術

2020-10-05 21:13:37

程序員技能開發者

2011-09-15 09:12:00

程序員蘋果

2017-02-05 10:21:10

程序員好問題

2015-02-02 10:13:43

程序員

2018-03-06 10:32:51

程序員代碼開發

2015-02-05 13:51:25

程序員

2013-04-28 11:03:41

編程語言程序員私有云

2009-07-28 08:28:15

2015-09-09 08:38:20

程序員問題

2018-05-25 19:13:01

程序員技能溝通

2015-09-09 09:19:42

程序員自問

2009-01-16 19:49:49

程序員考試數組指針

2021-07-01 07:43:41

項目程序員代碼

2012-03-06 09:22:46

程序員

2013-08-20 09:33:59

程序員

2019-05-16 08:36:53

Eureka緩存網關

2021-07-26 08:21:36

程序員高并發中間件
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧洲毛片 | 人人九九 | 亚洲成人免费观看 | av官网在线 | 精品国产一区二区三区免费 | 成人精品啪啪欧美成 | 秋霞在线一区二区 | 国产激情视频在线观看 | 午夜影院官网 | a在线观看免费 | 免费一级做a爰片久久毛片潮喷 | 中文字幕高清 | 国产婷婷色一区二区三区 | 最新91在线 | 国产区精品在线观看 | 亚洲精品乱码久久久久久蜜桃91 | 午夜影院在线播放 | 国产片侵犯亲女视频播放 | www网站在线观看 | 青青草原综合久久大伊人精品 | 日日干日日射 | 日韩中文一区二区三区 | 在线观看视频亚洲 | 精品欧美一区二区在线观看视频 | 精品产国自在拍 | 一级黄色毛片a | 天天操夜夜操 | 国产亚洲一区二区三区在线观看 | 神马久久久久久久久久 | 国产在线中文字幕 | 国产一区欧美一区 | 91人人在线 | 一区精品视频在线观看 | a在线免费观看 | 亚洲成人动漫在线观看 | 91精品久久久久久久久中文字幕 | 成人福利在线 | 成人久久 | 欧美亚洲国产一区 | 欧美亚洲一区二区三区 | 久久aⅴ乱码一区二区三区 91综合网 |