考慮到現(xiàn)有技術(shù)解決方案的復(fù)雜性與多樣化,企業(yè)往往很難找到適合自己的大數(shù)據(jù)收集與分析工具。
十余年的天元網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。全網(wǎng)整合營銷推廣的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整天元建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。成都創(chuàng)新互聯(lián)公司從事“天元網(wǎng)站設(shè)計(jì)”,“天元網(wǎng)站推廣”以來,每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。
然而,混亂的時(shí)局之下已經(jīng)有多種方案脫穎而出,證明其能夠幫助大家切實(shí)完成大數(shù)據(jù)分析類工作。
下面天津IT培訓(xùn)將整理出一份包含十款工具的清單,從而有效壓縮選擇范疇。
OpenRefine這是一款高人氣數(shù)據(jù)分析工具,適用于各類與分析相關(guān)的任務(wù)。
這意味著即使大家擁有多川不同數(shù)據(jù)類型及名稱,這款工具亦能夠利用其強(qiáng)大的聚類算法完成條目分組。
在聚類完成后,分析即可開始。
Hadoop大數(shù)據(jù)與Hadoop可謂密不可分。
這套軟件庫兼框架能夠利用簡(jiǎn)單的編程模型將大規(guī)模數(shù)據(jù)集分發(fā)于計(jì)算機(jī)集群當(dāng)中。
其尤為擅長處理大規(guī)模數(shù)據(jù)并使其可用于本地設(shè)備當(dāng)中。
作為Hadoop的開發(fā)方,Apache亦在不斷強(qiáng)化這款工具以提升其實(shí)際效果。
Storm同樣來自Apache的Storm是另一款偉大的實(shí)時(shí)計(jì)算系統(tǒng),能夠極大強(qiáng)化無限數(shù)據(jù)流的處理效果。
其亦可用于執(zhí)行多種其它與大數(shù)據(jù)相關(guān)的任務(wù),具體包括分布式RPC、持續(xù)處理、在線機(jī)器學(xué)習(xí)以及實(shí)時(shí)分析等等。
使用Storm的另一大優(yōu)勢(shì)在于,其整合了大量其它技術(shù),從而進(jìn)一步降低大數(shù)據(jù)處理的復(fù)雜性。
Plotly這是一款數(shù)據(jù)可視化工具,可兼容JaScript、MATLAB、Python以及R等語言。
Plotly甚至能夠幫助不具備代碼編寫技能或者時(shí)間的用戶完成動(dòng)態(tài)可視化處理。
這款工具常由新一代數(shù)據(jù)科學(xué)家使用,因?yàn)槠鋵儆谝豢顦I(yè)務(wù)開發(fā)平臺(tái)且能夠快速完成大規(guī)模數(shù)據(jù)的理解與分析。
Rapidminer作為另一款大數(shù)據(jù)處理必要工具,Rapidminer屬于一套開源數(shù)據(jù)科學(xué)平臺(tái),且通過可視化編程機(jī)制發(fā)揮作用。
其功能包括對(duì)模型進(jìn)行修改、分析與創(chuàng)建,且能夠快速將結(jié)果整合至業(yè)務(wù)流程當(dāng)中。
Rapidminer目前備受矚目,且已經(jīng)成為眾多知名數(shù)據(jù)科學(xué)家心目中的可靠工具。
CassandraApacheCassandra是另一款值得關(guān)注的工具,因?yàn)槠淠軌蛴行腋咝У貙?duì)大規(guī)模數(shù)據(jù)加以管理。
它屬于一套可擴(kuò)展NoSQL數(shù)據(jù)庫,能夠監(jiān)控多座數(shù)據(jù)中心內(nèi)的數(shù)據(jù)并已經(jīng)在Netflix及eBay等知名企業(yè)當(dāng)中效力。
HadoopMapReduce這是一套軟件框架,允許用戶利用其編寫出以可靠方式并發(fā)處理大規(guī)模數(shù)據(jù)的應(yīng)用。
MapReduce應(yīng)用主要負(fù)責(zé)完成兩項(xiàng)任務(wù),即映射與規(guī)約,并由此提供多種數(shù)據(jù)處理結(jié)果。
這款工具最初由谷歌公司開發(fā)完成。
Bokeh這套可視化框架的主要目標(biāo)在于提供精致且簡(jiǎn)潔的圖形處理結(jié)果,用以強(qiáng)化大規(guī)模數(shù)據(jù)流的交互能力。
其專門供Python語言使用。
WolframAlpha這是一套搜索引擎,旨在幫助用戶搜索其需要的計(jì)算素材或者其它內(nèi)容。
舉例來說,如果大家輸入“Facebook”,即可獲得與Facebook相關(guān)的HTML元素結(jié)構(gòu)、輸入解釋、Web托管信息、網(wǎng)絡(luò)統(tǒng)計(jì)、子域、Alexa預(yù)估以及網(wǎng)頁信息等大量內(nèi)容。
mongodb hoodoop hbase 等。現(xiàn)在都挺火的。目前京東,58,360都在使用mongodb。
MPP是一種進(jìn)行系統(tǒng)擴(kuò)展的方式,它由多個(gè)SMP服務(wù)器通過一定的節(jié)點(diǎn)互聯(lián)網(wǎng)絡(luò)進(jìn)行連接,協(xié)同工作,完成相同的任務(wù),從用戶的角度來看是一個(gè)服務(wù)器系統(tǒng)。每一個(gè)節(jié)點(diǎn)只能訪問自己本地資源(內(nèi)存,存儲(chǔ)等),是一種完全無共享結(jié)構(gòu)(Share Nothing)結(jié)構(gòu)。
而NoSql=Not Only Sql。泛指的是非關(guān)系型數(shù)據(jù)庫。大概分為四類。Key-Value存儲(chǔ)的數(shù)據(jù)庫,列式存儲(chǔ)數(shù)據(jù)庫(Hbase),文檔型數(shù)據(jù)庫和圖形數(shù)據(jù)庫。
架構(gòu)圖如下圖所示。這張圖基本涵蓋了互聯(lián)網(wǎng)技術(shù)公司的大部分技術(shù)點(diǎn),不同公司只是在具體的技術(shù)實(shí)現(xiàn)上稍有差異,但不會(huì)跳出這個(gè)框架的范疇。
SQL: 常用的有mysql,用于存儲(chǔ)業(yè)務(wù)數(shù)據(jù)?;ヂ?lián)網(wǎng)發(fā)展初期,各個(gè)業(yè)務(wù)一般都會(huì)獨(dú)立運(yùn)營mysql集群,但隨著業(yè)務(wù)越來越多,mysql集群規(guī)模越來越大,那就有必要做成SQL平臺(tái)。
NoSQL: 翻譯為Not Only SQL,作為mysql的一種補(bǔ)充。Nosql一般本身就提供集群,且使用起來很方便,公司業(yè)務(wù)發(fā)展初期沒有必要。一般Nosql集群的數(shù)量越來越多,那就有必要做成Nosql平臺(tái)。
小文件: 互聯(lián)網(wǎng)中有很多小文件,比如商品圖片,F(xiàn)acebook的圖片。這類小文件具有數(shù)據(jù)小、數(shù)量巨大、訪問大的特點(diǎn)。如果每個(gè)業(yè)務(wù)都去考慮小文件存儲(chǔ)的話,就會(huì)出現(xiàn)重復(fù)造輪子現(xiàn)象,那就有必要做成小文件平臺(tái)了。
大文件: 互聯(lián)網(wǎng)的大文件主要分為兩類:一類是業(yè)務(wù)上的大數(shù)據(jù),例如Youtube的視頻、電影網(wǎng)站的電影;另一類是海量的日志數(shù)據(jù),例如各種訪問日志。實(shí)力雄厚的一些大公司會(huì)基于開源方案做成大數(shù)據(jù)平臺(tái)。
開發(fā)框架: 比如常見的Spring框架。
Web服務(wù)器: 常見的有tomcat、jetty等。
容器: Docker可以極大降低運(yùn)維成本,以及在實(shí)現(xiàn)動(dòng)態(tài)擴(kuò)容上非常方便。
配置中心: 故名思義,配置中心就是集中管理各個(gè)系統(tǒng)的配置。
服務(wù)中心: 解決跨系統(tǒng)依賴的配置和調(diào)度問題。比如有10個(gè)系統(tǒng)依賴A系統(tǒng)的x接口,此時(shí)A系統(tǒng)實(shí)現(xiàn)了一個(gè)y接口可以更好地支持x接口,那么如果直接更新10個(gè)系統(tǒng)依賴的配置將會(huì)很麻煩。
消息隊(duì)列: 支持系統(tǒng)解耦。
負(fù)載均衡: 充當(dāng)任務(wù)分配器的職責(zé)。
CDN: 可以對(duì)一些常用文件進(jìn)行就近緩存,來提高訪問速度。
多機(jī)房: 多機(jī)房的主要目的是備災(zāi),當(dāng)機(jī)房故障時(shí)可以快速地將業(yè)務(wù)切換到另外一個(gè)機(jī)房,這種切換操作允許一定時(shí)間的中斷,比如10分鐘,1個(gè)小時(shí)。
多中心: 多中心的要求就更高了,要求同時(shí)對(duì)外提供服務(wù),且業(yè)務(wù)能夠自動(dòng)在多中心之間切換,故障后不需人工干預(yù)或者很少的人工干預(yù)就能自動(dòng)恢復(fù)。
用戶管理: 對(duì)各個(gè)系統(tǒng)的用戶進(jìn)行統(tǒng)一管理。
消息推送: 根據(jù)不同途徑分為短信、郵件、站內(nèi)信、App推送。
存儲(chǔ)云: 實(shí)現(xiàn)是CDN+小文件存儲(chǔ)。
圖片云: 實(shí)現(xiàn)也是CDN+小文件存儲(chǔ)。為何不與存儲(chǔ)云統(tǒng)一一套系統(tǒng)呢?這是因?yàn)閳D片業(yè)務(wù)的復(fù)雜性導(dǎo)致的。圖片涉及的業(yè)務(wù)會(huì)更多,包括裁剪、壓縮、美化、審核、水印等。
業(yè)務(wù)千差萬別,各個(gè)互聯(lián)網(wǎng)業(yè)務(wù)面對(duì)的主要問題是復(fù)雜度越來越高。此時(shí)就要用到拆和合的技術(shù)。拆即將一個(gè)大系統(tǒng)拆分為多個(gè)子系統(tǒng),降低復(fù)雜度。當(dāng)子系統(tǒng)越來越多,有可能就需要采用合的技術(shù)。
測(cè)試平臺(tái)的核心目的是提升測(cè)試效率。
運(yùn)維平臺(tái)的核心職責(zé)分為四大塊:配置、部署、監(jiān)控、應(yīng)急。
數(shù)據(jù)平臺(tái)的核心職責(zé)主要包含三部分:數(shù)據(jù)管理、數(shù)據(jù)分析和數(shù)據(jù)應(yīng)用。
管理平臺(tái)的核心職責(zé)就是權(quán)限管理。
NoSQL,指的是非關(guān)系型的數(shù)據(jù)庫。隨著互聯(lián)網(wǎng)web2.0網(wǎng)站的興起,傳統(tǒng)的關(guān)系數(shù)據(jù)庫在應(yīng)付web2.0網(wǎng)站,特別是超大規(guī)模和高并發(fā)的
SNS類型的web2.0純動(dòng)態(tài)網(wǎng)站已經(jīng)顯得力不從心,暴露了很多難以克服的問題,而非關(guān)系型的數(shù)據(jù)庫則由于其本身的特點(diǎn)得到了非常迅速的發(fā)展。
NoSQL(NoSQL
= Not Only SQL
),意即“不僅僅是SQL”,是一項(xiàng)全新的數(shù)據(jù)庫革命性運(yùn)動(dòng),早期就有人提出,發(fā)展至2009年趨勢(shì)越發(fā)高漲。NoSQL的擁護(hù)者們提倡運(yùn)用非關(guān)系型的數(shù)
據(jù)存儲(chǔ),相對(duì)于鋪天蓋地的關(guān)系型數(shù)據(jù)庫運(yùn)用,這一概念無疑是一種全新的思維的注入。
從這一新興技術(shù)中選擇一款正確的NoSQL數(shù)據(jù)庫是非常具有挑戰(zhàn)性的。比一下網(wǎng)建議在選擇時(shí)考慮以下因素:
并發(fā)控制
并
發(fā)控制指的是當(dāng)多個(gè)用戶同時(shí)更新運(yùn)行時(shí),用于保護(hù)數(shù)據(jù)庫完整性的各種技術(shù)。并發(fā)機(jī)制不正確可能導(dǎo)致臟讀、幻讀和不可重復(fù)讀等此類問題。并發(fā)控制的目的是保
證一個(gè)用戶的工作不會(huì)對(duì)另一個(gè)用戶的工作產(chǎn)生不合理的影響。在某些情況下,這些措施保證了當(dāng)用戶和其他用戶一起操作時(shí),所得的結(jié)果和她單獨(dú)操作時(shí)的結(jié)果是
一樣的。在另一些情況下,這表示用戶的工作按預(yù)定的方式受其他用戶的影響。
封鎖
就是事務(wù)T在對(duì)某個(gè)數(shù)據(jù)對(duì)象(例如表、記錄等)操作之前,先向系統(tǒng)發(fā)出請(qǐng)求,對(duì)其加鎖。加鎖后事務(wù)T就對(duì)該數(shù)據(jù)對(duì)象有了一定的控制,在事務(wù)T釋放它的鎖之前,其它的事務(wù)不能更新此數(shù)據(jù)對(duì)象。
封鎖是一次只允許一個(gè)用戶讀取或修改的一種機(jī)制,是實(shí)現(xiàn)并發(fā)控制的一個(gè)非常重要的技術(shù)。
MVCC
Multi-Version Concurrency Control多版本并發(fā)控制,維持一個(gè)數(shù)據(jù)的多個(gè)版本使讀寫操作沒有沖突。MVCC優(yōu)化了數(shù)據(jù)庫并發(fā)系統(tǒng),使系統(tǒng)在有大量并發(fā)用戶時(shí)得到最高的性能,并且可以不用關(guān)閉服務(wù)器就直接進(jìn)行熱備份。
ACID
指
數(shù)據(jù)庫事務(wù)正確執(zhí)行的四個(gè)基本要素的縮寫。包含:原子性(Atomicity)、一致性(Consistency)、隔離性(Isolation)、持久
性(Durability)。一個(gè)支持事務(wù)(Transaction)的數(shù)據(jù)庫系統(tǒng),必需要具有這四種特性,否則在事務(wù)過程(Transaction
processing)當(dāng)中無法保證數(shù)據(jù)的正確性,交易過程極可能達(dá)不到交易方的要求。
None
一些系統(tǒng)不提供原子性。
鏡像
數(shù)據(jù)庫鏡像是DBMS根據(jù)DBA的要求,自動(dòng)把整個(gè)數(shù)據(jù)庫或其中的關(guān)鍵數(shù)據(jù)復(fù)制到另一個(gè)磁盤上,每當(dāng)主數(shù)據(jù)庫更新時(shí),DBMS會(huì)自動(dòng)把更新后的數(shù)據(jù)復(fù)制過去,即DBMS自動(dòng)保證鏡像數(shù)據(jù)與主數(shù)據(jù)的一致性。
鏡像分為同步和異步。
數(shù)據(jù)存儲(chǔ)
指的是數(shù)據(jù)的物理特性怎樣被存儲(chǔ)在數(shù)據(jù)庫中。
磁盤 數(shù)據(jù)被存儲(chǔ)在硬盤驅(qū)動(dòng)器里;
GFS或谷歌文件系統(tǒng)是一個(gè)由谷歌開發(fā)的專有的分布式文件系統(tǒng);
Hadoop是Apache軟件框架,免費(fèi)許可下支持?jǐn)?shù)據(jù)密集型分布式應(yīng)用程序;
RAM隨機(jī)存儲(chǔ)器;
插件 可以添加外部插件;
Amazon S3通過Web服務(wù)接口提供存儲(chǔ);
BDB:BDB
全稱是 “Berkeley DB”,它是MySQL具有事務(wù)能力的表類型,由Sleepycat
Software開發(fā)。BDB表類型提供了MySQL用戶長久期盼的功能,即事務(wù)控制能力。在任何RDBMS中,事務(wù)控制能力都是一種極其重要和寶貴的功
能。事務(wù)控制能力使得我們能夠確保一組命令確實(shí)已經(jīng)全部執(zhí)行成功,或者確保當(dāng)任何一個(gè)命令出現(xiàn)錯(cuò)誤時(shí)所有命令的執(zhí)行結(jié)果均被退回。
實(shí)現(xiàn)語言
實(shí)現(xiàn)語言會(huì)影響數(shù)據(jù)庫的發(fā)展速度。典型的NoSQL數(shù)據(jù)庫是用低級(jí)語言如C / C + +編寫的。另一方面,那些更高層次的語言如Java,使自定義更容易。
實(shí)現(xiàn)語言有:C, C++, Erlang, Java, Python
特性
考慮下列哪一個(gè)特點(diǎn)對(duì)你的數(shù)據(jù)庫是最重要的:
持久性
可用性
一致性
分區(qū)容忍性
證書類型
下面這些許可證是一個(gè)不同的開放源碼許可的形式:
GPL:通用公共許可證
BSD:伯克利軟件分發(fā)
MPL:Mozilla公共許可證
EPL:Eclipse公共許可證
IDPL:最初的開發(fā)者的公共許可證
LGPL:較寬松通用公共許可證
存儲(chǔ)類型
存儲(chǔ)類型是NoSQL數(shù)據(jù)庫最大的不同,是決定使用哪款數(shù)據(jù)庫的一個(gè)首要指標(biāo)。
關(guān)鍵字:支持get、put和刪除操作
按列存儲(chǔ):相對(duì)于傳統(tǒng)的按行存儲(chǔ),數(shù)據(jù)集成容易多了
面向文件系統(tǒng):存儲(chǔ)像是JSON或XML這樣的結(jié)構(gòu)化文件,很容易就能從面向?qū)ο筌浖蝎@取數(shù)據(jù)。