1. 使用python腳本可以輕松生成滿足條件的數(shù)據(jù),具體如下
專注于為中小企業(yè)提供成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)博野免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了成百上千家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
#coding: utf-8import os, sys, time, datetimefrom itertools import izipN = 100000000def gen_meid(): returndef gen_seq(): returndef generate_message(meid,seq): ts = time.time(); time_st = datetime.datetime.fromtimestamp(ts).strftime('%Y-%m-%d %H:%M:%S') print '/t'.join(( meid, seq, '/N', '/N', '/N', '/N', '0', '0', '0', '0', time_st, '/N', '/N', '0', '/N', '/N', '/N', '/N', time_st ))def main(args): print '/t'.join(( 'deviceID', 'battery', ... , 'accumulatedTime', 'createDate' )) // for mongodb, mysql delete for meid,seq in izip(gen_meid(),gen_seq()): generate_message(meid,seq) pass return 0#==============================if __name__ == "__main__": import sys main(sys.argv) pass#==============================
$ python a.py device.tsv
2. 切分?jǐn)?shù)據(jù)(可選)
tail -n +1 device.csv | head -n 5000000 part1.txt
tail -n +100001 device.csv | head -n 100000 part2.txt
tail -n +200001 device.csv | head -n 100000 part3.txt
tail -n +300001 device.csv | head -n 100000 part4.txt
3. 生成txt 文件
python a.py device.txt
NoSQL數(shù)據(jù)庫 ——FoundationDB的鍵-值存儲系統(tǒng)
FoundationDB是一個分布式的鍵-值存儲系統(tǒng),支持全局ACID事務(wù)操作,并且性能出眾。在安裝系統(tǒng)時(shí),可以指定數(shù)據(jù)分發(fā)的級別。數(shù)據(jù)分發(fā)為容錯性提供了支持:當(dāng)某個服務(wù)器或網(wǎng)絡(luò)的某部分產(chǎn)生故障時(shí),數(shù)據(jù)庫仍然可以正常操作,你的應(yīng)用也不會受到影響。
鍵-值與SQL架構(gòu)
我們開發(fā)的這套架構(gòu)能夠在鍵-值存儲系統(tǒng)上支持多個層,每個層都能夠在FoundationDB的基礎(chǔ)上提供一套不同的數(shù)據(jù)模型,例如SQL數(shù)據(jù)庫、文檔數(shù)據(jù)庫或圖形數(shù)據(jù)庫。許多使用者也自行創(chuàng)建了自定義的層。
下圖中列出架構(gòu)中的了關(guān)鍵部分。處于最底層的是FoundationDB集群,無論集群的實(shí)際大小如何,對它的操作與一個單獨(dú)的邏輯數(shù)據(jù)庫并沒有分別。SQL層則以一種無狀態(tài)的中間層方式運(yùn)行在鍵-值存儲系統(tǒng)之上。這一層通過SQL與應(yīng)用程序進(jìn)行通信,并使用FoundationDB的客戶端API與鍵-值存儲系統(tǒng)進(jìn)行通信。由于SQL層是無狀態(tài)的,因此可以并行地運(yùn)行任意數(shù)據(jù)的SQL層。
Web1.0的時(shí)代,數(shù)據(jù)訪問量很有限,用一夫當(dāng)關(guān)的高性能的單點(diǎn)服務(wù)器可以解決大部分問題。
隨著Web2.0的時(shí)代的到來,用戶訪問量大幅度提升,同時(shí)產(chǎn)生了大量的用戶數(shù)據(jù)。加上后來的智能移動設(shè)備的普及,所有的互聯(lián)網(wǎng)平臺都面臨了巨大的性能挑戰(zhàn)。
NoSQL(NoSQL = Not Only SQL ),意即“不僅僅是SQL”,泛指非關(guān)系型的數(shù)據(jù)庫。
NoSQL 不依賴業(yè)務(wù)邏輯方式存儲,而以簡單的key-value模式存儲。因此大大的增加了數(shù)據(jù)庫的擴(kuò)展能力。
Memcache Memcache Redis Redis MongoDB MongoDB 列式數(shù)據(jù)庫 列式數(shù)據(jù)庫 Hbase Hbase
HBase是Hadoop項(xiàng)目中的數(shù)據(jù)庫。它用于需要對大量的數(shù)據(jù)進(jìn)行隨機(jī)、實(shí)時(shí)的讀寫操作的場景中。
HBase的目標(biāo)就是處理數(shù)據(jù)量非常龐大的表,可以用普通的計(jì)算機(jī)處理超過10億行數(shù)據(jù),還可處理有數(shù)百萬列元素的數(shù)據(jù)表。
Cassandra Cassandra
Apache Cassandra是一款免費(fèi)的開源NoSQL數(shù)據(jù)庫,其設(shè)計(jì)目的在于管理由大量商用服務(wù)器構(gòu)建起來的龐大集群上的海量數(shù)據(jù)集(數(shù)據(jù)量通常達(dá)到PB級別)。在眾多顯著特性當(dāng)中,Cassandra最為卓越的長處是對寫入及讀取操作進(jìn)行規(guī)模調(diào)整,而且其不強(qiáng)調(diào)主集群的設(shè)計(jì)思路能夠以相對直觀的方式簡化各集群的創(chuàng)建與擴(kuò)展流程。
主要應(yīng)用:社會關(guān)系,公共交通網(wǎng)絡(luò),地圖及網(wǎng)絡(luò)拓譜(n*(n-1)/2)
特點(diǎn):
它們可以處理超大量的數(shù)據(jù)。
它們運(yùn)行在便宜的PC服務(wù)器集群上。
PC集群擴(kuò)充起來非常方便并且成本很低,避免了“sharding”操作的復(fù)雜性和成本。
它們擊碎了性能瓶頸。
NoSQL的支持者稱,通過NoSQL架構(gòu)可以省去將Web或Java應(yīng)用和數(shù)據(jù)轉(zhuǎn)換成SQL友好格式的時(shí)間,執(zhí)行速度變得更快。
“SQL并非適用于所有的程序代碼,” 對于那些繁重的重復(fù)操作的數(shù)據(jù),SQL值得花錢。但是當(dāng)數(shù)據(jù)庫結(jié)構(gòu)非常簡單時(shí),SQL可能沒有太大用處。
沒有過多的操作。
雖然NoSQL的支持者也承認(rèn)關(guān)系數(shù)據(jù)庫提供了無可比擬的功能集合,而且在數(shù)據(jù)完整性上也發(fā)揮絕對穩(wěn)定,他們同時(shí)也表示,企業(yè)的具體需求可能沒有那么多。
Bootstrap支持
因?yàn)镹oSQL項(xiàng)目都是開源的,因此它們?nèi)狈?yīng)商提供的正式支持。這一點(diǎn)它們與大多數(shù)開源項(xiàng)目一樣,不得不從社區(qū)中尋求支持。
優(yōu)點(diǎn):
易擴(kuò)展
NoSQL數(shù)據(jù)庫種類繁多,但是一個共同的特點(diǎn)都是去掉關(guān)系數(shù)據(jù)庫的關(guān)系型特性。數(shù)據(jù)之間無關(guān)系,這樣就非常容易擴(kuò)展。也無形之間,在架構(gòu)的層面上帶來了可擴(kuò)展的能力。
大數(shù)據(jù)量,高性能
NoSQL數(shù)據(jù)庫都具有非常高的讀寫性能,尤其在大數(shù)據(jù)量下,同樣表現(xiàn)優(yōu)秀。這得益于它的無關(guān)系性,數(shù)據(jù)庫的結(jié)構(gòu)簡單。一般MySQL使用 Query Cache,每次表的更新Cache就失效,是一種大粒度的Cache,在針對web2.0的交互頻繁的應(yīng)用,Cache性能不高。而NoSQL的 Cache是記錄級的,是一種細(xì)粒度的Cache,所以NoSQL在這個層面上來說就要性能高很多了。
靈活的數(shù)據(jù)模型
NoSQL無需事先為要存儲的數(shù)據(jù)建立字段,隨時(shí)可以存儲自定義的數(shù)據(jù)格式。而在關(guān)系數(shù)據(jù)庫里,增刪字段是一件非常麻煩的事情。如果是非常大數(shù)據(jù)量的表,增加字段簡直就是一個噩夢。這點(diǎn)在大數(shù)據(jù)量的web2.0時(shí)代尤其明顯。
高可用
NoSQL在不太影響性能的情況,就可以方便的實(shí)現(xiàn)高可用的架構(gòu)。比如Cassandra,HBase模型,通過復(fù)制模型也能實(shí)現(xiàn)高可用。
主要應(yīng)用:
Apache HBase
這個大數(shù)據(jù)管理平臺建立在谷歌強(qiáng)大的BigTable管理引擎基礎(chǔ)上。作為具有開源、Java編碼、分布式多個優(yōu)勢的數(shù)據(jù)庫,Hbase最初被設(shè)計(jì)應(yīng)用于Hadoop平臺,而這一強(qiáng)大的數(shù)據(jù)管理工具,也被Facebook采用,用于管理消息平臺的龐大數(shù)據(jù)。
Apache Storm
用于處理高速、大型數(shù)據(jù)流的分布式實(shí)時(shí)計(jì)算系統(tǒng)。Storm為Apache Hadoop添加了可靠的實(shí)時(shí)數(shù)據(jù)處理功能,同時(shí)還增加了低延遲的儀表板、安全警報(bào),改進(jìn)了原有的操作方式,幫助企業(yè)更有效率地捕獲商業(yè)機(jī)會、發(fā)展新業(yè)務(wù)。
Apache Spark
該技術(shù)采用內(nèi)存計(jì)算,從多迭代批量處理出發(fā),允許將數(shù)據(jù)載入內(nèi)存做反復(fù)查詢,此外還融合數(shù)據(jù)倉庫、流處理和圖計(jì)算等多種計(jì)算范式,Spark用Scala語言實(shí)現(xiàn),構(gòu)建在HDFS上,能與Hadoop很好的結(jié)合,而且運(yùn)行速度比MapReduce快100倍。
Apache Hadoop
該技術(shù)迅速成為了大數(shù)據(jù)管理標(biāo)準(zhǔn)之一。當(dāng)它被用來管理大型數(shù)據(jù)集時(shí),對于復(fù)雜的分布式應(yīng)用,Hadoop體現(xiàn)出了非常好的性能,平臺的靈活性使它可以運(yùn)行在商用硬件系統(tǒng),它還可以輕松地集成結(jié)構(gòu)化、半結(jié)構(gòu)化和甚至非結(jié)構(gòu)化數(shù)據(jù)集。
Apache Drill
你有多大的數(shù)據(jù)集?其實(shí)無論你有多大的數(shù)據(jù)集,Drill都能輕松應(yīng)對。通過支持HBase、Cassandra和MongoDB,Drill建立了交互式分析平臺,允許大規(guī)模數(shù)據(jù)吞吐,而且能很快得出結(jié)果。
Apache Sqoop
也許你的數(shù)據(jù)現(xiàn)在還被鎖定于舊系統(tǒng)中,Sqoop可以幫你解決這個問題。這一平臺采用并發(fā)連接,可以將數(shù)據(jù)從關(guān)系數(shù)據(jù)庫系統(tǒng)方便地轉(zhuǎn)移到Hadoop中,可以自定義數(shù)據(jù)類型以及元數(shù)據(jù)傳播的映射。事實(shí)上,你還可以將數(shù)據(jù)(如新的數(shù)據(jù))導(dǎo)入到HDFS、Hive和Hbase中。
Apache Giraph
這是功能強(qiáng)大的圖形處理平臺,具有很好可擴(kuò)展性和可用性。該技術(shù)已經(jīng)被Facebook采用,Giraph可以運(yùn)行在Hadoop環(huán)境中,可以將它直接部署到現(xiàn)有的Hadoop系統(tǒng)中。通過這種方式,你可以得到強(qiáng)大的分布式作圖能力,同時(shí)還能利用上現(xiàn)有的大數(shù)據(jù)處理引擎。
Cloudera Impala
Impala模型也可以部署在你現(xiàn)有的Hadoop群集上,監(jiān)視所有的查詢。該技術(shù)和MapReduce一樣,具有強(qiáng)大的批處理能力,而且Impala對于實(shí)時(shí)的SQL查詢也有很好的效果,通過高效的SQL查詢,你可以很快的了解到大數(shù)據(jù)平臺上的數(shù)據(jù)。
Gephi
它可以用來對信息進(jìn)行關(guān)聯(lián)和量化處理,通過為數(shù)據(jù)創(chuàng)建功能強(qiáng)大的可視化效果,你可以從數(shù)據(jù)中得到不一樣的洞察力。Gephi已經(jīng)支持多個圖表類型,而且可以在具有上百萬個節(jié)點(diǎn)的大型網(wǎng)絡(luò)上運(yùn)行。Gephi具有活躍的用戶社區(qū),Gephi還提供了大量的插件,可以和現(xiàn)有系統(tǒng)完美的集成到一起,它還可以對復(fù)雜的IT連接、分布式系統(tǒng)中各個節(jié)點(diǎn)、數(shù)據(jù)流等信息進(jìn)行可視化分析。
MongoDB
這個堅(jiān)實(shí)的平臺一直被很多組織推崇,它在大數(shù)據(jù)管理上有極好的性能。MongoDB最初是由DoubleClick公司的員工創(chuàng)建,現(xiàn)在該技術(shù)已經(jīng)被廣泛的應(yīng)用于大數(shù)據(jù)管理。MongoDB是一個應(yīng)用開源技術(shù)開發(fā)的NoSQL數(shù)據(jù)庫,可以用于在JSON這樣的平臺上存儲和處理數(shù)據(jù)。目前,紐約時(shí)報(bào)、Craigslist以及眾多企業(yè)都采用了MongoDB,幫助他們管理大型數(shù)據(jù)集。(Couchbase服務(wù)器也作為一個參考)。
十大頂尖公司:
Amazon Web Services
Forrester將AWS稱為“云霸主”,談到云計(jì)算領(lǐng)域的大數(shù)據(jù),那就不得不提到亞馬遜。該公司的Hadoop產(chǎn)品被稱為EMR(Elastic Map Reduce),AWS解釋這款產(chǎn)品采用了Hadoop技術(shù)來提供大數(shù)據(jù)管理服務(wù),但它不是純開源Hadoop,經(jīng)過修改后現(xiàn)在被專門用在AWS云上。
Forrester稱EMR有很好的市場前景。很多公司基于EMR為客戶提供服務(wù),有一些公司將EMR應(yīng)用于數(shù)據(jù)查詢、建模、集成和管理。而且AWS還在創(chuàng)新,F(xiàn)orrester稱未來EMR可以基于工作量的需要自動縮放調(diào)整大小。亞馬遜計(jì)劃為其產(chǎn)品和服務(wù)提供更強(qiáng)大的EMR支持,包括它的RedShift數(shù)據(jù)倉庫、新公布的Kenesis實(shí)時(shí)處理引擎以及計(jì)劃中的NoSQL數(shù)據(jù)庫和商業(yè)智能工具。不過AWS還沒有自己的Hadoop發(fā)行版。
Cloudera
Cloudera有開源Hadoop的發(fā)行版,這個發(fā)行版采用了Apache Hadoop開源項(xiàng)目的很多技術(shù),不過基于這些技術(shù)的發(fā)行版也有很大的進(jìn)步。Cloudera為它的Hadoop發(fā)行版開發(fā)了很多功能,包括Cloudera管理器,用于管理和監(jiān)控,以及名為Impala的SQL引擎等。Cloudera的Hadoop發(fā)行版基于開源Hadoop,但也不是純開源的產(chǎn)品。當(dāng)Cloudera的客戶需要Hadoop不具備的某些功能時(shí),Cloudera的工程師們就會實(shí)現(xiàn)這些功能,或者找一個擁有這項(xiàng)技術(shù)的合作伙伴。Forrester表示:“Cloudera的創(chuàng)新方法忠于核心Hadoop,但因?yàn)槠淇蓪?shí)現(xiàn)快速創(chuàng)新并積極滿足客戶需求,這一點(diǎn)使它不同于其他那些供應(yīng)商?!蹦壳埃珻loudera的平臺已經(jīng)擁有200多個付費(fèi)客戶,一些客戶在Cloudera的技術(shù)支持下已經(jīng)可以跨1000多個節(jié)點(diǎn)實(shí)現(xiàn)對PB級數(shù)據(jù)的有效管理。
Hortonworks
和Cloudera一樣,Hortonworks是一個純粹的Hadoop技術(shù)公司。與Cloudera不同的是,Hortonworks堅(jiān)信開源Hadoop比任何其他供應(yīng)商的Hadoop發(fā)行版都要強(qiáng)大。Hortonworks的目標(biāo)是建立Hadoop生態(tài)圈和Hadoop用戶社區(qū),推進(jìn)開源項(xiàng)目的發(fā)展。Hortonworks平臺和開源Hadoop聯(lián)系緊密,公司管理人員表示這會給用戶帶來好處,因?yàn)樗梢苑乐贡还?yīng)商套牢(如果Hortonworks的客戶想要離開這個平臺,他們可以輕松轉(zhuǎn)向其他開源平臺)。這并不是說Hortonworks完全依賴開源Hadoop技術(shù),而是因?yàn)樵摴緦⑵渌虚_發(fā)的成果回報(bào)給了開源社區(qū),比如Ambari,這個工具就是由Hortonworks開發(fā)而成,用來填充集群管理項(xiàng)目漏洞。Hortonworks的方案已經(jīng)得到了Teradata、Microsoft、Red Hat和SAP這些供應(yīng)商的支持。
IBM
當(dāng)企業(yè)考慮一些大的IT項(xiàng)目時(shí),很多人首先會想到IBM。IBM是Hadoop項(xiàng)目的主要參與者之一,F(xiàn)orrester稱IBM已有100多個Hadoop部署,它的很多客戶都有PB級的數(shù)據(jù)。IBM在網(wǎng)格計(jì)算、全球數(shù)據(jù)中心和企業(yè)大數(shù)據(jù)項(xiàng)目實(shí)施等眾多領(lǐng)域有著豐富的經(jīng)驗(yàn)?!癐BM計(jì)劃繼續(xù)整合SPSS分析、高性能計(jì)算、BI工具、數(shù)據(jù)管理和建模、應(yīng)對高性能計(jì)算的工作負(fù)載管理等眾多技術(shù)。”
Intel
和AWS類似,英特爾不斷改進(jìn)和優(yōu)化Hadoop使其運(yùn)行在自己的硬件上,具體來說,就是讓Hadoop運(yùn)行在其至強(qiáng)芯片上,幫助用戶打破Hadoop系統(tǒng)的一些限制,使軟件和硬件結(jié)合的更好,英特爾的Hadoop發(fā)行版在上述方面做得比較好。Forrester指出英特爾在最近才推出這個產(chǎn)品,所以公司在未來還有很多改進(jìn)的可能,英特爾和微軟都被認(rèn)為是Hadoop市場上的潛力股。
MapR Technologies
MapR的Hadoop發(fā)行版目前為止也許是最好的了,不過很多人可能都沒有聽說過。Forrester對Hadoop用戶的調(diào)查顯示,MapR的評級最高,其發(fā)行版在架構(gòu)和數(shù)據(jù)處理能力上都獲得了最高分。MapR已將一套特殊功能融入其Hadoop發(fā)行版中。例如網(wǎng)絡(luò)文件系統(tǒng)(NFS)、災(zāi)難恢復(fù)以及高可用性功能。Forrester說MapR在Hadoop市場上沒有Cloudera和Hortonworks那樣的知名度,MapR要成為一個真正的大企業(yè),還需要加強(qiáng)伙伴關(guān)系和市場營銷。
Microsoft
微軟在開源軟件問題上一直很低調(diào),但在大數(shù)據(jù)形勢下,它不得不考慮讓W(xué)indows也兼容Hadoop,它還積極投入到開源項(xiàng)目中,以更廣泛地推動Hadoop生態(tài)圈的發(fā)展。我們可以在微軟的公共云Windows Azure HDInsight產(chǎn)品中看到其成果。微軟的Hadoop服務(wù)基于Hortonworks的發(fā)行版,而且是為Azure量身定制的。
微軟也有一些其他的項(xiàng)目,包括名為Polybase的項(xiàng)目,讓Hadoop查詢實(shí)現(xiàn)了SQLServer查詢的一些功能。Forrester說:“微軟在數(shù)據(jù)庫、數(shù)據(jù)倉庫、云、OLAP、BI、電子表格(包括PowerPivot)、協(xié)作和開發(fā)工具市場上有很大優(yōu)勢,而且微軟擁有龐大的用戶群,但要在Hadoop這個領(lǐng)域成為行業(yè)領(lǐng)導(dǎo)者還有很遠(yuǎn)的路要走?!?/p>
Pivotal Software
EMC和Vmware部分大數(shù)據(jù)業(yè)務(wù)分拆組合產(chǎn)生了Pivotal。Pivotal一直努力構(gòu)建一個性能優(yōu)越的Hadoop發(fā)行版,為此,Pivotal在開源Hadoop的基礎(chǔ)上又添加了一些新的工具,包括一個名為HAWQ的SQL引擎以及一個專門解決大數(shù)據(jù)問題的Hadoop應(yīng)用。Forrester稱Pivotal Hadoop平臺的優(yōu)勢在于它整合了Pivotal、EMC、Vmware的眾多技術(shù),Pivotal的真正優(yōu)勢實(shí)際上等于EMC和Vmware兩大公司為其撐腰。到目前為止,Pivotal的用戶還不到100個,而且大多是中小型客戶。
Teradata
對于Teradata來說,Hadoop既是一種威脅也是一種機(jī)遇。數(shù)據(jù)管理,特別是關(guān)于SQL和關(guān)系數(shù)據(jù)庫這一領(lǐng)域是Teradata的專長。所以像Hadoop這樣的NoSQL平臺崛起可能會威脅到Teradata。相反,Teradata接受了Hadoop,通過與Hortonworks合作,Teradata在Hadoop平臺集成了SQL技術(shù),這使Teradata的客戶可以在Hadoop平臺上方便地使用存儲在Teradata數(shù)據(jù)倉庫中的數(shù)據(jù)。
AMPLab
通過將數(shù)據(jù)轉(zhuǎn)變?yōu)樾畔?,我們才可以理解世界,而這也正是AMPLab所做的。AMPLab致力于機(jī)器學(xué)習(xí)、數(shù)據(jù)挖掘、數(shù)據(jù)庫、信息檢索、自然語言處理和語音識別等多個領(lǐng)域,努力改進(jìn)對信息包括不透明數(shù)據(jù)集內(nèi)信息的甄別技術(shù)。除了Spark,開源分布式SQL查詢引擎Shark也源于AMPLab,Shark具有極高的查詢效率,具有良好的兼容性和可擴(kuò)展性。近幾年的發(fā)展使計(jì)算機(jī)科學(xué)進(jìn)入到全新的時(shí)代,而AMPLab為我們設(shè)想一個運(yùn)用大數(shù)據(jù)、云計(jì)算、通信等各種資源和技術(shù)靈活解決難題的方案,以應(yīng)對越來越復(fù)雜的各種難題。
關(guān)系數(shù)據(jù)庫模型已經(jīng)流行了幾十年了,但是一種新類型的數(shù)據(jù)庫——被稱為NoSQL,正在引起企業(yè)的注意。下面是關(guān)于它的優(yōu)勢和劣勢的一個概述。二十多年以來,對數(shù)據(jù)庫管理來說,關(guān)系數(shù)據(jù)庫(RDBMS)模型一直是一個占統(tǒng)治地位的數(shù)據(jù)庫模型。但是,今天,非關(guān)系數(shù)據(jù)庫,“云”數(shù)據(jù)庫,或“NoSQL”數(shù)據(jù)庫作為關(guān)系數(shù)據(jù)庫以外的一些選擇,正在引起大家的廣泛關(guān)注。在這篇文章里,我們將主要關(guān)注那些非關(guān)系的NoSQL數(shù)據(jù)庫的十大利弊:包括五大優(yōu)勢和五大挑戰(zhàn)。
NoSQL的五大優(yōu)勢
1,靈活的可擴(kuò)展性
多年以來,數(shù)據(jù)庫管理員們都是通過“縱向擴(kuò)展”的方式(當(dāng)數(shù)據(jù)庫的負(fù)載增加的時(shí)候,購買更大型的服務(wù)器來承載增加的負(fù)載)來進(jìn)行擴(kuò)展的,而不是通過“橫向擴(kuò)展”的方式(當(dāng)數(shù)據(jù)庫負(fù)載增加的時(shí)候,在多臺主機(jī)上分配增加的負(fù)載)來進(jìn)行擴(kuò)展。但是,隨著交易率和可用性需求的增加,數(shù)據(jù)庫也正在遷移到云端或虛擬化環(huán)境中,“橫向擴(kuò)展”在commodity hardware方面的經(jīng)濟(jì)優(yōu)勢變得更加明顯了,對各大企業(yè)來說,這種“誘惑”是無法抗拒的。
在commodity clusters上,要對RDBMS做“橫向擴(kuò)展”,并不是很容易,但是各種新類型的NoSQL數(shù)據(jù)庫主要是為了進(jìn)行透明的擴(kuò)展,來利用新節(jié)點(diǎn)而設(shè)計(jì)的,而且,它們通常都是為了低成本的commodity hardware而設(shè)計(jì)的。
2,大數(shù)據(jù)
在過去的十年里,正如交易率發(fā)生了翻天覆地的增長一樣,需要存儲的數(shù)據(jù)量也發(fā)生了急劇地膨脹。O’Reilly把這種現(xiàn)象稱為:“數(shù)據(jù)的工業(yè)革命”。為了滿足數(shù)據(jù)量增長的需要,RDBMS的容量也在日益增加,但是,對一些企業(yè)來說,隨著交易率的增加,單一數(shù)據(jù)庫需要管理的數(shù)據(jù)約束的數(shù)量也變得越來越讓人無法忍受了。現(xiàn)在,大量的“大數(shù)據(jù)”可以通過NoSQL系統(tǒng)(例如:Hadoop)來處理,它們能夠處理的數(shù)據(jù)量遠(yuǎn)遠(yuǎn)超出了最大型的RDBMS所能處理的極限。
3,“永別了”!DBA們?。ㄔ僖姡浚?/p>
在過去的幾年里,雖然一些RDBMS供應(yīng)商們聲稱在可管理性方面做出了很多的改進(jìn),但是高端的RDBMS系統(tǒng)維護(hù)起來仍然十分昂貴,而且還需要訓(xùn)練有素的DBA們的協(xié)助。DBA們需要親自參與高端的RDBMS系統(tǒng)的設(shè)計(jì),安裝和調(diào)優(yōu)。
NoSQL數(shù)據(jù)庫從一開始就是為了降低管理方面的要求而設(shè)計(jì)的:從理論上來說,自動修復(fù),數(shù)據(jù)分配和簡單的數(shù)據(jù)模型的確可以讓管理和調(diào)優(yōu)方面的要求降低很多。但是,DBA的死期將至的謠言未免有些過于夸張了??偸切枰腥藢﹃P(guān)鍵性的數(shù)據(jù)庫的性能和可用性負(fù)責(zé)的。
如何玩轉(zhuǎn) NoSQL數(shù)據(jù)庫?作者:IT專家網(wǎng)
Weather公司CIO Bryson Koehler整理出了MongoDB,Riak和Cassandra等NoSQL數(shù)據(jù)庫的特性。他指出這其中最重要的特性是“NoSQL不會限制住你”。
Weather公司,致力于天氣報(bào)告和天氣預(yù)報(bào)業(yè)務(wù),其并不缺乏數(shù)據(jù),當(dāng)然也不缺乏數(shù)據(jù)管理工具。但它為什么需要三種不同的NoSQL數(shù)據(jù)庫?
最近,我向Weather 公司的CIO Bryson Koehler提出了這個疑問,除了公司的CIO,Bryson Koehler還是其他很多業(yè)務(wù)單元的孵化者,包括Weather Channel,WeatherFX,Weather Underground,和Intellicast等。Weather公司每天獲取和處理著約20萬億字節(jié)數(shù)據(jù),對外提供當(dāng)前全球天氣狀況,并為航空公司,緊急服務(wù),貨運(yùn)商,公用事業(yè),保險(xiǎn),以及在線天氣網(wǎng)站和天氣應(yīng)用程序的用戶提供天氣預(yù)報(bào)服務(wù)。每天需求增加了數(shù)十億的天氣數(shù)據(jù)請求,并且預(yù)期響應(yīng)時(shí)間要在10毫秒左右。
Riak是Weather 公司的后臺NoSQL數(shù)據(jù)庫,服務(wù)于公司的事務(wù)性存儲公用網(wǎng)絡(luò)(SUN)數(shù)據(jù)獲取平臺,它運(yùn)行在多個亞馬遜網(wǎng)絡(luò)服務(wù)(AWS)的可用區(qū)域上,并以每小時(shí)15次的頻率捕獲超過20億氣象數(shù)據(jù)信息,。所以,Riak具有明確的處理規(guī)模,但該公司也使用Cassandra以及新近添加的MongoDB數(shù)據(jù)庫,為Weather.com 上IOS和Android移動應(yīng)用程序服務(wù)。
Weather 公司使用了不同的產(chǎn)品,Koehler解釋說,因?yàn)椤安煌墓ぞ哂胁煌膬?yōu)勢。
Cassandra,它服務(wù)于Weather 公司以及全球消費(fèi)者使用的第三方天氣應(yīng)用的API數(shù)據(jù):“我們的數(shù)據(jù)分發(fā)平臺每秒處理數(shù)十萬的事務(wù),我們發(fā)現(xiàn)Cassandra在用于全球分發(fā)數(shù)據(jù)上是一個很棒的解決方案,并且在[數(shù)據(jù)庫]讀取方面體現(xiàn)出很高的可用性 “。它本質(zhì)上為全球各地消費(fèi)者所使用的數(shù)據(jù)服務(wù),包括Weather 公司和第三方的天氣應(yīng)用程序。
MongoDB,它提供了Weather.com網(wǎng)站和移動應(yīng)用程序的中間層緩存功能:“離開我們的核心API,我們還沒有全部Weather.com內(nèi)容,所以MongoDB是容器和分發(fā)站,為Weather.com以及Android和iOS上的移動應(yīng)用程序服務(wù)。Mongo有很多好處,這些好處基于其內(nèi)建的JSON格式以及靈活性上。“
Riak,用于消費(fèi)氣象數(shù)據(jù)和觀測,包括來自世界各地的圖片和視頻等:“我們喜愛Riak因其優(yōu)秀的數(shù)據(jù)攝取能力,而且是以一種全球分布式的方式來實(shí)現(xiàn)。這對于從全球分布式平臺上獲取數(shù)據(jù)的入站式數(shù)據(jù)庫是一個真正可靠的選擇。
我曾聽說Datastax,Basho和Couchbase的高管貶低MongoDB的可擴(kuò)展性,但MongoDB指向大規(guī)模部署,在Facebook對超過200萬臺移動設(shè)備上應(yīng)用程序提供支持,在eHarmony公司,MongDB每天處理著數(shù)十億的潛在比賽預(yù)約。據(jù)Koehle所述,MongoDB為Weather.com和Weather.com移動應(yīng)用程序處理著“每天十億交易”,“毫無疑問,你可以通過配置和部署Mongo來處理大批量的交易數(shù)據(jù)?!?/p>
盡管如此,Koehler承認(rèn),他將“很樂于看到MongoDB繼續(xù)使全球集群和多位置[功能]更加無縫化且易于使用?!?這些屬于全球性的分布式集群,復(fù)制和負(fù)載平衡是Cassandra和Riak眾所周知的功能。
從規(guī)模討論的角度來看,很少有公司達(dá)到Weather公司的經(jīng)營規(guī)模。易于開發(fā),架構(gòu)靈活性和JSON數(shù)據(jù)處理使得MongoDB的成為世界上最流行的NoSQL數(shù)據(jù)庫。這就是為什么微軟和IBM都進(jìn)行了MongoDB的模仿,如微軟的Azure DocumentDB和IBM的 Cloudant,而不是Cassandra和Riak。
Weather公司可以從三個NoSQL標(biāo)準(zhǔn)降低至兩個的過程中得到鞏固,Koehler說,但公司沒有準(zhǔn)備好這么做。
“由于我們構(gòu)造了由許多不同的數(shù)據(jù)解決方案組成的網(wǎng)狀結(jié)構(gòu),我們目前的環(huán)境已過于復(fù)雜,”他說。“我們希望給團(tuán)隊(duì)一些自由的空間,讓我們可以了解所有選擇的利弊,但你將會看到一些整合。”
到了那個時(shí)候,遷移將不在是一件難事,因?yàn)椤瓣P(guān)于NoSQL數(shù)據(jù)庫最重要的事情是,你不會被困在其中,” Koehler說?!叭绻愕募軜?gòu)和編碼正確,從一個數(shù)據(jù)庫遷移到另一個并不難。隨著模式的自由以及數(shù)據(jù)轉(zhuǎn)存技術(shù)的發(fā)展,無論前者是一個key-value存儲或其他什么形式,轉(zhuǎn)儲數(shù)據(jù)都將十分容易。“
對特定產(chǎn)品進(jìn)程自定義編碼的復(fù)雜的存儲過程已經(jīng)一去不復(fù)返了,Koehler說,但關(guān)于“結(jié)構(gòu)化和編碼正確”還有很多需要考慮的地方?這樣做是為了避免特殊供應(yīng)商提供的工具和功能可能讓你身陷其中。他舉了亞馬遜網(wǎng)絡(luò)服務(wù)“(AWS)的消息服務(wù)為例。
“你不必讓服務(wù)在云中運(yùn)行,”他解釋說。“你可以只部署自己的RabbitMQ的環(huán)境,而不是陷于其中,所以你可以將一個原先部署在AWS 上的應(yīng)用程序轉(zhuǎn)而部署在谷歌計(jì)算云服務(wù)上。無論它是數(shù)據(jù)平臺,存儲環(huán)境,或云計(jì)算環(huán)境,都要小心別讓自己局限在一個僅由一個供應(yīng)商提供的小范圍空間內(nèi)“。
轉(zhuǎn)載
當(dāng)前名稱:nosql工具導(dǎo)入數(shù)據(jù),Nosql注入
網(wǎng)頁網(wǎng)址:http://chinadenli.net/article8/hddsip.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站策劃、響應(yīng)式網(wǎng)站、移動網(wǎng)站建設(shè)、App開發(fā)、App設(shè)計(jì)、品牌網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)