中文字幕在线观看,亚洲а∨天堂久久精品9966,亚洲成a人片在线观看你懂的,亚洲av成人片无码网站,亚洲国产精品无码久久久五月天

NoSQL就是把東西放在一起

2018-07-20    來源:編程學(xué)習(xí)網(wǎng)

容器云強(qiáng)勢上線!快速搭建集群,上萬Linux鏡像隨意使用


NoSQL簡介

關(guān)系型數(shù)據(jù)庫(relational database)從20世紀(jì)八十年代興起,一直處于主流地位,它能保證數(shù)據(jù)的持久性、一致性,并且使用SQL進(jìn)行數(shù)據(jù)庫操作。關(guān)系型數(shù)據(jù)庫表之間的關(guān)系需要用戶自己進(jìn)行設(shè)計,比如一個購物網(wǎng)站上客戶Ann的購買信息其實(shí)需要用多個表進(jìn)行存儲,比如用戶表、訂單表等。所以我們查詢用戶Ann的所有信息時就需要查找不同的表,最后對所有查到的信息進(jìn)行整合。

現(xiàn)在非;馃岬氖荖oSQL數(shù)據(jù)庫,NoSQL名字的來源其實(shí)是twitter上的一個tag, 現(xiàn)在一般解讀為“Not Only SQL”,但它本身并沒有確切的含義。NoSQL數(shù)據(jù)庫包含很多種類:

  • key-value類:例如redis, riak
  • document類:例如mongoDB, couchDB
  • column-family類:例如HBase, Cassandra

key-value類本身還是key-value的關(guān)系,根據(jù)一個key得到value;doucument類是基于文檔的,將一個文檔的數(shù)據(jù)放在一起,根據(jù)文檔ID進(jìn)行查詢;column-family類是從Google著名三篇論文之一Google File System衍生出來的,是通過行和列組成一個key進(jìn)行查詢。


這三種類型都屬于聚合型數(shù)據(jù)庫,即對于一個key,相關(guān)的所有信息是存在一起的。這就和關(guān)系型數(shù)據(jù)庫不同,現(xiàn)在如果我們需要知道Ann的所有信息,我們只需要在一個地方查詢就可以了。

相比于關(guān)系型數(shù)據(jù)庫,我們免除了設(shè)計表之間的邏輯的煩惱,使用起來更加輕松自由,但是因為數(shù)據(jù)是按照一種方法聚集的,如果當(dāng)你想要用另一種方法來聚集的時候就會很麻煩。舉個例子,我們用NoSQL存儲博客上的所有文章,這些文章會按照文章ID進(jìn)行存儲,所有關(guān)于這個文章ID的信息,比如作者,時間,評論等都聚合在這個文章ID下。

那么如果你需要找到一個作者寫的所有文章該怎么辦呢?直觀來說并沒有很好的方法,因為所有文章都是按照文章ID存儲的而不是按照作者存儲的,于是就想到我們可以用MapReduce來解決。可以這么說,關(guān)系型數(shù)據(jù)庫天然地攜帶著MapReduce的需求。所以我們可以通過查詢數(shù)據(jù)的需求來選擇是用關(guān)系型數(shù)據(jù)庫還是用聚合型數(shù)據(jù)庫。如果你只需要查詢一種聚合方式,那么聚合型數(shù)據(jù)庫是非常好的選擇。


作者:Mingche Su
鏈接:http://zhuanlan.zhihu.com/p/20697807
來源:知乎

標(biāo)簽: Google 數(shù)據(jù)庫

版權(quán)申明:本站文章部分自網(wǎng)絡(luò),如有侵權(quán),請聯(lián)系:west999com@outlook.com
特別注意:本站所有轉(zhuǎn)載文章言論不代表本站觀點(diǎn)!
本站所提供的圖片等素材,版權(quán)歸原作者所有,如需使用,請與原作者聯(lián)系。

上一篇:正則表達(dá)式30分鐘入門教程

下一篇:iOS 一個簡單的通訊錄