本人新浪微博: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)
更多技术文章、感悟、分享、勾搭,请用微信扫描:
相关推荐
官方给出的三种NoSQL数据库:SequoiaDB&Cassandra&MongoDB性能对比测试报告;值得参考;
NULL 博文链接:https://13146489.iteye.com/blog/1123018
针对这种情况,这里对 Cassandra、 Mongodb、CouchDB、Redis、 Riak、 Membase、Neo4j和HBase进行了比较: (编注1:NoSQL:是一项全新的数据库革命性运动,NoSQL的拥护者们提倡运用非关系型的数据存储。现今的...
非关系数据库(经常被称为NoSQL)的特点是弹性和可伸缩性。另外,它们可以存储大数据并与云计算系统协同工作。这些因素导致非关系数据库非常流行。在2013年,NoSQL数据库的种类达到了150多个,并且一直在增长,多种...
Cassandra与HBase系统架构比对
各种流行的分布式应用技术资料合集(涵盖Hadoop Cassandra HBase NoSQL)
云计算 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 基准测试结果的报告和观察结果。...
nosqlJavaLib NoSQL Java库,用于使用同一接口对Cassandra和MongoDB进行基本操作,例如扫描,项目和文件管理器。
其主要功能比Dynomite(分布式的Key-Value存储系统)更丰富,但支持度却不如文档存储MongoDB(介于关系数据库和非关系数据库之间的开源产品,是非关系数据库当中功能最丰富,最像关系数据库的。支持的数据结构非常...
键值数据库:Redis、Memcached、Riak 文档数据库:Mongodb、CouchDB 列族数据库:Cassandra、Hbase 图数据库:Neo4j ■不课程内容简介: ■数据库基本概念 ■关系代数 ■SQL命令 ■关系数据理论 ■数据库...
一个封装了 hbase、cassandra 和 mongodb 的 java 地图实现。 允许人们通过本机地图界面在这些 NoSQL 数据库中缓存对象。 它使 NoSQL 数据库的迁移变得容易。 这个想法也是为了让 Hazelcast 赚钱。 先决条件 您需要...
近期, 知名独立基准测评机构bankmark,针对SequoiaDB、MongoDB以及Cassandra三款NoSQL数据库产品做了性能对比测试。在所有的测试中,三款产品的表现各有千秋。 报道详情:http://code.csdn.net/news/2823026
Cassandra与HBase系统架构比对.zip
The HBase design patterns apply equally well to Cassandra, MongoDB, and so on. In Detail With the increasing use of NoSQL in general and HBase in particular, knowing how to build practical ...
TutorialsPoint SpringJDBC JSoup CouchDB Cassandra JSF Kotlin 教程
SpringBoot2.0 + NoSQL使用教程,项目名称:“ SpringBoot2NoSQL” 项目介绍 一站式SpringBoot for ...重点介绍Redis,MongoDB,ElasticSeach,Cassandra模型数据库,因为它们是各自领域的领先者(分别是KV缓存,文
图数据库的应用场景 键值型,如 Redis 或 Riak 列型,如 HBase 或 Cassandra 文档型,如 MongoDB 或 CouchDB 图型,如 Neo4j 或 GraphDB 图数据库怎么样?图数据库的应用场景全文共28页,当前为第3页。 这些数据库各...