7招教你構建一套成功的大數據基礎設施

現如今,大數據是許多企業IT運營的重要組成部分。根據IDC預測,到2019年,大數據產值將達到1870億美元。作為分析的重要因素,大數據決定著機器和人類商業智能和決策的基礎。因此,無論從硬體還是軟體角度出發,您面向大數據構建的基礎設施都會對所支持大數據系統的分析與操作帶來巨大影響。

大數據概念綜述

大數據概念早在1980年,著名未來學家阿爾文·托夫勒提出的概念。2009年美國互聯網數據中心證實大數據時代的來臨。隨著谷歌 MapReduce和GoogleFile System (GFS)的發布,大數據不再僅用來描述大量的數據,還涵蓋了處理數據的速度。目前定義:大數據(big data),或稱巨量資料,指的是所涉及的資料量規模巨大到無法透過目前主流軟體工具在合理時間內獲取、管理、處理、並整理為幫助企業經營決策。

大數據目前分為四大塊:大數據技術、大數據工程、大數據科學和大數據應用。

下面的文章中,我們將對決定大數據基礎設施有效性的7大因素進行分析,有些因素的重要性是顯而易見的,而有些則是非常微妙的。希望可以為著手構建大數據項目的您帶去一些啟示。

1. 大數據不僅是Hadoop

在普遍認知中,大數據和Hadoop幾乎可以等同論之。但是事實上,大數據卻不僅僅是Hadoop這麼簡單。Hadoop是一套文件系統(不是一個資料庫),負責將數據傳播至成百上千個處理節點中。它被用於很多大數據應用之中,因為作為一個文件系統,它能夠很好地處理非結構化數據——甚至包括一些看起來根本不算是數據的素材。但是Hadoop作為線下數據分析的利器並不適合當前大數據的需求。我們需要一種解決方案,一個包含了Hadoop又不限於Hadoop的方案,一個可以同時滿足線上數據分析與線下數據分析雙重功能的方案,一個可以同時滿足強大數據分析和運營需求的方案。

2. Hive與Impala將資料庫引入Hadoop

大數據世界中,還需要資料庫對應結構化數據部分。如果大家希望為Hadoop數據平台加入一些秩序管理,那麼Hive則是最佳選項。這是一款基礎性結構工具,允許大家在非SQL Hadoop當中執行SQL類操作。Hive適合於長時間的批處理查詢分析。

如果大家的一部分數據能夠輕鬆旋轉在結構化資料庫當中,那麼Impala則更為合適,Impala適合於實時互動式SQL查詢,還能夠直接利用您已經開發出的Hive命令。Hadoop、Hive與Impala皆屬於Apache項目,因此其全部為開源成果——請隨意使用。

3. Spark用於處理大數據

截至目前,我們已經探討了數據的存儲與整理。但是,我們該如何對數據進行實際操作呢?這時候我們就需要一套像Spark一樣的分析與處理引擎。Spark也是屬於Apache的一個項目,與其他大數據平台不同的特點,主要如下:

1)輕量級快速處理:大數據處理中速度往往被置於第一位,Spark允許傳統Hadoop集群中的應用程序在內存中以100倍的速度運行,即使在磁碟上運行也能快10倍。n2)易於使用:Spark支持多語言,允許Java、Scala、Python及R(Spark 1.4版最新支持),自帶80多個高等級操作符,允許在shell中進行互動式查詢。n3)支持複雜查詢:除了簡單的map及reduce操作之外,Spark還支持filter、foreach、reduceByKey、aggregate以及SQL查詢、流式查詢等複雜查詢。n4)實時的流處理:除了處理離線數據,Spark還能支持實時流計算。n5)與已存Hadoop數據整合:Spark不僅可以獨立的運行,還可以讀取已有的任何Hadoop數據。它可以運行在任何Hadoop數據源上,比如HBase、HDFS等。n

Spark亦可用於處理存儲在任意位置的各類數據,因為豐富的庫選項使其擁有了極為廣泛的訪問能力。另外,由於其屬於開源項目,因此大家能夠隨意修改其核心內容。

4. 在大數據基礎上執行SQL操作

很多朋友可能非常熟悉SQL資料庫構建與SQL查詢編寫工作。這方面專業知識在大數據領域同樣適用。Presto是一套開源SQL查詢引擎,允許數據科學家運用SQL查詢來查詢資料庫,包括從Hive到專有商業資料庫等各類資料庫系統不限。像Facebook這類巨頭級企業都在利用其進行交互查詢,因此我們基本可以將Presto視為一套理想的大規模數據集互動式查詢工具。

5.在線存儲同樣需要接地平台

大數據領域中有一部分任務,要求快速變更數據——有時需要定期添加數據,有時需要對變更數據進行分析等。無論如何,如果大家的數據擁有幾乎對等的讀取與寫入頻度,那麼應當同時在本地與在線端保留數據副本。如果預算允許的情況下,使用固態存儲無疑效果更好,因為這能夠大大提升數據處理速度。

6. 雲存儲也是一個理想方式

在對大規模聚合資料庫進行分析時,雲存儲將成為最為理想的存儲平台。大家可以將數據聚合後傳輸至雲端,運行分析,隨後移除實例。數據處理不會受到互聯網性能的影響。另外,如果大家將內部實時分析系統與雲端深度分析方案加以結合,則能夠最大程度發揮大數據基礎設施的全部潛力。

7. 不要忘記可視化

分析大數據是一回事,將分析結果通過顯而易見的方式呈現給人們又是另外一回事。圖像將能很好的幫助人們客觀的理解分析結果,所以數據可視化正是實現這一效果的關鍵性工具。

幸運的是,目前市面上提供多種可視化處理方案,從JavaScript庫到商業可視化軟體包再到在線服務。大家可以選擇一部分並加以嘗試,同時了解用戶的反饋意見以判斷其效果。總而言之,可視化是實現大數據分析價值的最佳方式。

以上7點意見希望大家可以理解並運用到自身的大數據基礎設施組建過程中,期待來自您的反饋意見和建議。

註:本文參考來源於informationweek

推薦閱讀:

阿里巴巴的大數據水平在業內如何?
互聯網數據分析的底層應用架構
大數據對於農業的發展會帶來什麼影響?或具體到對農場經營會有什麼啟示或者帶來什麼樣的變化?
一個小公司如何進行數據化管理?

TAG:大数据运维 | 教程 |