Redis3.0.x NoSql 入门

概述

NoSQL(Not Only SQL ),即不仅仅是 SQL,泛指非关系型的数据库。NoSQL 数据库的产生就是为了解决大规模数据集合多重数据种类带来的挑战,尤其是大数据应用难题,包括超大规模数据的存储。

NoSQL 和 RDBMS 的区别

  • Redis 是 NoSQL 数据库,而 RDBMS 是 SQL 数据库。
  • Redis 遵循键值结构,而 RDBMS 遵循表结构。
  • Redis 非常快,而 RDBMS 相对较慢。
  • Redis 将所有数据集存储在主存储器中,而 RDBMS 将其数据集存储在辅助存储器中。
  • Redis 通常用于存储小型和常用文件,而 RDBMS 用于存储大文件。

3V3H

大数据 3V

  • 海量 Volume
  • 多样 Variety
  • 实时 Velocity

互联网 3H

  • 高并发
  • 高可用
  • 高性能

NoSql 四大分类

键值型数据库

  • 应用举例:Redis
  • 应用场景:内容缓存,主要用于处理大量数据的高访问负载,也用于日志系统等
  • 数据模型:key-value,通常使用 HashTable 来实现
  • 优点:查找速度快
  • 缺点:数据无结构化,通常只被当作字符串或者二进制数据

文档型数据库

  • 应用举例:MongoDB
  • 应用场景:Web 应用
  • 数据模型:key-value,但 value 是结构化数据
  • 优点:数据结构要求不严格,表结构可变
  • 缺点:查询性能不高,而且缺乏统一的查询语法

列存储数据库

  • 应用举例:HBase
  • 应用场景:分布式的文件系统,大数据应用
  • 数据模型:以列簇式存储,将同一列数据存在一起
  • 优点:查找速度快,易于扩展
  • 缺点:功能相对局限

图关系数据库

  • 应用举例:Neo4j、HugeGraph
  • 应用场景:社交网络,推荐系统,构建关系图谱
  • 数据模型:图结构
  • 优点:查找速度快
  • 缺点:不易拓展

CAP 原理

传统的关系型数据库遵循 ACID 原理,即:

  • 事务:是逻辑上的一组操作,事务内的语句,要么全部执行成功,要么全部执行失败。
  • 原子性(Atomicity):指事务是一个不可分割的工作单位,事务中的操作要么都发生,要么都不发生。
  • 一致性(Consistency):指数据库总是从一个一致性状态切换到另一个一致性状态。
  • 隔离性(Isolation):指并发执行的一个事务之间不能互相干扰;
  • 持久性(Durability):指事务一旦提交,它对数据库的改变是永久性的。

而非关系型数据库遵循 CAP 原理,即:

  • 强一致性(Consistency):
  • 高可用性(Availability):
  • 分区容错性(Pratition tolerance):

CAP 原理的抉择

一个分布式系统不可能同时很好的满足 一致性、可用性和分区容错性这三个需求,最多只能同时较好的满足两个。而由于当前的网络硬件肯定会出现延迟丢包等问题,所以分区容忍性是我们必须需要实现的。所以我们只能在一致性和可用性之间进行权衡,没有 NoSQL 系统能同时保证这三点。

经典的 CAP 搭配

  • CA - 单点集群,满足 一致性,可用性 的系统,通常在可扩展性上不太强大。例如 Oracle 数据库。
  • CP - 满足 一致性,分区容忍性 的系统,通常性能不是特别高。例如 Redis、Mongodb。
  • AP - 满足 可用性,分区容忍性 的系统,通常可能对一致性要求低一些。例如 大多数网站架构。

Base 简介

  • 基本可用(Basically available)
  • 软状态(Soft state)
  • 最终一致(Eventually consistent)
  • BASE 就是为了解决关系数据库 强一致性 引起的问题,进而引起的可用性降低而提出的解决方案。
  • 它的思想是通过让系统放松对某一时刻数据一致性的要求来换取系统整体伸缩性和性能上改观。

分布式和集群

分布式:不同的多台服务器上面部署不同的服务模块(工程),它们之间通过 RPC/RMI 之间通信和调用,对外提供服务和组内协作。

集群:不同的多台服务器上面部署相同的服务模块(工程),通过分布式调度软件进行统一的调度,对外提供服务和访问。

练习和总结

【Redis3.0.x】NoSql 入门的更多相关文章

  1. Dubbo入门到精通学习笔记(十八):使用Redis3.0集群实现Tomcat集群的Session共享

    文章目录 1.单节点访问http://192.168.1.61:8082/pay-web-boss/: 2.增加多一个消费者节点:192.168.1.62,以同样的方式部署pay-web-boss工程 ...

  2. linux安装redis-3.0.7

    一.Redis介绍 1.简介 Redis是当前比较热门的NOSQL系统之一,它是一个key-value存储系统.和Memcache类似,但很大程度补偿了Memcache的不足,它支持存储的value类 ...

  3. Spring Boot 2.0 的快速入门(图文教程)

    摘要: 原创出处 https://www.bysocket.com 「公众号:泥瓦匠BYSocket 」欢迎关注和转载,保留摘要,谢谢! Spring Boot 2.0 的快速入门(图文教程) 大家都 ...

  4. Redis(一):NoSQL入门和概述

    NoSQL入门和概述目录导航: NoSQL入门概述 3V+3高 当下的NoSQL经典应用 NoSQL数据模型简介 NoSQL数据库的四大分类 在分布式数据库中CAP原理CAP+BASE NoSQL 入 ...

  5. redis-3.0.0安装

    redis-3.0.0安装 前言 redis是常用的no-sql数据库,常用于缓存数据,同时,他也可以持久化数据.他是C语言开发的,所以安装的时候需要编译. 单机版redis yum install ...

  6. NoSQL入门)(详细)

    NoSQL入门 (原创:黑小子-余) 1.NoSQL是什么 NoSql(NoSQL=Not Only SQL),意即“不仅仅是SQL”,泛指菲关系型数据库.传统的关系数据库在应付web2.0网站,特别 ...

  7. Redis3.0 配置文件说明

    背景: 以前有篇文章已经结果过了,现在复习一下,对Redis3.0进行说明: 参数说明: #redis.conf # Redis configuration file example. # ./red ...

  8. redis3.0.6安装(linux和windows)

    官网上描述安装方法如下:$ wget http://download.redis.io/releases/redis-3.0.6.tar.gz$ tar xzf redis-3.0.6.tar.gz$ ...

  9. Redis3.0.1 Stable版本的集群部署(Mac)

    本文档基于如下原始文档(CentOS)创建: http://blog.csdn.net/xu470438000/article/details/42971091 修改了一些路径的错误,补全了一些命令执 ...

随机推荐

  1. 权威部门接连下发文件,Panda交易所带你走进区块链概念股

    Panda交易所获悉,7月21日,北京市地方金融监督管理局发文<北京股权交易中心获得首批开展区块链试点建设资格>,文中表示证监会7月7日发布<关于原则同意北京.上海.苏州.浙江.深圳 ...

  2. 华为云亮相QCon2020深圳站,带你体会大厂的云原生玩法与秘诀

    摘要:在QCon全球软件开发大会上,华为云开发者生态总监张全文作为"云原生应用开发实践"专题出品人,携手华为云四位资深技术专家带来精彩分享. 作为当下技术领域最火热的技术趋势之一, ...

  3. 箭头函数this指向问题

    this指向本质 箭头函数this指向的固定化,并不是因为箭头函数内部有绑定this的机制,实际原因是箭头函数根本没有自己的this,导致内部的this就是外层代码块的this.正是因为它没有this ...

  4. Springboot mini - Solon详解(四)- Solon的事务传播机制

    Springboot min -Solon 详解系列文章: Springboot mini - Solon详解(一)- 快速入门 Springboot mini - Solon详解(二)- Solon ...

  5. .net5+nacos+ocelot 配置中心和服务发现实现

    最近一段时间 因公司业务需要,需要使用.net5做一套微服务的接口,使用nacos 做注册中心和配置中心,ocelot做网关. 因为ocelot 支持的是consol和eureka,如果使用nacos ...

  6. Day5 - 03 函数的参数-位置参数和默认参数

    位置参数    调用函数时,传入函数的参数,按照位置顺序依次赋值给函数的参数.#计算乘方的函数                def power(x, n):            s = 1     ...

  7. 二、JMeter的图形界面认识

    JMeter的图形界面认识 JMeter是一个工具,应该去认识它,熟悉它,现在的能力还没达到去优化.改造它能力,所以先花时间熟悉它. JMeter的界面主要分为:菜单栏.工具栏.计划树标签栏.内容栏 ...

  8. bp VNext 入门——让ABP跑起来

    因好多群友@我说,ABP他们简单的了解了下,按照官方的教程一路下来跑不起来(倒在了入门的门口),才有了此文. 此文结合官方文档,一步一步带领大家让ABP跑起来(跨过门口). 建议大家一步一步实际动手操 ...

  9. 浅入 AutoMapper

    目录 浅入 AutoMapper AutoMapper 基本使用 映射配置 映射检查 性能 Profile 配置 依赖注入 表达式与 DTO 浅入 AutoMapper 在 Nuget 搜索即可安装, ...

  10. eclips快捷键

    所谓"工欲善其事必先利其器",程序写多了,对于快捷键总有些特别的偏爱.在众多编辑器中,Eclipse算是用的比较多,也是最熟的. 最常用(也是最爱的:)) Ctrl+' :  自动 ...