加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

NoSql对比分析

发布时间:2020-12-13 13:58:08 所属栏目:百科 来源:网络整理
导读:传统“关系型数据库”在应付互联网WEB2.0应用已显示的力不从心,由其是超大规模和高并发的SNS类型的WEB2.0网站。 主要需要应对以下三方面难题: 1、对数据库高并发读写的要求。 2、对数据库高可扩展性和高可用性的要求。 3、对海量数据高效存储和访问的要求

传统“关系型数据库”在应付互联网WEB2.0应用已显示的力不从心,由其是超大规模和高并发的SNS类型的WEB2.0网站。

主要需要应对以下三方面难题:

1、对数据库高并发读写的要求。

2、对数据库高可扩展性和高可用性的要求。

3、对海量数据高效存储和访问的要求。

”关系型数据库“固有的特性确用处不大

1、对数据库事务一致性要求低。很多WEB应用不要求严格的数据库事务,有些对读一致性要求不高,更有些对写一致性也要求不高。

2、对数据库写实时性和读实时性要求低。如发送消息给订阅者,可以接受延迟。

3、对复杂SQL查询的要求低。如非常忌讳多张大表关联查询。

为了解决以上问题,”非关系型数据库“(NoSql -- not only SQL)应运而生,再很短的时间内涌现出众多的NoSQL产品。他们各有各的适用场景,你是否对这些特性有所了解?你是否在选型时一片茫然? 本文将解答你的疑惑,帮助你选择正确的NoSQL产品,让你少走些弯路。

NoSQL数据库分类:

1、key-value存储型--满足极高读写要求。

2、文档存储型--海量存储和访问的数据库。

3、列存储型--高可扩展性,可用性,面向分布式计算的数据库。

4、图存储型--适合存储关系

NoSQL数据库根据数据的存储模型和特点分为很多种类。

类型

部分代表

特点

列存储

Hbase

Cassandra

Hypertable

顾名思义,是按列存储数据的。最大的特点是方便存储结构化和半结构化数据,方便做数据压缩,对针对某一列或者某几列的查询有非常大的IO优势。

文档存储

MongoDB

CouchDB

文档存储一般用类似json的格式存储,存储的内容是文档型的。这样也就有有机会对某些字段建立索引,实现关系数据库的某些功能。

key-value存储

Tokyo Cabinet / Tyrant

Berkeley DB

MemcacheDB

Redis

可以通过key快速查询到其value。一般来说,存储不管value的格式,照单全收。(Redis包含了其他功能)

图存储

Neo4J

FlockDB

InfoGrid

图形关系的最佳存储。使用传统关系数据库来解决的话性能低下,而且设计使用不方便。

对象存储

db4o

Versant

通过类似面向对象语言的语法操作数据库,通过对象的方式存取数据。

xml数据库

Berkeley DB XML

BaseX

高效的存储XML数据,并支持XML的内部查询语法,比如XQuery,Xpath。

来自:http://my.oschina.net/u/1757446/blog/289977

不合理的性能比较:

以下数据来自网络,因不知道测试环境的情况,如数量大小,并发数量,硬件情况等,以下数据没有说服力,只供不能亲自测试时的参考。

Memcached 读写速度 1.6万/秒


Memcachedb 读写速度 8000/秒


Redis 读写 1万次/秒

MongoDB 读写 8000次/秒 (数据量达到50G后,是MySQL的10倍)(使用笔记本的5400转硬盘测试时 4000次写/s)

Oracle 插入 5000行/秒

Mysql(内存表)插入5000行/秒

Mysql 表 插入4000行/秒

SqlServer 插入2600行/秒

Cassandra (5000 OPS 每条数据1.5K,50%读,50%写,单节点)OPS =operations per second

Cassandra (2000 OPS 每条数据15K,50%读,50%写,单节点)OPS =operations per second

---------------------------------------------------------------------------------------------------------------

参考文档:

NoSQL数据库探讨之一 - 为什么要用非关系数据库?

http://www.iteye.com/topic/524977

NoSQL数据库笔谈

http://sebug.net/paper/databases/nosql/Nosql.html

对Cassandra的初体验

http://www.iteye.com/topic/784054

基于应用场景的NoSQL选型与实践_李刚(奇艺)

http://wenku.it168.com/d_000096483.shtml

NoSQL数据库选型,DBA该考虑什么

http://database.51cto.com/art/201107/274036.htm

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读