本人新浪微博:http://weibo.com/guoyunwb
SQL已经风靡了15年,但似乎好日子就要结束.似乎说的有点危言耸听,但这只是时间问题.
NoSQL和SQL之间有个区别是NoSql的产品远比SQL要多很多,这也意味着,这对架构师来说是一个很大的责任,因为他们需要从中选择一个合适的产品.
这里将对比下 Cassandra, Mongodb, CouchDB, Redis, Riak, Membase, Neo4j 以及HBase
1.MongoDB
开发语言:C++
要点:介于SQL和NoSql之间的产品,保留了SQL的一些特性,如查询和索引
许可:AGPL
协议:自定义,二进制(BSON)
优点和缺点:
1)主从复制(自动故障转移)
2)内置Sharding分片功能
3)查询为javascript表达式
4)可以执行任意serer-side的javascript
5)update-in-place支持比CouchDB更好
6)可以通过memory mapped files(内存映射文件)来保存数据
7)性能优于特性
8)Journaling最好打开(通过-journal)
9)在32位的操作系统上,数据文件大小不能超过2.5G
10)一个空的数据库也会占据192M的磁盘空间
11)通过GridFS文件系统去存储大数据和元数据,不是一般的文件系统.
12)支持索引
适用:
如果你想动态查询,索引比map/reduce更合适.面对大数据有更好的性能.如果你想使用CounchDB,但需要实时写数据并刷新到硬盘,那MongoDB更适合
使用场景:
Mysql,PostgreSQL能够用到的场景,同时你的列并不固定的时候可以使用.
2.Riak(V1.0)
开发语言:Erlang+C+一些javascribpt
要点:高容错性
许可:AGPL
协议:HTTP/RESTful或者自定义二进制
优点和缺点:
1)可调节的分布式分发以及复制
2)用JavaScript和Erlang后台自动推送进行验证和安全
3)可以通过JavaScript和Erlang写MapReduce
4)可以用来作为图形数据库
5)同时只能有一个Secondary
6)大数据支持(Luwak)
7)提供开源和收费两个版本
8)可以通过Riak Search Server来提供全文检索和索引,查询服务
9)后台存储从Bitcask迁移到Google的LevelDB
10)支持Masterless多点赋值以及有SNMP授权的监控服务
适用:
如果你想拥有Cassandra的特性,并且还想有bloat以及complexity特性.同时在你只有单台机器有更好的扩展性,容错性,可用性,以及将来可以无缝扩展到多台机器那推荐使用Riak
使用场景介绍:
销售数据集,工厂控制系统,对宕机时长有严格要求,易于更新的webserver
3.CouchDB(V1.1.1)
更多技术文章、感悟、分享、勾搭,请用微信扫描:
相关推荐
在此次性能对比测试中,bankmarkUG使用了Yahoo Cloud Serving Benchmark(YCSB)作为测试平台,目的是为了比较SequoiaDB、Cassandra和MongoDB在不同工作负载场景下的性能表现。YCSB是一个用于评估云存储系统中数据库...
NoSQL 数据库有多种类型,例如:MongoDB, Cassandra, CouchDB, Hypertable, Redis, Riak, Neo4j, HBASE, Couchbase, MemcacheDB, RevenDB, Voldemort 等。 MongoDB 与 RDBMS 的差别 MongoDB 和 RDBMS 都是免费开源...
非关系数据库(经常被称为NoSQL)的特点是弹性和可伸缩性。另外,它们可以存储大数据并与云计算系统协同工作。这些因素导致非关系数据库非常流行。在2013年,NoSQL数据库的种类达到了150多个,并且一直在增长,多种...
Cassandra与HBase系统架构比对 Cassandra与HBase是两种常用的NoSQL数据库管理系统,它们之间有着许多相似之处,但同时也存在着一些关键的差异。以下是对Cassandra与HBase系统架构的比对。 数据模型 Cassandra的...
本文将对比分析Cassandra 和 HBase 的数据模型、系统架构以及API接口等方面的异同点。 #### 二、Cassandra简介 Cassandra 是一个高度可扩展且分布式的键值存储系统,最初由Facebook开发并开源。它采用了Amazon ...
Redis、MongoDB、HBase、MySQL之间的差别是什么? * 数据的表示:Redis使用Key-Value,MongoDB使用文档型,HBase使用列存储型,MySQL使用关系型。 * 查询关系:Redis使用简单的Key-Value查询,MongoDB使用文档型...
NoSQL数据库(如MongoDB,Cassandra):MongoDB的复制与容错.docx
NoSQL数据库(如MongoDB,Cassandra):MongoDB数据模型与文档设计.docx
NoSQL数据库(如MongoDB,Cassandra):MongoDB的索引与性能优化.docx
* 列存储数据库:例如 Cassandra、HBase * 图关系数据库:例如 Neo4j、Amazon Neptune 分布式数据库 分布式数据库是指将数据分布式存储在多个节点上的数据库系统。分布式数据库可以提供高可用性、负载均衡和水平...
NoSQL数据库(如MongoDB,Cassandra):MongoDB的分片与水平扩展.docx
在本文中,我们将对比分析八种常见的NoSQL数据库系统:Cassandra、MongoDB、CouchDB、Redis、Riak、Membase、Neo4j和HBase。每种数据库都有其独特的特性和适用场景。 1. **CouchDB**:基于Erlang开发,它强调数据的...
云计算 ISAS PAAS SAAS 云计算好比大货轮,docker就是集装箱 Git docker: 鲸鱼背上的集装箱,彼此之间互相不影响,各自运行在各自的...Cassandra、 Mongodb、 CouchDB、 Redis、 Riak、 Membase、 Neo4j、 HBase redis
benchmark_hbase_cassandra 使用 YCSB 对 HBase 和 Cassandra 进行基准测试的脚本。 数据库 - HBase 和 Cassandra benchmark_report.pdf 该文件包含使用 YCSB 的 HBase 和 Cassandra 基准测试结果的报告和观察结果。...
这个合集涵盖了四个关键的技术:Hadoop、Cassandra、HBase和NoSQL,这些都是构建大规模分布式数据存储和处理系统的基础。 **Hadoop** 是一个开源的框架,主要用于处理和存储大量数据。《Hadoop权威指南》是了解...
代表产品有Cassandra、HBase、Riak等。 文档型数据库以文档形式存储数据,通常存储为JSON、XML等格式,适合于存储半结构化数据,查询效率较键值存储更高。代表产品有MongoDB、CouchDB、MongoDb(4.x)、国内开源的...