`
taojingrui
  • 浏览: 67698 次
  • 来自: ...
社区版块
存档分类
最新评论

常见非关系型数据库(NoSQL)推荐介绍 (转)

 
阅读更多

老文章转:

 

原文:常见非关系型数据库(NoSQL)推荐介绍

 

 

1、High performance – 对数据库高并发读写的需求 
web2.0网站要根据用户个性化信息来实时生成动态页面和提供动态信息,所以基本上无法使用动态页面静态化技术,因此数据库并发负载非常高,往往要达到 每秒上万次读写请求。关系数据库应付上万次SQL查询还勉强顶得住,但是应付上万次SQL写数据请求,硬盘IO就已经无法承受了。其实对于普通的BBS网 站,往往也存在对高并发写请求的需求,例如像JavaEye网站的实时统计在线用户状态,记录热门帖子的点击次数,投票计数等,因此这是一个相当普遍的需 求。

2、Huge Storage – 对海量数据的高效率存储和访问的需求 
类似Facebook,twitter,Friendfeed这样的SNS网站,每天用户产生海量的用户动态,以Friendfeed为例,一个月就达到 了2.5亿条用户动态,对于关系数据库来说,在一张2.5亿条记录的表里面进行SQL查询,效率是极其低下乃至不可忍受的。再例如大型web网站的用户登 录系统,例如腾讯,盛大,动辄数以亿计的帐号,关系数据库也很难应付。

3、High Scalability && High Availability- 对数据库的高可扩展性和高可用性的需求 
在基于web的架构当中,数据库是最难进行横向扩展的,当一个应用系统的用户量和访问量与日俱增的时候,你的数据库却没有办法像web server和app server那样简单的通过添加更多的硬件和服务节点来扩展性能和负载能力。对于很多需要提供24小时不间断服务的网站来说,对数据库系统进行升级和扩展 是非常痛苦的事情,往往需要停机维护和数据迁移,为什么数据库不能通过不断的添加服务器节点来实现扩展呢?

在上面提到的“三高”需求面前,关系数据库遇到了难以克服的障碍,而对于web2.0网站来说,关系数据库的很多主要特性却往往无用武之地,例如:

1、数据库事务一致性需求 
很多web实时系统并不要求严格的数据库事务,对读一致性的要求很低,有些场合对写一致性要求也不高。因此数据库事务管理成了数据库高负载下一个沉重的负 担。

2、数据库的写实时性和读实时性需求 
对关系数据库来说,插入一条数据之后立刻查询,是肯定可以读出来这条数据的,但是对于很多web应用来说,并不要求这么高的实时性,比方说发一条消息之 后,过几秒乃至十几秒之后,我的订阅者才看到这条动态是完全可以接受的。

3、对复杂的SQL查询,特别是多表关联查询的需求 
任何大数据量的web系统,都非常忌讳多个大表的关联查询,以及复杂的数据分析类型的复杂SQL报表查询,特别是SNS类型的网站,从需求以及产品设计角 度,就避免了这种情况的产生。往往更多的只是单表的主键查询,以及单表的简单条件分页查询,SQL的功能被极大的弱化了。

 

 

 

分享到:
评论

相关推荐

    10NoSQL非关系型数据库.zip

    NoSQL(Not Only SQL)非关系型数据库是近年来在大数据处理和分布式系统中广泛应用的数据存储技术。相较于传统的关系型数据库,NoSQL数据库更注重水平扩展和高性能读写,适合处理大规模数据并行计算和实时分析。 ...

    Nosql非关系型数据库-常见的NoSQL分类.pptx

    NoSQL,全称为Not Only SQL,是非关系型数据库的简称,它是为了应对大数据时代的数据处理需求而出现的。相比于传统的关系型数据库,NoSQL数据库在灵活性、可扩展性和高性能方面有着显著的优势。以下是对四种常见...

    第19章 非关系型数据库—NoSQL.docx

    非关系型数据库-NoSQL 非关系型数据库(NoSQL)是指不使用传统的表格关系来存储数据的数据库系统。NoSQL 数据库的出现是为了弥补关系型数据库的不足之处,如大量数据的写入处理、对有数据更新的表做索引或表结构...

    关系型数据库和非关系型数据库.pdf

    非关系型数据库(NoSQL,Not Only SQL)应运而生,旨在解决关系型数据库在大数据环境下的性能瓶颈。NoSQL数据库通常采用键值对、文档型、列族或图形等非关系型数据模型,允许灵活的数据结构,减少了数据冗余和规范化...

    山东大学软件学院 非关系型数据库实验源代码

    非关系型数据库(NoSQL,Not Only SQL)是近年来在大数据处理、分布式系统等领域广泛应用的一种数据库类型。相较于传统的关系型数据库,NoSQL数据库在处理大量数据、高并发场景下具有更好的性能和可扩展性。本实验是...

    关系型与非关系型数据库(2).pdf

    常见的非关系型数据库包括: 1. MongoDB:是一个高性能、开源、无模式的文档型数据库。 2. Redis:是一个开源的使用 ANSI C 语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value 数据库。 3. Cassandra:...

    关系型数据库和非关系型数据库[参照].pdf

    关系型数据库和非关系型数据库 关系型数据库是指采用了关系模型来组织数据的数据库,简单来说,关系模型指的就是二维表格模型,而一个关系型数据库就是由二维表及其之间的联系所组成的一个数据组织。常见的关系型...

    关系型数据库和非关系型数据库.doc

    关系型数据库和非关系型数据库(NoSQL)是两种主要的数据库管理模式,它们各自具有不同的优缺点,适用于不同的应用场景。 关系型数据库(Relational Database Management System, RDBMS)是基于埃德加·科德提出的...

    关系型数据库.pptx

    非关系型数据库,或称为NoSQL数据库,近年来在大数据和分布式系统中越来越流行。它们通常以键值对、文档、列族或图形等形式存储数据,不强制固定的模式,从而在处理大规模数据时表现出更高的性能和可扩展性。常见的...

    非关系型数据库

    总之,非关系型数据库NoSQL是应对大数据时代挑战的重要工具,掌握其原理和应用,对于提升系统的性能和可扩展性具有重大意义。通过阅读《深入NoSQL》这样的资料,你可以更全面地了解这一领域的最新进展和最佳实践。

    Nosql非关系型数据库-String操作方法.pptx

    非关系型数据库(NoSQL,Not Only SQL)是近年来逐渐流行的数据库模型,它与传统的关系型数据库不同,不依赖于固定的表结构,而是采用灵活的数据模型,如键值对、文档、列族或图形数据库等形式。NoSQL数据库在大数据...

    Go语言数据库交互技术详解:关系型与NoSQL数据库操作

    内容概要:本文详细介绍了Go语言在数据库交互方面的技术和最佳实践,涵盖关系型数据库和NoSQL数据库的操作。主要内容包括:使用database/sql包连接不同类型的数据库、执行基本的CRUD操作、处理事务和错误、使用连接...

    Nosql非关系型数据库-安装vmware、Cnetos7.0.pptx

    非关系型数据库(NoSQL,Not Only SQL)是一种不同于传统的关系型数据库的数据存储模型,它在处理大量数据、高并发和分布式系统中表现优异。NoSQL数据库的主要特点包括灵活性、可扩展性和高性能,它们通常不支持SQL...

    数据库基础的学习,关系型数据库与非关系型数据库。MySQL的实验。

    根据数据模型的不同,数据库主要分为两种类型:关系型数据库(Relational Database)和非关系型数据库(NoSQL Database)。 关系型数据库基于关系理论,由表格形式的数据组成,每个表格称为一个表,表与表之间通过...

    PLSQL.zip_plsql redis_非关系型数据库

    作为非关系型数据库(NoSQL),Redis提供了丰富的数据结构,如字符串、哈希、列表、集合和有序集合等,支持事务、持久化、主从复制和分区等功能。它的特点是速度快,因为数据都存储在内存中,并定期通过磁盘持久化。...

    NoSQL数据库技术实战

    NoSQL(Not Only SQL)数据库是一种非关系型数据库,它打破了传统的关系型数据库模型,为处理大规模分布式数据提供了新的解决方案。在大数据时代,由于其高可扩展性、高性能和灵活的数据模型,NoSQL数据库被广泛应用...

    非关系型数据库MongoDB在Linux上安装使用说明,MongoDB与SpringBoot整合代码示例

    在当前的数据存储领域中,非关系型数据库(NoSQL)正在逐渐崛起,MongoDB 作为其中的一种主要代表,具有灵活的数据模型、可扩展的架构和高性能的特点。MongoDB 是一个开源的、面向文档的 NoSQL 数据库,旨在提供高...

Global site tag (gtag.js) - Google Analytics