大數(shù)據(jù)技術(shù)的體系龐大且復(fù)雜,基礎(chǔ)的技術(shù)包含數(shù)據(jù)的采集、數(shù)據(jù)預(yù)處理、分布式存儲、數(shù)據(jù)庫、數(shù)據(jù)倉庫、機(jī)器學(xué)習(xí)、并行計算、可視化等。
成都創(chuàng)新互聯(lián)公司是一家專業(yè)提供莊浪企業(yè)網(wǎng)站建設(shè),專注與做網(wǎng)站、成都網(wǎng)站設(shè)計、html5、小程序制作等業(yè)務(wù)。10年已為莊浪眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站制作公司優(yōu)惠進(jìn)行中。
1、數(shù)據(jù)采集與預(yù)處理:FlumeNG實時日志收集系統(tǒng),支持在日志系統(tǒng)中定制各類數(shù)據(jù)發(fā)送方,用于收集數(shù)據(jù);Zookeeper是一個分布式的,開放源碼的分布式應(yīng)用程序協(xié)調(diào)服務(wù),提供數(shù)據(jù)同步服務(wù)。
2、數(shù)據(jù)存儲:Hadoop作為一個開源的框架,專為離線和大規(guī)模數(shù)據(jù)分析而設(shè)計,HDFS作為其核心的存儲引擎,已被廣泛用于數(shù)據(jù)存儲。HBase,是一個分布式的、面向列的開源數(shù)據(jù)庫,可以認(rèn)為是hdfs的封裝,本質(zhì)是數(shù)據(jù)存儲、NoSQL數(shù)據(jù)庫。
3、數(shù)據(jù)清洗:MapReduce作為Hadoop的查詢引擎,用于大規(guī)模數(shù)據(jù)集的并行計算。
4、數(shù)據(jù)查詢分析:Hive的核心工作就是把SQL語句翻譯成MR程序,可以將結(jié)構(gòu)化的數(shù)據(jù)映射為一張數(shù)據(jù)庫表,并提供HQL(HiveSQL)查詢功能。Spark啟用了內(nèi)存分布數(shù)據(jù)集,除了能夠提供交互式查詢外,它還可以優(yōu)化迭代工作負(fù)載。
5、數(shù)據(jù)可視化:對接一些BI平臺,將分析得到的數(shù)據(jù)進(jìn)行可視化,用于指導(dǎo)決策服務(wù)。
MPP是一種進(jìn)行系統(tǒng)擴(kuò)展的方式,它由多個SMP服務(wù)器通過一定的節(jié)點互聯(lián)網(wǎng)絡(luò)進(jìn)行連接,協(xié)同工作,完成相同的任務(wù),從用戶的角度來看是一個服務(wù)器系統(tǒng)。每一個節(jié)點只能訪問自己本地資源(內(nèi)存,存儲等),是一種完全無共享結(jié)構(gòu)(Share Nothing)結(jié)構(gòu)。
而NoSql=Not Only Sql。泛指的是非關(guān)系型數(shù)據(jù)庫。大概分為四類。Key-Value存儲的數(shù)據(jù)庫,列式存儲數(shù)據(jù)庫(Hbase),文檔型數(shù)據(jù)庫和圖形數(shù)據(jù)庫。
NUMA全稱為Non-Uniform
Memory
Access,是主流服務(wù)服務(wù)器為了提高SMP的可擴(kuò)展性而采用的一種體系結(jié)構(gòu)。主流服務(wù)器一般由多個NUMA節(jié)點組成,每個NUMA節(jié)點是一個SMP結(jié)構(gòu),一般由多個CPU組成,并且具有本地內(nèi)存和IO設(shè)備。NUMA節(jié)點可以直接訪問本地內(nèi)存,也可以通過NUMA互聯(lián)模塊訪問其他NUMA節(jié)點的內(nèi)存,但是訪問本地內(nèi)存的速度遠(yuǎn)遠(yuǎn)高于遠(yuǎn)程訪問速度,因此,開發(fā)程序要盡量減少不同NUMA節(jié)點之間的信息交互。
MPP是一種海量數(shù)據(jù)實時分析架構(gòu)。
MPP作為一種不共享架構(gòu),每個節(jié)點運行自己的操作系統(tǒng)和數(shù)據(jù)庫等,節(jié)點之間信息交互只能通過網(wǎng)絡(luò)連接實現(xiàn)。MPP架構(gòu)目前被并行數(shù)據(jù)庫廣泛采用,一般通過scan、sort和merge等操作符實時返回查詢結(jié)果。目前采用MPP架構(gòu)的實時查詢系統(tǒng)有EMC
Greenplum、HP
Vertica和Googl
e
Dremel,這些都是實時數(shù)據(jù)處理領(lǐng)域非常有特點的系統(tǒng),尤其是Dremel可以輕松擴(kuò)展到上千臺服務(wù)器,并在數(shù)秒內(nèi)完成TB級數(shù)據(jù)的分析。
Hadoop作為一個開源項目群本身和MPP并沒有什么直接關(guān)系,Hadoop中的子項目MapReduce雖然也是做數(shù)據(jù)分析處理的,但是一般只適用于離線數(shù)據(jù)分析,區(qū)別與MPP較為明顯。因為Map和Reduce兩個過程涉及到輸出文件的存取和大量網(wǎng)絡(luò)傳輸,因此往往達(dá)不到實時處理的要求。與MapReduce
相似的系統(tǒng)還有Microsoft
Dryad和Google
pregel。
綜上所述,NUMA是一種體系結(jié)構(gòu),MPP是一種實時海量數(shù)據(jù)分析架構(gòu),而Hadoop是一個關(guān)于數(shù)據(jù)存儲處理的項目群,其中的MapReduce是一種離線海量數(shù)據(jù)分析架構(gòu)。
實測對比GreenPlum和Hive,GP比Hive性能高出至少一個數(shù)量級,但是大部分場景下,依然是秒級甚至分鐘級的延遲,距離具體通常意義的實時毫秒級,差距巨大。
另外說一句,廣義的Hadoop包括
Impala,
Presto
|
Distributed
SQL
Query
Engine
for
Big
Data
這些MPP架構(gòu)的SQL引擎。Hadoop社區(qū)還在持續(xù)發(fā)展,Spark還在持續(xù)給人們帶來驚喜,開源軟件的迷人之處也在于此。
隨著大數(shù)據(jù)分析市場迅速擴(kuò)展,哪些技術(shù)是最有需求和最有增長潛力的呢?在Forrester Research的一份最新研究報告中,評估了22種技術(shù)在整個數(shù)據(jù)生命周期中的成熟度和軌跡。這些技術(shù)都對大數(shù)據(jù)的實時、預(yù)測和綜合洞察有著巨大的貢獻(xiàn)。
1. 預(yù)測分析技術(shù)
這也是大數(shù)據(jù)的主要功能之一。預(yù)測分析允許公司通過分析大數(shù)據(jù)源來發(fā)現(xiàn)、評估、優(yōu)化和部署預(yù)測模型,從而提高業(yè)務(wù)性能或降低風(fēng)險。同時,大數(shù)據(jù)的預(yù)測分析也與我們的生活息息相關(guān)。淘寶會預(yù)測你每次購物可能還想買什么,愛奇藝正在預(yù)測你可能想看什么,百合網(wǎng)和其他約會網(wǎng)站甚至試圖預(yù)測你會愛上誰……
2. NoSQL數(shù)據(jù)庫
NoSQL,Not Only SQL,意思是“不僅僅是SQL”,泛指非關(guān)系型數(shù)據(jù)庫。NoSQL數(shù)據(jù)庫提供了比關(guān)系數(shù)據(jù)庫更靈活、可伸縮和更便宜的替代方案,打破了傳統(tǒng)數(shù)據(jù)庫市場一統(tǒng)江山的格局。并且,NoSQL數(shù)據(jù)庫能夠更好地處理大數(shù)據(jù)應(yīng)用的需求。常見的NoSQL數(shù)據(jù)庫有HBase、Redis、MongoDB、Couchbase、LevelDB等。
3. 搜索和知識發(fā)現(xiàn)
支持來自于多種數(shù)據(jù)源(如文件系統(tǒng)、數(shù)據(jù)庫、流、api和其他平臺和應(yīng)用程序)中的大型非結(jié)構(gòu)化和結(jié)構(gòu)化數(shù)據(jù)存儲庫中自助提取信息的工具和技術(shù)。如,數(shù)據(jù)挖掘技術(shù)和各種大數(shù)據(jù)平臺。
4. 大數(shù)據(jù)流計算引擎
能夠過濾、聚合、豐富和分析來自多個完全不同的活動數(shù)據(jù)源的數(shù)據(jù)的高吞吐量的框架,可以采用任何數(shù)據(jù)格式?,F(xiàn)今流行的流式計算引擎有Spark Streaming和Flink。
5. 內(nèi)存數(shù)據(jù)結(jié)構(gòu)
通過在分布式計算機(jī)系統(tǒng)中動態(tài)隨機(jī)訪問內(nèi)存(DRAM)、閃存或SSD上分布數(shù)據(jù),提供低延遲的訪問和處理大量數(shù)據(jù)。
6. 分布式文件存儲
為了保證文件的可靠性和存取性能,數(shù)據(jù)通常以副本的方式存儲在多個節(jié)點上的計算機(jī)網(wǎng)絡(luò)。常見的分布式文件系統(tǒng)有GFS、HDFS、Lustre 、Ceph等。
7. 數(shù)據(jù)虛擬化
數(shù)據(jù)虛擬化是一種數(shù)據(jù)管理方法,它允許應(yīng)用程序檢索和操作數(shù)據(jù),而不需要關(guān)心有關(guān)數(shù)據(jù)的技術(shù)細(xì)節(jié),比如數(shù)據(jù)在源文件中是何種格式,或者數(shù)據(jù)存儲的物理位置,并且可以提供單個客戶用戶視圖。
8. 數(shù)據(jù)集成
用于跨解決方案進(jìn)行數(shù)據(jù)編排的工具,如Amazon Elastic MapReduce (EMR)、Apache Hive、Apache Pig、Apache Spark、MapReduce、Couchbase、Hadoop和MongoDB等。
9. 數(shù)據(jù)準(zhǔn)備
減輕采購、成形、清理和共享各種雜亂數(shù)據(jù)集的負(fù)擔(dān)的軟件,以加速數(shù)據(jù)對分析的有用性。
10. 數(shù)據(jù)質(zhì)量
使用分布式數(shù)據(jù)存儲和數(shù)據(jù)庫上的并行操作,對大型高速數(shù)據(jù)集進(jìn)行數(shù)據(jù)清理和充實的產(chǎn)品。
NoSQL,是notonlysql,是非關(guān)系數(shù)據(jù)庫,不同于oracle等關(guān)系數(shù)據(jù)庫。hadoop,是分布式解決方案,即為Mapreduce(計算的)和HDFS(文件系統(tǒng)),使用Hadoop和NoSQL可以構(gòu)造海量數(shù)據(jù)解決方案。