自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

詳解NoSQL數(shù)據(jù)庫(kù)使用實(shí)例

數(shù)據(jù)庫(kù) 其他數(shù)據(jù)庫(kù)
本文將為大家講述NoSQL數(shù)據(jù)庫(kù)使用實(shí)例,在最近這段時(shí)間,NoSQL持續(xù)火爆。但究竟它有什么樣的優(yōu)點(diǎn)?還是看下面的實(shí)例吧。

一、NoSQL基礎(chǔ)知識(shí)

1.關(guān)于NoSQL

在“NoSQL”一詞,實(shí)際上是一個(gè)叫Racker的同事創(chuàng)造的,當(dāng)約翰埃文斯埃里克要組織一次活動(dòng)來(lái)討論開(kāi)源的分布式數(shù)據(jù)庫(kù)。這個(gè)名稱和概念都由此而來(lái)。

有些人反對(duì)NoSQL術(shù)語(yǔ),因?yàn)樗?tīng)起來(lái)像我們定義自己是什么.在一定程度,但長(zhǎng)期仍然是有價(jià)值的,因?yàn)楫?dāng)一個(gè)關(guān)系數(shù)據(jù)庫(kù)是唯一的工具,你知道,每一個(gè)問(wèn)題,看起來(lái)像一個(gè)大拇指。 NoSQL是讓人們知道有其他選擇哪里。但我們并不反對(duì)關(guān)系數(shù)據(jù)庫(kù),因?yàn)楫?dāng)這確實(shí)是工作的最佳工具.

一個(gè)與NoSQL名稱真正關(guān)注的是,它是一個(gè)很大的帳篷,有非常不同的設(shè)計(jì)空間。如果這不是在討論清楚的,它在各種產(chǎn)品混亂的結(jié)果。因此,我要建議沿著三個(gè)軸的思考很多數(shù)據(jù)庫(kù)選項(xiàng):可擴(kuò)展性,數(shù)據(jù)和查詢模型和持久性的設(shè)計(jì)。

前所未有的數(shù)據(jù)量正推動(dòng)企業(yè)關(guān)注傳統(tǒng)的關(guān)系數(shù)據(jù)庫(kù)技術(shù),已服務(wù)了30多年良好替代品??偟膩?lái)說(shuō),這些替代品已被稱作“NoSQL數(shù)據(jù)庫(kù)。”

最根本的問(wèn)題是關(guān)系數(shù)據(jù)庫(kù)不能處理很多現(xiàn)代的工作量。有三個(gè)具體的問(wèn)題:擴(kuò)大向像Digg新聞評(píng)論網(wǎng)站的(3TB綠色徽章)或Facebook的(50TB收件箱中的搜索)或EBay(整體2PB),

每服務(wù)器性能和嚴(yán)格的架構(gòu)設(shè)計(jì)。

備注:(Digg概念源自美國(guó)Digg公司。它完全是依靠真實(shí)的網(wǎng)民的自己力量。網(wǎng)站上所有內(nèi)容都是由網(wǎng)民自己發(fā)布,并且內(nèi)容的位置也是由網(wǎng)民自己來(lái)決定。當(dāng)內(nèi)容的頂數(shù),評(píng)論等達(dá)到一定的數(shù)字,這些內(nèi)容就有可能從眾多的信息中脫穎而出。)

我最近寫(xiě)了郵件給卡桑德拉,關(guān)于非關(guān)系型數(shù)據(jù)庫(kù)的資源,我們承諾后,還有其他非關(guān)系型數(shù)據(jù)庫(kù)在工作,我們稱之為“NoSQL運(yùn)動(dòng)。”

2.一個(gè)簡(jiǎn)單的NoSQL實(shí)例

我選擇了一些作為例子NoSQL數(shù)據(jù)庫(kù)。這不是一個(gè)詳盡的清單,但討論的概念是對(duì)于衡量其他人也至關(guān)重要。

可伸縮性

縮放讀取與復(fù)制容易,當(dāng)我們對(duì)在這方面縮放時(shí),我們的意思寫(xiě)了縮放到多臺(tái)機(jī)器自動(dòng)分區(qū)的數(shù)據(jù)。我們呼吁制度不健全,這種“分布式數(shù)據(jù)庫(kù)。”這其中包括Cassandra,HBase,Riak,Scalaris,Voldemort,等等。如果你寫(xiě)卷或數(shù)據(jù)容量超過(guò)一臺(tái)機(jī)器可處理,那么這些是你的唯一選擇,如果你不想手動(dòng)分區(qū)管理。

有兩件事情看在分布式數(shù)據(jù)庫(kù):1)支持多種數(shù)據(jù)中心和2)能夠添加新的機(jī)器現(xiàn)場(chǎng)集群的應(yīng)用程序的透明。

二、NoSQL數(shù)據(jù)庫(kù)使用

1. NoSQL數(shù)據(jù)和查詢模型

非分布式NoSQL數(shù)據(jù)庫(kù)包括CouchDB,MongoDB,Neo4j,Redis,和Tokyo Cabinet。這些可以作為分布式系統(tǒng)持久層; MongoDB提供有限的共享支持,做了單獨(dú)的休息室為CouchDB項(xiàng)目,和Tokyo Cabinet可作為Voldemort存儲(chǔ)引擎使用。

數(shù)據(jù)和查詢模型

數(shù)據(jù)和查詢模型

在NoSQL里有很多不同的數(shù)據(jù)模型和數(shù)據(jù)庫(kù)的查詢API.

一些重點(diǎn):

該columnfamily模型Cassandra共享和HBase的是由谷歌的Bigtable文件,第2節(jié)描述的啟發(fā)。 (Cassandra下降,歷史版本,并添加超級(jí)列。)在這兩個(gè)系統(tǒng),你必須像你行和列習(xí)以為常,但稀疏行:每一行可以有許多或盡可能少列的需要,以及列不必須提前定義。

鍵/值模型是最簡(jiǎn)單和最容易實(shí)現(xiàn)的,但效率低,只有當(dāng)你在查詢或更新的值的一部分感興趣。這也是難以執(zhí)行的分布式圈頂更復(fù)雜的結(jié)構(gòu)/價(jià)值。

文檔數(shù)據(jù)庫(kù)基本上是下一階段重點(diǎn)/值,允許嵌套的值與每個(gè)鍵關(guān)聯(lián)。文件數(shù)據(jù)庫(kù)支持查詢的效率比每次返回了整個(gè)BLOB更簡(jiǎn)單。

Neo4J有一個(gè)真正獨(dú)特的數(shù)據(jù)模型,對(duì)象存儲(chǔ)在圖和節(jié)點(diǎn)和邊的關(guān)系。對(duì)于查詢適合這個(gè)模型(例如,分層數(shù)據(jù)),它們可以是1000倍速度比替代品。

Scalaris是獨(dú)特的,提供跨多個(gè)鍵分布式事務(wù)。 (討論與貿(mào)易之間的一致性和可用性權(quán)衡超出了這個(gè)職位的范圍,但另一個(gè)方面就是要牢記在評(píng)價(jià)分布式系統(tǒng)。)

持久性設(shè)計(jì)

通過(guò)持續(xù)的設(shè)計(jì)我的意思是,“如何在內(nèi)部存儲(chǔ)的數(shù)據(jù)?” 持久性模型告訴我們很多這些數(shù)據(jù)庫(kù)能夠善于什么樣的工作量.

持久性設(shè)計(jì)

在內(nèi)存數(shù)據(jù)庫(kù)是非常,非??斓模≧edis達(dá)到每秒超過(guò)100,000操作一臺(tái)計(jì)算機(jī)上),但不能與數(shù)據(jù)集的工作,超出可用的RAM。耐久性(保留數(shù)據(jù),即使服務(wù)器崩潰或斷電)也將是一個(gè)問(wèn)題的數(shù)據(jù)量,可以預(yù)期損失之間的沖(復(fù)制數(shù)據(jù)到磁盤)可能非常大。 Scalaris,其他內(nèi)存數(shù)據(jù)庫(kù),我們的名單上,意向處理與復(fù)制耐久性問(wèn)題,但由于它不支持多個(gè)數(shù)據(jù)中心的數(shù)據(jù)將仍然容易受到停電的事情一樣。

Memtables和SSTables緩存在內(nèi)存中寫(xiě)入(1“memtable”)后,以書(shū)面追加只承諾為耐久性日志。當(dāng)寫(xiě)夠已被接受的memtable排序并寫(xiě)入到磁盤上的所有一次作為“sstable。”這提供近內(nèi)存中的表現(xiàn),因?yàn)闆](méi)有涉及要求,同時(shí)避免了純粹的耐久性問(wèn)題,在內(nèi)存的方法。 (這是詳細(xì)描述在第5.3和先前提及的5.4 Bigtable的文件,以及在該日志結(jié)構(gòu)合并樹(shù)。)

B-樹(shù)已被用于從數(shù)據(jù)庫(kù)中實(shí)際上是時(shí)間的起點(diǎn)。索引他們提供強(qiáng)大的支持,但表現(xiàn)欠佳的旋轉(zhuǎn)盤(這仍然是迄今為止最具有成本效益,因?yàn)槎啵┮笞x或?qū)懯裁垂ぷ鳌?/p>

一個(gè)有趣的變體是CouchDB的追加,只有B -樹(shù),它避免了管理費(fèi)用的目的在限制CouchDB一寫(xiě)一時(shí)間成本.

結(jié)論

該NoSQL運(yùn)動(dòng)在2009年爆炸地為越來(lái)越多的企業(yè)全力對(duì)付大量數(shù)據(jù)。在Rackspace云高興地發(fā)揮了NoSQL運(yùn)動(dòng)的早期作用,并繼續(xù)投入資源,Cassandra像NoSQL支持事件。

【編輯推薦】

  1. NoSQL數(shù)據(jù)庫(kù)Apache CouchDB 0.11.0發(fā)布
  2. Digg與Reddit棄用MySQL 投奔NoSQL陣營(yíng) 
  3. 詳解NoSQL數(shù)據(jù)庫(kù)Apache Cassandra的配置
  4. 超越關(guān)系型數(shù)據(jù)庫(kù) pureXML技術(shù)應(yīng)用及展望
  5. 新興數(shù)據(jù)庫(kù)打破整個(gè)舊規(guī)則
  6. 探尋關(guān)系數(shù)據(jù)庫(kù)和ORM的最佳替代者
責(zé)任編輯:彭凡 來(lái)源: zhangyongjun.com
相關(guān)推薦

2011-08-11 16:55:34

Oracle數(shù)據(jù)庫(kù)AWR

2024-10-10 08:46:28

2010-03-16 14:05:19

Cassandra

2011-05-19 13:25:14

Oracle數(shù)據(jù)庫(kù)

2024-02-02 10:51:53

2015-06-16 10:39:43

NoSQL分布式算法

2011-03-29 10:47:49

ORACLE數(shù)據(jù)庫(kù)

2021-09-28 09:25:05

NoSQL數(shù)據(jù)庫(kù)列式數(shù)據(jù)庫(kù)

2011-10-09 09:38:03

OracleNoSQL

2009-12-31 11:10:01

2011-07-26 18:11:56

iPhone Sqlite 數(shù)據(jù)庫(kù)

2024-03-28 09:00:00

NoSQL數(shù)據(jù)庫(kù)

2019-07-08 10:36:34

數(shù)據(jù)庫(kù)WebNoSQL

2019-03-20 15:59:11

NoSQLRedis數(shù)據(jù)庫(kù)

2011-07-19 09:08:50

JavaNoSQL

2022-04-05 11:24:17

CyberDB內(nèi)存數(shù)據(jù)庫(kù)Python

2015-03-17 09:24:15

NoSQL數(shù)據(jù)庫(kù)使用NoSQL

2018-03-02 09:00:00

數(shù)據(jù)庫(kù)NoSQLSQL

2023-03-05 16:25:38

NoSQL數(shù)據(jù)庫(kù)

2020-10-31 22:01:40

NoSQL數(shù)據(jù)庫(kù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)