Redis 数据库 NoSQL

这篇具有很好参考价值的文章主要介绍了Redis 数据库 NoSQL。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、NoSQL

二、为什么会出现NoSQL技术

三、NoSQL的类别

键值(Key-Value)存储数据库

列存储数据库

文档型数据库

图形(Graph)数据库

四、NoSQL适应场景

五、在分布式数据库中CAP原理

1、CAP

2、BASE


一、NoSQL

NoSQL(Not Only SQL)即不仅仅是SQL,泛指非关系型的数据库,它可以作为关系型数据库的良好补充。随着互联网web2.0网站的兴起,非关系型的数据库现在成了一个极其热门的新领域,非关系数据库产品的发展非常迅速。

二、为什么会出现NoSQL技术

传统的关系型数据库只能存储结构化数据,对于非结构化的数据支持不够完善。NoSQL数据库的产生就是为了解决大规模数据集合多重数据种类带来的挑战,尤其是大数据应用难题。

  1. High performance - 数据的高并发读写

  2. Huge Storage - 海量数据的高效率存储和访问

  3. High Scalability & High Availability - 数据库的高扩展和高可用

三、NoSQL的类别

键值(Key-Value)存储数据库

        这一类数据库主要会使用到一个哈希表,这个表中有一个特定的键和一个指针指向特定的数据  

        Key/Value模型对于IT系统来说优势在于简单、易部署。

        应用:内容缓存,主要用于处理大量数据的高访问负载       

        优势:快速查询

        劣势:存储的数据缺少结构化

列存储数据库

        这部分数据库通常是用来应对分布式存储的海量数据。键仍然存在,但是它们的特点是指向了多个列,这些列是由列家族来安排的

        应用:分布式文件系统

        优势:查找速度快,可扩展性强,更容易进行分布式扩展

        劣势:功能相对局限

文档型数据库

        该类型的数据模型 是版本化的文档,半结构化的文档以特定的格式存储,如JSON。文档型数据库可以看作是键值数据库的升级版,允许之间嵌套键值。而且文档型数据库比键值数据库的查询效率更高

        应用:Web应用

        优势:数据结构要求不严格

        劣势:查询性能不高,且缺乏统一的查询语法

图形(Graph)数据库

        图形结构的数据库同其他行列以及刚性结构的SQL数据库不同,它是使用灵活的图形模型,并且能够扩展到多个服务器上。NoSQL数据库没有标准的查询语言(SQL),因此进行数据库查询需要制定数据模型。许多NoSQL数据库都有REST格式的数据接口或者查询API

        应用:社交网络

        优势:利用图结构相关算法

        劣势:需要对整个图做计算才能得出结果,不容易做分布式的集群方案

四、NoSQL适应场景

  1. 数据模型比较简单

  2. 需要灵活性更强的IT系统

  3. 对数据库性能要求较高

  4. 不需要高度的数据一致性

  5. 对于给定key,比较容易映射复杂的环境

  6. 取最新的N个数据(如排行榜)

  7. 数据缓存

五、在分布式数据库中CAP原理

1、CAP

C——consistency                强一致性

A——availability                  可用性

P——partition tolerance      分区容错性

CAP理论是指在分布式存储系统中,最多只能实现上面的两点。由于当前的网络硬件存在延迟丢包等问题,所以分区容忍性是我们必须要实现的。所以我们只能在一致性和可用性之间进行权衡,没有NoSQL系统能同时保证这三点。

在做分布式架构的时候必须做出取舍。一致性和可用性之间取一个平衡。对于大多数web应用,其实并不需要强一致性。因此牺牲C换取P,这是目前分布式数据库产品的方向。

CAP理论的核心是:一个分布式系统不可能同时很好的满足一致性,可用性和分区容错性这三个需求,最多只能同时较好的满足两个。

因此,根据 CAP 原理将 NoSQL 数据库分成了满足 CA 原则、满足 CP 原则和满足 AP 原则三 大类:

  • CA        单点集群,满足一致性,可用性的系统,通常在可扩展性上不太强大。

  • CP        满足一致性,分区容忍必的系统,通常性能不是特别高。

  • AP         满足可用性,分区容忍性的系统,通常可能对一致性要求低一些。

                CA——传统Oracle数据库

                AP——大多数网站架构的选择

                CP——Redis、Mongodb

Redis 数据库 NoSQL,DateBase,数据库,redis,nosql,sql

2、BASE

BASE就是为了解决关系数据库强一致性引起的问题而导致可用性降低而提出的解决方案。

基本可用    (B==basically         A==available)

软状态        (S==soft state)

最终一致    (E==eventually consistent)

它的思想是通过让系统放松对某一时刻数据一致性的要求来换取系统整体伸缩性和性能上改观。

为什么这么说呢,缘由就在于大型系统往往由于地域分布和极高性能的要求,不可能采用分布式事务来完成这些指标,要想获得这些指标,我们必须采用另外一种方式来完成,这里BASE就是解决这个问题的办法。

 文章来源地址https://www.toymoban.com/news/detail-660322.html

到了这里,关于Redis 数据库 NoSQL的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Redis基于内存的key-value结构化NOSQL(非关系型)数据库

    Redis基于内存的key-value结构的NOSQL(非关系型)数据库 非关系型数据库:表与表之间没有复杂的关系 基于内存存储,读写性能高 – Redis读的速度是110000次/S 适合存储热点数据(商品、新闻资讯) 它存储的value类型比较丰富,也称为结构化NoSQL数据库 直接解压windows版压缩包就

    2024年02月11日
    浏览(47)
  • 【100天精通python】Day44:python网络爬虫开发_爬虫基础(爬虫数据存储:基本文件存储,MySQL,NoSQL:MongDB,Redis 数据库存储+实战代码)

    目录 1 数据存储 1.1 爬虫存储:基本文件存储 1.2 爬虫存储:使用MySQL 数据库 1.3 爬虫 NoSQL 数据库使用 1.3.1 MongoDB 简介

    2024年02月11日
    浏览(49)
  • NoSQL 数据库管理工具,搭载强大支持:Redis、Memcached、SSDB、LevelDB、RocksDB,为您的数据存储提供无与伦比的灵活性与性能!

    【官网地址】:http://www.redisant.cn/nosql 直观的用户界面 从单一应用程序中同时连接 Redis、Memcached、SSDB、LevelDB、RocksDB,你可以快速轻松地创建、管理和维护数据库。 简洁的数据操作 快速搜索、编辑、删除、创建键;支持丰富的数据类型,包括:JSON、XML、HEX、MsgPack、YAML、整

    2024年02月21日
    浏览(28)
  • 【Redis】内存数据库Redis进阶(Redis哨兵集群)

    基于 Redis 集群解决单机 Redis 存在的四大问题:   搭建一个三节点形成的 Sentinel 集群,来监管 Redis 主从集群。   【Redis】内存数据库Redis进阶(Redis主从集群)   架构图: 三个sentinel实例信息: 节点 IP PORT s1 192.168.150.101 27001 s2 192.168.150.101 27002 s3 192.168.150.101 27003 之前

    2024年02月14日
    浏览(31)
  • Redis缓存数据库

    目录 一、概述 1、Redis  2、Redis的安装 Redis Windows环境设置 3、String: 字符串 3.1、字符串 3.2、数值 3.3、bitmap 4、Hash: 散列 5、List: 列表 6、Set: 集合 7、Sorted Set: 有序集合 常识: 磁盘:1.寻址:ms(毫秒)2.带宽:MB/s 内存:1.寻址:ns    (纳秒) 2.带宽:GB/s 秒--毫秒--微妙--纳秒

    2024年02月04日
    浏览(41)
  • Redis内存数据库

    Redis内存数据库 NoSQL数据库简介 Redis简介 Redis应用场景 windows下安装和使用Redis 在linux下安装redis Redis数据可视化RedisDesktopManager Redis配置 Redis 数据类型 Redis 字符串(String) Redis 哈希(Hash) Redis 列表(List) Redis 集合(Set) Redis 有序集合(sorted set) Redis key命令 Redis连接命令 Redis服务器命令

    2024年02月09日
    浏览(26)
  • 1 - 搭建Redis数据库服务器|LNP+Redis

    数据库服务软件分为2类: 关系型数据库服务软件 简称 RDBMS 按照预先设置的组织结构 将数据存储在物理介质上 数据之间可以做关联操作 非关系型数据库服务软件 简称 NoSQL 不仅仅是SQL 不需要预先定义数据存储结构 每条记录可以有不同的数据类型和字段个数 只需要 key valu

    2024年01月25日
    浏览(40)
  • 126、高频Redis面试题:如何保证Redis和数据库数据一致性

    问题:如果数据库中的某条数据放入缓存后,又马上被更新了,那我们应该如何更新缓存 缺点: 如果先更新缓存成功,在更新数据库的时候失败,这时候会导致数据不一致;缓存的作用是不是临时将我们数据保存在内存,便于提高查询速度;但是如果某条数据在数据库中都

    2024年02月13日
    浏览(28)
  • Redis 数据库高可用

    (1)在web服务器中,高可用是指服务器可以正常访问的时间,衡量的标准是在多长时间内可以提供正常服务(99.9%、99.99%、99.999%等等)。 (2)在Redis中,保证提供正常服务(如主从分离、快速容灾技术),还需要考虑数据容量的扩展、数据安全不会丢失等。 实现高可用的技

    2024年02月15日
    浏览(26)
  • Redis缓存数据库(四)

    目录 一、概述 1、Redis Sentinel 1.1、docker配置Redis Sentinel环境 2、Redis存储方案 2.1、哈希链 2.2、哈希环 3、Redis分区(Partitioning)  4、Redis面试题 Redis Sentinel为Redis提供了 高可用解决方案 。实际上这意味着使用Sentinel可以部署一套Redis, 在没有人为干预的情况下去应付各种各样的失

    2024年02月05日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包