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

手把手教你數據倉庫建設

大數據 數據倉庫
經過前面一系列的ETL過程(什么是ETL?一文掌握ETL設計過程),我們最終將數據裝載到數據倉庫中。

[[426986]]

本文轉載自微信公眾號「數倉寶貝庫」,作者范鋼 孫玄 。轉載本文請聯系數倉寶貝庫公眾號。

前面部分是對數據的采集,然后經過ETL過程,最終存入數據倉庫。這部分是通過一切手段收集數據,然而它的建設與數據應用需求無關。因為數據倉庫存儲的是過去數年的數據,而數據應用需求總是在變。如果數據應用需求一變化,就需要修改數據倉庫的表結構,那么這數年的數據都必須要重新計算,系統就會始終處于一種十分不穩定的狀態,維護成本極高。所以,只有數據倉庫的建設與數據應用需求無關,才能保證需求變更對數據倉庫沒有影響,才能讓系統穩定運行。

后面部分是根據不同的數據分析需求,從數據倉庫中獲取數據,完成各自的數據分析,將最終的分析結果寫入數據集市。數據集市的建設是與各自的數據分析的需求息息相關的,每次需求變更時,變更的是各自的數據集市,而不是數據倉庫。

01多維數據建模

經過前面一系列的ETL過程(什么是ETL?一文掌握ETL設計過程),我們最終將數據裝載到數據倉庫中。數據倉庫是按照多維數據模型的思路進行建設的。在多維數據模型中,動態數據就轉化為了事實表,靜態數據就轉化為了維度表。進項發票事實表、銷項發票事實表都是事實表,但從其中關聯出來了日期維度表、納稅人維度表、稅務機關維度表、地域維度表與行業維度表。

多維數據模型的設計有兩種思路:雪花模型與星形模型,如下圖所示。

雪花模型與星形模型

左圖是雪花模型的設計,它最大的特點是在維度表上還要關聯維度表,如在納稅人維度表的基礎上還要關聯行業維度表。這樣設計比較容易理解,但會造成頻繁的join操作,在海量數據中降低查詢性能。譬如,要對進項發票進行地域的統計,就需要將進項發票事實表與納稅人維度表相關聯,再關聯稅務機關維度表、地域維度表,才能完成,這極大影響了系統性能。因此,為了提升查詢性能,基于空間換時間的思想,我們又提出了星形模型。

右圖是星形模型的設計,它最大的特點是不會再有維度與維度的關聯,而是所有維度表都只與事實表關聯。譬如對進項發票進行地域分析,只需要進項發票事實表關聯地域維度表就可以了,在海量數據中的性能將得到極大的提升。

接著,在以上事實表的基礎上,還可以從不同的維度與粒度對數據進行匯總,形成聚合表。譬如,對進項發票事實表按照行業進行匯總,或者按照地域進行匯總,形成“進項發票行業聚合表”與“進項發票地域聚合表”,等等。

以上的分析都是在“開票主題域”中進行的,但是按照業務流程,還有“申報主題域”“征收主題域”“稽查主題域”等,如下圖所示。這樣,數據中臺就按照業務模塊劃分為了多個主題域,然后在各個主題域進行多維建模,形成數據倉庫。但各個主題域可以擁有共同的維度表,如納稅人維度表、稅務機關維度表等。

主題域模型

02數據中臺的分層

數據中臺的建設,除了按照主題域進行縱向劃分,還要通過分層進行橫向劃分。數據中臺通過分層,劃分為原始數據層(STAGE)、細節數據層(ODS/DWD)、輕度綜合層(MID/DWS)與數據集市層(DM),如下圖所示。每一層的數據都存儲在Hive數據庫中,然后通過Schema劃分出不同的層次。

數據中臺的系統分層

最底層是原始數據層(STAGE)。所有的原始數據都在這里,通過Schema進行劃分,來自哪個數據來源就存儲在哪個Schema中,并且表名與原始庫的表名一致。

接著是細節數據層(ODS/DWD),它是經過ETL過程以后導入數據倉庫的事實表與維度表。ETL過程的中間臨時表存入名為etl的Schema,數據倉庫的事實表與維度表存入名為dw的Schema。同時,制訂命名規范,事實表以dw_fact_xxx命名,如訂單事實表dw_fact_order,維度表以dw_dim_xxx命名,如日期維度表dw_dim_date。

緊接著是輕度綜合層(MID/DWS),它是在事實表的基礎上按照不同維度與粒度形成的聚合表。聚合表以dw_agg_xxx命名,如進項發票按納稅人聚合表dw_agg_jxfp_nsr、進項發票按稅務機關聚合表dw_agg_jxfp_swjg等。

最后,是在數據倉庫之上的數據集市層(DM),它通過抽取前兩層中的事實表與聚合表的數據,按照不同的用戶需求進行數據分析,最后形成數據結果。數據集市既包括最終結果表,也包括中間結果表。數據集市以dw_dm_xxx命名,如“購車人未繳納車輛購置稅預警”屬于“機動車消費稅”分析模塊,它需要計算出應免稅數據dw_dm_jdcxfs_ms,然后計算出未繳稅數據dw_dm_jdcxfs_wjs。大多數常規數據分析就是這樣通過SparkSQL進行的。

 

本書摘編自《架構真意:企業級應用架構設計方法論與實踐》,經出版方授權發布。

 

責任編輯:武曉燕 來源: 數倉寶貝庫
相關推薦

2011-01-10 14:41:26

2025-05-07 00:31:30

2011-05-03 15:59:00

黑盒打印機

2021-07-14 09:00:00

JavaFX開發應用

2011-02-22 13:46:27

微軟SQL.NET

2021-02-26 11:54:38

MyBatis 插件接口

2021-12-28 08:38:26

Linux 中斷喚醒系統Linux 系統

2020-11-27 07:38:43

MongoDB

2017-05-18 12:45:35

數據分析數據理解數據

2011-04-21 10:32:44

MySQL雙機同步

2023-04-26 12:46:43

DockerSpringKubernetes

2022-01-08 20:04:20

攔截系統調用

2022-03-14 14:47:21

HarmonyOS操作系統鴻蒙

2022-07-27 08:16:22

搜索引擎Lucene

2022-12-07 08:42:35

2020-07-09 08:59:52

if else模板Service

2020-04-14 10:20:12

MySQL數據庫死鎖

2021-08-04 08:55:02

Socket Java開發

2011-01-06 10:39:25

.NET程序打包

2016-04-27 09:49:16

用戶模型產品總結
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 91视频在线观看 | 精品久久影院 | 日韩久久久一区二区 | 欧美色综合一区二区三区 | 亚洲精品久久久久中文字幕欢迎你 | 久久一级免费视频 | 成人影院免费视频 | 午夜国产一级 | 欧美日本韩国一区二区 | 久久新视频 | chengrenzaixian | 天天草视频 | 久久精品成人一区 | 中文字幕在线观看www | 亚洲啪啪 | 亚洲欧美国产一区二区三区 | 欧美区在线| 在线观看国产精品视频 | 国产午夜精品一区二区三区四区 | 激情久久久久 | 中文字幕在线观看国产 | 亚洲欧美国产毛片在线 | 日本免费在线看 | 国际精品久久 | 精品国产一区二区三区性色av | 最新伦理片 | 久久中文字幕一区 | 9久久精品| 麻豆av网站| 欧美一区在线视频 | 久久久精品视频免费看 | 国产成人精品免费 | 日韩欧美黄色 | 欧美一区二区三区大片 | 波多野结衣中文视频 | 黄色精品视频网站 | 天天干夜夜操 | 一区二区视屏 | 玖玖国产精品视频 | 中文字幕乱码一区二区三区 | 日韩一区二区不卡 |