chinesefreesexvideos高潮,欧美极品少妇性运交,久久久国产一区二区三区,99久久婷婷国产综合精品,成人国产一区二区三区

APP推廣合作
聯(lián)系“鳥哥筆記小喬”
淺談數(shù)倉建設中的分層
2022-02-23 11:40:44

作者:唐剛

01 數(shù)倉為什么要分層

數(shù)倉分層的原因也即是分層的好處體現(xiàn)在下面幾個方面:

1、分層是一種空間換時間的操作。

我們知道數(shù)倉一般都是用來保存大量的歷史數(shù)據(jù)的,這些數(shù)據(jù)可能是業(yè)務數(shù)據(jù)也可能是日志數(shù)據(jù),由于數(shù)據(jù)量級很大,如果直接查詢數(shù)倉中的原始數(shù)據(jù)需要訪問的表的數(shù)量和底層文件的數(shù)量都較多,體現(xiàn)在我們日常工作中就是SQL異常復雜,甚至join和union加一起都不夠用,造成的直接后果就是SQL運行很慢,甚至跑不出來結果或者報錯。

而分層要做的就是對原始數(shù)據(jù)重新做歸納整理,在不同層級對數(shù)據(jù)或者指標做不同粒度的抽象。經過分層后,同一個指標可能在不同層的數(shù)據(jù)中都有體現(xiàn),似乎是“重復”了,但這種重復是一種“不完全”的重復,因為每個層級中指標的粒度是不完全一致的。這種不是完全重復的重復給我們帶來的直接好處就是SQL寫起來大大簡化了,SQL計算耗時大大降低了。有人可能會質疑這樣會造成存儲成本的提高,但是相比帶來的直接收益,這一點成本是可接受的,畢竟誰也不想被老板一遍又一遍的dis:我要的數(shù)怎么還沒有跑出來?

2、分層有利于減少重復開發(fā)。

分層把大部分常用的、通用的數(shù)據(jù)模型和指標進行抽象和匯總,經過這樣的處理后生成可滿足大部分業(yè)務場景使用的數(shù)據(jù)表和指標。這些表和指標就類似于程序開發(fā)中的公共模塊和接口,下游的使用方在使用的時候就不需要再從頭開發(fā)了,直接拿來用即可。這樣不僅減少了重復開發(fā)而且做到了數(shù)據(jù)和指標的統(tǒng)一。

3、分層可以把復雜的問題簡單化。

舉個栗子,大多數(shù)分析師剛到一個新公司的時候常常會被迫接手一個甚至是幾個長達上千行的祖?zhèn)鱏QL代碼,里面join、uoion數(shù)不過來,一層又一層嵌套的子查詢更是剪不斷、理還亂。遇到這樣的情況不知道的小白會認為這個前輩很牛逼,能寫出這么長的SQL,甚至竊認為自己很幸運學習到了一個這么牛逼的SQL。但實際情況往往是數(shù)倉分層不合理或者剛開始的時候沒有數(shù)倉,所有的邏輯都要從最底層的表中來計算,這個時候不復雜都難。而數(shù)倉分層要做的一部分工作就是把這個又臭又長的SQL進行拆解和預處理,一方面就是上面提到的把通用的數(shù)據(jù)和指標進行歸類和預計算,另外一方面就是把JOIN和UNION這些復雜的操作拆解放在數(shù)倉的ETL中來處理。這就是所謂的把復雜的問題簡單化。

4、分層帶來更高的數(shù)據(jù)安全。

數(shù)據(jù)經過分層以后,每層的表的寬度和指標的粒度都不同,這樣就可以針對不同的使用的對象開放不同層級的數(shù)據(jù)。不需要關心明細數(shù)據(jù)的對方直接開放聚合度高的數(shù)據(jù)即可,這樣就避免了底層明細、敏感數(shù)據(jù)的泄漏。另外在分層處理的時候也可以對一些敏感的字段做刪除、脫敏加密的處理,避免因安全控制精細化不夠帶來的數(shù)據(jù)使用權限大于申請的權限。

分層的其他好處還包括,數(shù)據(jù)更加規(guī)范有條理,數(shù)據(jù)血緣更加清晰,數(shù)據(jù)表和指標的統(tǒng)一等等。

02 常用的數(shù)倉分層模型

我們以阿里的數(shù)倉架構圖為例來說明數(shù)倉常用的分層模型。

阿里整體數(shù)據(jù)分了5層,分別是ODS,DWD, DIM,DWS,ADS,下面我們分別介紹一下。

ODS(Operation Data Store)層,中文通常有兩種叫法,分別是貼源數(shù)據(jù)層和操作數(shù)據(jù)層。前者是站在與數(shù)據(jù)源的關系層面來說的,也就是說這一層的數(shù)據(jù)是跟數(shù)據(jù)源的數(shù)據(jù)是一致的,所以稱其為貼源數(shù)據(jù)層。后者是站在數(shù)據(jù)產生的層面來說的,也就是說這一層的數(shù)據(jù)是公司發(fā)生的一系列業(yè)務動作產生形成的,所以叫操作數(shù)據(jù)層。

我們可以看到不論是哪一種叫法都體現(xiàn)了與源數(shù)據(jù)的一致性。所以這一層的數(shù)據(jù)一般來說是與業(yè)務庫中中的數(shù)據(jù)保持一致的,也即是說這一層的數(shù)據(jù)來源于業(yè)務mysql、oracle等庫中或者日志中,在同步的過程中不對數(shù)據(jù)做任何處理,保證與源數(shù)據(jù)的一致。這一層是最基礎也是最重要的一層,就像大廈的地基一樣,地基不牢,越是高層越是不穩(wěn)定。

DWD(Data Warehouse Detail),中文稱之為明細數(shù)據(jù)層。這一層在與原表保持同一粒度的基礎上根據(jù)業(yè)務過程對ODS的數(shù)據(jù)進行去除臟數(shù)據(jù),按照業(yè)務過程對表進行歸類和關聯(lián),經過ETL得到與業(yè)務過程相對應的事實表。通常是實際業(yè)務中按照維度建模的方式把一些常用的維度也會冗余的到這一層的表中以降低數(shù)據(jù)查詢的成本。需要特別提醒的是這一層的數(shù)據(jù)在粒度上仍然是明細數(shù)據(jù),是沒有進行聚合的,只是表變得更寬了些。

DIM(Dimension),中文稱之為維度數(shù)據(jù)層。這一層其實是與DWD平行的一個層級,是對業(yè)務中常用維度的建模和抽象,例如常見的地域維度,日期維度,商品品類SKU等維度。所謂的維度也即是我們看數(shù)據(jù)和分析數(shù)據(jù)的一種習慣和視角。這一層通常存儲的是完整的維度key和維度的名稱,而事實表中通常存儲的是維度key的字段。

DWS(Data Warehouse Service),直譯為數(shù)據(jù)服務層,我們通常稱其為匯總數(shù)據(jù)層。這一層的數(shù)據(jù)來源基本上都是DWD和DIM,通常是把DWD中的事實表的key和DIM中的維度key關聯(lián),然后對事實按照更高的維度進行上卷的聚合操作,得到在某一維度或者多個維度上的匯總數(shù)據(jù)或指標。需要提醒的是數(shù)據(jù)在這一層發(fā)生了粒度變化,不再是明細的數(shù)據(jù),而是聚合后的數(shù)據(jù),這也是這一層別稱之為匯總數(shù)據(jù)層的原因。

ADS(Application Data Service),直譯應用數(shù)據(jù)服務層,也就是我們通常說的應用層或者指標層。這一層的數(shù)據(jù)來源可以是DWD層,也可以是DWS層,或者是二者的混合計算。這一層的數(shù)據(jù)也是聚合后的數(shù)據(jù)。那么它與DWS層的區(qū)別是什么呢?DWS通常是對明細數(shù)據(jù)按照常用的維度所做的較低維度的聚合匯總,而ADS層通常是面向具體應用(報表、接口等)的較高維度的數(shù)據(jù)指標的聚合匯總。

舉一個不是特別恰當?shù)呛苣苷f明問題的栗子,DWD的10條數(shù)據(jù)可能在DWS中聚合成了5條,但是在ADS中可能被聚合成了1條,所以二者的聚合度是不一致的。不過也可能存在二者的聚合度一致,但此時ADS層的表中的字段更多或者更少,這也是體現(xiàn)了其面向具體應用的含義。

以上是阿里數(shù)倉的主要分層,拋開具體的層次名稱,一般意義上數(shù)倉可分為三個大的層次,分別是原始數(shù)據(jù)層,也就是數(shù)倉中數(shù)據(jù)的來源;清洗處理層,也就是對原始數(shù)據(jù)經過各種操作后形成的數(shù)據(jù);面向應用層,也就是說是針對單個特定的數(shù)據(jù)需求清洗而形成的數(shù)據(jù)。明白了這層含義,我也就不用再解釋其他一些諸如DWM,FACT,DW,DM等的寫法和叫法了,這些都只是表象,核心還是上面說的三層的本質。

03 你的數(shù)倉該怎么分層

好多同學可能看了上面的分層介紹后覺得分層不就是那么回事嗎?可是一到實際的場景中就犯了難,ODS中還好說,可是后面要分幾層,每一層的原則和依賴怎么定義?針對一個具體表是放在ADS層合適呢還是放在DWS層合適呢?下面就來跟大家說說如何對你的數(shù)倉分層。

首先我們要記住一個原則:不要為了分層而去分層,盲目的分層不但會造成數(shù)倉中表的混亂而且造成很大的資源浪費更是給后面的數(shù)據(jù)治理留下的無窮的隱患。分層的目的是讓數(shù)據(jù)更規(guī)范、清晰更易用而不是為了讓層次更多。兩點要牢記的是越是往上層數(shù)據(jù)的粒度就越粗,所表達的內容就越有限,所以不是層級越多越好;本層的表一般只允許依賴他緊鄰的上一層,應嚴格避免同層依賴,否則極易產生循環(huán)依賴。

知道了上面的原則和要點,我的建議是如果業(yè)務場景比較簡單且數(shù)據(jù)表也不是很多,三層就足夠了;如果業(yè)務場景和過程比較復雜,指標口徑需要很多表關聯(lián)才能計算的話建議四層或者更多的層。不要為了分層而分層也不要被這個層所層層困住。

一千個讀者可能有一千種分層的想法,一千個公司可能也有一千種分層的方法,適合自己的就是最好的。

分享到朋友圈
收藏
收藏
評分

綜合評分:

我的評分
Xinstall 15天會員特權
Xinstall是專業(yè)的數(shù)據(jù)分析服務商,幫企業(yè)追蹤渠道安裝來源、裂變拉新統(tǒng)計、廣告流量指導等,廣泛應用于廣告效果統(tǒng)計、APP地推與CPS/CPA歸屬統(tǒng)計等方面。
20羽毛
立即兌換
一書一課30天會員體驗卡
領30天VIP會員,110+門職場大課,250+本精讀好書免費學!助你提升職場力!
20羽毛
立即兌換
順豐同城急送全國通用20元優(yōu)惠券
順豐同城急送是順豐推出的平均1小時送全城的即時快送服務,專業(yè)安全,準時送達!
30羽毛
立即兌換
一個數(shù)據(jù)人的自留地
數(shù)據(jù)人交流和學習的社區(qū),關注我們,掌握專業(yè)數(shù)據(jù)知識、結識更多的數(shù)據(jù)小伙伴。
確認要消耗 羽毛購買
淺談數(shù)倉建設中的分層嗎?
考慮一下
很遺憾,羽毛不足
我知道了

我們致力于提供一個高質量內容的交流平臺。為落實國家互聯(lián)網信息辦公室“依法管網、依法辦網、依法上網”的要求,為完善跟帖評論自律管理,為了保護用戶創(chuàng)造的內容、維護開放、真實、專業(yè)的平臺氛圍,我們團隊將依據(jù)本公約中的條款對注冊用戶和發(fā)布在本平臺的內容進行管理。平臺鼓勵用戶創(chuàng)作、發(fā)布優(yōu)質內容,同時也將采取必要措施管理違法、侵權或有其他不良影響的網絡信息。


一、根據(jù)《網絡信息內容生態(tài)治理規(guī)定》《中華人民共和國未成年人保護法》等法律法規(guī),對以下違法、不良信息或存在危害的行為進行處理。
1. 違反法律法規(guī)的信息,主要表現(xiàn)為:
    1)反對憲法所確定的基本原則;
    2)危害國家安全,泄露國家秘密,顛覆國家政權,破壞國家統(tǒng)一,損害國家榮譽和利益;
    3)侮辱、濫用英烈形象,歪曲、丑化、褻瀆、否定英雄烈士事跡和精神,以侮辱、誹謗或者其他方式侵害英雄烈士的姓名、肖像、名譽、榮譽;
    4)宣揚恐怖主義、極端主義或者煽動實施恐怖活動、極端主義活動;
    5)煽動民族仇恨、民族歧視,破壞民族團結;
    6)破壞國家宗教政策,宣揚邪教和封建迷信;
    7)散布謠言,擾亂社會秩序,破壞社會穩(wěn)定;
    8)宣揚淫穢、色情、賭博、暴力、兇殺、恐怖或者教唆犯罪;
    9)煽動非法集會、結社、游行、示威、聚眾擾亂社會秩序;
    10)侮辱或者誹謗他人,侵害他人名譽、隱私和其他合法權益;
    11)通過網絡以文字、圖片、音視頻等形式,對未成年人實施侮辱、誹謗、威脅或者惡意損害未成年人形象進行網絡欺凌的;
    12)危害未成年人身心健康的;
    13)含有法律、行政法規(guī)禁止的其他內容;


2. 不友善:不尊重用戶及其所貢獻內容的信息或行為。主要表現(xiàn)為:
    1)輕蔑:貶低、輕視他人及其勞動成果;
    2)誹謗:捏造、散布虛假事實,損害他人名譽;
    3)嘲諷:以比喻、夸張、侮辱性的手法對他人或其行為進行揭露或描述,以此來激怒他人;
    4)挑釁:以不友好的方式激怒他人,意圖使對方對自己的言論作出回應,蓄意制造事端;
    5)羞辱:貶低他人的能力、行為、生理或身份特征,讓對方難堪;
    6)謾罵:以不文明的語言對他人進行負面評價;
    7)歧視:煽動人群歧視、地域歧視等,針對他人的民族、種族、宗教、性取向、性別、年齡、地域、生理特征等身份或者歸類的攻擊;
    8)威脅:許諾以不良的后果來迫使他人服從自己的意志;


3. 發(fā)布垃圾廣告信息:以推廣曝光為目的,發(fā)布影響用戶體驗、擾亂本網站秩序的內容,或進行相關行為。主要表現(xiàn)為:
    1)多次發(fā)布包含售賣產品、提供服務、宣傳推廣內容的垃圾廣告。包括但不限于以下幾種形式:
    2)單個帳號多次發(fā)布包含垃圾廣告的內容;
    3)多個廣告帳號互相配合發(fā)布、傳播包含垃圾廣告的內容;
    4)多次發(fā)布包含欺騙性外鏈的內容,如未注明的淘寶客鏈接、跳轉網站等,誘騙用戶點擊鏈接
    5)發(fā)布大量包含推廣鏈接、產品、品牌等內容獲取搜索引擎中的不正當曝光;
    6)購買或出售帳號之間虛假地互動,發(fā)布干擾網站秩序的推廣內容及相關交易。
    7)發(fā)布包含欺騙性的惡意營銷內容,如通過偽造經歷、冒充他人等方式進行惡意營銷;
    8)使用特殊符號、圖片等方式規(guī)避垃圾廣告內容審核的廣告內容。


4. 色情低俗信息,主要表現(xiàn)為:
    1)包含自己或他人性經驗的細節(jié)描述或露骨的感受描述;
    2)涉及色情段子、兩性笑話的低俗內容;
    3)配圖、頭圖中包含庸俗或挑逗性圖片的內容;
    4)帶有性暗示、性挑逗等易使人產生性聯(lián)想;
    5)展現(xiàn)血腥、驚悚、殘忍等致人身心不適;
    6)炒作緋聞、丑聞、劣跡等;
    7)宣揚低俗、庸俗、媚俗內容。


5. 不實信息,主要表現(xiàn)為:
    1)可能存在事實性錯誤或者造謠等內容;
    2)存在事實夸大、偽造虛假經歷等誤導他人的內容;
    3)偽造身份、冒充他人,通過頭像、用戶名等個人信息暗示自己具有特定身份,或與特定機構或個人存在關聯(lián)。


6. 傳播封建迷信,主要表現(xiàn)為:
    1)找人算命、測字、占卜、解夢、化解厄運、使用迷信方式治病;
    2)求推薦算命看相大師;
    3)針對具體風水等問題進行求助或咨詢;
    4)問自己或他人的八字、六爻、星盤、手相、面相、五行缺失,包括通過占卜方法問婚姻、前程、運勢,東西寵物丟了能不能找回、取名改名等;


7. 文章標題黨,主要表現(xiàn)為:
    1)以各種夸張、獵奇、不合常理的表現(xiàn)手法等行為來誘導用戶;
    2)內容與標題之間存在嚴重不實或者原意扭曲;
    3)使用夸張標題,內容與標題嚴重不符的。


8.「飯圈」亂象行為,主要表現(xiàn)為:
    1)誘導未成年人應援集資、高額消費、投票打榜
    2)粉絲互撕謾罵、拉踩引戰(zhàn)、造謠攻擊、人肉搜索、侵犯隱私
    3)鼓動「飯圈」粉絲攀比炫富、奢靡享樂等行為
    4)以號召粉絲、雇用網絡水軍、「養(yǎng)號」形式刷量控評等行為
    5)通過「蹭熱點」、制造話題等形式干擾輿論,影響傳播秩序


9. 其他危害行為或內容,主要表現(xiàn)為:
    1)可能引發(fā)未成年人模仿不安全行為和違反社會公德行為、誘導未成年人不良嗜好影響未成年人身心健康的;
    2)不當評述自然災害、重大事故等災難的;
    3)美化、粉飾侵略戰(zhàn)爭行為的;
    4)法律、行政法規(guī)禁止,或可能對網絡生態(tài)造成不良影響的其他內容。


二、違規(guī)處罰
本網站通過主動發(fā)現(xiàn)和接受用戶舉報兩種方式收集違規(guī)行為信息。所有有意的降低內容質量、傷害平臺氛圍及欺凌未成年人或危害未成年人身心健康的行為都是不能容忍的。
當一個用戶發(fā)布違規(guī)內容時,本網站將依據(jù)相關用戶違規(guī)情節(jié)嚴重程度,對帳號進行禁言 1 天、7 天、15 天直至永久禁言或封停賬號的處罰。當涉及欺凌未成年人、危害未成年人身心健康、通過作弊手段注冊、使用帳號,或者濫用多個帳號發(fā)布違規(guī)內容時,本網站將加重處罰。


三、申訴
隨著平臺管理經驗的不斷豐富,本網站出于維護本網站氛圍和秩序的目的,將不斷完善本公約。
如果本網站用戶對本網站基于本公約規(guī)定做出的處理有異議,可以通過「建議反饋」功能向本網站進行反饋。
(規(guī)則的最終解釋權歸屬本網站所有)

我知道了
恭喜你~答對了
+5羽毛
下一次認真讀哦
成功推薦給其他人
+ 10羽毛
評論成功且進入審核!審核通過后,您將獲得10羽毛的獎勵。分享本文章給好友閱讀最高再得15羽毛~
(羽毛可至 "羽毛精選" 兌換禮品)
好友微信掃一掃
復制鏈接