nosql

Redis学习一:Nosql入门和概述

一世执手 提交于 2019-12-30 01:38:56
现在Redis越来越火,为了适应技术的发展,开始学习一下Redis,在学习Redis之前先学习一下Nosql。 第一部分:入门概述 1.1 互联网时代背景下大机遇,为什么用nosql 1.1.1 单机Mysql的美好年代(好几年前) 当时的业务很相对简单,就是JSP--->Action---->Service---->DAO----->数据库,数据库也就是一个实例而已,无论是Mysql还是Oracle。把这五层缩减为三层的话便是:应用层------>DAO层------>Mysql实例。 以前一个网站的访问量一般不大,用单个数据库可以轻松应付。但是随着时代的发展,上述数据存储遇到了存储的瓶颈: 1) 数据量的总大小,一个机器放不下时(以Mysql为例,单表存储大概三百多万的数据的时候DBA就该进行预警并优化分割了) 2) 数据的索引(B+Tree),一个机器的内存放不下时(众所周知,为表建立索引也是需要消耗内存的,当我们所建立的索引内存盛不下时) 3) 访问量(读写混合)一个实例不能承受 1.1.2 Memcached(缓存)+MySQL+垂直拆分 后来,随着访问量的上升,几乎大部分使用MySQL架构的网站在数据库上都开始出现了性能问题,web程序不再仅仅专注在功能上,同时也在追求性能。程序员们开始大量的使用缓存技术来缓解数据库的压力,优化数据库的结构和索引

NoSQL你知多少?

喜夏-厌秋 提交于 2019-12-30 01:38:38
1.NoSQL是什么?   NoSQL 是 Not Only SQL 的缩写,意即"不仅仅是SQL"的意思,泛指非关系型的数据库。强调Key-Value Stores和文档数据库的优点,而不是单纯的反对RDBMS。   NoSQL产品是传统关系型数据库的功能阉割版本,通过减少用不到或很少用的功能,来大幅度提高产品性能 2.NoSQL是怎么产生的?   随着web2.0技术的发展,其促使了物联网和移动互联网迅猛发展。传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的 SNS 类型的web2.0纯 动态网 站已经显得力不从心,暴露了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。   NoSQL数据库的产生就是为了解决大规模数据集合多重数据种类带来的挑战,尤其是大数据应用难题。 3.NoSQL的特点: 模式自由:NoSQL数据库不像传统的关系型数据库需要定义数据库,数据表等结构才可以存取数据,其在增删数据时不需要做数据的完整性检查。数据表中的每一条记录都可能有不同的属性和格式。 逆范式化:为了减少数据冗余,增强数据一致性,在关系型数据库设计时,要遵循 范式 要求,数据表至少要满足第三范式。这样多个表之间建立各种关联关系就不容易数据库的横向扩展;并且这些连接操作也会降低数据库的查询效率。而NoSQL数据库去除约束,放宽事务保障

NoSQL概述

耗尽温柔 提交于 2019-12-30 01:38:19
NoSql数据库四大分类 键值存储 列存储 文档数据库 图形数据库 NoSQL的特点 易扩展 灵活的数据模型 大数据量,高性能 高可用 Redis 读10w/s 写8w/s Redis的应用场景 缓存 任务队列 网站访问统计 应用排行榜 数据过期处理 分布式集群架构中的session分离 来源: https://www.cnblogs.com/Roni-i/p/10802222.html

NOsql总结

安稳与你 提交于 2019-12-30 01:38:09
NOsql总结 1、存储: 任意格式的数据:值对存储,列存储,文档存储,图形数据库 灵活的表结构支持:类型动态、scheme动态; 灵活的存储形式:列存储; 弱关系:NoSQL数据库种类繁多,但是一个共同的特点都是去掉关系数据库的关系型特性。数据之间无关系,这样就非常容易扩展。也无形之间,在架构的层面上带来了可扩展的能力 相对于sql,没有严格的数据结构要求和格式要求; https://www.cnblogs.com/12yang-ting/p/7494122.html 2、查询语言: 1、linq、有限的查询功能(到目前为止) 2、定制化的查询 不支持复杂查询 例如join查询,如果需要join查询,需要多次操作数据库 MongonDB还是支持多文档事务的Consistency(一致性)和Durability(持久性) 3、IO性能: 高 4、并发控制 最终一致性 mvcc 相比传统关系型数据库,文档数据库的缺点主要是对多条数据记录的事务支持较弱,具体体现如下: Atomicity(原子性) 仅支持单行/文档级原子性,不支持多行、多文档、多语句原子性 Isolation(隔离性) 隔离级别仅支持已提交读(Read committed)级别,可能导致不可重复读,幻读的问题 不支持复杂查询 例如join查询,如果需要join查询,需要多次操作数据库

redis基础_NOSQL介绍

|▌冷眼眸甩不掉的悲伤 提交于 2019-12-30 01:37:37
1、NOSQL概念   即Not Only SQL 不仅仅是SQL。是一种全新的数据库概念,泛指非关系型数据库。 2、为什么需要NoSQL   目前互联网的`三高`:      1、高负载        短时间内要操作大量的数据,对比以前得简单增删改查,现在很多的项目都包含的太多的东西,买东西送券,这个积分那个积分,以及其他经验值什么的。这就是高负载。     2、高并发        短时间内接受大量的请求,最简单的例子就是每年电商平台指定时间的促销打折。如淘宝的双十一当晚。     3、高可拓展        顾名思义就是系统的拓展性要非常高。   3、NoSQL数据库的四大分类     1、键值储存数数据库       相关产品: Redis 、Tokyo Cabinet等       典型应用:内容缓存,主要用于对处理大量数据的高访问负载       数据模型:一系列键值对       优势:存储的数据缺少结构化     2、列存储数据库       相关产品:Cassandra, HBase ,Riak       典型应用:分布式文件系统       数据模型:以列簇式存储,将用同一系列数据存放在一起。       优势:查找速度快,可拓展性强,更容易进行分布式拓展       劣势:功能相对局限     3、文档性数据库        相关产品: MongoDB

分布式系统的CAP(Redis)

喜你入骨 提交于 2019-12-30 01:37:04
CAP理论就是说在分布式存储系统中,最多只能实现上面的两点。 而由于当前的网络硬件肯定会出现延迟丢包等问题,所以 分区容忍性是我们必须需要实现的。 所以我们只能在一致性和可用性之间进行权衡,没有NoSQL系统能同时保证这三点。 ======================================================================================================================= C:强一致性 A:高可用性 P:分布式容忍性 CA 传统Oracle数据库 AP 大多数网站架构的选择 CP Redis、Mongodb 注意:分布式架构的时候必须做出取舍。 一致性和可用性之间取一个平衡。多余大多数web应用,其实并不需要强一致性。 因此牺牲C换取P,这是目前分布式数据库产品的方向 ======================================================================================================================= 一致性与可用性的决择 对于web2.0网站来说,关系数据库的很多主要特性却往往无用武之地 数据库事务一致性需求   很多web实时系统并不要求严格的数据库事务,对读一致性的要求很低,

Redis(一):NoSQL入门和概述

醉酒当歌 提交于 2019-12-30 01:36:43
NoSQL入门和概述目录导航: NoSQL入门概述 3V+3高 当下的NoSQL经典应用 NoSQL数据模型简介 NoSQL数据库的四大分类 在分布式数据库中CAP原理CAP+BASE NoSQL 入门概述 互联网时代背景下的大机遇,为什么用NoSQL 单机MySQL的美好年代 在90年代,一个网站的访问量一般都不大,用单个数据库完全可以轻松应付。在那个时候,更多的都是静态网页,动态交互类型的网站不多。 上述架构下,我们来看看数据存储的瓶颈是什么? 数据量的总大小,一个机器放不下时 数据的索引(B+ Tree)一个机器的内存放不下时 访问量(读写混合)一个实例不能承受 如过满足了上述1 or 3个,需要进化... Memcached(缓存)+ MySQL + 垂直拆分 后来,随着访问量的上升,几乎大部分使用MySQL架构的网站在数据库上都开始出现了性能问题,web程序不再仅仅专注在功能上,同时也在追求性能。程序员们开始大量的使 用缓存技术来缓解数据库的压力,优化数据库的结构和索引。开始比较流行的是通过文件缓存来缓解数据库压力,但是当访问量继续增大的时候,多台web机器通过文件缓存不能 共享,大量的小文件缓存也带了了比较高的IO压力。在这个时候,Memcached就自然的成为一个非常时尚的技术产品。 Memcached作为一个独立的分布式的缓存服务器

尚硅谷redis学习1-NOSQL简介2

你说的曾经没有我的故事 提交于 2019-12-30 01:36:24
   NoSql数据模型简介   聚合模型:KV键值,BSON   列族:   图形,这里的图形不是指真正的图形,而是关系图    NoSql数据库的四大分类   KV键值:BerkeleyDB,Redis,tair,memcache   文档型数据库:couchDB,mongoDB   列存储数据库:Cassandra,HBase,分布式文件系统   图关系数据库:Neo4J,InfoGrid   对比:    分布式数据库的CAP+BASE   传统的ACID:A(atom icity):原子性 C(Consistency):一致性 I(Isolation):独立性 D(Durability):持久性   CAP:C(Consistency):强一致性;A(Availability):可用性;P(Patition Tolerance):分区容错性    CAP3进2:   CAP理论就是说在分布式存储系统中,最多只能实现上面的两点。   而由于当前的网络硬件肯定会出现延迟丢包等问题,所以   分区容忍性是我们必须需要实现的。   所以我们只能在一致性和可用性之间进行权衡,没有NoSQL系统能同时保证这三点。 ======================================================================================

1.NoSQL入门和概述

陌路散爱 提交于 2019-12-30 01:35:53
入门概述: 1.为什么要用到NoSQL   a) 单机MySQL的美好年代,在90年代,一个网站的访问量一般都不大,用单个数据库完全可以轻松应付。在那个时候,更多的都是静态网页,动态交互类型的网站不多。   上述架构下,我们来看看数据存储的瓶颈是什么?   1.数据量的总大小 一个机器放不下时   2.数据的索引(B+ Tree)一个机器的内存放不下时   3.访问量(读写混合)一个实例不能承受    如果满足了上述1 or 3个,进化......   b) Memcached(缓存)+MySQL+垂直拆分,后来,随着访问量的上升,几乎大部分使用MySQL架构的网站在数据库上都开始出现了性能问题,web程序不再仅仅专注在功能上,同时也在追求性能。程序员们开始大量的使用缓存技术来缓解数据库的压力,优化数据库的结构和索引。开始比较流行的是通过文件缓存来缓解数据库压力,但是当访问量继续增大的时候,多台web机器通过文件缓存不能共享,大量的小文件缓存也带了了比较高的IO压力。在这个时候,Memcached就自然的成为一个非常时尚的技术产品。    Memcached作为一个独立的分布式的缓存服务器,为多个web服务器提供了一个共享的高性能缓存服务,在Memcached服务器上,又发展了根据hash算法来进行多台Memcached缓存服务的扩展

Redis使用

霸气de小男生 提交于 2019-12-30 01:25:19
NoSQL特点:   在大数据存取上具备关系型数据库无法比拟的性能优势:   1.易扩展     NoSQL数据库种类繁多,但是一个共同的特点都是去掉关系数据库的关系型特性。数据之间无关系,这样就非常容易扩展。也无形之间,在架构的层面上带来了可扩展的能力。   2.大数据量,高性能     NoSQL 数据库都具有非常高的读写性能,尤其在大数据量下,同样表现优秀。这得益于它的无关系性,数据库的结构简单。   3.灵活的数据模型     NoSQL 无需事先为要存储的数据建立字段,随时可以存储自定义的数据格式。而在关系数据库里,增删字段是一件非常麻烦的事情。如果是非常大数据量的表,增加字段简直就是一个噩梦。这点在大数据量的Web2.0时代尤其明显。   4.高可用     NoSQL 在不太影响性能的情况,就可以方便的实现高可用的架构。   综上所述,NoSQL的非关系特性使其成为了后Web2.0时代的宠儿,助力大型Web2.0网站的再次起飞。是一项全新的数据库革命性运动。 1.什么是Redis?   Redis是用C语言开发的一个开源的高性能 键值对 (key-value)数据库。它通过提供多种键值数据类型来适应不同场景下的存储需求,目前为止 Redis支持的键值数据类型如下:   1.字符串类型   2.散列类型   3.列表类型   4.集合类型   5.有序集合类型 2