特點:
創(chuàng)新互聯(lián)是一家專業(yè)提供柯坪企業(yè)網(wǎng)站建設,專注與網(wǎng)站建設、成都網(wǎng)站設計、H5建站、小程序制作等業(yè)務。10年已為柯坪眾多企業(yè)、政府機構(gòu)等服務。創(chuàng)新互聯(lián)專業(yè)的建站公司優(yōu)惠進行中。
它們可以處理超大量的數(shù)據(jù)。
它們運行在便宜的PC服務器集群上。
PC集群擴充起來非常方便并且成本很低,避免了“sharding”操作的復雜性和成本。
它們擊碎了性能瓶頸。
NoSQL的支持者稱,通過NoSQL架構(gòu)可以省去將Web或Java應用和數(shù)據(jù)轉(zhuǎn)換成SQL友好格式的時間,執(zhí)行速度變得更快。
“SQL并非適用于所有的程序代碼,” 對于那些繁重的重復操作的數(shù)據(jù),SQL值得花錢。但是當數(shù)據(jù)庫結(jié)構(gòu)非常簡單時,SQL可能沒有太大用處。
沒有過多的操作。
雖然NoSQL的支持者也承認關系數(shù)據(jù)庫提供了無可比擬的功能集合,而且在數(shù)據(jù)完整性上也發(fā)揮絕對穩(wěn)定,他們同時也表示,企業(yè)的具體需求可能沒有那么多。
Bootstrap支持
因為NoSQL項目都是開源的,因此它們?nèi)狈烫峁┑恼街С?。這一點它們與大多數(shù)開源項目一樣,不得不從社區(qū)中尋求支持。
優(yōu)點:
易擴展
NoSQL數(shù)據(jù)庫種類繁多,但是一個共同的特點都是去掉關系數(shù)據(jù)庫的關系型特性。數(shù)據(jù)之間無關系,這樣就非常容易擴展。也無形之間,在架構(gòu)的層面上帶來了可擴展的能力。
大數(shù)據(jù)量,高性能
NoSQL數(shù)據(jù)庫都具有非常高的讀寫性能,尤其在大數(shù)據(jù)量下,同樣表現(xiàn)優(yōu)秀。這得益于它的無關系性,數(shù)據(jù)庫的結(jié)構(gòu)簡單。一般MySQL使用 Query Cache,每次表的更新Cache就失效,是一種大粒度的Cache,在針對web2.0的交互頻繁的應用,Cache性能不高。而NoSQL的 Cache是記錄級的,是一種細粒度的Cache,所以NoSQL在這個層面上來說就要性能高很多了。
靈活的數(shù)據(jù)模型
NoSQL無需事先為要存儲的數(shù)據(jù)建立字段,隨時可以存儲自定義的數(shù)據(jù)格式。而在關系數(shù)據(jù)庫里,增刪字段是一件非常麻煩的事情。如果是非常大數(shù)據(jù)量的表,增加字段簡直就是一個噩夢。這點在大數(shù)據(jù)量的web2.0時代尤其明顯。
高可用
NoSQL在不太影響性能的情況,就可以方便的實現(xiàn)高可用的架構(gòu)。比如Cassandra,HBase模型,通過復制模型也能實現(xiàn)高可用。
主要應用:
Apache HBase
這個大數(shù)據(jù)管理平臺建立在谷歌強大的BigTable管理引擎基礎上。作為具有開源、Java編碼、分布式多個優(yōu)勢的數(shù)據(jù)庫,Hbase最初被設計應用于Hadoop平臺,而這一強大的數(shù)據(jù)管理工具,也被Facebook采用,用于管理消息平臺的龐大數(shù)據(jù)。
Apache Storm
用于處理高速、大型數(shù)據(jù)流的分布式實時計算系統(tǒng)。Storm為Apache Hadoop添加了可靠的實時數(shù)據(jù)處理功能,同時還增加了低延遲的儀表板、安全警報,改進了原有的操作方式,幫助企業(yè)更有效率地捕獲商業(yè)機會、發(fā)展新業(yè)務。
Apache Spark
該技術采用內(nèi)存計算,從多迭代批量處理出發(fā),允許將數(shù)據(jù)載入內(nèi)存做反復查詢,此外還融合數(shù)據(jù)倉庫、流處理和圖計算等多種計算范式,Spark用Scala語言實現(xiàn),構(gòu)建在HDFS上,能與Hadoop很好的結(jié)合,而且運行速度比MapReduce快100倍。
Apache Hadoop
該技術迅速成為了大數(shù)據(jù)管理標準之一。當它被用來管理大型數(shù)據(jù)集時,對于復雜的分布式應用,Hadoop體現(xiàn)出了非常好的性能,平臺的靈活性使它可以運行在商用硬件系統(tǒng),它還可以輕松地集成結(jié)構(gòu)化、半結(jié)構(gòu)化和甚至非結(jié)構(gòu)化數(shù)據(jù)集。
Apache Drill
你有多大的數(shù)據(jù)集?其實無論你有多大的數(shù)據(jù)集,Drill都能輕松應對。通過支持HBase、Cassandra和MongoDB,Drill建立了交互式分析平臺,允許大規(guī)模數(shù)據(jù)吞吐,而且能很快得出結(jié)果。
Apache Sqoop
也許你的數(shù)據(jù)現(xiàn)在還被鎖定于舊系統(tǒng)中,Sqoop可以幫你解決這個問題。這一平臺采用并發(fā)連接,可以將數(shù)據(jù)從關系數(shù)據(jù)庫系統(tǒng)方便地轉(zhuǎn)移到Hadoop中,可以自定義數(shù)據(jù)類型以及元數(shù)據(jù)傳播的映射。事實上,你還可以將數(shù)據(jù)(如新的數(shù)據(jù))導入到HDFS、Hive和Hbase中。
Apache Giraph
這是功能強大的圖形處理平臺,具有很好可擴展性和可用性。該技術已經(jīng)被Facebook采用,Giraph可以運行在Hadoop環(huán)境中,可以將它直接部署到現(xiàn)有的Hadoop系統(tǒng)中。通過這種方式,你可以得到強大的分布式作圖能力,同時還能利用上現(xiàn)有的大數(shù)據(jù)處理引擎。
Cloudera Impala
Impala模型也可以部署在你現(xiàn)有的Hadoop群集上,監(jiān)視所有的查詢。該技術和MapReduce一樣,具有強大的批處理能力,而且Impala對于實時的SQL查詢也有很好的效果,通過高效的SQL查詢,你可以很快的了解到大數(shù)據(jù)平臺上的數(shù)據(jù)。
Gephi
它可以用來對信息進行關聯(lián)和量化處理,通過為數(shù)據(jù)創(chuàng)建功能強大的可視化效果,你可以從數(shù)據(jù)中得到不一樣的洞察力。Gephi已經(jīng)支持多個圖表類型,而且可以在具有上百萬個節(jié)點的大型網(wǎng)絡上運行。Gephi具有活躍的用戶社區(qū),Gephi還提供了大量的插件,可以和現(xiàn)有系統(tǒng)完美的集成到一起,它還可以對復雜的IT連接、分布式系統(tǒng)中各個節(jié)點、數(shù)據(jù)流等信息進行可視化分析。
MongoDB
這個堅實的平臺一直被很多組織推崇,它在大數(shù)據(jù)管理上有極好的性能。MongoDB最初是由DoubleClick公司的員工創(chuàng)建,現(xiàn)在該技術已經(jīng)被廣泛的應用于大數(shù)據(jù)管理。MongoDB是一個應用開源技術開發(fā)的NoSQL數(shù)據(jù)庫,可以用于在JSON這樣的平臺上存儲和處理數(shù)據(jù)。目前,紐約時報、Craigslist以及眾多企業(yè)都采用了MongoDB,幫助他們管理大型數(shù)據(jù)集。(Couchbase服務器也作為一個參考)。
十大頂尖公司:
Amazon Web Services
Forrester將AWS稱為“云霸主”,談到云計算領域的大數(shù)據(jù),那就不得不提到亞馬遜。該公司的Hadoop產(chǎn)品被稱為EMR(Elastic Map Reduce),AWS解釋這款產(chǎn)品采用了Hadoop技術來提供大數(shù)據(jù)管理服務,但它不是純開源Hadoop,經(jīng)過修改后現(xiàn)在被專門用在AWS云上。
Forrester稱EMR有很好的市場前景。很多公司基于EMR為客戶提供服務,有一些公司將EMR應用于數(shù)據(jù)查詢、建模、集成和管理。而且AWS還在創(chuàng)新,F(xiàn)orrester稱未來EMR可以基于工作量的需要自動縮放調(diào)整大小。亞馬遜計劃為其產(chǎn)品和服務提供更強大的EMR支持,包括它的RedShift數(shù)據(jù)倉庫、新公布的Kenesis實時處理引擎以及計劃中的NoSQL數(shù)據(jù)庫和商業(yè)智能工具。不過AWS還沒有自己的Hadoop發(fā)行版。
Cloudera
Cloudera有開源Hadoop的發(fā)行版,這個發(fā)行版采用了Apache Hadoop開源項目的很多技術,不過基于這些技術的發(fā)行版也有很大的進步。Cloudera為它的Hadoop發(fā)行版開發(fā)了很多功能,包括Cloudera管理器,用于管理和監(jiān)控,以及名為Impala的SQL引擎等。Cloudera的Hadoop發(fā)行版基于開源Hadoop,但也不是純開源的產(chǎn)品。當Cloudera的客戶需要Hadoop不具備的某些功能時,Cloudera的工程師們就會實現(xiàn)這些功能,或者找一個擁有這項技術的合作伙伴。Forrester表示:“Cloudera的創(chuàng)新方法忠于核心Hadoop,但因為其可實現(xiàn)快速創(chuàng)新并積極滿足客戶需求,這一點使它不同于其他那些供應商。”目前,Cloudera的平臺已經(jīng)擁有200多個付費客戶,一些客戶在Cloudera的技術支持下已經(jīng)可以跨1000多個節(jié)點實現(xiàn)對PB級數(shù)據(jù)的有效管理。
Hortonworks
和Cloudera一樣,Hortonworks是一個純粹的Hadoop技術公司。與Cloudera不同的是,Hortonworks堅信開源Hadoop比任何其他供應商的Hadoop發(fā)行版都要強大。Hortonworks的目標是建立Hadoop生態(tài)圈和Hadoop用戶社區(qū),推進開源項目的發(fā)展。Hortonworks平臺和開源Hadoop聯(lián)系緊密,公司管理人員表示這會給用戶帶來好處,因為它可以防止被供應商套牢(如果Hortonworks的客戶想要離開這個平臺,他們可以輕松轉(zhuǎn)向其他開源平臺)。這并不是說Hortonworks完全依賴開源Hadoop技術,而是因為該公司將其所有開發(fā)的成果回報給了開源社區(qū),比如Ambari,這個工具就是由Hortonworks開發(fā)而成,用來填充集群管理項目漏洞。Hortonworks的方案已經(jīng)得到了Teradata、Microsoft、Red Hat和SAP這些供應商的支持。
IBM
當企業(yè)考慮一些大的IT項目時,很多人首先會想到IBM。IBM是Hadoop項目的主要參與者之一,F(xiàn)orrester稱IBM已有100多個Hadoop部署,它的很多客戶都有PB級的數(shù)據(jù)。IBM在網(wǎng)格計算、全球數(shù)據(jù)中心和企業(yè)大數(shù)據(jù)項目實施等眾多領域有著豐富的經(jīng)驗。“IBM計劃繼續(xù)整合SPSS分析、高性能計算、BI工具、數(shù)據(jù)管理和建模、應對高性能計算的工作負載管理等眾多技術?!?/p>
Intel
和AWS類似,英特爾不斷改進和優(yōu)化Hadoop使其運行在自己的硬件上,具體來說,就是讓Hadoop運行在其至強芯片上,幫助用戶打破Hadoop系統(tǒng)的一些限制,使軟件和硬件結(jié)合的更好,英特爾的Hadoop發(fā)行版在上述方面做得比較好。Forrester指出英特爾在最近才推出這個產(chǎn)品,所以公司在未來還有很多改進的可能,英特爾和微軟都被認為是Hadoop市場上的潛力股。
MapR Technologies
MapR的Hadoop發(fā)行版目前為止也許是最好的了,不過很多人可能都沒有聽說過。Forrester對Hadoop用戶的調(diào)查顯示,MapR的評級最高,其發(fā)行版在架構(gòu)和數(shù)據(jù)處理能力上都獲得了最高分。MapR已將一套特殊功能融入其Hadoop發(fā)行版中。例如網(wǎng)絡文件系統(tǒng)(NFS)、災難恢復以及高可用性功能。Forrester說MapR在Hadoop市場上沒有Cloudera和Hortonworks那樣的知名度,MapR要成為一個真正的大企業(yè),還需要加強伙伴關系和市場營銷。
Microsoft
微軟在開源軟件問題上一直很低調(diào),但在大數(shù)據(jù)形勢下,它不得不考慮讓Windows也兼容Hadoop,它還積極投入到開源項目中,以更廣泛地推動Hadoop生態(tài)圈的發(fā)展。我們可以在微軟的公共云Windows Azure HDInsight產(chǎn)品中看到其成果。微軟的Hadoop服務基于Hortonworks的發(fā)行版,而且是為Azure量身定制的。
微軟也有一些其他的項目,包括名為Polybase的項目,讓Hadoop查詢實現(xiàn)了SQLServer查詢的一些功能。Forrester說:“微軟在數(shù)據(jù)庫、數(shù)據(jù)倉庫、云、OLAP、BI、電子表格(包括PowerPivot)、協(xié)作和開發(fā)工具市場上有很大優(yōu)勢,而且微軟擁有龐大的用戶群,但要在Hadoop這個領域成為行業(yè)領導者還有很遠的路要走。”
Pivotal Software
EMC和Vmware部分大數(shù)據(jù)業(yè)務分拆組合產(chǎn)生了Pivotal。Pivotal一直努力構(gòu)建一個性能優(yōu)越的Hadoop發(fā)行版,為此,Pivotal在開源Hadoop的基礎上又添加了一些新的工具,包括一個名為HAWQ的SQL引擎以及一個專門解決大數(shù)據(jù)問題的Hadoop應用。Forrester稱Pivotal Hadoop平臺的優(yōu)勢在于它整合了Pivotal、EMC、Vmware的眾多技術,Pivotal的真正優(yōu)勢實際上等于EMC和Vmware兩大公司為其撐腰。到目前為止,Pivotal的用戶還不到100個,而且大多是中小型客戶。
Teradata
對于Teradata來說,Hadoop既是一種威脅也是一種機遇。數(shù)據(jù)管理,特別是關于SQL和關系數(shù)據(jù)庫這一領域是Teradata的專長。所以像Hadoop這樣的NoSQL平臺崛起可能會威脅到Teradata。相反,Teradata接受了Hadoop,通過與Hortonworks合作,Teradata在Hadoop平臺集成了SQL技術,這使Teradata的客戶可以在Hadoop平臺上方便地使用存儲在Teradata數(shù)據(jù)倉庫中的數(shù)據(jù)。
AMPLab
通過將數(shù)據(jù)轉(zhuǎn)變?yōu)樾畔?,我們才可以理解世界,而這也正是AMPLab所做的。AMPLab致力于機器學習、數(shù)據(jù)挖掘、數(shù)據(jù)庫、信息檢索、自然語言處理和語音識別等多個領域,努力改進對信息包括不透明數(shù)據(jù)集內(nèi)信息的甄別技術。除了Spark,開源分布式SQL查詢引擎Shark也源于AMPLab,Shark具有極高的查詢效率,具有良好的兼容性和可擴展性。近幾年的發(fā)展使計算機科學進入到全新的時代,而AMPLab為我們設想一個運用大數(shù)據(jù)、云計算、通信等各種資源和技術靈活解決難題的方案,以應對越來越復雜的各種難題。
NoSQL不像傳統(tǒng)關系型庫那樣有統(tǒng)一的標準,也不具有普適性。所以要根據(jù)應用和數(shù)據(jù)的存取特征來選擇適合的NoSQL。
如果以前沒有接觸過NoSQL,MongoDB是一個比較好的選擇,他支持的所以和查詢能力是所有NoSQL中最強大的,缺點是索引的成本和文檔大小限制。
如果是使用Hadoop大數(shù)據(jù)分析,數(shù)據(jù)基本上不存在修改,只是插入和查詢,并且需要配合Hadoop的MR任務,HBase會是很好的選擇。
如果要求有很強的擴展能力,高并發(fā)讀寫和維護方便,Casaandra則是不錯的選擇。
當然除了上面三個流行的NoSQL,還有很多優(yōu)秀的NoSQL數(shù)據(jù)庫,而且他們都有各自擅長領域,所以需要了解你們產(chǎn)品自身的特點然后分析選擇哪種才是最適合的,往往在大型系統(tǒng)中不是單一的數(shù)據(jù)庫,而是使用多種數(shù)據(jù)庫組合。
NoSQL,泛指非關系型的數(shù)據(jù)庫。隨著互聯(lián)網(wǎng)web2.0網(wǎng)站的興起,傳統(tǒng)的關系數(shù)據(jù)庫在應付web2.0網(wǎng)站,特別是超大規(guī)模和高并發(fā)的SNS類型的web2.0純動態(tài)網(wǎng)站已經(jīng)顯得力不從心,暴露了很多難以克服的問題,而非關系型的數(shù)據(jù)庫則由于其本身的特點得到了非常迅速的發(fā)展。NoSQL數(shù)據(jù)庫的產(chǎn)生就是為了解決大規(guī)模數(shù)據(jù)集合多重數(shù)據(jù)種類帶來的挑戰(zhàn),尤其是大數(shù)據(jù)應用難題。
雖然NoSQL流行語火起來才短短一年的時間,但是不可否認,現(xiàn)在已經(jīng)開始了第二代運動。盡管早期的堆棧代碼只能算是一種實驗,然而現(xiàn)在的系統(tǒng)已經(jīng)更加的成熟、穩(wěn)定。不過現(xiàn)在也面臨著一個嚴酷的事實:技術越來越成熟——以至于原來很好的NoSQL數(shù)據(jù)存儲不得不進行重寫,也有少數(shù)人認為這就是所謂的2.0版本。這里列出一些比較知名的工具,可以為大數(shù)據(jù)建立快速、可擴展的存儲庫。
NoSQL(NoSQL = Not Only SQL ),意即“不僅僅是SQL”,是一項全新的數(shù)據(jù)庫革命性運動,早期就有人提出,發(fā)展至2009年趨勢越發(fā)高漲。NoSQL的擁護者們提倡運用非關系型的數(shù)據(jù)存儲,相對于鋪天蓋地的關系型數(shù)據(jù)庫運用,這一概念無疑是一種全新的思維的注入。
對于NoSQL并沒有一個明確的范圍和定義,但是他們都普遍存在下面一些共同特征:
不需要預定義模式:不需要事先定義數(shù)據(jù)模式,預定義表結(jié)構(gòu)。數(shù)據(jù)中的每條記錄都可能有不同的屬性和格式。當插入數(shù)據(jù)時,并不需要預先定義它們的模式。
無共享架構(gòu):相對于將所有數(shù)據(jù)存儲的存儲區(qū)域網(wǎng)絡中的全共享架構(gòu)。NoSQL往往將數(shù)據(jù)劃分后存儲在各個本地服務器上。因為從本地磁盤讀取數(shù)據(jù)的性能往往好于通過網(wǎng)絡傳輸讀取數(shù)據(jù)的性能,從而提高了系統(tǒng)的性能。
彈性可擴展:可以在系統(tǒng)運行的時候,動態(tài)增加或者刪除結(jié)點。不需要停機維護,數(shù)據(jù)可以自動遷移。
分區(qū):相對于將數(shù)據(jù)存放于同一個節(jié)點,NoSQL數(shù)據(jù)庫需要將數(shù)據(jù)進行分區(qū),將記錄分散在多個節(jié)點上面。并且通常分區(qū)的同時還要做復制。這樣既提高了并行性能,又能保證沒有單點失效的問題。
異步復制:和RAID存儲系統(tǒng)不同的是,NoSQL中的復制,往往是基于日志的異步復制。這樣,數(shù)據(jù)就可以盡快地寫入一個節(jié)點,而不會被網(wǎng)絡傳輸引起遲延。缺點是并不總是能保證一致性,這樣的方式在出現(xiàn)故障的時候,可能會丟失少量的數(shù)據(jù)。
BASE:相對于事務嚴格的ACID特性,NoSQL數(shù)據(jù)庫保證的是BASE特性。BASE是最終一致性和軟事務。
NoSQL數(shù)據(jù)庫并沒有一個統(tǒng)一的架構(gòu),兩種NoSQL數(shù)據(jù)庫之間的不同,甚至遠遠超過兩種關系型數(shù)據(jù)庫的不同??梢哉f,NoSQL各有所長,成功的NoSQL必然特別適用于某些場合或者某些應用,在這些場合中會遠遠勝過關系型數(shù)據(jù)庫和其他的NoSQL。
NoSQL,指的是非關系型的數(shù)據(jù)庫。隨著互聯(lián)網(wǎng)web2.0網(wǎng)站的興起,傳統(tǒng)的關系數(shù)據(jù)庫在應付web2.0網(wǎng)站,特別是超大規(guī)模和高并發(fā)的
SNS類型的web2.0純動態(tài)網(wǎng)站已經(jīng)顯得力不從心,暴露了很多難以克服的問題,而非關系型的數(shù)據(jù)庫則由于其本身的特點得到了非常迅速的發(fā)展。
NoSQL(NoSQL
= Not Only SQL
),意即“不僅僅是SQL”,是一項全新的數(shù)據(jù)庫革命性運動,早期就有人提出,發(fā)展至2009年趨勢越發(fā)高漲。NoSQL的擁護者們提倡運用非關系型的數(shù)
據(jù)存儲,相對于鋪天蓋地的關系型數(shù)據(jù)庫運用,這一概念無疑是一種全新的思維的注入。
從這一新興技術中選擇一款正確的NoSQL數(shù)據(jù)庫是非常具有挑戰(zhàn)性的。比一下網(wǎng)建議在選擇時考慮以下因素:
并發(fā)控制
并
發(fā)控制指的是當多個用戶同時更新運行時,用于保護數(shù)據(jù)庫完整性的各種技術。并發(fā)機制不正確可能導致臟讀、幻讀和不可重復讀等此類問題。并發(fā)控制的目的是保
證一個用戶的工作不會對另一個用戶的工作產(chǎn)生不合理的影響。在某些情況下,這些措施保證了當用戶和其他用戶一起操作時,所得的結(jié)果和她單獨操作時的結(jié)果是
一樣的。在另一些情況下,這表示用戶的工作按預定的方式受其他用戶的影響。
封鎖
就是事務T在對某個數(shù)據(jù)對象(例如表、記錄等)操作之前,先向系統(tǒng)發(fā)出請求,對其加鎖。加鎖后事務T就對該數(shù)據(jù)對象有了一定的控制,在事務T釋放它的鎖之前,其它的事務不能更新此數(shù)據(jù)對象。
封鎖是一次只允許一個用戶讀取或修改的一種機制,是實現(xiàn)并發(fā)控制的一個非常重要的技術。
MVCC
Multi-Version Concurrency Control多版本并發(fā)控制,維持一個數(shù)據(jù)的多個版本使讀寫操作沒有沖突。MVCC優(yōu)化了數(shù)據(jù)庫并發(fā)系統(tǒng),使系統(tǒng)在有大量并發(fā)用戶時得到最高的性能,并且可以不用關閉服務器就直接進行熱備份。
ACID
指
數(shù)據(jù)庫事務正確執(zhí)行的四個基本要素的縮寫。包含:原子性(Atomicity)、一致性(Consistency)、隔離性(Isolation)、持久
性(Durability)。一個支持事務(Transaction)的數(shù)據(jù)庫系統(tǒng),必需要具有這四種特性,否則在事務過程(Transaction
processing)當中無法保證數(shù)據(jù)的正確性,交易過程極可能達不到交易方的要求。
None
一些系統(tǒng)不提供原子性。
鏡像
數(shù)據(jù)庫鏡像是DBMS根據(jù)DBA的要求,自動把整個數(shù)據(jù)庫或其中的關鍵數(shù)據(jù)復制到另一個磁盤上,每當主數(shù)據(jù)庫更新時,DBMS會自動把更新后的數(shù)據(jù)復制過去,即DBMS自動保證鏡像數(shù)據(jù)與主數(shù)據(jù)的一致性。
鏡像分為同步和異步。
數(shù)據(jù)存儲
指的是數(shù)據(jù)的物理特性怎樣被存儲在數(shù)據(jù)庫中。
磁盤 數(shù)據(jù)被存儲在硬盤驅(qū)動器里;
GFS或谷歌文件系統(tǒng)是一個由谷歌開發(fā)的專有的分布式文件系統(tǒng);
Hadoop是Apache軟件框架,免費許可下支持數(shù)據(jù)密集型分布式應用程序;
RAM隨機存儲器;
插件 可以添加外部插件;
Amazon S3通過Web服務接口提供存儲;
BDB:BDB
全稱是 “Berkeley DB”,它是MySQL具有事務能力的表類型,由Sleepycat
Software開發(fā)。BDB表類型提供了MySQL用戶長久期盼的功能,即事務控制能力。在任何RDBMS中,事務控制能力都是一種極其重要和寶貴的功
能。事務控制能力使得我們能夠確保一組命令確實已經(jīng)全部執(zhí)行成功,或者確保當任何一個命令出現(xiàn)錯誤時所有命令的執(zhí)行結(jié)果均被退回。
實現(xiàn)語言
實現(xiàn)語言會影響數(shù)據(jù)庫的發(fā)展速度。典型的NoSQL數(shù)據(jù)庫是用低級語言如C / C + +編寫的。另一方面,那些更高層次的語言如Java,使自定義更容易。
實現(xiàn)語言有:C, C++, Erlang, Java, Python
特性
考慮下列哪一個特點對你的數(shù)據(jù)庫是最重要的:
持久性
可用性
一致性
分區(qū)容忍性
證書類型
下面這些許可證是一個不同的開放源碼許可的形式:
GPL:通用公共許可證
BSD:伯克利軟件分發(fā)
MPL:Mozilla公共許可證
EPL:Eclipse公共許可證
IDPL:最初的開發(fā)者的公共許可證
LGPL:較寬松通用公共許可證
存儲類型
存儲類型是NoSQL數(shù)據(jù)庫最大的不同,是決定使用哪款數(shù)據(jù)庫的一個首要指標。
關鍵字:支持get、put和刪除操作
按列存儲:相對于傳統(tǒng)的按行存儲,數(shù)據(jù)集成容易多了
面向文件系統(tǒng):存儲像是JSON或XML這樣的結(jié)構(gòu)化文件,很容易就能從面向?qū)ο筌浖蝎@取數(shù)據(jù)。
NoSQL,泛指非關系型的數(shù)據(jù)庫。NoSQL數(shù)據(jù)庫的產(chǎn)生就是為了解決大規(guī)模數(shù)據(jù)集合多重數(shù)據(jù)種類帶來的挑戰(zhàn),尤其是大數(shù)據(jù)應用難題。
雖然關系型數(shù)據(jù)庫系統(tǒng)RDBMS在安裝和使用上仍然占有主要地位,但毋庸置疑,非關系型數(shù)據(jù)庫NoSQL技術已經(jīng)成為今天發(fā)展最快的數(shù)據(jù)庫技術。
NoSQL詳解:如何找到對的技術
NoSQL是對數(shù)據(jù)庫系統(tǒng)的總稱,在某種程度上,它的性能和用途可能完全不同。NoSQL一詞最早產(chǎn)生于上世紀九十年代,意思是NoSQL(沒有SQL語言),后來隨著時間和技術的發(fā)展,SQL界面仍然作為處理數(shù)據(jù)的方式存在,所以NoSQL又有了新的詮釋,即NotOnlySQL(不只是SQL語言)。今天,NoSQL數(shù)據(jù)庫憑借著其非關系型、分布式、開源和橫向擴展等優(yōu)勢,被認為是下一代數(shù)據(jù)庫產(chǎn)品。
四種主要的NoSQL數(shù)據(jù)庫和它們主要的應用場景
鍵值數(shù)據(jù)庫:當數(shù)據(jù)以鍵的形式訪問時,比如通過國際標準書號ISBN找一本書,鍵值數(shù)據(jù)庫是最理想的。在這里,ISBN是鍵,書籍的其他信息就是值。必須知道鍵才能查詢,不過值是一堆無意義的數(shù)據(jù),讀取之后必須經(jīng)過翻譯。
文檔存儲數(shù)據(jù)庫:該數(shù)據(jù)庫以文檔的形式管理和存儲數(shù)據(jù)。有點類似于鍵值數(shù)據(jù)庫,但文檔數(shù)據(jù)庫中的數(shù)據(jù)有結(jié)構(gòu)。與鍵值數(shù)據(jù)庫中值是一堆無意義的數(shù)據(jù)不同,文檔數(shù)據(jù)庫中數(shù)據(jù)以文檔的結(jié)構(gòu)被描述,典型的是JavaScriptObjectNotation(JSON)或XML.文檔存儲數(shù)據(jù)庫中的數(shù)據(jù)可以通過定義的任何模式進行查詢,但鍵值數(shù)據(jù)庫只能通過它的鍵進行查詢。
簡單來說,從大數(shù)據(jù)的生命周期來看,無外乎四個方面:大數(shù)據(jù)采集、大數(shù)據(jù)預處理、大數(shù)據(jù)存儲、大數(shù)據(jù)分析,共同組成了大數(shù)據(jù)生命周期里最核心的技術,下面分開來說:
一、大數(shù)據(jù)采集
大數(shù)據(jù)采集,即對各種來源的結(jié)構(gòu)化和非結(jié)構(gòu)化海量數(shù)據(jù),所進行的采集。
數(shù)據(jù)庫采集:流行的有Sqoop和ETL,傳統(tǒng)的關系型數(shù)據(jù)庫MySQL和Oracle 也依然充當著許多企業(yè)的數(shù)據(jù)存儲方式。當然了,目前對于開源的Kettle和Talend本身,也集成了大數(shù)據(jù)集成內(nèi)容,可實現(xiàn)hdfs,hbase和主流Nosq數(shù)據(jù)庫之間的數(shù)據(jù)同步和集成。
網(wǎng)絡數(shù)據(jù)采集:一種借助網(wǎng)絡爬蟲或網(wǎng)站公開API,從網(wǎng)頁獲取非結(jié)構(gòu)化或半結(jié)構(gòu)化數(shù)據(jù),并將其統(tǒng)一結(jié)構(gòu)化為本地數(shù)據(jù)的數(shù)據(jù)采集方式。
文件采集:包括實時文件采集和處理技術flume、基于ELK的日志采集和增量采集等等。
二、大數(shù)據(jù)預處理
大數(shù)據(jù)預處理,指的是在進行數(shù)據(jù)分析之前,先對采集到的原始數(shù)據(jù)所進行的諸如“清洗、填補、平滑、合并、規(guī)格化、一致性檢驗”等一系列操作,旨在提高數(shù)據(jù)質(zhì)量,為后期分析工作奠定基礎。數(shù)據(jù)預處理主要包括四個部分:數(shù)據(jù)清理、數(shù)據(jù)集成、數(shù)據(jù)轉(zhuǎn)換、數(shù)據(jù)規(guī)約。
數(shù)據(jù)清理:指利用ETL等清洗工具,對有遺漏數(shù)據(jù)(缺少感興趣的屬性)、噪音數(shù)據(jù)(數(shù)據(jù)中存在著錯誤、或偏離期望值的數(shù)據(jù))、不一致數(shù)據(jù)進行處理。
數(shù)據(jù)集成:是指將不同數(shù)據(jù)源中的數(shù)據(jù),合并存放到統(tǒng)一數(shù)據(jù)庫的,存儲方法,著重解決三個問題:模式匹配、數(shù)據(jù)冗余、數(shù)據(jù)值沖突檢測與處理。
數(shù)據(jù)轉(zhuǎn)換:是指對所抽取出來的數(shù)據(jù)中存在的不一致,進行處理的過程。它同時包含了數(shù)據(jù)清洗的工作,即根據(jù)業(yè)務規(guī)則對異常數(shù)據(jù)進行清洗,以保證后續(xù)分析結(jié)果準確性。
數(shù)據(jù)規(guī)約:是指在最大限度保持數(shù)據(jù)原貌的基礎上,最大限度精簡數(shù)據(jù)量,以得到較小數(shù)據(jù)集的操作,包括:數(shù)據(jù)方聚集、維規(guī)約、數(shù)據(jù)壓縮、數(shù)值規(guī)約、概念分層等。
三、大數(shù)據(jù)存儲
大數(shù)據(jù)存儲,指用存儲器,以數(shù)據(jù)庫的形式,存儲采集到的數(shù)據(jù)的過程,包含三種典型路線:
1、基于MPP架構(gòu)的新型數(shù)據(jù)庫集群
采用Shared Nothing架構(gòu),結(jié)合MPP架構(gòu)的高效分布式計算模式,通過列存儲、粗粒度索引等多項大數(shù)據(jù)處理技術,重點面向行業(yè)大數(shù)據(jù)所展開的數(shù)據(jù)存儲方式。具有低成本、高性能、高擴展性等特點,在企業(yè)分析類應用領域有著廣泛的應用。
較之傳統(tǒng)數(shù)據(jù)庫,其基于MPP產(chǎn)品的PB級數(shù)據(jù)分析能力,有著顯著的優(yōu)越性。自然,MPP數(shù)據(jù)庫,也成為了企業(yè)新一代數(shù)據(jù)倉庫的最佳選擇。
2、基于Hadoop的技術擴展和封裝
基于Hadoop的技術擴展和封裝,是針對傳統(tǒng)關系型數(shù)據(jù)庫難以處理的數(shù)據(jù)和場景(針對非結(jié)構(gòu)化數(shù)據(jù)的存儲和計算等),利用Hadoop開源優(yōu)勢及相關特性(善于處理非結(jié)構(gòu)、半結(jié)構(gòu)化數(shù)據(jù)、復雜的ETL流程、復雜的數(shù)據(jù)挖掘和計算模型等),衍生出相關大數(shù)據(jù)技術的過程。
伴隨著技術進步,其應用場景也將逐步擴大,目前最為典型的應用場景:通過擴展和封裝 Hadoop來實現(xiàn)對互聯(lián)網(wǎng)大數(shù)據(jù)存儲、分析的支撐,其中涉及了幾十種NoSQL技術。
3、大數(shù)據(jù)一體機
這是一種專為大數(shù)據(jù)的分析處理而設計的軟、硬件結(jié)合的產(chǎn)品。它由一組集成的服務器、存儲設備、操作系統(tǒng)、數(shù)據(jù)庫管理系統(tǒng),以及為數(shù)據(jù)查詢、處理、分析而預安裝和優(yōu)化的軟件組成,具有良好的穩(wěn)定性和縱向擴展性。
四、大數(shù)據(jù)分析挖掘
從可視化分析、數(shù)據(jù)挖掘算法、預測性分析、語義引擎、數(shù)據(jù)質(zhì)量管理等方面,對雜亂無章的數(shù)據(jù),進行萃取、提煉和分析的過程。
1、可視化分析
可視化分析,指借助圖形化手段,清晰并有效傳達與溝通信息的分析手段。主要應用于海量數(shù)據(jù)關聯(lián)分析,即借助可視化數(shù)據(jù)分析平臺,對分散異構(gòu)數(shù)據(jù)進行關聯(lián)分析,并做出完整分析圖表的過程。
具有簡單明了、清晰直觀、易于接受的特點。
2、數(shù)據(jù)挖掘算法
數(shù)據(jù)挖掘算法,即通過創(chuàng)建數(shù)據(jù)挖掘模型,而對數(shù)據(jù)進行試探和計算的,數(shù)據(jù)分析手段。它是大數(shù)據(jù)分析的理論核心。
數(shù)據(jù)挖掘算法多種多樣,且不同算法因基于不同的數(shù)據(jù)類型和格式,會呈現(xiàn)出不同的數(shù)據(jù)特點。但一般來講,創(chuàng)建模型的過程卻是相似的,即首先分析用戶提供的數(shù)據(jù),然后針對特定類型的模式和趨勢進行查找,并用分析結(jié)果定義創(chuàng)建挖掘模型的最佳參數(shù),并將這些參數(shù)應用于整個數(shù)據(jù)集,以提取可行模式和詳細統(tǒng)計信息。
3、預測性分析
預測性分析,是大數(shù)據(jù)分析最重要的應用領域之一,通過結(jié)合多種高級分析功能(特別統(tǒng)計分析、預測建模、數(shù)據(jù)挖掘、文本分析、實體分析、優(yōu)化、實時評分、機器學習等),達到預測不確定事件的目的。
幫助分用戶析結(jié)構(gòu)化和非結(jié)構(gòu)化數(shù)據(jù)中的趨勢、模式和關系,并運用這些指標來預測將來事件,為采取措施提供依據(jù)。
4、語義引擎
語義引擎,指通過為已有數(shù)據(jù)添加語義的操作,提高用戶互聯(lián)網(wǎng)搜索體驗。
5、數(shù)據(jù)質(zhì)量管理
指對數(shù)據(jù)全生命周期的每個階段(計劃、獲取、存儲、共享、維護、應用、消亡等)中可能引發(fā)的各類數(shù)據(jù)質(zhì)量問題,進行識別、度量、監(jiān)控、預警等操作,以提高數(shù)據(jù)質(zhì)量的一系列管理活動。
以上是從大的方面來講,具體來說大數(shù)據(jù)的框架技術有很多,這里列舉其中一些:
文件存儲:Hadoop HDFS、Tachyon、KFS
離線計算:Hadoop MapReduce、Spark
流式、實時計算:Storm、Spark Streaming、S4、Heron
K-V、NOSQL數(shù)據(jù)庫:HBase、Redis、MongoDB
資源管理:YARN、Mesos
日志收集:Flume、Scribe、Logstash、Kibana
消息系統(tǒng):Kafka、StormMQ、ZeroMQ、RabbitMQ
查詢分析:Hive、Impala、Pig、Presto、Phoenix、SparkSQL、Drill、Flink、Kylin、Druid
分布式協(xié)調(diào)服務:Zookeeper
集群管理與監(jiān)控:Ambari、Ganglia、Nagios、Cloudera Manager
數(shù)據(jù)挖掘、機器學習:Mahout、Spark MLLib
數(shù)據(jù)同步:Sqoop
任務調(diào)度:Oozie
······
想要學習更多關于大數(shù)據(jù)的知識可以加群和志同道合的人一起交流一下啊[ ]