NoSQL的简要概述

本文介绍了关系型数据库在高并发场景下的性能瓶颈,提出了通过读写分离、缓存、主从复制等方法来缓解问题,但这些并未根本解决性能问题。接着,文章转向NoSQL数据库,阐述了其非关系型、高效率、灵活数据关系的特点,以及键值、列存储、文档型和图形四种分类。NoSQL适合处理大规模数据和web2.0网站,提供了新的解决方案。
摘要由CSDN通过智能技术生成

关系型数据库的架构演变

  1. 单机mysql

    在低数据量的访问时,我们使用单个的MySQL就可以满足我们的数据访问要求。

    比如个人博客系统,后台管理系统等,我们同时在线使用的人数不多并且并发访问数量极低。

    而且我们存储的数据量少,一个简单的MySQL服务已经足够满足我们的需求。

  2. 缓存+业务垂直分离

    随着访问量的增加,高并发下的数据访问量使得我们单一的应用无法支撑高流量下的并发访问,同时,对数据库的频繁访问导致数据库性能满足不了业务需求。

    为了解决应用程序上的瓶颈,将业务进行模块化开发,分别部署在不同的服务器上对业务需求进行支撑。

    对于数据库的性能瓶颈,采用在数据库层之上加上一层缓存(Memcached),这样的方式来减少对数据库的访问次数。从而实现数据访问性能的提高。

  3. 主从数据库,读写分离

    但是缓存的方式下数据库的性能瓶颈并没有本质上解决,它充其量只是减少对数据库的直接访问量。

    为了真正的解决这一问题,我们利用主从复制的方法,设置一个主数据库(master)和一个从数据库(slave),其中主数据库只负责写操作,从数据库只负责读操作,主从数据库之间的同步使用主从复制方法来进行实现,它会有一定时间的延迟,对于实时响应要求高的业务不是很友好。

    同时,为了进一步的增强数据库层次的性能,还可以配置一主多从数据库,这个时候需要利用负载均衡对读操作进行转发。也可以配置多主多从数据库,因为有多个地方可以执行写操作,需要配置我们的分布式锁来保证我们数据的一致性。

    而对于主从数据库的实现,我们可以采用配置多数据源的方法来进行实现,但同时,也有第三方MyCat等为我们提供了方便的操作,我们只需要配置MyCat并且应用中的数据库配置为Mycat的地址,就可以忽略主从数据库之间的差异,这个时候(对于我们来说和传统一个数据库无区别)。

  4. 分库分表,MySQL集群

    在读写分离之后,数据库的性能确

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值