天天看點

你可能不知道的大資料開發的十個技巧

前言

“當你不創造東西時,你隻會根據自己的感覺而不是能力去看待問題。” – WhyTheLuckyStiff

彙總一些自己在大資料路上走過的彎路,願大家不再掉坑…

1.分布式存儲

傳統化集中式存儲存在已有一段時間。但大資料并非真的适合集中式存儲架構。Hadoop設計用于将計算更接近資料節點,同時采用了HDFS檔案系統的大規模橫向擴充功能。

雖然,通常解決Hadoop管理自身資料低效性的方案是将Hadoop 資料存儲在SAN上。但這也造成了它自身性能與規模的瓶頸。現在,如果你把所有的資料都通過集中式SAN處理器進行處理,與Hadoop的分布式和并行化特性相悖。你要麼針對不同的資料節點管理多個SAN,要麼将所有的資料節點都集中到一個SAN。

但Hadoop是一個分布式應用,就應該運作在分布式存儲上,這樣存儲就保留了與Hadoop本身同樣的靈活性,不過它也要求擁抱一個軟體定義存儲方案,并在商用伺服器上運作,這相比瓶頸化的Hadoop自然更為高效。

2.超融合VS分布式

注意,不要混淆超融合與分布式。某些超融合方案是分布式存儲,但通常這個術語意味着你的應用和存儲都儲存在同一計算節點上。這是在試圖解決資料本地化的問題,但它會造成太多資源争用。這個Hadoop應用和存儲平台會争用相同的記憶體和CPU。Hadoop運作在專有應用層,分布式存儲運作在專有存儲層這樣會更好。之後,利用緩存和分層來解決資料本地化并補償網絡性能損失。

3.避免控制器瓶頸(Controller Choke Point)

實作目标的一個重要方面就是——避免通過單個點例如一個傳統控制器來處理資料。反之,要确儲存儲平台并行化,性能可以得到顯著提升。

此外,這個方案提供了增量擴充性。為資料湖添加功能跟往裡面扔x86伺服器一樣簡單。一個分布式存儲平台如有需要将自動添加功能并重新調整資料。

4.删重和壓縮

掌握大資料的關鍵是删重和壓縮技術。通常大資料集内會有70%到90%的資料簡化。以PB容量計,能節約數萬美元的磁盤成本。現代平台提供内聯(對比後期處理)删重和壓縮,大大降低了存儲資料所需能力。

5.合并Hadoop發行版

很多大型企業擁有多個Hadoop發行版本。可能是開發者需要或是企業部門已經适應了不同版本。無論如何最終往往要對這些叢集的維護與營運。一旦海量資料真正開始影響一家企業時,多個Hadoop發行版存儲就會導緻低效性。我們可以通過建立一個單一,可删重和壓縮的資料湖擷取資料效率

6.虛拟化Hadoop

虛拟化已經席卷企業級市場。很多地區超過80%的實體伺服器現在是虛拟化的。但也仍有很多企業因為性能和資料本地化問題對虛拟化Hadoop避而不談。

7.建立彈性資料湖

建立資料湖并不容易,但大資料存儲可能會有需求。我們有很多種方法來做這件事,但哪一種是正确的?這個正确的架構應該是一個動态,彈性的資料湖,可以以多種格式(架構化,非結構化,半結構化)存儲所有資源的資料。更重要的是,它必須支援應用不在遠端資源上而是在本地資料資源上執行。

不幸的是,傳統架構和應用(也就是非分布式)并不盡如人意。随着資料集越來越大,将應用遷移到資料不可避免,而因為延遲太長也無法倒置。

理想的資料湖基礎架構會實作資料單一副本的存儲,而且有應用在單一資料資源上執行,無需遷移資料或制作副本

8.整合分析

分析并不是一個新功能,它已經在傳統RDBMS環境中存在多年。不同的是基于開源應用的出現,以及資料庫表單和社交媒體,非結構化資料資源(比如,維基百科)的整合能力。關鍵在于将多個資料類型和格式整合成一個标準的能力,有利于更輕松和一緻地實作可視化與報告制作。合适的工具也對分析/商業智能項目的成功至關重要。

9. 大資料遇見大視訊

大資料存儲問題已經讓人有些焦頭爛額了,現在還出現了大視訊現象。比如,企業為了安全以及操作和工業效率逐漸趨于使用視訊監控,簡化流量管理,支援法規遵從性和幾個其它的使用案例。很短時間内這些資源将産生大量的内容,大量必須要處理的内容。如果沒有專業的存儲解決方案很可能會導緻視訊丢失和品質降低的問題。

10.沒有絕對的赢家

Hadoop的确取得了一些進展。那麼随着大資料存儲遍地開花,它是否會成為赢家,力壓其它方案,其實不然。

比如,基于SAN的傳統架構在短期内不可取代,因為它們擁有OLTP,100%可用性需求的内在優勢。是以最理想的辦法是将超融合平台與分布式檔案系統和分析軟體整合在一起。而成功的最主要因素則是存儲的可擴充性因素。

推薦下我自己建立的大資料學習資料分享群710219868備注風火,這是全國最大的大資料學習交流的地方,2000人聚集,不管你是小白還是大牛,

小編我都挺歡迎,今天的已經資訊上傳到群檔案,不定期分享幹貨,