很多公司已經實現了大數據應用的部署。這些應用的組成包括:大數據存儲、混合硬件、用于存儲和訪問數據的軟件和一些復雜的軟件接口。這些接口可以用于接受商業分析師的查詢,訪問數據存儲,提供解決方案以用于理解客戶需求,簡化商業事務,提高利潤等方面。
隨著越來越多的成功或失敗的案例在各種新聞媒體上曝光,大數據越來越神乎其神。本文將討論一些最廣為流傳的神話,并探討其如何對你的大數據實現產生負面影響。
神話1:大數據應用可以獨立存在
很明顯是錯的,顯然,你的大數據應用包含著大量的數據。然而,用于查詢數據的分析軟件同樣重要。對數據進行分析是非常常見的行為,尤其是在那些擁有數據倉庫的公司中。數據倉庫包含了實時性的運營數據快照。你當前的數據集合和分析報告取決于數據倉庫的維度。
維度就是分析師對信息進行劃分和歸類的實體依據。它包括時間、地理、客戶類型、商店、部門等等。一條統計圣誕節期間在某些州中顧客在零售商店購買電子產品付費信息的查詢包括如下幾個維度:商品類型(電子商品)、商店、地理(州)、時間(圣誕期間)。每一個維度都提供一種匯總數據的方式,可以為分析用戶喜好、統計商品庫存、計算收益等提供線索。
大數據應用也需要類似的維度。由于數據已經被數據倉庫存儲和維護,整合數據倉庫模型和大數據應用勢在必行。
這種整合的一種自然表現就是你將會升級數據倉庫以便分析查詢能夠覆蓋數據倉庫中的數據。良好的企業數據模型和綜合數據字典是必不可少的。
數據倉庫升級一般會增加新的維度,包含新運行系統的數據,對大型對象如圖像和XML文件提供存儲。最后一項尤其重要,在預算討論時將會較早被提及。大型的復雜對象可能不會被你的商業智能軟件包直接用于分析,但這些對象的基本數據將會存儲于數據倉庫中。舉例來說,XML文件會被一些數據庫管理系統編碼,以表的形式存儲于數據庫中。BI軟件使用這些表數據來進行分析操作。
神話2:要新增的預算項目僅僅包括大數據軟件和硬件
這也是錯的,盡管一些供應商聲稱,任何企業要實現大數據應用,成本將會顯著超過對大數據軟硬件上的投資
首先,要為未來考慮。你的大數據應用必須具備擴展能力。這是指系統對大批量數據,快速的數據傳輸,日漸增長的用戶量等作出快速反應的能力。當出現響應時間變慢,運行時間延長,交易時間延長時,你就該意識到此類問題已經產生。
對于很多應用來說,這些問題被劃分為性能相關,解決方法是添加CPU,內存、存儲設備等硬件設施。然而,在大數據環境下,更強的硬件設施已經不是解決問題的辦法。供應商所提供的大數據軟硬件依賴于專用的數據存儲方式,如數據壓縮,大規模并行數據處理,以及同底層數據管理系統的協作等。此類環境下的擴展需要你對數據的架構設計和存儲進行重新思考,包括可能出現的非格式化數據,邏輯劃分,更智能的查詢重寫以及對SQL性能分析關注度的提升。
接下來,通過對擴展制定預算來進行中期計劃,大數據存儲植根于操作系統,而這些操作系統所包含的已經不再是簡單的字符型和數據型數據。一些系統包括復雜的數據類型,如可擴展標記語言數據(XML),視頻與音頻數據,圖片,以及大型對象(LOBs).當需要對數據進行聚集和其他操作時,你的大數據應用需要分析這些數據類型。
要實現這些,你必須預算員工的工作時間。最重要的是企業數據模型,包括硬件體系結構,以及在你的企業數據集成。
另一個預算項目是非生產環境。典型的非生產環境用于軟件開發,用戶驗收測試,系統壓力測試等。你的大數據應用測試版應該存在于其中。
為什么要這樣? 大數據環境下,業務分析師的學習曲線是陡峭的。為了有效的對大數據應用進行查詢,大部分商店采用了商業智能(BI)軟件產品。這些產品展示數據以及常見數據結構圖形式之間的關系,采用點擊或拖動的接口,允許用戶指定某些數據元素按照特定維度聚集。接口通常是專業性的,一般要求用戶對業務數據和其體系結構非常熟悉。
非生產環境非常適合這些未來用戶使用和練習。
另一個要考慮的是災難恢復計劃。這在分析系統通常被視為是非關鍵性的,大數據應用可以幫助許多用戶辨識出他們的關鍵任務,這非常有用。使用大數據的應用程序的測試環境可以做到有備無患,還可作為一個災難恢復環境的候選之一。
最大的預算項目是工作人員培訓。你的工作人員將負責大數據應用環境的維護,新的數據和存儲的添加,清除或歸檔過期數據,為查詢用戶提供支持,有時可能要為分析軟件提供支持。
除了現有的員工,你可能需要額外的人員或咨詢服務。咨詢顧問的典型用途包括協助用戶,性能監控,容量規劃等。
你需要放眼未來,才能進行預算計劃?;仡欉@些項目,確定在什么時間以何種方式來讓它們展示自己。
神話3:大數據應用幾乎不需要性能調整
這也是錯的。是的,大數據的應用程序都標榜自己的訪問時間非常快。該技術的承諾是能夠快速地分析大量的數據、得到面向客戶系統分析變化的能力。管理層認為,這種分析和隨后的變化將提高客戶滿意度,市場份額和利潤。
大數據性能的關鍵在于數據本身。IT系統必須從操作系統采集數據,進行數據轉換,最終加載到你的大數據應用中。你需要越多的數據,支持系統就需要完成越多工作,以保證其提供最新的數據。
從操作系統的數據采集包括數據拷貝,文件,和各種數據庫的提取。一些數據可能是無效的(例如,一個日期,有些可能是00-00-0000),有些數據時完全缺失的。每個系統都面臨著數據清潔度問題,以及何時能夠方便的提取數據的問題。所有這些過程都需要隨著數據量的增加來進行性能調整。
另一個問題是應用程序加載數據的問題。當輸入數據 每天增加,負荷也會日漸增加,數據裝載是I/O密集型的任務。你可能需要尋找特定供應商的高性能數據加載解決方案。
查詢優化也是一個需求。誠然,大數據應用為快速查詢而存在,用戶數量的增長也將帶來每天查詢數量的增長。查詢不僅能夠訪問大數據應用,而且還能訪問你的數據倉庫。如果你將數據倉庫加載到大數據應用中,你將面臨另一個大負荷的運行問題。
為了適應多個潛在的數據訪問方式,大多數DBMS有一個優化措施:在查詢執行之前衡量成本。在大數據環境下,數據庫管理系統軟件判定在大數據的應用和基礎DBMS存取數據的成本。而在大數據應用程序環境下的執行成本可能較低,在DBMS執行低優先級的查詢可能會更符合成本效益。為此你需要獲取用戶查詢和他們估計成本,然后和用戶進行復核。
總結
大數據的應用程序不存在于真空中的。為了激發它們的最大潛力,其必須與數據倉庫集成,由經過培訓的人員進行支持,并監控查詢性能和進行容量規劃。你將需要一個企業數據模型和數據字典,對員工進行BI分析軟件的培訓,以及一個覆蓋上述內容的預算。