`

NoSql对比分析

阅读更多

 

作者:赵磊

博客:http://elf8848.iteye.com

传统“关系型数据库”在应付互联网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。




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

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




 

分享到:
评论

相关推荐

    NoSQL误用和常见陷阱分析

    ### NoSQL误用和常见陷阱分析 #### 一、被误用的NoSQL:循环网络调用 在NoSQL数据库的使用过程中,一种常见的误用是循环网络调用,这通常发生在开发者没有充分利用NoSQL数据库的批量操作能力时。例如,在使用...

    8种Nosql数据库系统对比

    ### 8种NoSQL数据库系统对比 随着信息技术的飞速发展与互联网应用的日益增多,传统的SQL数据库在处理大规模、高并发数据时逐渐暴露出不足之处。为了更好地满足现代应用场景的需求,NoSQL(Not Only SQL)数据库...

    NoSQL数据库分析(英文).pdf

    本文旨在向用户介绍NoSQL这一主流技术,并对比分析各类NoSQL系统。 在当今大数据时代,许多组织收集大量的客户、科学、销售等数据以备后续分析。传统上,这些组织大多将结构化数据存储在关系型数据库中,便于访问和...

    实验四:NoSQL和关系数据库的操作比较

    本实验旨在对比分析四种不同的数据库管理系统:MySQL、HBase、Redis和MongoDB。这些数据库在处理大数据时各有特点,理解它们的概念及不同点是实验的关键。 1. **MySQL**:作为经典的关系型数据库管理系统(RDBMS)...

    NOSQL分析

    ### 四、NoSQL与RDBMS的对比 1. **数据模型**:RDBMS基于关系模型,强调数据的一致性和完整性;NoSQL则更注重灵活性和多样性。 2. **事务处理**:RDBMS支持ACID(原子性、一致性、隔离性、持久性)事务,NoSQL通常...

    NoSQL精粹_中文完整版

    五、NoSQL与SQL的比较 NoSQL与SQL数据库各有优势,SQL适合于事务处理、复杂查询和保证数据一致性;而NoSQL则在大数据、分布式和实时处理方面更具优势。在实际应用中,开发者应根据项目需求选择合适的数据库类型。 ...

    计算机-mysql-基于NoSQL的数据分析技术的应用研究.pdf

    "计算机-mysql-基于NoSQL的数据分析技术的应用研究" 本文研究的主要内容是基于NoSQL数据库技术的数据分析技术的应用研究。随着计算机技术的应用,每天都会出现大量的数据,且往往这些数据中包含着很多有价值的信息...

    NoSql 技术文档

    三、NoSQL与SQL的对比: 1. 数据一致性:SQL数据库强一致性,NoSQL数据库通常弱一致性或最终一致性。 2. 数据事务:SQL支持ACID事务,NoSQL可能不完全支持或仅部分支持。 3. 查询语言:SQL有标准的查询语言,NoSQL...

    NoSQL数据库入门思维导图

    3. **NoSQL数据库与MySQL比较** - **SQL vs NoSQL**:SQL数据库强调数据的一致性和事务处理,NoSQL更注重可用性和高并发。 - **数据模型**:SQL采用表格结构,NoSQL则多样化,各有优势。 - **查询语言**:SQL有...

    NoSQL权威指南

    - **比较分析**:对比不同类型的NoSQL数据库,根据具体需求选择最适合的方案。 - **案例研究**:通过具体案例分析,进一步加深理解。 - **NoSQL与传统数据库的共存**: - **混合架构设计**:探讨如何设计一个既...

    NoSQL与SQL数据库对比分析.docx

    它适用于需要处理PB级数据的场景,如搜索引擎、Web索引和日志分析。 文档数据库文档数据库存储的是JSON、XML等文档形式的数据,允许灵活的数据模型,适合处理半结构化数据。MongoDB是此类数据库的典型代表,它提供...

    NoSQL介绍、比较详细介绍NoSQL

    ### NoSQL介绍与比较 #### 一、NoSQL概述 NoSQL(Not Only SQL)泛指非关系型数据库,旨在解决传统关系型数据库在处理Web2.0网站,尤其是超大规模和高并发SNS类型纯动态网站时所面临的挑战。随着互联网技术的发展...

    NoSQL技术介绍

    三、NoSQL与SQL对比 1. **事务语义**:SQL数据库强调ACID特性(原子性、一致性、隔离性、持久性),而NoSQL数据库则可能提供受限的ACID支持,以牺牲某些一致性换取更高的性能和可扩展性。 2. **功能与复杂度**:...

    NoSQL数据库之Redis数据库管理视频教程

    #### NoSQL数据库与关系型数据库的对比 - **数据模型**:NoSQL数据库支持多种数据模型,而关系型数据库主要基于表格形式存储数据。 - **事务支持**:关系型数据库提供了强一致性的事务支持,而NoSQL数据库为了追求高...

    nosql 非关系数据库综述

    #### 二、NoSQL与关系型数据库比较 ##### 2.1 设计理念比较 - **数据模型**:关系型数据库通常采用表格形式存储数据,每个记录必须符合预定义的模式。而NoSQL数据库采用键值对、文档、列族或图等多种数据模型,...

Global site tag (gtag.js) - Google Analytics