NoSQL-Redis入门(一)-阿里云开发者社区

开发者社区> markfork> 正文

NoSQL-Redis入门(一)

简介: 从这篇开始记录Redis相关知识: 1 NoSQL是什么?1.1 NoSQL特性 1.1.1 易扩展 1.1.2 大数据量与高性能1.2 RDBMS vs NoSQL1.
+关注继续查看

从这篇开始记录Redis相关知识:

1 NoSQL是什么?
1.1 NoSQL特性
1.1.1 易扩展
1.1.2 大数据量与高性能
1.2 RDBMS vs NoSQL
1.2.1RDBMS
1.2.1.1 高度组织化结构数据
1.2.1.2 结构化查询语言(SQL)
1.2.1.3 数据和关系都存储在单独的表中
1.2.1.4 数据操纵语言,数据定义语言
1.2.1.5 严格的一致性
1.2.1.6 基础事务
1.2.2 NoSQL
1.2.2.1 代表不仅仅是SQL
1.2.2.2 没有声明性查询语言
1.2.2.3 没有预定义的模式
1.2.2.4 键 - 值对存储,列存储,文档存储,图形数据库
1.2.2.5 最终一致性,而非ACID属性
1.2.2.6 非结构化和不可预知的数据
1.2.2.7 CAP定理
1.2.2.8 高性能,高可用性与可伸缩性
2 NoSQL去哪里下载?
3 NoSQL该怎么玩?
4 3V+3高
5 当下NoSQL经典应用
6 NoSQL数据库的四大分类
7 在分布式数据库中CAP远离CAP+BASE

1.NoSQL是什么?


NoSQL=Not only sql 非关系型数据库
数据库常用类型就是那么几种。随着业务发展,比如说社交网络中数据关系是错综复杂的,比如说你大爷的奶奶的老公的儿子的某某某,这种数据存储在关系型数据库中显然是不太现实的。🈶️比如说横向的扩展一张表中的子段,不停的alter table 以及我数据表中子段有可能达到1000个,这个也不太现实。传统数据库是不能支撑的。
1.1 NoSQL 的特性:

1.1.1 易扩展
NoSQL数据库种类繁多,但是一个共通的特点就是去掉关系型数据库的关系型特性,数据之间无关系,这就非常容易扩展,也无形之间,在架构的层面上带来了可扩展的能力。
1.1.2 大数据量与高性能
一般的MySQL使用Query Cache ,比如说我们常用的Hibernate,MyBatis等,在使用时我们可以使用一级、二级缓存来提高应用的性能, 比如用户在访问使用缓存的应用时,数据是从缓存中读取的。但是在使用传统数据库时,每次表更新之后,原有的Cache就会失效,这是一种大粒度的Cache,一般针对web2.0的交互频繁的应用,cache性能不高。而NoSQL是记录级的,是一种细粒度的Cache,所以NoSQL在这个层面上性能就要高很多了。
Redis:read=8w次/s ,write =11w次/s
NoSQL无需事先为要存储的数据建立字段,随时可以存储自定义的数据格式。而在关系型数据库里,增删字段是一件很恐怖的事情,如果是大数据量的表,增加字段简直是一个噩梦。因为现在数据少,但在生产活动下,是很困难的。

1.2 RDBMS vs NoSQL
在目录上有两者的对比:

RDBMS
高度组织化结构数据
结构化查询语言(SQL)
数据和关系都存储在单独的表中
数据操纵语言,数据定义语言
严格的一致性
基础事务
1.2.2 NoSQL
代表不仅仅是SQL
没有声明性查询语言
没有预定义的模式
键 - 值对存储,列存储,文档存储,图形数据库
最终一致性,而非ACID属性
非结构化和不可预知的数据
CAP定理
高性能,高可用性与可伸缩性
后期再扩展,这块不太懂

顺便说下现在大型互联网公司的应用中缓存使用:
美团Tair
淘宝Redis
论缓存性能Memcache 是高速缓存,性能最强,但是Redis 存储的种类最多,所以相对权重中Redis最强。

2 NoSQL去哪里下载?


Redis下载地址:http://redis.io/download
配置教程:

Mac:http://blog.sina.com.cn/s/blog_62d4d5900101bp7s.html
Windows:http://www.runoob.com/redis/redis-install.html
linux:http://www.linuxdown.net/install/soft/2016/0108/4305.html

3 nosql该怎么玩?


NoSQL 功能:

KV:
Cache:
Persistence:
后期补充

4 3V+3高


3V+3高
大数据时代的3V
海量(Volume)
朋友圈,淘宝双十一,数据量大
多样(Variety)
一条微博图片、文字、背景音乐
实时(Velocity)
比如12306 数据实时,比如说携程定飞机票,其实做不到绝对的实时。
互联网需求的3高
高并发
微信抢红包,12306多用户抢票
高性能
性能要高,数据库容灾备份,keep alive 等。
高可扩
pc内存要大。
纵向扩展:内存条2、4、8G扩充,纵向增长有其限制
横向扩展:多个pc同时运行,对外封装,前方挡着一个7起任务分配与引流作用的负载均衡。

博客搬家:大坤的个人博客
欢迎评论哦~

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
怎么设置阿里云服务器安全组?阿里云安全组规则详细解说
阿里云服务器安全组设置规则分享,阿里云服务器安全组如何放行端口设置教程
6833 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
4393 0
使用OpenApi弹性释放和设置云服务器ECS释放
云服务器ECS的一个重要特性就是按需创建资源。您可以在业务高峰期按需弹性的自定义规则进行资源创建,在完成业务计算的时候释放资源。本篇将提供几个Tips帮助您更加容易和自动化的完成云服务器的释放和弹性设置。
7734 0
windows server 2008阿里云ECS服务器安全设置
最近我们Sinesafe安全公司在为客户使用阿里云ecs服务器做安全的过程中,发现服务器基础安全性都没有做。为了为站长们提供更加有效的安全基础解决方案,我们Sinesafe将对阿里云服务器win2008 系统进行基础安全部署实战过程! 比较重要的几部分 1.
5408 0
阿里云服务器安全组设置内网互通的方法
虽然0.0.0.0/0使用非常方便,但是发现很多同学使用它来做内网互通,这是有安全风险的,实例有可能会在经典网络被内网IP访问到。下面介绍一下四种安全的内网互联设置方法。 购买前请先:领取阿里云幸运券,有很多优惠,可到下文中领取。
9406 0
阿里云服务器远程登录用户名和密码的查询方法
阿里云服务器远程连接登录用户名和密码在哪查看?阿里云服务器默认密码是什么?云服务器系统不同默认用户名不同
401 0
腾讯云服务器 设置ngxin + fastdfs +tomcat 开机自启动
在tomcat中新建一个可以启动的 .sh 脚本文件 /usr/local/tomcat7/bin/ export JAVA_HOME=/usr/local/java/jdk7 export PATH=$JAVA_HOME/bin/:$PATH export CLASSPATH=.
2120 0
+关注
markfork
简介:个人专注后端开发、在MySQL数据库、Java并发编程、有比较深入的学习,平时喜欢研究一些中间件的相关理论及实操、如Redis、Nginx。 愿景:打造个人知识ip 个人博客:markfork.com 个人简书:https://www.jianshu.com/u/c1
60
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载