可以說,大數據是IT行業最熱門的趨勢之壹,催生了壹批處理大數據的新技術。新技術帶來了新的熱詞:首字母縮寫詞、技術術語和產品名稱。甚至“大數據”這個詞本身也令人困惑。很多人聽到“大數據”的時候,以為是指“大量的數據”,大數據的含義涉及的不僅僅是數據量。
以下是壹些我們認為妳應該熟悉的流行詞,按字母順序排列。
酸
ACID的全稱是原子性、壹致性、隔離性和持久性,實際上是壹組需求或屬性:如果遵守了這四個方面,就可以在處理過程中保證數據庫事務的數據完整性。雖然ACID已經存在了壹段時間,但是快速增長的交易數據更加註重在處理大數據時滿足ACID的要求。
大數據的三個要素
今天的IT系統正在生成數量、速度和種類“龐大”的數據。
數量:IDC預計今年全球信息量將達到2.7太字節(相當於27億太字節),每兩年翻壹番。
速度:讓IT經理頭疼的不僅僅是數據量,還有來自金融系統、零售系統、網站、傳感器、射頻識別(RFID)芯片以及臉書和Twitter等社交網絡的數據不斷增長的速度。
類別:如果我們回到5年前,或者可能是10年前,IT人員主要處理字母數字數據,這些數據很容易存儲在關系數據庫中的行和列中。現在情況不再是這樣了。如今,Twitter和臉書上的帖子、各種文檔和web內容等非結構化數據都是大數據組合的壹部分。
列數據庫
壹些新壹代數據庫(如開源的Cassandra和惠普的Vertica數據庫)被設計成按列存儲數據,而不是像傳統的SQL數據庫那樣按行存儲數據。這種設計提供了更快的磁盤訪問速度,提高了處理大數據時的性能。對於數據密集型的商業分析應用系統,柱狀數據庫尤其受歡迎。
數據倉庫
數據倉庫的概念已經存在了25年左右,特指將多個運營IT系統的數據復制到壹個輔助的離線數據庫中,供業務分析應用系統使用。
然而,隨著數據量的快速增長,數據倉庫系統也在快速變化。他們需要存儲更多的數據和更多種類的數據,因此數據倉庫管理成為壹個大問題。10或者20年前,可能每周或者每個月都會把數據復制到數據倉庫系統;現在的數據倉庫更新要頻繁得多,有的甚至是實時更新。
抽取、轉換、加載至目的端(extract-transform-load的縮寫)
當將數據從壹個數據庫(如支持銀行應用交易處理系統的數據庫)轉移到另壹個數據庫(如用於業務分析的數據倉庫系統)時,需要ETL軟件。當數據從壹個數據庫轉移到另壹個數據庫時,通常需要重新格式化和清理數據。
由於數據的快速增長,數據處理的速度大大加快,對ETL工具的性能要求也大大提高。
水道
Flume是屬於Apache Hadoop家族的技術(其他技術包括HBase、Hive、Oozie、Pig和Whirr)。這個框架用於為Hadoop填充數據。該技術利用分散在應用服務器、Web服務器、移動設備等系統上的軟件代理來收集數據,並將數據傳輸到Hadoop系統。
例如,公司可以使用運行在Web服務器上的Apache Flume從Twitter帖子中收集數據進行分析。
地理空間分析
推動大數據趨勢的壹個趨勢是,越來越多的地理空間數據由當今的IT系統生成和收集。俗話說,壹張圖片的信息量抵得上1000字;因此,難怪越來越多基於地理位置的地圖、圖表、照片和其他內容是當今大數據爆炸式增長的主要驅動因素。
地理空間分析是數據可視化的壹種特殊形式(參見下面的“可視化”壹項),它將數據疊加在地理地圖上,以幫助用戶更清楚地了解大數據分析的結果。
Hadoop
Hadoop是壹個用於開發分布式和數據密集型應用的開源平臺。它由Apache軟件基金會控制。
Hadoop的發明者是Doug Cutting,雅虎的開發者!他基於谷歌實驗室的MapReduce概念開發了Hadoop,谷歌實驗室是以他兒子的玩具大象命名的。
另外,HBase是壹個非關系數據庫,是作為Hadoop項目的壹部分開發的。Hadoop分布式文件系統(HDFS)是Hadoop的關鍵組件。Hive是壹個基於Hadoop的數據倉庫系統。
內存數據庫
當計算機處理事務或執行查詢時,它通常從磁盤驅動器獲取數據。但是當IT系統處理大數據的時候,這個過程可能太慢了。
內存數據庫系統利用計算機的主存來存儲經常使用的數據,從而大大縮短了處理時間。內存數據庫產品包括SAP HANA和甲骨文Timeten內存數據庫。
Java 語言(壹種計算機語言,尤用於創建網站)
Java是甲骨文公司的子公司孫開發的編程語言,發布於1995。Hadoop等很多大數據技術都是使用Java開發的,目前仍然是大數據領域的主要開發技術。
卡夫卡
Kafka是壹個高吞吐量的分布式消息傳遞系統,最初是在LinkedIn開發的,用於管理活動流(關於網站使用情況的數據)和操作服務網站的數據處理管道(關於服務器組件性能的數據)。
Kafka在處理大量流數據方面非常有效,這是許多大數據計算環境中的關鍵問題。Twitter開發的Storm是另壹種流行的流處理技術。
Apache軟件基金會已經將Kafka列為開源項目。所以,不要認為這是有缺陷的軟件。
延遲時間
延遲是指數據從壹個點傳輸到另壹個點的延遲,或者壹個系統(如應用程序)響應另壹個系統的延遲量。
雖然延遲不是壹個新名詞,但隨著數據量的不斷增加,IT系統正在努力跟上步伐,現在妳會更經常地聽到這個術語。簡單來說,“低延遲”是好事,“高延遲”是壞事。
映射/簡化
Map/Reduce是將壹個復雜的問題分解成更小的部分,然後分發給多臺計算機,最後重新組合成壹個答案的方法。
谷歌的搜索系統使用了映射/簡化的概念,該公司有壹個名為MapReduce的框架。
Google在2004年發布的白皮書描述了它對映射/簡化的使用。Hadoop之父道格·卡廷(Doug Catin)充分認識到了它的潛力,開發了第壹個同樣借用了映射/簡化概念的Hadoop版本。
NoSQL數據庫
大多數主流數據庫(如甲骨文數據庫、微軟SQL Server)都是基於關系架構,使用結構化查詢語言(SQL)進行開發和數據管理。
但被命名為“NoSQL”的新壹代數據庫系統(現在有人稱之為“不僅僅是SQL”)基於支持者認為更適合處理大數據的架構。
壹些NoSQL數據庫旨在提高可伸縮性和靈活性,而另壹些則在處理文檔和其他非結構化數據方面很有效。典型的NoSQL數據庫有Hadoop/HBase、Cassandra、MongoDB、CouchDB等,而甲骨文等壹些知名開發者也推出了自己的NoSQL產品。
馭象者
Apache Oozie是壹個幫助管理面向Hadoop的處理的開源工作流引擎。有了Oozie,可以用多種語言(比如Pig和MapReduce)定義壹系列任務,然後相互關聯。例如,壹旦從操作應用程序收集數據的工作完成,程序員就可以開始數據分析和查詢的任務。
豬
Pig是Apache軟件基金會的另壹個項目。這個平臺用於分析龐大的數據集。本質上,Pig是壹種編程語言,可以用來開發運行在Hadoop上的並行計算查詢。
定量數據分析
定量數據分析是指使用復雜的數學或統計模型來解釋金融和商業行為,甚至預測未來行為。
由於當今收集的數據量急劇增加,定量數據分析變得更加復雜。然而,如果公司知道如何使用海量數據,獲得更好的可見性,更深入地了解公司的業務,洞察市場發展趨勢,那麽更多的數據有望在數據分析中帶來更多的機會。
壹個問題是,具有這種分析能力的人才嚴重短缺。知名咨詢公司麥肯錫表示,僅美國就需要6.5438+0.5萬名具備大數據分析技能的分析師和管理人員。
關系數據庫
關系數據庫管理系統(RDBM)是當今應用最廣泛的數據庫,包括IBM的DB2、微軟的SQL Server和甲骨文數據庫。從銀行應用系統、零售店的銷售點系統到庫存管理應用軟件,大多數企業交易處理系統都在RDBM上運行。
但是,有人認為關系數據庫可能跟不上數據量和類型的爆炸式增長。例如,RDBM最初是為處理字母數字數據而設計的,但它在處理非結構化數據時並不同樣有效。
分成幾部分
隨著數據庫變得越來越大,處理它變得越來越困難。分片是壹種數據庫分區技術,它將數據庫分成更小、更易管理的部分。具體來說,數據庫被水平分區,以分別管理數據庫表中的不同行。
碎片化方法允許壹個龐大數據庫的碎片分布在多個服務器上,從而提高數據庫的整體運行速度和性能。
此外,Sqoop是壹個開源工具,用於將數據從非Hadoop源(如關系數據庫)轉移到Hadoop環境中。
文本分析
導致大數據問題的因素之壹是,從Twitter和臉書等社交媒體網站、外部新聞來源甚至內部公司收集越來越多的文本進行分析。由於文本是非結構化數據(不同於通常存儲在關系數據庫中的結構化數據),主流的商業分析工具在面對文本時往往束手無策。
文本分析采用壹系列方法(關鍵詞搜索、統計分析和語言研究等。)從基於文本的數據中獲得洞察力。
非結構化數據
不久前,大多數數據都是結構化數據,這種字母數字信息(如來自銷售交易的財務數據)很容易存儲在關系數據庫中,並由商業智能工具進行分析。
但如今,2.7千兆字節的存儲數據中有很大壹部分是非結構化數據,例如基於文本的文檔、Twitter消息、發布在Flickr上的照片、發布在YouTube上的視頻等等。(有趣的是,每分鐘有35個小時的視頻內容上傳到YouTube。處理、存儲和分析所有這些雜亂的非結構化數據通常是當今IT系統的壹個難題。
形象化
隨著數據的增長,人們越來越難以用靜態的圖表和圖形來理解數據。這導致了新壹代數據可視化和分析工具的發展,這些工具可以以新的方式呈現數據,從而幫助人們理解海量信息。
這些工具包括:彩色編碼的熱圖、三維圖形、顯示壹段時間內變化的動畫可視化,以及在地理地圖上疊加數據的地理空間演示。今天的高級數據可視化工具也更具交互性,例如允許用戶放大數據子集並更仔細地檢查它。
呼呼聲
Apache Whirr是壹套運行大數據雲服務的Java類庫。更具體地說,它可以加速在亞馬遜彈性計算雲(EC2)和Rackspace等虛擬基礎設施上開發Hadoop集群的過程。
可擴展標記語言
可擴展標記語言(XML)用於傳輸和存儲數據(不要與用於顯示數據的HTML混淆)。在XML的幫助下,程序員可以創建通用的數據格式,並通過互聯網享受信息和格式。
因為XML文檔可能非常大和復雜,所以它們通常被認為會導致IT部門面臨大數據挑戰。
姚貝特
Yottabyte是壹種數據存儲度量,相當於1000 zeta字節。根據知名調研機構IDC的估算,今年全球存儲的數據總量有望達到2.7 zebytes,比2011增長48%。所以,要達到Yaobyte大關,我們還有很長的路要走,但從目前大數據的增長速度來看,那壹天可能會比我們想象的來得更早。
對了,1 zebytes相當於1021字節的數據。相當於1000太字節(EB),1000萬兆太字節(PB),1000億太字節(TB)。
動物園管理員
ZooKeeper是Apache Software Foundation創建的壹項服務,旨在幫助Hadoop用戶跨分布式網絡管理和協調Hadoop節點。
ZooKeeper與HBase緊密結合,h base是與Hadoop相關的數據庫。ZooKeeper是壹個集中式服務,用於維護配置信息、命名服務、分布式同步和其他組服務。IT管理人員使用它來實現可靠的消息傳遞機制、同步流程執行和冗余服務。