市場動力
最近幾年中,web 和企業已經見證了資料膨脹。這一現象有很多種原因,例如,便宜的 terabyte 量級的儲存硬體的商品化,隨著時間的推移已接近臨界規模的企業資料,以及允許輕鬆進行資訊供應和交換的標準。
從企業的角度來說,日益增長的資訊已經很難儲存在標準關係型資料庫甚至資料倉儲中。這些問題提到了一些在實踐中已存在多年的難題。例如:怎樣查詢一個十億 行的表?怎樣跨越資料中心所有伺服器上的所有日誌來運行一個查詢?更為複雜的問題是,大量需要處理的資料是非結構化或者半結構化的,這就更難查詢了。
當資料以這種數量存在時,一個處理局限是要花費很多的時間來移動資料,Apache Hadoop 的出現解決了這些問題,用其獨一無二的方法將工作移到資料,而不是相反的移動。Hadoop 是一個叢集技術,由兩個獨立但整合在一起的運行時組成:Distributed File System(Hadoop Distributed File System,HDFS),提供資料冗餘儲存;map/reduce,允許並行運行使用者提交的作業,處理儲存在 HDFS 中的資料。儘管 Hadoop 並不是對每個情境都適合,但是它提供了良好的效能效益。使用 Hadoop 時,社區發現它不僅僅可用於資料處理,也開啟了各種有趣的資料分析的大門。
藉助 Hadoop,我們可以線性擴充運行在商品硬體上的叢集來整合更大更豐富的資料集。這些資料集提供新的透視圖,首先,在之前沒有整合的異構資料來源上運行分析,然後在同樣的資料上有規模地運行分析。這個結構有點類似於範式轉換(paradigm shift),正如 Flip Kromer(InfoChimps 創辦人之一)所描述的:“web 從一個對每件事都瞭解一點的場所發展成為對一件事瞭解其全部的場所”。Kromer 繼續以這個情境為例,有朝一日,棒球迷想要瞭解在過去 100 中每場比賽的細節(球員詳情、比賽得分、比賽場地)。如果要在同一時段為所有氣象站聯合資料集與共用位置值,就可以預測一個 38 歲的投手在 90 度的高溫的情況下、在 Wrigley Field 賽場的表現如何。
Big Data 生態系統
需要指出的重要一點是:Big Data 空間仍然相對較新,要利用這些機會,仍然有一些技術障礙。正如上面所提到的,資料在 Hadoop 中以 “作業” 形式處理,這些作業是使用一個名為 map/reduce 的範式、通過 Java™ 程式設計語言編寫的。儘管開展了一些工作來促進 Hadoop 允許使用其他語言,但正確地理解如何分析業務問題,並將其分解成可以作為 map/reduce 作業啟動並執行解決方案,仍然不是一個簡單的過程。
要真正利用 Hadoop 周圍的機會,就需要大量的支援技術來將 Hadoop 移出開發人員的視野,使其接近更廣泛的觀眾。
圖 1. Big Data 生態系統概述
一個生態系統的出現提供了圍繞 Hadoop 的工具和支援。每個組件同其他組件一起提供很多方法(如下所示)來實現大多數使用者情境。