十年網(wǎng)站開(kāi)發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶(hù) + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營(yíng)維護(hù)+專(zhuān)業(yè)推廣+無(wú)憂售后,網(wǎng)站問(wèn)題一站解決
Web1.0的時(shí)代,數(shù)據(jù)訪問(wèn)量很有限,用一夫當(dāng)關(guān)的高性能的單點(diǎn)服務(wù)器可以解決大部分問(wèn)題。
創(chuàng)新互聯(lián)成立與2013年,是專(zhuān)業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都網(wǎng)站建設(shè)、成都做網(wǎng)站網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元托克托做網(wǎng)站,已為上家服務(wù),為托克托各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:18980820575
隨著Web2.0的時(shí)代的到來(lái),用戶(hù)訪問(wèn)量大幅度提升,同時(shí)產(chǎn)生了大量的用戶(hù)數(shù)據(jù)。加上后來(lái)的智能移動(dòng)設(shè)備的普及,所有的互聯(lián)網(wǎng)平臺(tái)都面臨了巨大的性能挑戰(zhàn)。
NoSQL(NoSQL = Not Only SQL ),意即“不僅僅是SQL”,泛指非關(guān)系型的數(shù)據(jù)庫(kù)。
NoSQL 不依賴(lài)業(yè)務(wù)邏輯方式存儲(chǔ),而以簡(jiǎn)單的key-value模式存儲(chǔ)。因此大大的增加了數(shù)據(jù)庫(kù)的擴(kuò)展能力。
Memcache Memcache Redis Redis MongoDB MongoDB 列式數(shù)據(jù)庫(kù) 列式數(shù)據(jù)庫(kù) Hbase Hbase
HBase是Hadoop項(xiàng)目中的數(shù)據(jù)庫(kù)。它用于需要對(duì)大量的數(shù)據(jù)進(jìn)行隨機(jī)、實(shí)時(shí)的讀寫(xiě)操作的場(chǎng)景中。
HBase的目標(biāo)就是處理數(shù)據(jù)量非常龐大的表,可以用普通的計(jì)算機(jī)處理超過(guò)10億行數(shù)據(jù),還可處理有數(shù)百萬(wàn)列元素的數(shù)據(jù)表。
Cassandra Cassandra
Apache Cassandra是一款免費(fèi)的開(kāi)源NoSQL數(shù)據(jù)庫(kù),其設(shè)計(jì)目的在于管理由大量商用服務(wù)器構(gòu)建起來(lái)的龐大集群上的海量數(shù)據(jù)集(數(shù)據(jù)量通常達(dá)到PB級(jí)別)。在眾多顯著特性當(dāng)中,Cassandra最為卓越的長(zhǎng)處是對(duì)寫(xiě)入及讀取操作進(jìn)行規(guī)模調(diào)整,而且其不強(qiáng)調(diào)主集群的設(shè)計(jì)思路能夠以相對(duì)直觀的方式簡(jiǎn)化各集群的創(chuàng)建與擴(kuò)展流程。
主要應(yīng)用:社會(huì)關(guān)系,公共交通網(wǎng)絡(luò),地圖及網(wǎng)絡(luò)拓譜(n*(n-1)/2)
Apache三劍客:HBase, Cassandra, CouchDB。HBase的前景最為看好,因?yàn)樗拈_(kāi)發(fā)者眾多并且都是頂尖高手。Cassandra目前有很多否定的聲音。CouchDB的小而精悍,贊譽(yù)很多,將要正式發(fā)布的CouchBase融合了MemBase和CouchDB,很令人期待。
HBase和Cassandra都是效仿Google的BigTable的基于列的數(shù)據(jù)庫(kù),它們都是用Java寫(xiě)的。另外一類(lèi)似的數(shù)據(jù)庫(kù)是HyperTable,百度用在一些后臺(tái)分析,因?yàn)樗荂++寫(xiě)的,速度比較快。不過(guò)HyperTable有點(diǎn)邊緣,不太流行。這些基于列的開(kāi)源數(shù)據(jù)庫(kù)目前都比Goolge的BigTable差之少一個(gè)數(shù)量級(jí)
CouchDB是一個(gè)文檔數(shù)據(jù)庫(kù)。其最大的競(jìng)爭(zhēng)者是MongoDB。MongoDB和HBase都采用主從服務(wù)器設(shè)計(jì)。CouchDB的服務(wù)器分布設(shè)計(jì)和Cassandra類(lèi)似,Peer to Peer類(lèi)型的。主從服務(wù)器設(shè)計(jì)一般能更好的strong consistent,屬于CAP理論中的CP類(lèi)型。 CouchDB和Cassandra一般認(rèn)為都是eventual consistent,屬于CAP理論中的AP類(lèi)型。但其實(shí)MongoDB和Cassandra都可以設(shè)置成strong consistent或者eventual consistent。
以上所提到的數(shù)據(jù)庫(kù)都支持MapReduce。好像出了HyperTable都支持非主鍵索引。HBase和strong consistent配置的MongoDB都支持最基本的鎖定(HBase單行鎖定,MongoDB單文檔鎖定),因此可以實(shí)現(xiàn)transaction,但是實(shí)現(xiàn)有點(diǎn)復(fù)雜和低效。單就transaction這一點(diǎn),目前開(kāi)源NoSQL數(shù)據(jù)庫(kù)沒(méi)有做的比較好的。
MongoDB的最大賣(mài)點(diǎn)是不需構(gòu)建非主鍵索引也能執(zhí)行很多查詢(xún)。但是MongoDB的服務(wù)器分布設(shè)計(jì)實(shí)在不能讓人恭維,可以說(shuō)是NoSQL數(shù)據(jù)庫(kù)中最Ugly的實(shí)現(xiàn)。
K-V數(shù)據(jù)庫(kù)比較多,而且上面提到的基于列的數(shù)據(jù)庫(kù)和文檔數(shù)據(jù)庫(kù)其實(shí)也都是K-V數(shù)據(jù)庫(kù)。比較流行的純種K-V數(shù)據(jù)庫(kù)有:
Memcached: 非常流行,不支持持久化
VMWare's Redis: 很流行,新浪和知乎都在用,CP類(lèi)型。
MemBase: 由很多Memcached的開(kāi)發(fā)者開(kāi)發(fā),使用sqlite作底層存儲(chǔ)。在社交游戲中用的比較多, zynga在用,CP類(lèi)型。
Riak, 分布式實(shí)現(xiàn)和CouchDB/Cassandra比較像,AP類(lèi)型。支持MapReduce。
Linkin's Voldemort, 在K-V中少見(jiàn)的eventual consistent ,AP類(lèi)型。
TT, TC
純基于二維座標(biāo)索引的是Neo4j。但是現(xiàn)在MongoDB和CouchDB都集成這一特性。
目前CouchDB的開(kāi)發(fā)者成立的公司CouchOne收購(gòu)了MemBase,將其底層sqlite換成CouchDB推出了CouchBase,從而引入MapReduce以支持非主鍵索引。CouchBase暫時(shí)還沒(méi)有正式發(fā)布官方正式版,不過(guò)快了。雖然CouchDB是eventual consistent的,但是CouchBase的開(kāi)發(fā)者宣稱(chēng)CouchBase保持了MemBase的strong consistent特性,具體實(shí)現(xiàn)有待以后研究。
如果從成熟的角度來(lái)看,比較成熟并且十分流行的的有CouchDB,Memcached,Redis。
HBase和MongonDB和Cassandra都比較新,處于頻繁更新之中。最有前途的是HBase,但是Hadoop/HBase集群的維護(hù)常常需要很多專(zhuān)業(yè)人員并且需要構(gòu)建一個(gè)比較大的集群才能最大化體現(xiàn)出威力,因此用戶(hù)主要是Facebook, yahoo, 百度和阿里巴巴等大公司。
個(gè)人比較期待CouchBase。
轉(zhuǎn)載僅供參考,版權(quán)屬于原作者。祝你愉快,滿意請(qǐng)采納哦
1、MySQL
MySQL是一個(gè)開(kāi)源的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),為甲骨文公司產(chǎn)品。支持多種存儲(chǔ)引擎、集群、全文索引、支持多線程、充分利用CPU資源、支持多用戶(hù)等其它許多非常專(zhuān)業(yè)的功能。
MySQL由于性能高、成本低、可靠性好已經(jīng)成為最流行的開(kāi)源數(shù)據(jù)庫(kù),并且被廣泛應(yīng)用在Web應(yīng)用程序以及其它中小型項(xiàng)目上。從WordPress到Movable
Type都把MySQL作為默認(rèn)的數(shù)據(jù)庫(kù)。此外,自甲骨文收購(gòu)MySQL以后,又將MySQL閉源的潛在風(fēng)險(xiǎn),因此社區(qū)采用分支的方式避開(kāi)這種風(fēng)險(xiǎn),開(kāi)發(fā)并運(yùn)營(yíng)著完全兼容MySQL的MariaDB數(shù)據(jù)庫(kù)。
2、MongoDB
MongoDB是一款開(kāi)源、面向文檔并且也是當(dāng)下人氣最旺的Nosql數(shù)據(jù)庫(kù),它也是一款介于關(guān)系數(shù)據(jù)庫(kù)和非關(guān)系數(shù)據(jù)庫(kù)之間的產(chǎn)品。Mongo最大特點(diǎn)是它支持的查詢(xún)語(yǔ)言非常強(qiáng)大,其語(yǔ)法有點(diǎn)類(lèi)似于面向?qū)ο蟮牟樵?xún)語(yǔ)言,幾乎可以實(shí)現(xiàn)類(lèi)似關(guān)系數(shù)據(jù)庫(kù)單表查詢(xún)的絕大部分功能,而且還支持對(duì)數(shù)據(jù)建立索引。還具有高性能、易部署、易使用,存儲(chǔ)數(shù)據(jù)非常方便等特點(diǎn)。
3、Hadoop
Hadoop是一個(gè)開(kāi)源的、基于列存儲(chǔ)模型的分布式數(shù)據(jù)庫(kù),它是Apache Hadoop項(xiàng)目的一部分,開(kāi)發(fā)語(yǔ)言為Java。
Hadoop不同于一般的關(guān)系數(shù)據(jù)庫(kù),它是一個(gè)適合于非結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ)的數(shù)據(jù)庫(kù)。另一個(gè)不同的是Hadoop基于列的而不是基于行的模式。且具有高可靠性、高性能、可伸縮、并建立在關(guān)系模型基礎(chǔ)上的分布式數(shù)據(jù)庫(kù)。
4、Redis
Redis是一個(gè)開(kāi)源、支持網(wǎng)絡(luò)、基于內(nèi)存、鍵值對(duì)存儲(chǔ)數(shù)據(jù)庫(kù)。開(kāi)發(fā)者無(wú)需存儲(chǔ)數(shù)字和字符串即可dump整個(gè)哈希值、列表、集合以及其它復(fù)雜的結(jié)果存儲(chǔ),此外,Redis還提供復(fù)制/同步和持久化等功能。
Redis是一個(gè)高性能的鍵值對(duì)數(shù)據(jù)庫(kù)。Redis的出現(xiàn),很大程度補(bǔ)償了memcached這類(lèi)key/value存儲(chǔ)的不足,在部分場(chǎng)合可以對(duì)關(guān)系數(shù)據(jù)庫(kù)起到很好的補(bǔ)充作用。
5、MariaDB
MariaDB數(shù)據(jù)庫(kù)管理系統(tǒng)是MySQL的一個(gè)分支,完全兼容MySQL,包括API和命令行,使之能輕松成為MySQL的代替品。在存儲(chǔ)引擎方面,使用XtraDB來(lái)代替MySQL的InnoDB。另外又添加了一些功能,以支持本地的非阻塞操作和進(jìn)度報(bào)告。這意味著,所有使用MySQL的連接器、庫(kù)和應(yīng)用程序也將會(huì)在MariaDB下工作。