很可惜 T 。T 您現(xiàn)在還不是作者身份,不能自主發(fā)稿哦~
如有投稿需求,請把文章發(fā)送到郵箱tougao@appcpx.com,一經(jīng)錄用會有專人和您聯(lián)系
咨詢?nèi)绾纬蔀榇河鹱髡哒埪?lián)系:鳥哥筆記小羽毛(ngbjxym)
這兩天在脈脈上有一個帖子很火,主題居然是討論數(shù)據(jù)建模的,太令我詫異了!這個時候脈脈上不應(yīng)該都是在炫耀年終獎和新Offer么?
這個帖子是一位百度的同學(xué)在吐槽,為啥阿里的《大數(shù)據(jù)之路》講的好像很牛,但是為什么跟我們實際工作中的情況不一樣???
“你們數(shù)據(jù)建模真的搞的那么牛*么?”
接需求、拉數(shù)據(jù)、做寬表、對數(shù)、跑批、找bug、重跑...
這就是大多數(shù)大數(shù)據(jù)工程師的工作日常,說好的建模呢?為什么我每天就是在建寬表?
這個哥們的疑問,其實很有意思。脈脈上吵成一團,但都沒說到真正的點上。
下面有個哥們說,寫數(shù)據(jù)建模的內(nèi)容,理論來源就是二位老爺子,避免不了要抄一些內(nèi)容。說的好像有點道理。
但是你有沒有想過這個問題,就是為什么這位同學(xué)會問這個問題?
因為他從書上看到的,跟他實際工作不一樣。
那為什么書上和工作中不一樣?是書上說謊了嗎?
書上不是說要反規(guī)范化維度、緩慢變化維、快照維表么?為啥我工作上都沒用到呢?
那些極限存儲的拉鏈表呢?還有代理鍵呢?你們阿里就那么牛,建模都建出花兒了,就我在這里天天拉寬表?
唉,想知道這個問題的答案,咱還得翻翻舊賬,說說數(shù)據(jù)倉庫的超級痛點。
Inmon提出數(shù)據(jù)倉庫構(gòu)想的前幾年,數(shù)倉項目建設(shè)成功概率有多少呢?80%以上,全部失敗!
是不是有點像最近兩年的“數(shù)據(jù)中臺”?
為啥?當時數(shù)倉界的幾位大佬也在研究。經(jīng)過Inmon、Kimball一堆大佬的研究,以及對企業(yè)失敗經(jīng)驗的總結(jié),最后得出這么個結(jié)論:
就是如果按照Inmon老爺子的邏輯,從上到下去搞全面建設(shè),實施周期往往非常長,往往要1-2年以上。
等實施完,很可能當時提需求的人都不知道當時自己想干啥了。
因此,Kimball老爺子基于多年咨詢項目的經(jīng)驗,提出了縮小建設(shè)范圍,提高成功率的方法。也就是現(xiàn)在常說的,自下而上的Kimball建設(shè)模式。
當然,全面建設(shè)的方法同樣在發(fā)展,各大廠商針對不同的行業(yè),輸出了N個標準模型,比如Teradata的FSLDM、IBM的BDWM、IAA、IIW、Sybase的IWS等等。都是行業(yè)標桿,能直接推到邏輯建模的后半部分。
Inmon老爺子后來也跟Kimball一眾大佬一起優(yōu)化,并最終提出了CIF企業(yè)信息工廠的概念。
順便八卦一句:Inmon和Kimball兩位大佬并不是網(wǎng)上傳聞完全割裂的,CIF里還致謝過Kimball,并且Kimball也否認有絕對的自上而下和自下而上的建設(shè)方法,都是結(jié)合著來的。
但即便是這樣,數(shù)倉建設(shè)周期和業(yè)務(wù)需求即時性之間的GAP,仍然是一個弱點。
在以前,這個弱點還好,因為大家的業(yè)務(wù)變化的還是比較符合預(yù)期的,又有Kimball的縮小建設(shè)范圍的法子,也有行業(yè)標準LDM,建設(shè)成功率就非常快了。
但是!現(xiàn)在!大清都亡了啊~~~!
你看看我們現(xiàn)在的市場環(huán)境,你用啥能滿足那些不給數(shù)據(jù)就坐在你旁邊的運營同學(xué)們!??!
你用啥辦法能搞定一個月變一次的業(yè)務(wù)方向???請Inmon、Kimball大爺過來也做不到啊!
我分別為傳統(tǒng)企業(yè)和互聯(lián)網(wǎng)企業(yè)做過KPI考核體系。在傳統(tǒng)企業(yè),基本上是一次設(shè)計,然后基本上就不用管了,因為績效考核政策基本上一年才會換一次。
但是在互聯(lián)網(wǎng)公司,我就炸了!他們的績效是一個月發(fā)布一次?。?!
所以,數(shù)倉建設(shè)周期這個曾經(jīng)讓數(shù)倉項目大面積失敗的弱點,在互聯(lián)網(wǎng)時代,再次被無限放大,成為致命的弱點。
快速變化的業(yè)務(wù),讓我們根本沒時間建模!
當運營、產(chǎn)品同學(xué)坐在你旁邊,看著你干活,你是啥感覺?我不知道你是什么感受。
反正有人在背后,我會立刻啟動原始的危險生理報警。如果一直在旁,那感覺,如鋒芒在背,如鯁在喉!恨不得立刻離開這個地方,還需要壓制住一股揍扁他的沖動。
所以,為了送走這尊瘟神,我們只能是直接給他拖一張寬表?。?/span>
我們再把場景放大一些,我們數(shù)倉組,對于數(shù)據(jù)分析師、運營、產(chǎn)品同學(xué)的迫切需求,我們會怎么對待?
這邊業(yè)務(wù)推進會上,好一些的,會把數(shù)倉的同學(xué)叫過去。不好的,直接扔給你一個需求,項目下周上線,數(shù)據(jù)也要同步上線。
更惡劣的,項目都上線了,再過來跟你說需求。你就說怎么弄???
一方面,新業(yè)務(wù)根本沒有通用的模型。另一方面,根本沒足夠的時間。你再牛,建模手段再牛,你總得先梳理業(yè)務(wù)流程吧?
但是新業(yè)務(wù),業(yè)務(wù)流程可能都沒人能給你說清楚。
好,你業(yè)務(wù)捋順了,你是不是要看看數(shù)據(jù)?但是新業(yè)務(wù),連數(shù)據(jù)都沒有??!而且,還有一堆的新功能在設(shè)計呢,表都沒有,你咋建模?
縱使你有72般變化,千般手段,萬般才能,也只能見招拆招,還是丟一個寬表給他,趕緊讓他走吧!
所以導(dǎo)致現(xiàn)在互聯(lián)網(wǎng)團隊招人,比較少的找小半年沒產(chǎn)出的數(shù)據(jù)建模師,而是去選擇偏向能立刻出活兒,解決任務(wù)、調(diào)度、優(yōu)化等問題的大數(shù)據(jù)工程師。
是的,不可否認,拉寬表就是現(xiàn)如今數(shù)倉、大數(shù)據(jù)工程師的日常。
但是同學(xué),你忘記了一個很重要的因素了。這就是歷史。
可能有些新入行的人不知道,阿里巴巴當年把Teradata、Oracle、東南融通等國內(nèi)外做數(shù)倉、數(shù)據(jù)治理的公司都挖了一個遍,組建了全國最牛的數(shù)據(jù)團隊。
按照當時對數(shù)據(jù)的respect ,必須是一板一眼,規(guī)規(guī)矩矩的做。即便是后來去IOE,走了一批人,但數(shù)據(jù)至上的傳統(tǒng)已然刻下來了。
現(xiàn)在還有人吐槽,說阿里的那些人,就是仗著自己有數(shù)據(jù)權(quán)限,到處瞎BB。
唉,哥們,你知道為什么我們做數(shù)據(jù)的這么苦B么?還不是因為沒有話語權(quán)?業(yè)務(wù)什么都定好了,只讓我們干活啊。
所以才會一點時間都不留給我們,導(dǎo)致我們天天拉寬表!
來,你說數(shù)倉項目成功最重要的因素是什么?
是規(guī)范!是徹底執(zhí)行的規(guī)范!你沒有話語權(quán),誰搭理你?誰按你的規(guī)范行事?
你出臺一堆的標準、規(guī)范,業(yè)務(wù)一句話就踩死你:今晚上線!你能怎么辦?
所以,恰恰是阿里的數(shù)據(jù)部門有足夠的權(quán)限(權(quán)力),設(shè)置了非常健全的游戲規(guī)則,這才有了阿里大數(shù)據(jù)的蓬勃發(fā)展。
所以我完全相信阿里《大數(shù)據(jù)之路》中寫的那些內(nèi)容,一來,當時的阿里,有高度統(tǒng)一的數(shù)據(jù)認知;二來,阿里有很好的數(shù)據(jù)團隊基礎(chǔ);三來,數(shù)據(jù)團隊有非常高的權(quán)限(權(quán)力)。
這三點,讓阿里的數(shù)據(jù)團隊至少不會因為業(yè)務(wù)部門無理的要求而節(jié)省建模的流程。
當然啊,現(xiàn)在很多互聯(lián)網(wǎng)公司也開始重視數(shù)據(jù)倉庫的建設(shè),也都各自在數(shù)倉方向有非常多的布局。
我手上也有很多資料。感興趣的同學(xué)可以翻到文末,下載來學(xué)習(xí)一下。
另外一方面,由于大數(shù)據(jù)技術(shù)的普及,以及各種對效率要求超高的場景的出現(xiàn),大數(shù)據(jù)數(shù)倉領(lǐng)域也出現(xiàn)了一些新的小工具,比如寬表模型、BitMap、布隆過濾器等等。
在互聯(lián)網(wǎng)以前,沒人提寬表,都是業(yè)務(wù)庫設(shè)計的邏輯,嚴格符合三范式,設(shè)計成窄表。
有些人以為窄表就是字段少,寬表就是字段多。其實不是哈。
寬窄的區(qū)分不是字段的多少,而是“是否冗余字段”。
如果一張表中,已經(jīng)包括了所有你要取的字段,包括id、代碼值、數(shù)值,不需要再關(guān)聯(lián)其他表,那就是寬表。
BitMap則是一個高度壓縮的信息,把每一個用戶的某種信息離散為0、1。比如用戶當天是否上線,然后橫過來變成一個超長的“01010011101101”的字符串。
每天一長串,然后想要連續(xù)7天都上線的用戶,只需要把這幾個字符串做一個“and”操作,選出所有值為“1”的位,所對應(yīng)的用戶就是想要的結(jié)果了。
感興趣的可以參考我之前寫的一篇文章:【10億用戶量,連續(xù)7天登錄的用戶標簽該怎么打?】
布隆過濾器也很有意思,原理是hash+位圖的,典型應(yīng)用是快速找?guī)炖锸欠裼羞@個信息。把所有的信息hash散列成為一個數(shù),然后映射到位圖上。想要判斷庫里是否有這個信息,去這位圖上看看就行了。因為是hash,所以任何信息都能放,比如圖片、連接、文件都行。
感興趣的可以參考我之前寫的一篇文章:【抖音是怎么做到不重復(fù)推薦內(nèi)容呢?】
有新的玩法,就有消失的玩意。
比如說代理鍵,以前非?;?,是用來解耦數(shù)倉代碼體系和業(yè)務(wù)系統(tǒng)代碼體系的?,F(xiàn)在要么統(tǒng)一id,要么就用原來的id。
比如說拉鏈表,這可是很好用的方法啊,最新數(shù)據(jù)和歷史數(shù)據(jù)都在一起,狀態(tài)的變化可以隨時拉出來。但是現(xiàn)在已經(jīng)淪為極限存儲的法子了。
還有什勞子緩慢變化維、快速維等等。
你還知道哪些消失的玩意?可以在群里一起嘮一嘮啊~
感謝閱讀,本次分享的內(nèi)容就結(jié)束了。本公眾號目前保持日更3000字,為你提供優(yōu)秀的數(shù)據(jù)領(lǐng)域的分享。
最后給大家一個小福利:公眾號“大數(shù)據(jù)架構(gòu)師”后臺回復(fù)“互聯(lián)網(wǎng)數(shù)倉”,即可直接下載!
推薦閱讀:
(上)原理都懂,就是不會建模?來,頂尖數(shù)據(jù)模型走一波
(下)原理都懂,就是不會建模?來,頂尖數(shù)據(jù)模型走一波
如何打造數(shù)據(jù)治理閉環(huán)?以金融行業(yè)為例
快?數(shù)據(jù)質(zhì)量保障體系及在直播場景的實踐
更多精彩:
本文為作者獨立觀點,不代表鳥哥筆記立場,未經(jīng)允許不得轉(zhuǎn)載。
《鳥哥筆記版權(quán)及免責申明》 如對文章、圖片、字體等版權(quán)有疑問,請點擊 反饋舉報
我們致力于提供一個高質(zhì)量內(nèi)容的交流平臺。為落實國家互聯(lián)網(wǎng)信息辦公室“依法管網(wǎng)、依法辦網(wǎng)、依法上網(wǎng)”的要求,為完善跟帖評論自律管理,為了保護用戶創(chuàng)造的內(nèi)容、維護開放、真實、專業(yè)的平臺氛圍,我們團隊將依據(jù)本公約中的條款對注冊用戶和發(fā)布在本平臺的內(nèi)容進行管理。平臺鼓勵用戶創(chuàng)作、發(fā)布優(yōu)質(zhì)內(nèi)容,同時也將采取必要措施管理違法、侵權(quán)或有其他不良影響的網(wǎng)絡(luò)信息。
一、根據(jù)《網(wǎng)絡(luò)信息內(nèi)容生態(tài)治理規(guī)定》《中華人民共和國未成年人保護法》等法律法規(guī),對以下違法、不良信息或存在危害的行為進行處理。
1. 違反法律法規(guī)的信息,主要表現(xiàn)為:
1)反對憲法所確定的基本原則;
2)危害國家安全,泄露國家秘密,顛覆國家政權(quán),破壞國家統(tǒng)一,損害國家榮譽和利益;
3)侮辱、濫用英烈形象,歪曲、丑化、褻瀆、否定英雄烈士事跡和精神,以侮辱、誹謗或者其他方式侵害英雄烈士的姓名、肖像、名譽、榮譽;
4)宣揚恐怖主義、極端主義或者煽動實施恐怖活動、極端主義活動;
5)煽動民族仇恨、民族歧視,破壞民族團結(jié);
6)破壞國家宗教政策,宣揚邪教和封建迷信;
7)散布謠言,擾亂社會秩序,破壞社會穩(wěn)定;
8)宣揚淫穢、色情、賭博、暴力、兇殺、恐怖或者教唆犯罪;
9)煽動非法集會、結(jié)社、游行、示威、聚眾擾亂社會秩序;
10)侮辱或者誹謗他人,侵害他人名譽、隱私和其他合法權(quán)益;
11)通過網(wǎng)絡(luò)以文字、圖片、音視頻等形式,對未成年人實施侮辱、誹謗、威脅或者惡意損害未成年人形象進行網(wǎng)絡(luò)欺凌的;
12)危害未成年人身心健康的;
13)含有法律、行政法規(guī)禁止的其他內(nèi)容;
2. 不友善:不尊重用戶及其所貢獻內(nèi)容的信息或行為。主要表現(xiàn)為:
1)輕蔑:貶低、輕視他人及其勞動成果;
2)誹謗:捏造、散布虛假事實,損害他人名譽;
3)嘲諷:以比喻、夸張、侮辱性的手法對他人或其行為進行揭露或描述,以此來激怒他人;
4)挑釁:以不友好的方式激怒他人,意圖使對方對自己的言論作出回應(yīng),蓄意制造事端;
5)羞辱:貶低他人的能力、行為、生理或身份特征,讓對方難堪;
6)謾罵:以不文明的語言對他人進行負面評價;
7)歧視:煽動人群歧視、地域歧視等,針對他人的民族、種族、宗教、性取向、性別、年齡、地域、生理特征等身份或者歸類的攻擊;
8)威脅:許諾以不良的后果來迫使他人服從自己的意志;
3. 發(fā)布垃圾廣告信息:以推廣曝光為目的,發(fā)布影響用戶體驗、擾亂本網(wǎng)站秩序的內(nèi)容,或進行相關(guān)行為。主要表現(xiàn)為:
1)多次發(fā)布包含售賣產(chǎn)品、提供服務(wù)、宣傳推廣內(nèi)容的垃圾廣告。包括但不限于以下幾種形式:
2)單個帳號多次發(fā)布包含垃圾廣告的內(nèi)容;
3)多個廣告帳號互相配合發(fā)布、傳播包含垃圾廣告的內(nèi)容;
4)多次發(fā)布包含欺騙性外鏈的內(nèi)容,如未注明的淘寶客鏈接、跳轉(zhuǎn)網(wǎng)站等,誘騙用戶點擊鏈接
5)發(fā)布大量包含推廣鏈接、產(chǎn)品、品牌等內(nèi)容獲取搜索引擎中的不正當曝光;
6)購買或出售帳號之間虛假地互動,發(fā)布干擾網(wǎng)站秩序的推廣內(nèi)容及相關(guān)交易。
7)發(fā)布包含欺騙性的惡意營銷內(nèi)容,如通過偽造經(jīng)歷、冒充他人等方式進行惡意營銷;
8)使用特殊符號、圖片等方式規(guī)避垃圾廣告內(nèi)容審核的廣告內(nèi)容。
4. 色情低俗信息,主要表現(xiàn)為:
1)包含自己或他人性經(jīng)驗的細節(jié)描述或露骨的感受描述;
2)涉及色情段子、兩性笑話的低俗內(nèi)容;
3)配圖、頭圖中包含庸俗或挑逗性圖片的內(nèi)容;
4)帶有性暗示、性挑逗等易使人產(chǎn)生性聯(lián)想;
5)展現(xiàn)血腥、驚悚、殘忍等致人身心不適;
6)炒作緋聞、丑聞、劣跡等;
7)宣揚低俗、庸俗、媚俗內(nèi)容。
5. 不實信息,主要表現(xiàn)為:
1)可能存在事實性錯誤或者造謠等內(nèi)容;
2)存在事實夸大、偽造虛假經(jīng)歷等誤導(dǎo)他人的內(nèi)容;
3)偽造身份、冒充他人,通過頭像、用戶名等個人信息暗示自己具有特定身份,或與特定機構(gòu)或個人存在關(guān)聯(lián)。
6. 傳播封建迷信,主要表現(xiàn)為:
1)找人算命、測字、占卜、解夢、化解厄運、使用迷信方式治?。?br /> 2)求推薦算命看相大師;
3)針對具體風(fēng)水等問題進行求助或咨詢;
4)問自己或他人的八字、六爻、星盤、手相、面相、五行缺失,包括通過占卜方法問婚姻、前程、運勢,東西寵物丟了能不能找回、取名改名等;
7. 文章標題黨,主要表現(xiàn)為:
1)以各種夸張、獵奇、不合常理的表現(xiàn)手法等行為來誘導(dǎo)用戶;
2)內(nèi)容與標題之間存在嚴重不實或者原意扭曲;
3)使用夸張標題,內(nèi)容與標題嚴重不符的。
8.「飯圈」亂象行為,主要表現(xiàn)為:
1)誘導(dǎo)未成年人應(yīng)援集資、高額消費、投票打榜
2)粉絲互撕謾罵、拉踩引戰(zhàn)、造謠攻擊、人肉搜索、侵犯隱私
3)鼓動「飯圈」粉絲攀比炫富、奢靡享樂等行為
4)以號召粉絲、雇用網(wǎng)絡(luò)水軍、「養(yǎng)號」形式刷量控評等行為
5)通過「蹭熱點」、制造話題等形式干擾輿論,影響傳播秩序
9. 其他危害行為或內(nèi)容,主要表現(xiàn)為:
1)可能引發(fā)未成年人模仿不安全行為和違反社會公德行為、誘導(dǎo)未成年人不良嗜好影響未成年人身心健康的;
2)不當評述自然災(zāi)害、重大事故等災(zāi)難的;
3)美化、粉飾侵略戰(zhàn)爭行為的;
4)法律、行政法規(guī)禁止,或可能對網(wǎng)絡(luò)生態(tài)造成不良影響的其他內(nèi)容。
二、違規(guī)處罰
本網(wǎng)站通過主動發(fā)現(xiàn)和接受用戶舉報兩種方式收集違規(guī)行為信息。所有有意的降低內(nèi)容質(zhì)量、傷害平臺氛圍及欺凌未成年人或危害未成年人身心健康的行為都是不能容忍的。
當一個用戶發(fā)布違規(guī)內(nèi)容時,本網(wǎng)站將依據(jù)相關(guān)用戶違規(guī)情節(jié)嚴重程度,對帳號進行禁言 1 天、7 天、15 天直至永久禁言或封停賬號的處罰。當涉及欺凌未成年人、危害未成年人身心健康、通過作弊手段注冊、使用帳號,或者濫用多個帳號發(fā)布違規(guī)內(nèi)容時,本網(wǎng)站將加重處罰。
三、申訴
隨著平臺管理經(jīng)驗的不斷豐富,本網(wǎng)站出于維護本網(wǎng)站氛圍和秩序的目的,將不斷完善本公約。
如果本網(wǎng)站用戶對本網(wǎng)站基于本公約規(guī)定做出的處理有異議,可以通過「建議反饋」功能向本網(wǎng)站進行反饋。
(規(guī)則的最終解釋權(quán)歸屬本網(wǎng)站所有)