Redis与Mysql区别

Redis与Mysql区别_第1张图片一、关系型数据库

 

mysql,pgsql,oracle ,sqlserver 支持连表关联查询(会有一些特定的语法特特性)

 

二、非关系型数据库

redis,mongodb,memcache (key-value)

 

三、关系型数据库与非关系型数据库的区别:

1)关系型数据库:表和表之间有关联关系,支持连表查询,关联查询,数据存储在次哦按

2)非关系型数据库不支持,只是键值对存储方式,数据存储在内存,读写快

 

区别:sql与nosql,内存数据库与非内存数据库

 

四、Redis内存数据库

redis ,memcache

Redis:qps大概都为10W条/s

1个redis服务只能占用一核cpu(为单线程)

 

性能方面:磁盘io瓶颈,内存越大,性能越高,CPU

sas ssd pcie卡ssd

 

五、如何选择数据库配置

30万磁盘iops,ssd 3-5万 ,磁盘吞吐 400MB/S

压测指标;更多的是参考意义(指标都是各公司对外公布的数据,特定条件或者资源下才可达到)

sysbench:磁盘io,内存,数据库等等压测

 

内存数据库;redis,顾名思义就是数据放在内存的,

1G redis QPS 理论10万+ 10Gredis 还是10万+,cpu性能,

一个redis 只能占用一核cpu

 

六、redis数据都在内存,重启会不会丢?

1、Redis带有两种数据持久化方式

1)一种是全备,定期命令:bgsave——>rdb(磁盘物理备份)

重启后,能到对应的节点,重新加载rdb文件

2)一种aof日志(拓展文件)

重启aof日志文件,重新加载

 

2、架构层面:

1)主从:主挂了,从库会往上推,推到主库(架构层面能保证服务的可用性)

2)集群

 

mysql redis 微博:

redis 只做缓存,需要做持久化的,一般是落在mysql层

redis一般也用来做mysql上层缓存层

游戏行业redis数据裸盘,最终——mysql

 

七、mysql 两大特大型

1、OLTP实时性(连接数处理)——交易完成(事务处理)

2、OLAP数据量分析:计算分析结果(事务分析)

3、mysql更擅长oltp,数据量不大时也可olap,Oracle更擅长olap

 

八、存储引擎的变化

5.1以前默认的myisam引擎,5.5以后默认的innodb

myisam 非事务引擎,表锁

innodb 事务引擎,行锁

是否支持事务

事务会有完整性(譬如:物流没完整送货,需要退货,一直到第一步骤)

你可能感兴趣的:(redis)