Nosql数据库介绍

本文深入探讨NoSQL数据库的兴起背景,解析其与传统关系型数据库的区别,重点介绍NoSQL数据库的四大分类及其应用场景,包括键值存储、列存储、文档型和图形数据库,并概述NoSQL数据库的特点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

什么是nosql数据库

是一项全新的数据库理念,泛指非关系型的数据库

为什么需要NoSQL

    (1)对数据库高并发读写的需求
    (2)对海量数据的高效率存储和访问的需求
    (3)对数据库的高可扩展性和高可用性的需求

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

(1)数据库事务一致性需求

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

(2)数据库的写实时性和读实时性需求

对关系数据库来说,插入一条数据之后立刻查询,是肯定可以读出来这条数据的。web2.0并不要求这么高的实时性。

(3)对复杂的SQL查询,特别是多表关联查询的需求

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

NoSQL 是非关系型数据存储的广义定义。它打破了长久以来关系型数据库与ACID理论大一统的局面。NoSQL 数据存储不需要固定的表结构(例如以键值对存储,它的结构不固定,每一个元组可以有不一样的字段,每个元组可以根据需要增加一些自己的键值对,这样就不会局限于固定的结构,可以减少一些时间和空间的开销),通常也不存在连接操作。

Nosql数据库是为了解决大规模数据集合多重数据种类带来的挑战,尤其是大数据应用难题

NoSQL数据库的四大分类

1.键值(Key - Value)存储数据库
        相关产品:redis、Berkeley DB、Tokyo Cabinet/tyrant、Voldemort
        典型应用:内容缓存,主要用于处理大量数据的高访问负载
        数据模型:一系列键值对
        优势:快速查询
        劣势:存储的数据缺少结构化

2.列存储数据库
        相关产品:HBase、Riak、Cassandra
        典型应用:分布式的文件系统
        数据模型:以列簇式存储,将同一列数据存在一起
        优势:查找速度块,可扩展性强,更容易进行分布式扩展
        劣势:功能相对局限

3.文档型数据        
        相关产品:MongoDb、CouchDB
        典型应用:Web应用(与Key-Value类似,Value是结构化的)
        数据模型:一系列键值对
        优势:数据结构要求不严格
        劣势:查询性能不高,而且拳法统一的查询愈发

4.图形(Graph)数据库
        相关产品:Neo4J、InfoGrid、Infinite Graph
        典型应用:社交网络
        数据模型:图结构
        优势:利用图结构相关算法
        劣势:需要对整个图做计算才能得出结果,不容易作出分布式对集群方案

Nosql特点

易扩展

NoSQL数据库种类繁多,但是一个共同的特点都是去掉关系数据库的关系型特性。数据之间无关系,这样就非常容易扩展。也无形之间,在架构的层面上带来了可扩展的能力。

大数据量,高性能

NoSQL数据库都具有非常高的读写性能,尤其在大数据量下。这得益于它的无关系性,数据库的结构简单。

灵活的数据模型

NoSQL无需事先为要存储的数据建立字段,随时可以存储自定义的数据格式。而在关系数据库里,增删字段是一件非常麻烦的事情。如果是非常大数据量的表,增加字段简直就是一个噩梦。这点在大数据量的Web2.0时代尤其明显。

高可用

NoSQL在不太影响性能的情况,就可以方便的实现高可用的架构。比如Cassandra,HBase模型,通过复制模型也能实现高可用。
nosql数据库分类,redis、Hbase、MongoDB、memcache后面有陆续的讲解

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值