欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

nosql支持源碼開放嗎,nosql是開源的嗎

現(xiàn)在最成熟的開源nosql是什么?分別有什么優(yōu)缺點(diǎn)

Apache三劍客:HBase, Cassandra, CouchDB。HBase的前景最為看好,因?yàn)樗拈_發(fā)者眾多并且都是頂尖高手。Cassandra目前有很多否定的聲音。CouchDB的小而精悍,贊譽(yù)很多,將要正式發(fā)布的CouchBase融合了MemBase和CouchDB,很令人期待。

創(chuàng)新互聯(lián)公司從2013年創(chuàng)立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目做網(wǎng)站、成都網(wǎng)站制作網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元建昌做網(wǎng)站,已為上家服務(wù),為建昌各地企業(yè)和個人服務(wù),聯(lián)系電話:18982081108

HBase和Cassandra都是效仿Google的BigTable的基于列的數(shù)據(jù)庫,它們都是用Java寫的。另外一類似的數(shù)據(jù)庫是HyperTable,百度用在一些后臺分析,因?yàn)樗荂++寫的,速度比較快。不過HyperTable有點(diǎn)邊緣,不太流行。這些基于列的開源數(shù)據(jù)庫目前都比Goolge的BigTable差之少一個數(shù)量級

CouchDB是一個文檔數(shù)據(jù)庫。其最大的競爭者是MongoDB。MongoDB和HBase都采用主從服務(wù)器設(shè)計(jì)。CouchDB的服務(wù)器分布設(shè)計(jì)和Cassandra類似,Peer to Peer類型的。主從服務(wù)器設(shè)計(jì)一般能更好的strong consistent,屬于CAP理論中的CP類型。 CouchDB和Cassandra一般認(rèn)為都是eventual consistent,屬于CAP理論中的AP類型。但其實(shí)MongoDB和Cassandra都可以設(shè)置成strong consistent或者eventual consistent。

以上所提到的數(shù)據(jù)庫都支持MapReduce。好像出了HyperTable都支持非主鍵索引。HBase和strong consistent配置的MongoDB都支持最基本的鎖定(HBase單行鎖定,MongoDB單文檔鎖定),因此可以實(shí)現(xiàn)transaction,但是實(shí)現(xiàn)有點(diǎn)復(fù)雜和低效。單就transaction這一點(diǎn),目前開源NoSQL數(shù)據(jù)庫沒有做的比較好的。

MongoDB的最大賣點(diǎn)是不需構(gòu)建非主鍵索引也能執(zhí)行很多查詢。但是MongoDB的服務(wù)器分布設(shè)計(jì)實(shí)在不能讓人恭維,可以說是NoSQL數(shù)據(jù)庫中最Ugly的實(shí)現(xiàn)。

K-V數(shù)據(jù)庫比較多,而且上面提到的基于列的數(shù)據(jù)庫和文檔數(shù)據(jù)庫其實(shí)也都是K-V數(shù)據(jù)庫。比較流行的純種K-V數(shù)據(jù)庫有:

Memcached: 非常流行,不支持持久化

VMWare's Redis: 很流行,新浪和知乎都在用,CP類型。

MemBase: 由很多Memcached的開發(fā)者開發(fā),使用sqlite作底層存儲。在社交游戲中用的比較多, zynga在用,CP類型。

Riak, 分布式實(shí)現(xiàn)和CouchDB/Cassandra比較像,AP類型。支持MapReduce。

Linkin's Voldemort, 在K-V中少見的eventual consistent ,AP類型。

TT, TC

純基于二維座標(biāo)索引的是Neo4j。但是現(xiàn)在MongoDB和CouchDB都集成這一特性。

目前CouchDB的開發(fā)者成立的公司CouchOne收購了MemBase,將其底層sqlite換成CouchDB推出了CouchBase,從而引入MapReduce以支持非主鍵索引。CouchBase暫時還沒有正式發(fā)布官方正式版,不過快了。雖然CouchDB是eventual consistent的,但是CouchBase的開發(fā)者宣稱CouchBase保持了MemBase的strong consistent特性,具體實(shí)現(xiàn)有待以后研究。

如果從成熟的角度來看,比較成熟并且十分流行的的有CouchDB,Memcached,Redis。

如何選擇NoSQL數(shù)據(jù)庫

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純動態(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)動,早期就有人提出,發(fā)展至2009年趨勢越發(fā)高漲。NoSQL的擁護(hù)者們提倡運(yùn)用非關(guān)系型的數(shù)

據(jù)存儲,相對于鋪天蓋地的關(guān)系型數(shù)據(jù)庫運(yùn)用,這一概念無疑是一種全新的思維的注入。

從這一新興技術(shù)中選擇一款正確的NoSQL數(shù)據(jù)庫是非常具有挑戰(zhàn)性的。比一下網(wǎng)建議在選擇時考慮以下因素:

并發(fā)控制

發(fā)控制指的是當(dāng)多個用戶同時更新運(yùn)行時,用于保護(hù)數(shù)據(jù)庫完整性的各種技術(shù)。并發(fā)機(jī)制不正確可能導(dǎo)致臟讀、幻讀和不可重復(fù)讀等此類問題。并發(fā)控制的目的是保

證一個用戶的工作不會對另一個用戶的工作產(chǎn)生不合理的影響。在某些情況下,這些措施保證了當(dāng)用戶和其他用戶一起操作時,所得的結(jié)果和她單獨(dú)操作時的結(jié)果是

一樣的。在另一些情況下,這表示用戶的工作按預(yù)定的方式受其他用戶的影響。

封鎖

就是事務(wù)T在對某個數(shù)據(jù)對象(例如表、記錄等)操作之前,先向系統(tǒng)發(fā)出請求,對其加鎖。加鎖后事務(wù)T就對該數(shù)據(jù)對象有了一定的控制,在事務(wù)T釋放它的鎖之前,其它的事務(wù)不能更新此數(shù)據(jù)對象。

封鎖是一次只允許一個用戶讀取或修改的一種機(jī)制,是實(shí)現(xiàn)并發(fā)控制的一個非常重要的技術(shù)。

MVCC

Multi-Version Concurrency Control多版本并發(fā)控制,維持一個數(shù)據(jù)的多個版本使讀寫操作沒有沖突。MVCC優(yōu)化了數(shù)據(jù)庫并發(fā)系統(tǒng),使系統(tǒng)在有大量并發(fā)用戶時得到最高的性能,并且可以不用關(guān)閉服務(wù)器就直接進(jìn)行熱備份。

ACID

數(shù)據(jù)庫事務(wù)正確執(zhí)行的四個基本要素的縮寫。包含:原子性(Atomicity)、一致性(Consistency)、隔離性(Isolation)、持久

性(Durability)。一個支持事務(wù)(Transaction)的數(shù)據(jù)庫系統(tǒng),必需要具有這四種特性,否則在事務(wù)過程(Transaction

processing)當(dāng)中無法保證數(shù)據(jù)的正確性,交易過程極可能達(dá)不到交易方的要求。

None

一些系統(tǒng)不提供原子性。

鏡像

數(shù)據(jù)庫鏡像是DBMS根據(jù)DBA的要求,自動把整個數(shù)據(jù)庫或其中的關(guān)鍵數(shù)據(jù)復(fù)制到另一個磁盤上,每當(dāng)主數(shù)據(jù)庫更新時,DBMS會自動把更新后的數(shù)據(jù)復(fù)制過去,即DBMS自動保證鏡像數(shù)據(jù)與主數(shù)據(jù)的一致性。

鏡像分為同步和異步。

數(shù)據(jù)存儲

指的是數(shù)據(jù)的物理特性怎樣被存儲在數(shù)據(jù)庫中。

磁盤 數(shù)據(jù)被存儲在硬盤驅(qū)動器里;

GFS或谷歌文件系統(tǒng)是一個由谷歌開發(fā)的專有的分布式文件系統(tǒng);

Hadoop是Apache軟件框架,免費(fèi)許可下支持?jǐn)?shù)據(jù)密集型分布式應(yīng)用程序;

RAM隨機(jī)存儲器;

插件 可以添加外部插件;

Amazon S3通過Web服務(wù)接口提供存儲;

BDB:BDB

全稱是 “Berkeley DB”,它是MySQL具有事務(wù)能力的表類型,由Sleepycat

Software開發(fā)。BDB表類型提供了MySQL用戶長久期盼的功能,即事務(wù)控制能力。在任何RDBMS中,事務(wù)控制能力都是一種極其重要和寶貴的功

能。事務(wù)控制能力使得我們能夠確保一組命令確實(shí)已經(jīng)全部執(zhí)行成功,或者確保當(dāng)任何一個命令出現(xiàn)錯誤時所有命令的執(zhí)行結(jié)果均被退回。

實(shí)現(xiàn)語言

實(shí)現(xiàn)語言會影響數(shù)據(jù)庫的發(fā)展速度。典型的NoSQL數(shù)據(jù)庫是用低級語言如C / C + +編寫的。另一方面,那些更高層次的語言如Java,使自定義更容易。

實(shí)現(xiàn)語言有:C, C++, Erlang, Java, Python

特性

考慮下列哪一個特點(diǎn)對你的數(shù)據(jù)庫是最重要的:

持久性

可用性

一致性

分區(qū)容忍性

證書類型

下面這些許可證是一個不同的開放源碼許可的形式:

GPL:通用公共許可證

BSD:伯克利軟件分發(fā)

MPL:Mozilla公共許可證

EPL:Eclipse公共許可證

IDPL:最初的開發(fā)者的公共許可證

LGPL:較寬松通用公共許可證

存儲類型

存儲類型是NoSQL數(shù)據(jù)庫最大的不同,是決定使用哪款數(shù)據(jù)庫的一個首要指標(biāo)。

關(guān)鍵字:支持get、put和刪除操作

按列存儲:相對于傳統(tǒng)的按行存儲,數(shù)據(jù)集成容易多了

面向文件系統(tǒng):存儲像是JSON或XML這樣的結(jié)構(gòu)化文件,很容易就能從面向?qū)ο筌浖蝎@取數(shù)據(jù)。

現(xiàn)在最成熟的開源nosql是什么?分別有什么優(yōu)缺點(diǎn)?

目前成熟的開源nosql產(chǎn)品基本沒有,但不少產(chǎn)品潛力很大,閉源的倒是有一些比較成熟的.要使用一款nosql產(chǎn)品,一定要深入研究它的源碼.可以研究下mongodb,redis,優(yōu)缺點(diǎn)需要自己靠自己實(shí)踐得出結(jié)論.今天的缺點(diǎn)可能明天就不是缺點(diǎn)了

本文題目:nosql支持源碼開放嗎,nosql是開源的嗎
網(wǎng)站路徑:http://chinadenli.net/article30/dsehcpo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開發(fā)定制網(wǎng)站品牌網(wǎng)站制作網(wǎng)站營銷網(wǎng)站收錄微信小程序

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司