本文比较重要的概念:NoSQL(及它的优点) Redis(及它的优点)
- NoSQL(Not Only SQL)
NoSQL:
在互联网中作用很大,可以在很大程度上提高互联网系统的性能。具备一定持久层的功能,也可以作为一种缓存工具
注释:
Redis缓存:
是一个开源的使用ANSIC语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API
对于NoSQL数据库而言,作为持久层,它存储的数据使半结构化的,这意味着计算机在读入内存中有更少的规则,读入速度更快。对于那些结构化、多范式规则的数据库系统而言,它更具性能优势。
作为缓存,它可以支持大数据存入内存中,只要命中率高,它就能快速响应,因为在内存中的数据读/写比数据库读/写磁盘的速度快几十到上百倍
注释:
半结构化:
数据分类——结构化数据、非结构化数据、半结构化数据
半结构化是结构化的数据,但是结构变化很大。因为我们要了解数据的细节所以不能将数据简单的组织成一个文件按照非结构化数据处理,由于结构变化很大也不能够简单的建立一个表和他对应。本文主要讨论针对半结构化数据存储常用的两种方式。
书本原文 划重点
NoSQL的作用
对于常用数据,第一次从数据库读出,然后就存放在NoSQL中,这样以后就无需访问数据库,只需从NoSQL中读出即可,性能就会比数据库快得多
对于那些高并发的操作,可以在NoSQL上先完成写入,等待某一个时刻再批量写入数据库,这样就能满足系统的性能要求了
注释:
数据库范式:
设计关系数据库时,遵从不同的规范要求,设计出合理的关系型数据库,这些不同的规范要求被称为不同的范式,各种范式呈递次规范,越高的范式数据库冗余越小。目前关系数据库有六种范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、巴斯-科德范式(BCNF)、第四范式(4NF)和第五范式(5NF,又称完美范式)。
- NoSQL作为缓存工具,具有高性能、高响应等功能
- 当前Redis已经成为主要的NoSQL工具
- Redis是当前互联网世界最为流行的NoSQL
Redis的优点:
·响应快速(响应速度远超数据库,有效提高系统性能)
·支持6种数据类型(字符串[可以存储Java基础数据类型]、哈希结构[可以存储对象]、列表[可以存储List对象]、集合、可排序集合、基数)(两大好处:满足存储各种数据结构体的需要和读/写速度更快)
·操作都是原子的(在需要高并发的场合可以考虑使用Redis的事务,处理一些需要锁的业务)
·MultiUtility工具(可以再如缓存、消息传递队列中使用,在应用程序如Web应用程序会话、网站页面点击数等任何短暂的数据使用)
- 总结
书本原文 划重点
一方面,使用NoSQL从数据库中读取数据进行缓存,就可以从内存中读取数据了,而不像数据库一样读磁盘
另一方面,它也能满足互联网高并发需要告诉处理数据的场合,比如抢红包、商品秒杀等场景,这些场合需要高速处理,并保证并发数据安全和一致性