精品主題,實戰(zhàn)科普,最新行業(yè)熱點話題,隨時掌握云上咨訊。
大數(shù)據(jù)應(yīng)用現(xiàn)在在大型組織中已經(jīng)非常普遍。它們通常一開始作為一個信息技術(shù)(IT)項目的組成部分,這種項目是通過提取、存儲和分析大量現(xiàn)有數(shù)據(jù)來減少開支、預(yù)測客戶購買模式、加速產(chǎn)品投放市場速度及預(yù)測原料與生產(chǎn)容量需求。
然而,我們很難直接將這些應(yīng)用直接“丟到”現(xiàn)有IT基礎(chǔ)架構(gòu)中,然后就預(yù)期它能正常運行。支持新大數(shù)據(jù)應(yīng)用的新硬件需要增加能源與制冷需求,另外還有其他IT領(lǐng)域也需要準(zhǔn)備。決定是否需要強化現(xiàn)有應(yīng)用的主要因素包括大數(shù)據(jù)存儲需求、更大數(shù)據(jù)傳輸容量及其對現(xiàn)有硬件軟件的要求。
大數(shù)據(jù)基礎(chǔ)知識
大數(shù)據(jù)包括采集、轉(zhuǎn)換和存儲大容量數(shù)據(jù),以及后續(xù)的分析工作。為此,大多數(shù)組織會采購一個或多個成型的供應(yīng)商解決方案。一個流行的選擇是IBM DB2分析加速器(IDAA)——一個來自IBM的硬件軟件混合解決方案。硬件(有時候稱為設(shè)備)包括一個容量為幾TB的專用硬件機架式磁盤存儲陣列,以及用于傳輸企業(yè)存儲數(shù)據(jù)的高速網(wǎng)絡(luò)線路。在數(shù)據(jù)存儲到設(shè)備之后,我們就可以像訪問數(shù)據(jù)庫一樣訪問這些數(shù)據(jù)。
在設(shè)備安裝之后,它就會加載來自生產(chǎn)系統(tǒng)的數(shù)據(jù)。這個設(shè)備與數(shù)據(jù)管理系統(tǒng)(這里是DB2)將會協(xié)調(diào)數(shù)據(jù)查詢。如果有一個查詢發(fā)向存儲在設(shè)備中的數(shù)據(jù),那么這個查詢會非??焖?。正是這種性能優(yōu)勢促使組織決定購買這種設(shè)備。大規(guī)模數(shù)據(jù)需要更長的分析時間。這種分析查詢在標(biāo)準(zhǔn)數(shù)據(jù)庫表上可能需要運行幾個小時,而訪問這種設(shè)備的同等規(guī)模數(shù)據(jù)則只需要幾分鐘(甚至幾秒鐘)。
這種復(fù)雜的大規(guī)模硬件解決方案需要消耗大量的電力?;A(chǔ)架構(gòu)團隊必須檢查電源需求,確定當(dāng)前的電路是否有能力處理增加的負載。另外有一點:大多數(shù)IT硬件安裝過程都會增加一些備用發(fā)電機,以減小斷電風(fēng)險。這些發(fā)電機也必須經(jīng)過檢查,以確保它們能夠給設(shè)備提供所需要的額外電源。
架構(gòu)需求
除了前面提到的電源問題,IT人員還必須解決以下問題。
這個設(shè)備是否只存儲生產(chǎn)數(shù)據(jù)?如果是,這是否意味著必須用生產(chǎn)數(shù)據(jù)去測試這些分析查詢?如果不是,那么應(yīng)該如何測試這些查詢,又應(yīng)該用什么數(shù)據(jù)進行測試?
如果你的大數(shù)據(jù)解決方案是(成為)組織的關(guān)鍵任務(wù)應(yīng)用,你是否會考慮在災(zāi)難恢復(fù)環(huán)境中安裝一個設(shè)備?如果會,那么應(yīng)該如何保持災(zāi)難恢復(fù)網(wǎng)站中大容量數(shù)據(jù)與當(dāng)前數(shù)據(jù)的同步?
如果選擇一個只存儲當(dāng)前部分生產(chǎn)數(shù)據(jù)的解決方案,那么應(yīng)該用哪些條件來將數(shù)據(jù)加載到設(shè)備中?換而言之,如果設(shè)備中的數(shù)據(jù)要支持高速查詢,那么設(shè)備里應(yīng)該創(chuàng)建哪些數(shù)據(jù)表?
其他架構(gòu)需求圍繞在大容量數(shù)據(jù)的處理與移動需求上。數(shù)據(jù)必須從源系統(tǒng)提取,經(jīng)過驗證、轉(zhuǎn)換,然后再加載到數(shù)據(jù)庫與設(shè)備中。自然地,更大容量的數(shù)據(jù)遷移會導(dǎo)致以下需求:
網(wǎng)絡(luò)擴容,其中可能包括要增加傳輸數(shù)據(jù)的并行數(shù)據(jù)通道;
新的更大存儲介質(zhì),通常是磁盤陣列形式,用于存儲主數(shù)據(jù)和備份數(shù)據(jù);
升級為數(shù)據(jù)庫自動管理流程,如數(shù)據(jù)庫備份、恢復(fù)、重組、索引維護等等;
增加人手去管理與監(jiān)控上面提到的方面。
升級數(shù)據(jù)倉庫架構(gòu)
有時候,新大數(shù)據(jù)解決方案的初始分析過程往往會漏掉的是重新檢查和升級當(dāng)前的數(shù)據(jù)倉庫環(huán)境。數(shù)據(jù)倉庫業(yè)務(wù)分析師已經(jīng)知道這一點:用于分析大容量數(shù)據(jù)的業(yè)務(wù)分析查詢通常需要按類別或維度去分析數(shù)據(jù)。這還不足以預(yù)測哪些產(chǎn)品可以賣出;你必須按照地理位置、客戶類別、產(chǎn)品類別、時間段(如季節(jié))等對數(shù)據(jù)進行匯總。這些維度已經(jīng)在數(shù)據(jù)倉庫中;而且,當(dāng)前的分析環(huán)境(其中包括常規(guī)報表和特殊用戶)已經(jīng)包含了使用這些維度的許多查詢。
任何大數(shù)據(jù)分析解決方案都需要整合數(shù)據(jù)倉庫,而這種整合會帶來一些問題。
設(shè)備初始數(shù)據(jù)。設(shè)備保存了許多數(shù)據(jù)。將數(shù)據(jù)加載到設(shè)備中需要多長時間?后續(xù)數(shù)據(jù)更新是以同步方式執(zhí)行,還是在一些深夜批處理周期中加載?
老數(shù)據(jù)存檔。數(shù)據(jù)倉庫存檔流利的當(dāng)前狀態(tài)是什么?老數(shù)據(jù)、舊數(shù)據(jù)或無用數(shù)據(jù)多長時間清理或存檔一次?這將如何影響設(shè)備中的數(shù)據(jù)?是否有辦法從設(shè)備清理大量的數(shù)據(jù)?
災(zāi)難恢復(fù)。如何備份設(shè)備中的數(shù)據(jù)?在其他存儲介質(zhì)中是否有足夠數(shù)據(jù)所有數(shù)據(jù)的空間?在遇到災(zāi)難事件時,需要多長時間才能恢復(fù)數(shù)據(jù)?
性能與增長。用戶會非常滿意查詢的快速執(zhí)行時間。或許他們會因此提交更多對于更大規(guī)模數(shù)據(jù)容量的查詢。隨著用戶對越來越大規(guī)模的數(shù)據(jù)執(zhí)行越來越多的查詢,設(shè)備是否能繼續(xù)保持良好的性能?要如何監(jiān)控這種性能,現(xiàn)在有什么性能優(yōu)化方法可以用?
制定一個整合規(guī)劃
企業(yè)準(zhǔn)備大數(shù)據(jù)應(yīng)用需要一個規(guī)劃。一個常用的方法是先解決最大的整合問題——數(shù)據(jù)倉庫。要考慮數(shù)據(jù)如何通過數(shù)據(jù)倉庫的。映射這個數(shù)據(jù)流的常用方法是提取、轉(zhuǎn)換和加載。提取是指從源系統(tǒng)獲取數(shù)據(jù),轉(zhuǎn)換包括對數(shù)據(jù)的所有修改、修復(fù)和匯總,而加載則是指將數(shù)據(jù)加載到數(shù)據(jù)倉庫中。
源系統(tǒng)
這些系統(tǒng)包括核心運營系統(tǒng)。這些系統(tǒng)會產(chǎn)生事務(wù)數(shù)據(jù),其中一些數(shù)據(jù)會被提取并發(fā)送到數(shù)據(jù)倉庫中。一個大數(shù)據(jù)解決方案可能會在這些提取的數(shù)據(jù)中加入一些額外信息,或者加入一些全新的數(shù)據(jù)源。
IT組織可能會決定在這里實現(xiàn)一個大數(shù)據(jù)解決方案,直接從生產(chǎn)系統(tǒng)提取數(shù)據(jù),用于快速存儲和分析。然而,這個方法有一些缺點。由于數(shù)據(jù)還沒有轉(zhuǎn)換,所以其中可能有許多數(shù)據(jù)元素值是無效或缺失的。此外,這些數(shù)據(jù)可能還沒有存儲到數(shù)據(jù)倉庫中,所以可能很難將大數(shù)據(jù)解決方案中的數(shù)據(jù)匹配到數(shù)據(jù)倉庫中的數(shù)據(jù)。最后,支持生產(chǎn)應(yīng)用的人員可能還沒有分析數(shù)據(jù)的專業(yè)知識。
如果必須在這里實現(xiàn)一個大數(shù)據(jù)解決方案,一定要在一開始就吸納一些生產(chǎn)系統(tǒng)支持人員參與其中。讓他們參與討論和設(shè)計決策,其中包括如何將這些數(shù)據(jù)與當(dāng)前數(shù)據(jù)進行比較及合并在一起。一定要將所有域和轉(zhuǎn)換過程記錄在一個數(shù)據(jù)字典中。
數(shù)據(jù)遷移與轉(zhuǎn)換
數(shù)據(jù)元素從源系統(tǒng)提取出來后,它們可能需要進行修復(fù)或“清理”。這其中可能會有數(shù)據(jù)缺失或無法數(shù)據(jù)項的問題。如果一個日期域的值只剩下一些數(shù)字0,該如何處理它?這個域不允許出現(xiàn)這些值;分析查詢可能是按月份或按日期范圍來查詢數(shù)據(jù)的。顯然它需要指定一個默認(rèn)值。其他的問題有數(shù)據(jù)丟失,或者需要用另一個系統(tǒng)來驗證數(shù)據(jù)有效性。其中一個例子就是包含主鍵值(如產(chǎn)品編號)的客戶訂單數(shù)據(jù)。
另一個問題是外部數(shù)據(jù)。這其中包括從外部供應(yīng)商獲取的數(shù)據(jù)、網(wǎng)頁數(shù)據(jù)和表單數(shù)據(jù)等等。一些常見問題是數(shù)據(jù)丟失、數(shù)字值中出現(xiàn)非零字符及一些需要解析才能獲取細節(jié)的自由形式文本域(如包含街道、城市、州和郵編的地址域)。這些數(shù)據(jù)域需要經(jīng)過一些轉(zhuǎn)換才能解決數(shù)據(jù)問題和分配默認(rèn)值。
數(shù)據(jù)倉庫有一個標(biāo)準(zhǔn)的數(shù)據(jù)轉(zhuǎn)換流程。許多轉(zhuǎn)換都是根據(jù)多個數(shù)據(jù)源的多個數(shù)據(jù)域進行標(biāo)準(zhǔn)化而得到的。(例如,丟失數(shù)據(jù)或無效的過期日期域可能會設(shè)為12-31-2099。)
在這里實現(xiàn)的任何大數(shù)據(jù)解決方案都必須有一些映射或復(fù)制流程,用來完成已有的標(biāo)準(zhǔn)數(shù)據(jù)倉庫數(shù)據(jù)域的轉(zhuǎn)換。正確完成這一步的關(guān)鍵是用文檔準(zhǔn)確記錄下當(dāng)前的邏輯。
將數(shù)據(jù)加載到數(shù)據(jù)倉庫
這是大多數(shù)大數(shù)據(jù)解決方案實現(xiàn)的位置。IT專家會將設(shè)備安裝到數(shù)據(jù)倉庫流程可以訪問的位置。在數(shù)據(jù)進入數(shù)據(jù)倉庫之后,當(dāng)前的數(shù)據(jù)庫加載流程會強化,支持將數(shù)據(jù)加載到設(shè)備中。現(xiàn)在用于分析的數(shù)據(jù)已經(jīng)準(zhǔn)備妥當(dāng)。
各個重要流程之間還需要協(xié)調(diào)一致:數(shù)據(jù)加載、設(shè)備加載和用戶分析。即使是高速硬件和大容量數(shù)據(jù)存儲,加載數(shù)據(jù)也需要一定的時間。在這段時間里,新數(shù)據(jù)或數(shù)據(jù)庫中的其他數(shù)據(jù)是否能夠保持可用狀態(tài)?在數(shù)據(jù)倉庫或設(shè)備不允許訪問的時間里,是否有一個確定的加載“時間窗口”?
小結(jié)
前面提到的問題是關(guān)于將大數(shù)據(jù)解決方案整合到現(xiàn)有IT企業(yè)的主要問題。雖然規(guī)劃大數(shù)據(jù)硬件的物理實現(xiàn)是非常重要的,但是同樣重要的條件是要規(guī)劃現(xiàn)有數(shù)據(jù)倉庫的整合過程。執(zhí)行分析的用戶已經(jīng)懂得查詢數(shù)據(jù)倉庫,所以擴大可能的數(shù)據(jù)域也自然成為其中一個需求。數(shù)據(jù)倉庫已經(jīng)存儲了大量的數(shù)據(jù),所以對于數(shù)據(jù)庫管理人員來說,維護另一個大規(guī)模數(shù)據(jù)存儲通常不是一個很困難的問題。
將一個大數(shù)據(jù)解決方案整合到數(shù)據(jù)倉庫的關(guān)鍵點是大數(shù)據(jù)解決方案總是需要與現(xiàn)有數(shù)據(jù)倉庫的維度數(shù)據(jù)(如地理區(qū)域和時間周期)進行比較和匯總。實現(xiàn)人員與數(shù)據(jù)倉庫支持人員之間的緊密協(xié)作是成功實現(xiàn)企業(yè)大數(shù)據(jù)應(yīng)用的關(guān)鍵因素。