NOSQL資料庫大比拼:Cassandra vs MongoDB vs CouchDB vs Redis vs Riak vs HBase
Cassandra vs MongoDB vs CouchDB vs Redis vs Riak vs HBase comparison :: KKovacs
CouchDB
Written in: Erlang
關鍵點Main point: DB consistency一致性, ease of use易用
License: Apache
Protocol: HTTP/REST
Bi-directional (!) replication, 雙向複製
continuous or ad-hoc,
with conflict detection,衝突檢測
thus, master-master replication. (!)主主複製
MVCC - write operations do not block reads 寫操作不會阻塞讀操作
Previous versions of documents are available文字式
Crash-only (reliable) design 可靠性設計
Needs compacting from time to time
Views: embedded map/reduce 內部嵌入Hadoop之類map/reduce演算法
Formatting views: lists & shows
Server-side document validation possible
Authentication possible
Real-time updates via _changes (!)實時更新
Attachment handling
thus, CouchApps (standalone js apps)
jQuery library included
適合: 累計 堆積計算, 偶爾改變資料, 預先定義的查詢. 非常注重版本控制的場合.
舉例:: CRM, CMS系統. 主-主複製是其特別亮點,可以易於多個站點部署。
Redis
Written in: C/C++
關鍵點Main point:超快Blazing fast
License: BSD
Protocol: Telnet-like
Disk-backed in-memory database, 磁碟後備,記憶體資料庫。
but since 2.0, it can swap to disk.但是從2.0開始直接交換到磁碟。
Master-slave replication主-從複製
Simple keys and values,簡單的key-value形式
but complex operations like ZREVRANGEBYSCORE但是複雜操作類似ZREVRANGEBYSCORE
INCR & co (good for rate limiting or statistics)
Has sets (also union/diff/inter)
Has lists (also a queue; blocking pop)
Has hashes (objects of multiple fields)
Of all these databases, only Redis does transactions (!)在這些資料庫中,只有Redis有事務機制。
Values can be set to expire (as in a cache)如同快取一樣,值能被設定為超過一定時間過期失效。
Sorted sets (high score table, good for range queries)有排序的sets,善於range查詢。
Pub/Sub and WATCH on data changes (!)採取Pub/Sub 和觀察者WATCH事件觸發資料變化。
適合: 在可以控制的資料庫大小情況下(放得下整個記憶體),快速改變資料,快速寫資料。
案例:股票價格系統 分析,實時資料收集,聯絡等等。
CouchDB
Written in: Erlang
關鍵點Main point: DB consistency一致性, ease of use易用
License: Apache
Protocol: HTTP/REST
Bi-directional (!) replication, 雙向複製
continuous or ad-hoc,
with conflict detection,衝突檢測
thus, master-master replication. (!)主主複製
MVCC - write operations do not block reads 寫操作不會阻塞讀操作
Previous versions of documents are available文字式
Crash-only (reliable) design 可靠性設計
Needs compacting from time to time
Views: embedded map/reduce 內部嵌入Hadoop之類map/reduce演算法
Formatting views: lists & shows
Server-side document validation possible
Authentication possible
Real-time updates via _changes (!)實時更新
Attachment handling
thus, CouchApps (standalone js apps)
jQuery library included
適合: 累計 堆積計算, 偶爾改變資料, 預先定義的查詢. 非常注重版本控制的場合.
舉例:: CRM, CMS系統. 主-主複製是其特別亮點,可以易於多個站點部署。
Redis
Written in: C/C++
關鍵點Main point:超快Blazing fast
License: BSD
Protocol: Telnet-like
Disk-backed in-memory database, 磁碟後備,記憶體資料庫。
but since 2.0, it can swap to disk.但是從2.0開始直接交換到磁碟。
Master-slave replication主-從複製
Simple keys and values,簡單的key-value形式
but complex operations like ZREVRANGEBYSCORE但是複雜操作類似ZREVRANGEBYSCORE
INCR & co (good for rate limiting or statistics)
Has sets (also union/diff/inter)
Has lists (also a queue; blocking pop)
Has hashes (objects of multiple fields)
Of all these databases, only Redis does transactions (!)在這些資料庫中,只有Redis有事務機制。
Values can be set to expire (as in a cache)如同快取一樣,值能被設定為超過一定時間過期失效。
Sorted sets (high score table, good for range queries)有排序的sets,善於range查詢。
Pub/Sub and WATCH on data changes (!)採取Pub/Sub 和觀察者WATCH事件觸發資料變化。
適合: 在可以控制的資料庫大小情況下(放得下整個記憶體),快速改變資料,快速寫資料。
案例:股票價格系統 分析,實時資料收集,聯絡等等。
[該貼被banq於2011-01-07 11:31修改過]
相關文章
- The SQL vs NoSQL Difference: MySQL vs MongoDBMySqlMongoDB
- RDBMS VS XML VS NoSQLXMLSQL
- 資料湖 vs 倉庫 vs 資料庫資料庫
- 後設資料效能大比拼:HDFS vs OSS vs JuiceFSUI
- HBase vs HiveHive
- 資料湖 vs 資料倉儲 vs 資料庫資料庫
- Redis vs. MongoDB比較RedisMongoDB
- Playwright VS Selenium VS Puppeteer VS Cypress
- vs 2017 vs code
- Airflow vs. Luigi vs. Argo vs. MLFlow vs. KubeFlowAIUIGo
- Axum vs Actix vs Rocket
- 如何解除安裝VS 2017之前版本比如VS 2013、VS2015、 VS vNext?
- 微軟常用執行庫合集下載(vs2008(sp)/vs2010(sp)/vs2012/vs2013/vs2015/vs2017)包含32位/64位微軟
- 資料質量管理工具預研——Griffin VS Deequ VS Great expectations VS Qualitis
- 圖資料庫對比:Neo4j vs Nebula Graph vs HugeGraph資料庫
- 搞懂:資料科學vs.機器學習vs.資料分析vs.商業分析資料科學機器學習
- 技術分享|SQL和 NoSQL資料庫之間的差異:MySQL(VS)MongoDB資料庫MySqlMongoDB
- [譯]await VS return VS return awaitAI
- HashSet vs. TreeSet vs. LinkedHashSet
- Redux vs Mobx系列(-):immutable vs mutableRedux
- spring vs yii2 vs LaravelSpringLaravel
- coca 搭配 in vs on vs at | page1
- coca 搭配 in vs on vs at | page3
- JavaScript 的 4 種陣列遍歷方法: for VS forEach() VS for/in VS for/ofJavaScript陣列
- 庫 vs 服務 vs 側車Sidecar的比較IDE
- 微服務訊息代理比較:Redis vs Kafka vs RabbitMQ - Mertcan微服務RedisKafkaMQ
- ABAP vs Java, 蛙泳 vs 自由泳Java
- When to use var vs let vs const in JavaScriptJavaScript
- Tomcat vs Jetty vs Undertow效能對比TomcatJetty
- 測試速度比較:Selenium vs Playwright vs Cypress vs Puppeteer vs TestCafe
- javascript — == vs ===JavaScript
- vs 2017
- PostgreSQL DBA(6) - SeqScan vs IndexScan vs Bit...SQLIndex
- PostgreSQL DBA(131) - Develop(numeric vs float vs int)SQLdev
- 你應該瞭解的一些資料庫概念!RDBMS vs NoSQL,分散式 vs 叢集 ,分割槽 分表 分片 分庫資料庫SQL分散式
- 大資料檔案格式比較:AVRO vs. PARQUET vs. ORC大資料VR
- 資料庫應用開發一、vs資料庫
- 計數排序vs基數排序vs桶排序排序
- iOS:原生應用 VS Flutter VS GICXMLLayout 比較iOSFlutterXML