[转]Cassandra、MongoDB、CouchDB、Redis、Riak、HBase比较

Cassandra,Mongodb,CouchDB,Redis,HBase分类探讨 1、Mongodb,CouchDB为文档型数据库,可以理解为数据以JSON等文档格式存储;2、Cassandra,HBase为列簇型数据库,同时支持更加复杂的存储方式,是关系型数据库扩展;3、Redis:提供了一组hash,set等数据结构,更像一组开发包。 参考资料:Cassandra,Mongodb,CouchDB,Redis,Riak,HBase比较 2012-02-04 22:02 阅读详情

本文有标题党之嫌。在NoSQL如日中天的今天,各种NoSQL产品可谓百花齐放,但每一个产品都有自己的特点,有长处也有不适合的场景。本文对Cassandra, Mongodb, CouchDB, Redis, Riak 以及 HBase 进行了多方面的特点分析,希望看完此文的您能够对这些NoSQL产品的特性有所了解。

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
  • 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

Best used: For accumulating, occasionally changing data, on which pre-defined queries are to be run. Places where versioning is important.

For example: CRM, CMS systems. Master-master replication is an especially interesting feature, allowing easy multi-site deployments.

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.
  • Master-slave replication
  • Simple keys and values,
  • but complex operations like 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 (!)
  • Values can be set to expire (as in a cache)
  • Sorted sets (high score table, good for range queries)
  • Pub/Sub and WATCH on data changes (!)

Best used: For rapidly changing data with a foreseeable database size (should fit mostly in memory).

For example: Stock prices. Analytics. Real-time data collection. Real-time communication.

MongoDB

  • Written in: C++
  • Main point: Retains some friendly properties of SQL. (Query, index)
  • License: AGPL (Drivers: Apache)
  • Protocol: Custom, binary (BSON)
  • Master/slave replication
  • Queries are javascript expressions
  • Run arbitrary javascript functions server-side
  • Better update-in-place than CouchDB
  • Sharding built-in
  • Uses memory mapped files for data storage
  • Performance over features
  • After crash, it needs to repair tables
  • Better durablity coming in V1.8

Best used: If you need dynamic queries. If you prefer to define indexes, not map/reduce functions. If you need good performance on a big DB. If you wanted CouchDB, but your data changes too much, filling up disks.

For example: For all things that you would do with MySQL or PostgreSQL, but having predefined columns really holds you back.

Cassandra

  • Written in: Java
  • Main point: Best of BigTable and Dynamo
  • License: Apache
  • Protocol: Custom, binary (Thrift)
  • Tunable trade-offs for distribution and replication (N, R, W)
  • Querying by column, range of keys
  • BigTable-like features: columns, column families
  • Writes are much faster than reads (!)
  • Map/reduce possible with Apache Hadoop
  • I admit being a bit biased against it, because of the bloat and complexity it has partly because of Java (configuration, seeing exceptions, etc)

Best used: When you write more than you read (logging). If every component of the system must be in Java. (“No one gets fired for choosing Apache’s stuff.”)

For example: Banking, financial industry (though not necessarily for financial transactions, but these industries are much bigger than that.) Writes are faster than reads, so one natural niche is real time data analysis.

Riak

  • Written in: Erlang & C, some Javascript
  • Main point: Fault tolerance
  • License: Apache
  • Protocol: HTTP/REST
  • Tunable trade-offs for distribution and replication (N, R, W)
  • Pre- and post-commit hooks,
  • for validation and security.
  • Built-in full-text search
  • Map/reduce in javascript or Erlang
  • Comes in “open source” and “enterprise” editions

Best used: If you want something Cassandra-like (Dynamo-like), but no way you’re gonna deal with the bloat and complexity. If you need very good single-site scalability, availability and fault-tolerance, but you’re ready to pay for multi-site replication.

For example: Point-of-sales data collection. Factory control systems. Places where even seconds of downtime hurt.

HBase

  • Written in: Java
  • Main point: Billions of rows X millions of columns
  • License: Apache
  • Protocol: HTTP/REST (also Thrift)
  • Modeled after BigTable
  • Map/reduce with Hadoop
  • Query predicate push down via server side scan and get filters
  • Optimizations for real time queries
  • A high performance Thrift gateway
  • HTTP supports XML, Protobuf, and binary
  • Cascading, hive, and pig source and sink modules
  • Jruby-based (JIRB) shell
  • No single point of failure
  • Rolling restart for configuration changes and minor upgrades
  • Random access performance is like MySQL

Best used: If you’re in love with BigTable. :) And when you need random, realtime read/write access to your Big Data.

For example: Facebook Messaging Database (more general example coming soon)

原文链接:Cassandra vs MongoDB vs CouchDB vs Redis vs Riak vs HBase comparison

Elassandra运行在cassandra之上的一个elasticsearch分支 Elassandra:运行在cassandra之上的一个elasticsearch分支 立即下载

相关推荐

告别CNN局限:用Transformer+迁移学习搞定高光谱图像分类(附Pytorch代码)

本文探讨了如何利用Transformer的自注意力机制和迁移学习策略解决高光谱图像分类中的挑战。通过结合CNN的局部特征提取和Transformer的全局建模能力,提出的DenseTransformer架构在多个数据集上实现了显著的性能提升。文章还提供了详细的PyTorch实现代码和工程优化技巧,帮助开发者快速应用这一技术。

weixin_32771907的博客 610

关于elasticsearch和Cassandra

最近项目中用到了elasticsearch和Cassandra,刚接触都不知道是干什么的,终于有时间总结下了,简单来说,Cassandra就是个数据库,ElasticSearch是一个搜索服务器 关于elasticsearch ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticse

Flying with the nature, wanton and for 1956

Altium Designer铺铜陷阱:为什么你的死铜总是清除不干净?

本文深入探讨Altium Designer中铺铜操作导致死铜无法清除的常见问题,分析死铜形成的五大诱因,并提供高级参数优化和网络连接性验证技巧。通过调整边界计算精度和泪滴算法设置,有效解决死铜残留问题,提升PCB设计质量与制造良率。

weixin_29169505的博客 359

Elasticsearch与Cassandra的集成与使用

1.背景介绍 1. 背景介绍 Elasticsearch是一个基于Lucene的搜索引擎,它提供了实时、可扩展的、分布式多用户能力的搜索和分析功能。Cassandra是一个分布式数据库管理系统,它旨在为大规模写入和读取操作提供高性能和可靠性。在大数据时代,这两种技术在数据处理和搜索方面具有重要意义。本文将介绍Elasticsearch与Cassandra的集成与使用,并探讨其在实际应用场景中的...

AI天才研究院 1345

YOLOv8魔改网络后训练全零?别慌,关掉AMP混合精度训练试试

本文探讨了YOLOv8魔改网络后训练出现全零指标的问题,指出AMP混合精度训练与自定义网络结构的不兼容性。通过分析梯度消失现象和AMP工作原理,提供了关闭AMP、调整学习率等解决方案,并建议预防性开发实践以避免类似问题。

weixin_28338005的博客 323

Adams Car——Adams car与Simulink联合仿真

Adams与simulink悬架联合仿真

Mr.邹的博客 2127

Elasticsearch与Cassandra的整合与应用

1.背景介绍 1. 背景介绍 Elasticsearch 和 Cassandra 都是非常流行的开源项目,它们各自在不同领域取得了显著的成功。Elasticsearch 是一个基于 Lucene 的搜索引擎,用于实时搜索和分析大量数据。Cassandra 是一个分布式数据库,擅长处理大规模、高并发的数据存储和查询。 在现代互联网应用中,数据量越来越大,实时性和可扩展性变得越来越重要。因此,将...

AI天才研究院 1417

华为OD机试真题 新系统 9月27号 【数据中心最佳维护窗口】

华为OD机试真题 新系统【数据中心最佳维护窗口】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD机试真题 【数据中心最佳维护窗口】多语言题解。

qq_45776114的博客 1166

Cassandra、MongoDB、CouchDB、Redis、Riak、HBase比较

本文有标题党之嫌。在NoSQL如日中天的今天,各种NoSQL产品可谓百花齐放,但每一个产品都有自己的特点,有长处也有不适合的场景。本文对Cassandra, Mongodb, CouchDB, Redis, Riak 以及 HBase 进行了多方面的特点分析,希望看完此文的您能够

clouderyu的专栏 745

【VTKExamples::PolyData】第十六期 GradientFilter

本文分享VTK样例GradientFilter,并解析接口vtkGradientFilter & vtkAssignAttribute,希望对各位小伙伴有所帮助!

qq_40041064的博客 321

ORB-SLAM3代码详解 - 第 18 篇 · Atlas 多地图系统、地图保存与全系统调优

会跑:理解三线程架构与数据流(01/08/10/13),能编译、配参、复现各数据集结果。会改:掌握相机模型抽象(05)、g2o 顶点与边(14)、预积分(15),能接入新传感器、新相机、新约束。会调:理解每个参数背后的物理含义与耦合(03/15/16/18),能针对自己的平台与场景做精度/实时/鲁棒的权衡。ORB-SLAM3 的价值不止于一个可用的 SLAM 系统,更在于它是一套工程化的几何状态估计模板:清晰的模块边界、可替换的相机/传感器抽象、紧耦合优化的标准范式。

PX4-SLAM-PNC 172

8种Nosql数据库系统对比

8种Nosql数据库系统对比 发布时间:2011-08-30 00:32     分类: 程序员, 资源 1 条评论 » 分享到: 导读:Kristóf Kovács 是一位软件架构师和咨询顾问,他最近发布了一片对比各种类型NoSQL数据库的文章。文章由敏捷翻译 – 唐尤华编译。如需转载,请参见文后声明

lionzl的专栏 1296

【C2000系列DSP的双向DC-DC电源】基于TMS320F28034的DC-DC项目开发流程

理解DC-DC 双向电源(基于 TMS320F28034)的开发流程,需要从功能拆解、开发步骤、验证 / 测试项

昔时扬尘处 324

[转]Cassandra、MongoDB、CouchDB、Redis、Riak、HBase比较 .

http://blog.youkuaiyun.com/heiyeshuwu/article/details/7087772 来源:http://blog.nosqlfan.com/html/1845.html 本文有标题党之嫌。在NoSQL如日中天的今天,各种NoSQL产品可谓百花齐放,但每一个产品都有自己的特点,有长处也有不适合的场景。本文对Cassandra, Mongodb, C

happylife1527的专栏 508

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Cassandra,Mongodb,CouchDB,Redis,Riak,HBase比较-转

http://www.open-abc.com/nosql-214.html 尽管 SQL 数据库一直是我们IT行业中最有用的工具,然而,它们这样在行业中超过15年以上的“转正”终于就要寿终正寝了。现在,虽然关系型数据库仍然无所不在,但它越来越不能满足我们的需要了。NoSQL成为了业界的新宠。 但是,各种 “NoSQL” 数据库之间的差异比当年众多关系型数据库之间的差异要大许多。这就加大了人们...

weixin_34006965的博客 102

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

[转]NoSQL比较:Cassandra vs MongoDB vs CouchDB vs Redis vs Riak vs HBase vs Membase

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, th...

华仔----天道酬勤 236

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

各种nosql数据库的比较Cassandra,MongoDB,CouchDB,Redis,Riak,HBase

CouchDB 开发语言:: Erlang 主要优点: 数据一致性,易用 许可: Apache Protocol: HTTP/REST 适用: 积累性的、较少改变的数据。或者是需要版本比较多的 举例: CRM, CMS systems. 允许多站部署. Redis 开发语言:: C/C++ 主要优点: 一个字 快 许可: BSD Protocol: Telnet-

专注于互联网架构技术,努力成为一名架构师 4517

对比Cassandra、 Mongodb、CouchDB、Redis、Riak、 Membase、Neo4j、HBase

转自:http://www.cnblogs.com/alephsoul-alephsoul/archive/2013/04/26/3044630.html 导读:Kristóf Kovács 是一位软件架构师和咨询顾问,他最近发布了一片对比各种类型nosql数据库的文章。文章由敏捷翻译 –唐尤华编译。如需转载,请参见文后声明。 虽然SQL数据库是非常有用的工具,但经历了15年的一支...

dechen6073的博客 272
上一篇: 蚂蚁变大象:浅谈常规网站是如何从小变大的
下一篇: [转]数据库Sharding的基本思想和切分策略
jakqigle
博客等级 码龄19年 37粉丝 54原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值