国产a级精品毛片_巨茎与艳妇麻麻啪啪漫画_免费+高清+国产_久久综合视频一区二区_国产成人精品网站_欧美精品v国产精品v日韩精品_亚洲区午夜福利视频网站_91麻豆国产精品91久久久久

首頁 > 新聞資訊 > 國研觀點

新聞資訊

NEWS AND INFORMATION
國研觀點

大數(shù)據(jù)架構(gòu)和技術(shù)鏈分析

發(fā)布時間:2015-09-02 點擊:

一、概述
當(dāng)下,互聯(lián)網(wǎng)+、云計算、大數(shù)據(jù)、O2O、可穿戴智能設(shè)備……一個個熱詞撲面而來。信息技術(shù)的變革已經(jīng)滲透到當(dāng)今每一個行業(yè)和業(yè)務(wù)職能領(lǐng)域,改變著我們的生活乃至思維方式。
亂花漸欲迷人眼,當(dāng)我們拋開各種炒作,各種軟文,各種轟炸,一層一層剝開這些“洋蔥”時,總會發(fā)現(xiàn)數(shù)據(jù)的身影。人們渴望通過海量數(shù)據(jù)的挖掘和運用,釋放出其所蘊含的巨大價值。
據(jù)報道,2014年,國家統(tǒng)計局與阿里巴巴、百度在內(nèi)的17家大數(shù)據(jù)企業(yè)簽署大數(shù)據(jù)戰(zhàn)略合作框架協(xié)議。在生產(chǎn)資料價格統(tǒng)計、CPI調(diào)查、貿(mào)經(jīng)統(tǒng)計、建設(shè)領(lǐng)域統(tǒng)計、交通運輸統(tǒng)計等領(lǐng)域,廣泛利用網(wǎng)上公共平臺搜集、整理數(shù)據(jù)。
大數(shù)據(jù)絕對算得上是當(dāng)今技術(shù)密集度最高的產(chǎn)業(yè)之一,由眾多的框架、產(chǎn)品、組件、算法組成,或資深或初創(chuàng)的大小公司活躍其中。各種概念滿天飛,初入行的技術(shù)人員特容易鉆到技術(shù)的大海里,摸不清方向。而大數(shù)據(jù)的使用者,如政府或企業(yè)客戶,卻不知所云,一頭霧水。
本文主要從技術(shù)的角度,首先介紹一下大數(shù)據(jù)的產(chǎn)生,再分析一下大數(shù)據(jù)架構(gòu)Hadoop。最后從大數(shù)據(jù)技術(shù)生態(tài)鏈(采集、存儲、計算、分析、可視化)的角度,介紹一下每個環(huán)節(jié)可用的技術(shù)選擇。
二、大數(shù)據(jù)的產(chǎn)生
傳統(tǒng)的企業(yè)級應(yīng)用中,數(shù)據(jù)的存儲和計算主要是使用關(guān)系型數(shù)據(jù)庫RDBMS,以oracle、sql server為代表的數(shù)據(jù)庫產(chǎn)品以優(yōu)秀的事務(wù)性、可靠性、安全性,支撐起日常業(yè)務(wù)處理所對應(yīng)的頻繁的增刪改查和報表統(tǒng)計、BI分析。當(dāng)時數(shù)據(jù)量較小,運行多年的系統(tǒng)積累的數(shù)據(jù)可能也就幾T。RDBMS運行速度也是有保障的。
隨著互聯(lián)網(wǎng)的興起,數(shù)據(jù)規(guī)模不斷增長,數(shù)據(jù)格式豐富多彩。競爭的加劇也導(dǎo)致管理者需要做更多的用戶研究、提供更好的用戶體驗。更多的數(shù)據(jù)需要更大的存儲空間。而更高的數(shù)據(jù)計算量、分析時效性,則需要分布式計算來解決。同時,適當(dāng)?shù)膬r格也是重要的因素,比如在以往處理大量數(shù)據(jù),可選的方案有IBM的大型機(jī),目前銀行系統(tǒng)還有很大一部分在使用大型機(jī)上,但價格昂貴。
另外對數(shù)據(jù)的處理方式也發(fā)生了重大變化,傳統(tǒng)的RDBMS關(guān)注的是數(shù)據(jù)的變化,即數(shù)據(jù)的增加、刪除和修改。而在大數(shù)據(jù)時代,數(shù)據(jù)的作用更多的是分析和挖掘其價值,即一次寫入、多次讀?。ǚ治觯?br /> 時勢造英雄。 Google 在 2003 年開始陸續(xù)公布了關(guān)于 GFS、MapReduce 和 BigTable三篇技術(shù)論文,成為大數(shù)據(jù)發(fā)展的重要基石,開啟了大數(shù)據(jù)時代。
三、大數(shù)據(jù)架構(gòu)Hadoop
Hadoop得以大行其道,乃至成為大數(shù)據(jù)的代名詞,主要得益于以下幾點:
(1)解決實際問題。Hadoop核心要解決的問題是海量數(shù)據(jù)的存儲和分析,即:如何使用廉價的設(shè)備支持高速增長的數(shù)據(jù)存儲,Hadoop設(shè)計了分布式文件系統(tǒng)HDFS。如何高效的從海量數(shù)據(jù)中提取出有價值的信息,Hadoop提出了分布式并行計算架構(gòu)MapReduce。
(2)成本低
硬件成本:Hadoop是架構(gòu)在廉價的PC服務(wù)器上,無需采購昂貴的專用服務(wù)器做支撐。
軟件成本:開源產(chǎn)品,只要遵守其協(xié)議,可免費使用、自由修改,可控性強(qiáng)。
開發(fā)成本:基于開源產(chǎn)品的二次開發(fā),同時有非常活躍的社區(qū)討論,學(xué)習(xí)和開發(fā)成本不高。
(3)成熟的生態(tài)圈。國內(nèi)外IT巨頭,如Google、IBM、Intel,國內(nèi)的BAT等,都投入其中,并且貢獻(xiàn)了大量成熟的開源、免費產(chǎn)品,共同推動著大數(shù)據(jù)技術(shù)的發(fā)展和應(yīng)用。
(4)起步早。這也是一個很重要的因素,具有先發(fā)優(yōu)勢。
先看一個實際應(yīng)用案例,感受一下Hadoop的威力。下圖是淘寶網(wǎng)實際使用Hadoop的情況:

Hadoop應(yīng)用實例
我們常去的購物網(wǎng)站的背后就有這位“老黃牛”的耕耘,有所觸動嗎?下面我們了解一下這個神奇的存在:
Hadoop是一個由Apache基金會所開發(fā)的分布式計算平臺。用戶可以使用Hadoop框架提供的各組件開發(fā)和運行處理海量數(shù)據(jù)的應(yīng)用程序。到現(xiàn)在已超過10年的發(fā)展歷史。截止到發(fā)文時,最新版本是2.7。

Hadoop2框架圖

Hadoop體系結(jié)構(gòu)圖

Hadoop本身是一個龐大的項目家族,其核心成員是HDFS和MapReduce。其它的項目,例如Hive、HBase等都是基于HDFS和MapReduce,是為了解決特定類型的大數(shù)據(jù)處理問題而提出的子項目。Hadoop的其它子項目還包括Common, Avro, Pig, ZooKeeper, Sqoop, Oozie 等,隨著時間的推移一些新的子項目會被加入進(jìn)來,一些關(guān)注度不高的項目會被移除Hadoop家族,不斷更新,充滿活力。
Hadoop已經(jīng)發(fā)展出了比較完整的大數(shù)據(jù)生態(tài)系統(tǒng),包括了分布式文件系統(tǒng)HDFS、分布式數(shù)據(jù)庫Hbase、分布式計算架構(gòu)MapReduce、分布式集群管理和任務(wù)調(diào)度系統(tǒng)YARN、Common組件等。其中最核心的設(shè)計就是HDFS和MapReduce。分別介紹如下:
HDFS:提供了一種跨服務(wù)器的彈性數(shù)據(jù)存儲系統(tǒng)。一臺機(jī)器放不下的數(shù)據(jù),用多臺機(jī)器來解決,分而治之。
MapReduce:大規(guī)模分布式計算服務(wù)。通俗的說就是將任務(wù)切分為若干份小任務(wù),并分配到不同的處理節(jié)點,由集群的每臺服務(wù)器來計算,最后把結(jié)果合并。因此具有更強(qiáng)的并行處理能力。
YARN:Hadoop2.0的主要變化是將舊版本 MapReduce 中的任務(wù)調(diào)度和資源管理功能分離,形成一層與任務(wù)無關(guān)的資源管理層(YARN)。YARN 對下負(fù)責(zé)物理資源的統(tǒng)一管理,對上可支持批處理、流處理、圖計算等不同模型。幾乎所有常用的應(yīng)用程序和框架,比如MapReduce、Storm和Spark等,均可運行在YARN之上。
Hadoop Common: Hadoop的基礎(chǔ)庫。
Hadoop 還包含了其它一些技術(shù),如Hive、Pig、Hbase 、Sqoop、ZooKeeper等。
Hive:基于MapReduce的數(shù)據(jù)倉庫基礎(chǔ)構(gòu)架。它提供了一系列的工具,用來進(jìn)行數(shù)據(jù)提取、轉(zhuǎn)化、加載,實際上是基于MapReduce的一個應(yīng)用。它提供了類似于SQL的查詢語言,通過使用該語言,可以方便地進(jìn)行數(shù)據(jù)存儲,查詢和分析。
Hive將元數(shù)據(jù)存儲在RDBMS中,一般為mysql、Derby。Hive中的所有數(shù)據(jù)都存儲在HDFS中。
Pig:它與Hive有類似之處, 但更簡單。目前應(yīng)用已經(jīng)很少。
Hbase:一種分布的、可伸縮的、大數(shù)據(jù)儲存庫,支持隨機(jī)、實時讀/寫訪問。將文件建于HDFS上的分布式Key-Value數(shù)據(jù)庫
Sqoop:為高效傳輸批量數(shù)據(jù)而設(shè)計的一種工具,其用于Apache Hadoop和關(guān)系數(shù)據(jù)庫之間的數(shù)據(jù)傳輸。
ZooKeeper:分布式應(yīng)用程序協(xié)調(diào)服務(wù),用于維護(hù)配置信息,命名服務(wù),提供分布式同步,以及提供分組服務(wù)。
Oozie是一個工作流調(diào)度工具,用于運行MapReduce和Pig 任務(wù)工作流,把多個MapReduce作業(yè)連接到一起。類似的還有Azkaban,操作比Oozie要簡單很多而且非常直觀,提供的功能比較簡單。
四、大數(shù)據(jù)技術(shù)鏈
在大數(shù)據(jù)技術(shù)領(lǐng)域,除了Apache基金會主導(dǎo)的Hadoop、Spark框架之外,很多公司都貢獻(xiàn)了大量的開源產(chǎn)品。其中很多產(chǎn)品在性能方面已經(jīng)超越了Hadoop家族中的某一產(chǎn)品,非常值得考察和使用。目前,業(yè)界也基本上都是優(yōu)選組合使用。下面從技術(shù)鏈著手,分別介紹優(yōu)秀的產(chǎn)品。
1、數(shù)據(jù)采集
應(yīng)用場景:
很多公司的平臺每天都會產(chǎn)生大量日志(一般為流式數(shù)據(jù),如用戶行為:訪問量,搜索關(guān)鍵詞、用戶點擊記錄等)。這些數(shù)據(jù)很有商業(yè)價值,比如對搜索關(guān)鍵詞加以分析,可以看出用戶的喜好、傾向,進(jìn)而調(diào)整商業(yè)策略??焖儆行У膶⒎稚⒃诟鱾€服務(wù)器上的日志數(shù)據(jù)匯總和分析,已成為網(wǎng)站運營的重要環(huán)節(jié)。
知名產(chǎn)品:
Flume:Cloudera提供的一個高可用的,高可靠的,分布式的海量日志采集、聚合和傳輸?shù)南到y(tǒng)。支持在日志系統(tǒng)中定制各類數(shù)據(jù)發(fā)送方,用于收集數(shù)據(jù)。同時,F(xiàn)lume提供對數(shù)據(jù)進(jìn)行簡單處理,具備定制寫入各種數(shù)據(jù)接受方(可定制)的能力。目前是Apache下的孵化項目,受到了業(yè)界的認(rèn)可與廣泛應(yīng)用。
Scirbe:Facebook開源項目,具備高擴(kuò)展性和高容錯能力。
Chukwa:Apache開源項目,用于Log日志收集與分析,建立在Hadoop至上。
TimeTunnel:淘寶開源實時數(shù)據(jù)傳輸平臺?;趖hrift通訊框架搭建,具有高性能、實時性、順序性、高可靠性、高可用性、可擴(kuò)展性等特點(基于Hbase)。目前TimeTunnel在淘寶廣泛的應(yīng)用于日志收集、數(shù)據(jù)監(jiān)控、廣告反饋、量子統(tǒng)計、數(shù)據(jù)庫同步等領(lǐng)域。
上述這些工具均采用分布式架構(gòu),能滿足每秒百MB的日志數(shù)據(jù)采集和傳輸需求。
2、數(shù)據(jù)存儲
大數(shù)據(jù)存儲主要分為分布式文件系統(tǒng)存儲HDFS和NoSQL數(shù)據(jù)庫存儲。HDFS前面已有介紹。本部分重點介紹NoSQL數(shù)據(jù)庫。
應(yīng)用場景:
關(guān)系數(shù)據(jù)庫雖然很強(qiáng)大,但是它并不能很好的應(yīng)付所有的應(yīng)用場景。典型的缺點為擴(kuò)展性差(需要復(fù)雜的技術(shù)來實現(xiàn)),大數(shù)據(jù)下IO壓力大,表結(jié)構(gòu)更改困難。很多WEB實時系統(tǒng)并不要求嚴(yán)格的數(shù)據(jù)庫事務(wù)管理,有些場合對讀、寫一致性的要求不高,關(guān)系型數(shù)據(jù)庫的事務(wù)管理反而成為高負(fù)載下的沉重的負(fù)擔(dān)。
在這種情況,一種新的存儲思路NoSQL應(yīng)運而生。NoSQL泛指非關(guān)系型數(shù)據(jù)庫。具備高擴(kuò)展性、大數(shù)據(jù)量、高性能、高可用和靈活的數(shù)據(jù)格式。
NoSQL數(shù)據(jù)庫種類眾多,不同的應(yīng)用場景可以選擇不同的NoSQL數(shù)據(jù)庫。
知名產(chǎn)品:
主要有四類:鍵值數(shù)據(jù)庫、列式數(shù)據(jù)庫、文檔數(shù)據(jù)庫和圖形數(shù)據(jù)庫。
Key-Value鍵值數(shù)據(jù)庫:數(shù)據(jù)以鍵值的形式存儲的,速度非??臁8鶕?jù)數(shù)據(jù)的保存方式可以分為臨時性(內(nèi)存)、永久性(硬盤)和兩者兼具三種。
Redis:臨時性和永久性兼具。Redis首先把數(shù)據(jù)保存在內(nèi)存中,在滿足特定條件的時候?qū)?shù)據(jù)寫入到硬盤中,這樣既確保了內(nèi)存中數(shù)據(jù)的處理速度,又可以通過寫入硬盤來保證數(shù)據(jù)的永久性,這種類型的數(shù)據(jù)庫特別適合處理數(shù)組類型的數(shù)據(jù)。
列式數(shù)據(jù)庫:
關(guān)系型數(shù)據(jù)庫是以行為單位來存儲數(shù)據(jù)的。相反,面向列的數(shù)據(jù)庫是以列為單位來存儲數(shù)據(jù)的,即將同一列數(shù)據(jù)存在一起,同時擅長以列為單位讀取數(shù)據(jù)。典型代表:Cassandra、Hbae。具備查找速度快,可擴(kuò)展性強(qiáng),更容易進(jìn)行分布式擴(kuò)展,主要應(yīng)用于需要處理大量數(shù)據(jù)的情況。
文檔數(shù)據(jù)庫:
類似鍵值數(shù)據(jù)庫。以JSON格式存儲數(shù)據(jù)。對數(shù)據(jù)結(jié)構(gòu)要求不嚴(yán)格,表結(jié)構(gòu)可變,無需事先設(shè)定表結(jié)構(gòu)。跟鍵值存儲不同的是,面向文檔的數(shù)據(jù)庫可以通過復(fù)雜的查詢條件來獲取數(shù)據(jù)。典型代表:MongoDB、CouchDB。
圖形數(shù)據(jù)庫:
圖形結(jié)構(gòu)的數(shù)據(jù)庫使用圖形模型(節(jié)點、邊線、屬性)來存儲數(shù)據(jù),并且能夠擴(kuò)展到多個服務(wù)器上。利用圖結(jié)構(gòu)相關(guān)算法。比如最短路徑尋址,N度關(guān)系查找,專注于構(gòu)建關(guān)系圖譜等。典型代表:Neo4J, InfoGrid, Infinite Graph。
3、數(shù)據(jù)計算
名稱解釋:
大數(shù)據(jù)計算主要有兩種最常見的計算形態(tài):批處理和流式計算。
批處理:批處理計算是先積累大量數(shù)據(jù),存儲在磁盤上(HDFS)。然后再進(jìn)行數(shù)據(jù)計算(拆分和聚合等)。這種計算方式屬于磁盤級計算,計算時數(shù)據(jù)在磁盤上,需要讀寫磁盤;這種先存儲后計算的模式, 適用于對實時性要求不高, 對數(shù)據(jù)的準(zhǔn)確性、全面性要求較高。
流式計算:流式計算是無需先存儲,可以直接進(jìn)行數(shù)據(jù)計算。這種計算方式屬于內(nèi)存級計算,數(shù)據(jù)直接通過網(wǎng)絡(luò)導(dǎo)入內(nèi)存。讀寫內(nèi)存比讀寫磁盤速度快N個數(shù)量級。這種不存儲直接計算的模式, 適用于實時性要求很高,要求計算在非常短的時延內(nèi)完成。對計算結(jié)果不要求絕對精確。
這兩種計算方式有個形象的比喻:批處理可以看作是桶裝水,一桶桶的搬。而流式計算是用水管,預(yù)先接好,然后打開水龍頭,水就源源不斷地流出來了,不需要水桶存儲。
流式計算和批量計算具有明顯的互補(bǔ)特征,在多種應(yīng)用場合下可以將兩者結(jié)合起來使用。通過發(fā)揮流式計算的實時性優(yōu)勢和批量計算的計算精度優(yōu)勢,以滿足不同應(yīng)用場景下的數(shù)據(jù)計算要求。
應(yīng)用場景:
流式計算:互聯(lián)網(wǎng)服務(wù)中,每時每刻都會有大量客戶進(jìn)行服務(wù)請求,需要在極短的響應(yīng)時間內(nèi),給出數(shù)據(jù)計算結(jié)果。比如:
?在瀏覽網(wǎng)站時,根據(jù)客戶的查詢關(guān)鍵詞、瀏覽歷史、地理位置等綜合語義,推薦合適的廣告。
?在互聯(lián)網(wǎng)金融領(lǐng)域,根據(jù)客戶信用卡消費記錄,掌握客戶的消費習(xí)慣和偏好,預(yù)測客戶未來的消費需求,并為其推薦個性化的產(chǎn)品和服務(wù)。
?微博上,當(dāng)我們關(guān)注一位朋友,會準(zhǔn)確給出新推薦朋友,以提升微博活力。
批處理:適用于離線批量計算。比如:
?階段性用戶特征、行為分析。
?數(shù)據(jù)密集型計算。
?其它對實時性要求不高,適用放在線下計算的業(yè)務(wù)。
知名產(chǎn)品:
Hadoop-MapReduce:Hadoop設(shè)計之初就是為批處理式的計算任務(wù)提供支持的,屬于典型的大數(shù)據(jù)批量計算架構(gòu),由HDFS分布式文件系統(tǒng)負(fù)責(zé)靜態(tài)數(shù)據(jù)的存儲,并通過MapReduce將計算邏輯分配到各數(shù)據(jù)節(jié)點進(jìn)行數(shù)據(jù)計算和價值發(fā)現(xiàn)。
Storm:分布式實時計算系統(tǒng)的代表。Twitter開源產(chǎn)品,現(xiàn)屬Apache頂級項目。具備可伸縮性強(qiáng),每秒處理的消息量達(dá)到100 萬個數(shù)據(jù)元組。健壯性強(qiáng),Storm 集群較容易進(jìn)行管理。高容錯性,Storm 可以對消息的處理過程進(jìn)行容錯處理,如果一條消息在處理過程中失敗,那么Storm 會重新安排出錯的處理邏輯。語言無關(guān)性,任何語言的開發(fā)者都可以使用Storm。
Spark:后起之秀,受到業(yè)界強(qiáng)烈關(guān)注?,F(xiàn)屬Apache頂級項目。能適應(yīng)批處理,迭代,流式計算。能與Hadoop很好的結(jié)合(可構(gòu)建在HDFS上,使用YARN對資源進(jìn)行調(diào)度)。與Hadoop最大的不同點在于,Hadoop使用硬盤來存儲數(shù)據(jù),而Spark使用內(nèi)存來存儲數(shù)據(jù),后續(xù)的任務(wù)可以直接讀取內(nèi)存中的數(shù)據(jù)。據(jù)測試可以大大超過Hadoop(MapReduce)的運算速度。與Storm的區(qū)別在于,Spark流模塊先匯聚批量數(shù)據(jù)然后進(jìn)行數(shù)據(jù)塊分發(fā),而Storm是只要接收到數(shù)據(jù)就實時處理并分發(fā)。Spark是一套快速出色、可擴(kuò)展能力極強(qiáng)且極具靈活性的開源分布式計算框架。目前穩(wěn)定性還需提升,但發(fā)展迅速。

Spark架構(gòu)圖
4、數(shù)據(jù)分析
應(yīng)用場景:
大數(shù)據(jù)的核心價值之一就是商業(yè)智能BI,對大數(shù)據(jù)進(jìn)行數(shù)據(jù)分析、發(fā)現(xiàn)價值的應(yīng)用場景比比皆是,不再贅述。
知名產(chǎn)品:
Hive:前面已有介紹。直接構(gòu)建在Hadoop之上,雖然也提供了SQL語義,但由于Hive底層執(zhí)行使用的是MapReduce引擎,仍然是一個批處理過程,難以滿足查詢的交互性。適用于批處理查詢分析。目前應(yīng)用較為廣泛。
Impala:Cloudera開源產(chǎn)品。它提供了一種通用的SQL查詢語法,能查詢存儲在Hadoop的HDFS和HBase中的PB級大數(shù)據(jù)。Impala采用了自己的執(zhí)行引擎,把一個查詢拆分分布到各個節(jié)點執(zhí)行,不依賴MapReduce,不采用批處理形式處理數(shù)據(jù)。適合于實時交互式SQL查詢,查詢效率比Hive有很大提升。
Spark SQL:SparkSQL構(gòu)建在Spark框架之上,前身是shark。與shark相比,擺脫了對hive的依賴性(可兼容Hive SQL),在數(shù)據(jù)兼容、性能優(yōu)化、組件擴(kuò)展方面都得到了極大提升,性能表現(xiàn)優(yōu)異??梢酝ㄟ^RDD良好的擴(kuò)展性, 方便的擴(kuò)展Spark支持的數(shù)據(jù)源。目前數(shù)據(jù)源方面已經(jīng)支持HDFS, JDBC, 數(shù)據(jù)格式支持JSON, Parquet等。
5、數(shù)據(jù)可視化
應(yīng)用場景:
發(fā)現(xiàn)數(shù)據(jù)之美--數(shù)據(jù)可視化是科學(xué)和藝術(shù)的和諧統(tǒng)一。人們對單調(diào)保守的講述方式失去興趣,期待更加直觀、高效的信息呈現(xiàn)形式,數(shù)據(jù)圖表,立體化的動態(tài)演示等豐富的數(shù)據(jù)可視化元素讓科技與形象感更加飽滿;

數(shù)據(jù)可視化示意圖
知名產(chǎn)品:
R:一款開源免費的用于統(tǒng)計計算和統(tǒng)計制圖的優(yōu)秀工具。具備數(shù)據(jù)操作、計算和圖形展示功能。包括:有效的數(shù)據(jù)存儲和處理功能,一套完整的數(shù)組(特別是矩陣)計算操作符,擁有完整體系的數(shù)據(jù)分析工具,為數(shù)據(jù)分析和顯示提供的強(qiáng)大圖形功能,一套完善、簡單、有效的編程語言(R語言)。R擁有強(qiáng)大的社區(qū)和組件庫,而且還在不斷成長。但使用比較復(fù)雜,需要一定的實踐過程。
D3: D3.js是一個JavaScript庫,是非常流行的輕量級可視化庫之一,它主要用于對數(shù)據(jù)的動態(tài)圖表展示。通過HTML、SVG以及CSS,D3可以讓數(shù)據(jù)展現(xiàn)得更加鮮活。D3使得數(shù)字的圖形化展示變得異常簡單。應(yīng)用非常廣泛。
其它比較常用的還有Processing等。
另外,業(yè)界還是一種處理數(shù)據(jù)可視化的方式,將數(shù)據(jù)計算的結(jié)果存入關(guān)系數(shù)據(jù)庫,通過常規(guī)的BI工具進(jìn)行數(shù)據(jù)可視化展示。
6、消息隊列
應(yīng)用場景:
分布式各個子系統(tǒng)為了減輕相互之間的依賴,需要通過消息傳遞來減少相互之間的耦合(解耦)。消息隊列MQ就是在消息傳遞過程中保存消息的容器或中間件,其主要目的是提供消息路由并保障消息傳遞的可靠性和效率。
MQ除了解耦,還有異步通信、緩沖(削減峰值)、擴(kuò)展性和冗余的作用。以緩沖為例:由于采集數(shù)據(jù)的速度和數(shù)據(jù)處理的速度不一定同步,需要添加一個消息中間件來作為緩沖。
知名產(chǎn)品:
Kafka:Linkedin開源項目,目前是Apache下的項目。Kafka是一種高吞吐量的分布式發(fā)布訂閱消息系統(tǒng),即使對TB級以上數(shù)據(jù)也能保證常數(shù)時間復(fù)雜度的訪問性能。在非常廉價的商用機(jī)器上也能做到單機(jī)支持每秒100K條以上消息的傳輸。同時支持離線數(shù)據(jù)處理和實時數(shù)據(jù)處理。
MetaQ:淘寶開源的分布式的消息中間件,它是純Java開發(fā),具有高吞吐量、高可用性、適合大規(guī)模分布式系統(tǒng)應(yīng)用的特點。MetaQ在淘寶每日有十億級別的消息流轉(zhuǎn),在支付寶有百億級別的消息流轉(zhuǎn),在阿里B2B也有部分應(yīng)用。
其它MQ:
其它常用的MQ 有ZeroMQ、RabbitMQ、ActiveMQ、Kafka/Jafka、Kestrel、HornetQ、memcacheq、beanstalkd等。產(chǎn)品很多,側(cè)重點各有不同。比如HornetQ和ActiveMQ是為了企業(yè)級應(yīng)用設(shè)計的消息中間件,這類MQ的特點是對事務(wù)一致性的要求很高。而互聯(lián)網(wǎng)應(yīng)用為了處理大量請求,通常采用集群處理的方式,通常對事務(wù)一致性的要求相對較弱。具體選擇時可根據(jù)場景和需求的不同,選擇合適的產(chǎn)品。
7、數(shù)據(jù)總線
應(yīng)用場景:
數(shù)據(jù)總線,顧名思義就是在各系統(tǒng)之間架起信息交互的中間層,將數(shù)據(jù)的變化及時通知與之相關(guān)的系統(tǒng)。
知名產(chǎn)品:
Databus:Linkedin開源項目,可以在MySQL以及Oracle數(shù)據(jù)源上捕獲數(shù)據(jù)變化。當(dāng)數(shù)據(jù)庫發(fā)生變化時,Databus會從數(shù)據(jù)庫日志中找出數(shù)據(jù)變化信息,然后通知給相關(guān)應(yīng)用系統(tǒng)。
Wormhole:Facebook開源項目,與Databus類似。性能優(yōu)異,具備高度可擴(kuò)展性。據(jù)報道,在Facebook內(nèi)部,Wormhole每天處理多達(dá)1T的消息,高峰時每秒超過1千萬條消息。
8、數(shù)據(jù)遷移
應(yīng)用場景:
數(shù)據(jù)遷移:解決異構(gòu)數(shù)據(jù)源的數(shù)據(jù)遷移問題,比如關(guān)系型數(shù)據(jù)庫和HDFS之間的數(shù)據(jù)相互導(dǎo)入導(dǎo)出。常見場景:將關(guān)系型數(shù)據(jù)庫中的數(shù)據(jù)導(dǎo)入到HDFS中,進(jìn)行批處理計算或其它處理后,再將計算結(jié)果導(dǎo)出回關(guān)系數(shù)據(jù)庫。數(shù)據(jù)遷移工具可形象的比喻為:我們不生產(chǎn)數(shù)據(jù),我們只是數(shù)據(jù)的搬運工。
知名產(chǎn)品:
Sqoop:Hadoop家族成員。是Hive、HDFS、HBase與關(guān)系數(shù)據(jù)庫之間導(dǎo)入和導(dǎo)出工具。任務(wù)并行,利用MapReduce加快數(shù)據(jù)傳輸速度;可自動或用戶自定義數(shù)據(jù)類型映射與轉(zhuǎn)換。支持多種常用數(shù)據(jù)庫:MySQL、Oracle、PostgreSQL。
五、結(jié)語

在歷史的長河中,對未知的探索是永恒的主題之一。易經(jīng)、八卦、推背圖代表著傳統(tǒng)的、高深莫測的預(yù)知智慧。而今,預(yù)測和決策走向了基于事實、科學(xué)預(yù)測的大數(shù)據(jù)時代。合作共贏,優(yōu)勢互補(bǔ)不僅是時代的主旋律,在大數(shù)據(jù)技術(shù)領(lǐng)域也得到了體現(xiàn)。在不同的應(yīng)用場景下選擇不同的技術(shù)組合,共同構(gòu)筑堅實的大數(shù)據(jù)地基。

(作者:石在輝)

分享:
开阳县| 余庆县| 新绛县| 昌都县| 平度市| 铁岭市| 尖扎县| 山阳县| 姜堰市| 称多县| 南昌市| 闻喜县| 左权县| 岳阳县| 长治县| 东海县| 拜泉县| 明星| 南部县| 崇信县| 杨浦区| 昌宁县| 宁都县| 乐亭县| 石渠县| 阿尔山市| 乌鲁木齐市| 南郑县| 盖州市| 乐安县| 松阳县| 疏勒县| 攀枝花市| 株洲县| 延津县| 安丘市| 河津市| 唐河县| 永川市| 闽侯县| 县级市|