成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

MongoDB與CouchDB全方位對比

數據庫 其他數據庫 MongoDB
MongoDB與CouchDB很相似,他們都是文檔型存儲,數據存儲格式都是JSON型的,都使用Javascript進行操作,都支持Map/Reduce。

本文見于MongoDB官方網站,MongoDB與CouchDB很相似,他們都是文檔型存儲,數據存儲格式都是JSON型的,都使用Javascript進行操作,都支持Map/Reduce。但是其實二者有著很多本質的區別,本文透過現象追尋本質,讓你更好的理解MongoDB與CouchDB。

1.MVCC(Multiversion concurrency control)

MongoDB與CouchDB的一大區別就是CouchDB是一個MVCC的系統,而MongoDB是一個update-in-place的系統。這二者的區別就是,MongoDB進行寫操作時都是即時完成寫操作,寫操作成功則數據就寫成功了,而CouchDB一個支持多版本控制的系統,此類系統通常支持多個結點寫,而系統會檢測到多個系統的寫操作之間的沖突并以一定的算法規則予以解決。

2.水平擴展性

在擴展性方面,CouchDB使用replication去做,而MongoDB的replication僅僅用來增強數據的可靠性,MongoDB在實現水平擴展性方面使用的是Sharding。(據說CouchDB也有開發分片功能的計劃)

3.數據查詢操作

這個區別在用戶接口上了,MongoDB與傳統的數據庫系統類似,支持動態查詢,即使在沒有建立索引的行上,也能進行任意的查詢。而CouchDB不同,CouchDB不支持動態查詢,你必須為你的每一個查詢模式建立相應的view,并在此view的基礎上進行查詢。

4.原子性

這一點上兩者比較一致,都支持針對行的原子性修改(concurrent modifications of single documents),但不支持更多的復雜事務操作。

5.數據可靠性

CouchDB是一個”crash-only”的系統,你可以在任何時候停掉CouchDB并能保證數據的一致性。而MongoDB在不正常的停掉后需要運repairDatabase()命令來修復數據文件,在1.7.5版本后支持單機可靠的–dur命令。

6.Map/Reduce

MongoDB和CouchDB都支持Map/Reduce,不同的是MongoDB只有在數據統計操作中會用到,而CouchDB在變通查詢時也是使用Map/Reduce。

7.使用 javascript

MongoDB和CouchDB都支持javascript,CouchDb用javascript來創建view。MongoDB使用JSON作為普通數據庫操作的表達式。當然你也可以在操作中包含javascript語句。MongoDB還支持服務端的javascript腳本(running arbitrary javascript functions server-side),當然,MongoDB的Map/Reduce函數也是javascript格式的。

8.REST

CouchDB是一個RESTFul的數據庫,其操作完全走HTTP協議,而MongoDB是走的自己的二進制協議。MongoDB Server在啟動時可以開放一個HTTP的接口供狀態監控。

9.性能

此處主要列舉了MongoDB自己具有高性能的原因

采用二進制協議,而非CouchDB REST的HTTP協議

使用Momary Map內存映射的做法

collection-oriented,面向集合的存儲,同一個collection的數據是連續存儲的

update-in-place直接修改,而非使用MVCC的機制

使用C++編寫

10.適用場景

如果你在構建一個 Lotus Notes型的應用,我們推薦使用CouchDB,主要是由于它的MVCC機制。另外如果我們需要master-master的架構,需要基于地理位置的數據分布,或者在數據結點可能不在線的情況下,我們推薦使用CouchDB。

如果你需要高性能的存儲服務,那我們推薦MongoDB,比如用于存儲大型網站的用戶個人信息,比如用于構建在其它存儲層之上的Cache層。

如果你的需求中有大量update操作,那么使用MongoDB吧。就像我們在例子updating real time analytics counters中的一樣,對于那種經常變化的數據,比如瀏覽量,訪問數之類的數據存儲。
 

【編輯推薦】

  1. MongoDB學習筆記(一) MongoDB介紹及安裝
  2. MongoDB學習筆記(二) 通過samus驅動實現基本數據操作
  3. MongoDB學習筆記(三) 在MVC模式下通過Jqgrid表格操作MongoDB數據
  4. MongoDB學習筆記(四) 用MongoDB的文檔結構描述數據關系
  5. MongoDB學習筆記(五) MongoDB文件存取操作
責任編輯:艾婧 來源: CSDN
相關推薦

2010-09-07 09:07:33

MongoDBCouchDB

2022-08-27 21:31:04

Tauri框架二進制

2021-08-24 07:57:26

KafkaRocketMQPulsar

2019-11-13 14:43:12

容器云平臺軟件

2011-04-22 09:05:26

2010-03-17 09:22:06

FlashSilverlight

2018-01-15 08:52:35

2016-12-14 14:43:11

ButterknifeAndroid

2013-11-20 10:20:35

AndroidiOS開發

2017-09-13 15:37:53

2009-07-15 08:25:42

微軟Windows 7性能測試

2025-02-26 08:16:38

2011-06-14 09:09:13

NoSQLMongoDB

2019-09-18 15:22:52

消息中間件RabbitMQ

2010-08-04 14:15:44

nfs服務

2013-07-05 18:01:23

東軟華為

2014-09-25 14:29:03

測評郵箱APP

2009-11-03 14:26:13

EPON接入技術

2009-12-08 10:33:23

PHP應用問題

2009-12-15 10:10:42

Ruby過程對象
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲精品电影在线观看 | 久久精品国产久精国产 | 精品国产一区探花在线观看 | 成人精品久久日伦片大全免费 | 国产视频久久久久 | 亚州综合在线 | 国产91在线 | 亚洲 | 成人精品国产 | 国产乱码精品一区二区三区五月婷 | 国产一二三区电影 | 精品久久99| 在线观看亚洲专区 | 国产高清精品网站 | 中文字幕视频在线观看免费 | 精品一区二区三区中文字幕 | 熟女毛片 | 久久亚洲一区二区三区四区 | 国产精品久久精品 | 成人免费在线观看视频 | 超碰在线播 | 亚洲精久 | 久久蜜桃av一区二区天堂 | 亚洲www | 国产第一页在线观看 | 久久久久久精 | 国产精品99久久久久久动医院 | 成人亚洲网站 | 国产精品中文字幕在线 | 国产欧美一区二区久久性色99 | 无码一区二区三区视频 | 9久9久9久女女女九九九一九 | 中文字幕日韩欧美一区二区三区 | 国产中文字幕在线 | 亚洲精品在线视频 | 精品国产区 | 自拍偷拍精品 | 伊人久久免费 | 免费在线一区二区三区 | 日韩精品在线观看视频 | 欧美一级α片 | 国产高清免费 |