如果你有一個目標(biāo),想獲得所有這些數(shù)據(jù)的可操作的見解,并一直在收集。那么,你如何確定模型的數(shù)據(jù),以便實際上可以獲得這些見解,并回答你的業(yè)務(wù)問題?你的計劃。當(dāng)規(guī)劃階段不充分或不完全,其結(jié)果是可怕的。那么分析和性能、數(shù)據(jù)完整性和安全性的問題接踵而至,將會使日常的維護(hù)和發(fā)展的成本達(dá)到了不必要的水平。
在這篇文章中,介紹了人們在數(shù)據(jù)準(zhǔn)備分析建模時出現(xiàn)的一些常見的錯誤。如果被忽視,這些錯誤可能會阻礙你的分析,并影響你的見解。
讓我們從使用的工具或技術(shù)方面避免三種常見的數(shù)據(jù)建模的錯誤開始,然后再到OLAP多維數(shù)據(jù)集和傳統(tǒng)的BI平臺上工作時大多遇到的4個問題。
避免常見的建模錯誤
(1)開始實施時沒有明確的行動計劃
當(dāng)涉及到的分析,如數(shù)據(jù)倉庫或Elasticube建模數(shù)據(jù)資源,至關(guān)重要的是要規(guī)劃出它的目標(biāo)是什么。有幾個原因,但主要的主題是,你不能有效地利用您的分析資源,如果你沒有為他們的目標(biāo)。設(shè)計一個數(shù)據(jù)模型,將允許企業(yè)用戶進(jìn)行調(diào)查,如網(wǎng)絡(luò)流量和選擇,如為了分析產(chǎn)品銷售模型,網(wǎng)絡(luò)流量和選擇的價格將遠(yuǎn)遠(yuǎn)不同。
最好的做法是為每個計劃運行分析領(lǐng)域進(jìn)行規(guī)劃,設(shè)計,并分配資源。這應(yīng)該在商業(yè)智能(BI)項目規(guī)劃階段和全面的需求獲取過程中完成。當(dāng)談到實施更改分析目標(biāo)時,就會發(fā)現(xiàn)在性能,安全性和可行性的明顯改善。
將過多的數(shù)據(jù)包括到一個資源這是可能的,采用傳統(tǒng)的工具可能會導(dǎo)致查詢時間和分析慢下來;但即使采用SiSense這樣一個平臺,優(yōu)化那些龐大而不同的數(shù)據(jù)集性能時,仍然需要小心避免存儲問題,數(shù)據(jù)復(fù)制,以及不必要的開銷。在另一方面,沒有包括所有必要的數(shù)據(jù)來回答你的業(yè)務(wù)目標(biāo)中列出的問題,這是更糟糕的。
這一步的規(guī)劃將使你識別分析模型的總體目標(biāo),并確保正確的數(shù)據(jù),包括每個資源。
(2)沒有充分使用代理鍵
當(dāng)分析來自多個來源的數(shù)據(jù)時,確保數(shù)據(jù)具有唯一標(biāo)識符的一種流行的策略是提供代理鍵。然而,這并不總是必要的,或選擇使用替代密鑰是一種良好的做法。很多時候,數(shù)據(jù)有自然鍵(數(shù)據(jù)是一個唯一的值),而不用替代。這些值,如客戶的ID,社會安全號碼,或已經(jīng)在使用的交易數(shù)據(jù)作為主密鑰的復(fù)合鍵,是穩(wěn)定的,足以保留所有的基本密鑰需要的特性。
在這里,有幾點要牢記:代理鍵不應(yīng)該與數(shù)據(jù)有關(guān)系。也就是說,它不應(yīng)該受業(yè)務(wù)規(guī)則的限制。這些規(guī)則可以隨著時間的推移而改變,并呈現(xiàn)以前的唯一的值。
代理鍵不應(yīng)該的數(shù)據(jù)的關(guān)系。也就是說,它不應(yīng)該受業(yè)務(wù)規(guī)則。這些規(guī)則可以隨時間改變和呈現(xiàn)先前唯一值非唯一。
主鍵應(yīng)該是相當(dāng)緊湊,大的,復(fù)雜的,3個或更多個字段的組合鍵可能是麻煩的。如果自然鍵候選者是緊湊和穩(wěn)定的唯一值,這可能沒有理由添加代理鍵。
當(dāng)使用代理鍵,計劃系統(tǒng)總是使用類似的技術(shù)生成唯一值,UUID,GUID,或max()+1。這將確保任何代理鍵確實是唯一的。
代理鍵存在某一行標(biāo)記獨特而不提供業(yè)務(wù)內(nèi)容。這是他們提供的價值。它們不應(yīng)該被用于查詢,并顯示給終端用戶。如果是這樣,你現(xiàn)在已經(jīng)引入了一個業(yè)務(wù)內(nèi)容,不應(yīng)存在的數(shù)據(jù)的關(guān)系。重新考慮你的模型和查詢。
(3)不當(dāng)?shù)拿麡?biāo)準(zhǔn)
如果命名標(biāo)準(zhǔn)不當(dāng),可能會影響與任何數(shù)據(jù)相關(guān)的活動。這是規(guī)劃分析資源的數(shù)據(jù)模型的一個重要步驟。跳過這一步可能會導(dǎo)致很多不必要的麻煩和挫折。來自多個源的匯集數(shù)據(jù)時,這是特別真實。
數(shù)據(jù)的主要基礎(chǔ)是一致的。這應(yīng)該擴(kuò)展到所提供的表、列、約束、措施等的名稱,以遵循一個標(biāo)準(zhǔn)的命名約定,其好處變得非常迅速。如果你試圖創(chuàng)建分析的查詢,但你的表和措施在他們的名字后面沒有任何邏輯,這將很難遵循。例如,如果你有這些表:
Production_MaterialsCosts
productionMachinesMaterialVendors
它可能是困難的,但并不是不可能的,知道這些是如何標(biāo)記的,或是他們是什么,而不是每一次尋找他們。在數(shù)據(jù)模型中有一致性要更容易得多。這可能看起來像:
Production_MaterialsMaterial_Vendors
Production_MachinesMaterial_Costs
這是一個更好的方式來保持你的數(shù)據(jù)分析處于正軌,并為數(shù)據(jù)模型提供一致性。
有跡象表明,在命名標(biāo)準(zhǔn)中還有許多使用的標(biāo)準(zhǔn)方法。挑選一個適合您的組織工作并實現(xiàn)它,這是比較容易的。因此沒有必要采用獨特的命名約定。如果您是數(shù)據(jù)架構(gòu)師,第一次創(chuàng)建分析框架,這是你的責(zé)任,以實現(xiàn)一個對未來的分析師遵循的標(biāo)準(zhǔn)。如果不這樣做是一種嚴(yán)重的疏忽。
(4)使用傳統(tǒng)工具工作時常見的錯誤
采用傳統(tǒng)的BI工具或RAM密集型內(nèi)存系統(tǒng)工作時,以下的錯誤代價可能是極其昂貴的,SiSense用戶保證快速高效的芯片數(shù)據(jù)引擎不再是一個問題。
(5)錯誤的粒度級別
在分析中,粒度是指可以讓我們看到的數(shù)據(jù)細(xì)節(jié)的水平。例如,以時間和銷售規(guī)模為例,在產(chǎn)品推出的網(wǎng)上業(yè)務(wù)。粒度是多么小的一個時間框架,我們可以看一下。我們可以看看每小時,每分鐘,甚至每秒的交易數(shù)量嗎?如果我們有數(shù)據(jù),看看每一秒發(fā)生多少交易,每秒的交易,這將是粒度。如果我們所擁有的數(shù)據(jù)是每小時為單位,那么我們的粒度將是每小時的交易。這不僅適用于時間維度。可是以參考一些類似每次訪問成本,例如醫(yī)生的辦公室或每個郵政編碼的客戶。
這是需要一個很好的平衡的問題。你可能有太多的無關(guān)數(shù)據(jù),可能是難以讓最終用戶駕馭,這可能是一個企業(yè)管理人員更感興趣的大局。但是數(shù)據(jù)太少,又不能看到你需要的細(xì)節(jié),此外,商業(yè)智能平臺的性能可能會受到影響,特別是當(dāng)與傳統(tǒng)的商業(yè)智能工具(值得注意的是,這不應(yīng)該是一個問題,因為使用現(xiàn)代數(shù)據(jù)分析工具具有較強(qiáng)的數(shù)據(jù)處理能力)。
這一點很重要,要記住,不僅在規(guī)劃分析和數(shù)據(jù)模型,但是當(dāng)你認(rèn)為哪些數(shù)據(jù)值得捕獲和儲存。畢竟,如果你實際上并沒有擁有它,那就不能分析數(shù)據(jù)。
并不是所有的措施都在硬數(shù)據(jù)中發(fā)現(xiàn)。有許多情況下,派生或計算將是必要的分析。然而,并非規(guī)劃在數(shù)據(jù)模型中,這些派生值可能是一個代價昂貴的錯誤。當(dāng)運行分析查詢遺留系統(tǒng),使得許多計算可以為基礎(chǔ)設(shè)施,減緩了整個過程。此外,它可能會導(dǎo)致一些主要值的不一致。
正如前面提到的,這是用較少的Sisense問題,自芯片技術(shù)可以進(jìn)行這些計算特設(shè)的,沒有耗盡計算機(jī)的RAM資源。但是,如果您使用的是舊版本還是內(nèi)存系統(tǒng),根據(jù)情況有幾個方法來處理很多派生值。當(dāng)有衍生值,將不斷地或者用于報告或分析的目的引用的值,它可以是謹(jǐn)慎在ETL過程中進(jìn)行這些計算,并將其存儲。另外,如果計算出的值是計算密集的(即復(fù)合式),也可能是存儲所導(dǎo)出的值是個好主意。
除了當(dāng)把它們存放與不存儲他們,而不是規(guī)劃派生值會影響你的分析。尤其是在金融領(lǐng)域的指標(biāo),即計算獲得該指標(biāo)將是主觀的。這取決于該公司和他們的方法,該公式被用于一個特定的度量。如果不使用一個一致的公式,這將會有一個數(shù)據(jù)完整性和一致性問題,將會破壞任何分析。
最好是采用適當(dāng)?shù)臉I(yè)務(wù)部門檢查,以確保一致性的實現(xiàn)。規(guī)劃派生值可以幫助你分析,并改善未來業(yè)績。
(6)維度層次結(jié)構(gòu)
維層次結(jié)構(gòu)可以威脅任何分析。有時,沒有明確的方法來確定一個特定的維度是否是一個層次結(jié)構(gòu)的一部分。其他時間的業(yè)務(wù)目標(biāo)的分析錯的關(guān)系。這是需要進(jìn)一步調(diào)查的時候。如果層次結(jié)構(gòu)還不清楚,需要花時間去接觸業(yè)務(wù)人員,可以清理數(shù)據(jù),以及是如何使用的。這可能是大企業(yè)高度隔離的問題。如果沒有咨詢許多部門,它可能會很難正確地映射你的數(shù)據(jù)模型。
如果不采取正確的層次結(jié)構(gòu),分析可能會受到嚴(yán)重阻礙。一個實例將是創(chuàng)建一個用于制造公司上層管理的儀表板。如果工廠位置層級沒有正確映射,用戶將無法深入數(shù)據(jù)。當(dāng)然,這只是一個簡單的例子。而數(shù)據(jù)模型不正確維度的層次結(jié)構(gòu),還需要過于復(fù)雜的查詢來獲得所需要的分析信息,創(chuàng)建屬性關(guān)系不一致,甚至防止一些分析被完全執(zhí)行。
在你的分析過程需要移動之前,最好是規(guī)劃出你的數(shù)據(jù)模型和正確的層次結(jié)構(gòu)。
(7)忽略小數(shù)據(jù)源
不可避免的是,關(guān)鍵的業(yè)務(wù)數(shù)據(jù)存儲在各種各樣的地方。數(shù)據(jù)存儲在電子表格、數(shù)據(jù)庫、筆記本電腦、移動設(shè)備、備忘錄、收據(jù)等,也許相當(dāng)大的一部分可遇不可求,對于從所有的這些“信息孤島”的數(shù)據(jù)采集分析。一個大的錯誤是基于一個不完整的數(shù)據(jù)集,忽略這些較小的數(shù)據(jù)源得出結(jié)論。
這對于規(guī)模較小的公司來說,并不具備一個連接各部門和集中的數(shù)據(jù)強(qiáng)大的基礎(chǔ)設(shè)施,更是如此,還是因為加入多個數(shù)據(jù)源仍然是一個IT處理過程,不能由用戶進(jìn)行處理。小企業(yè)可以以指數(shù)速率增長,而與數(shù)據(jù)收集保持同步增長,通常讓人頭疼的一件事。因此,在企業(yè)運行分析的時候,它有許多信息孤島,需要包括準(zhǔn)確的結(jié)果。
例如,采用電子表格是行政助理使用跟蹤客戶和通信進(jìn)行客戶分析的關(guān)鍵。離開了電子表格,可能無法實現(xiàn)重要的連接。它可能是唯一的記錄,而可能來自兩個不同的來源的兩個客戶的名字實際上是同一個客戶。這種事情可能讓人頭痛。
人們的底線是,一定要采取從這些數(shù)據(jù)源識別和收集數(shù)據(jù)的時間。它可以創(chuàng)造或打破您的分析。
結(jié)論
你可能已經(jīng)注意到,當(dāng)涉及到你的數(shù)據(jù)分析建模時,就有一個共同的主題,那就是規(guī)劃。花時間來規(guī)劃你分析的目標(biāo),并合并來自許多來源的數(shù)據(jù)。如果使用得當(dāng),數(shù)據(jù)建模變得更加容易,你的數(shù)據(jù)會分析生成更可靠,可操作的見解。
你的規(guī)劃階段應(yīng)包括以上列出的要點。這也應(yīng)當(dāng)比實際建模時間長得多。人們要抽出時間來設(shè)置一些標(biāo)準(zhǔn),收集所有的數(shù)據(jù),確定各種資源的目標(biāo)。