NOSQL学习总结

这篇博客总结了NOSQL的学习要点,包括MySQL的扩展性问题、NoSQL的出现原因、特性以及优势,如易扩展性、大数据量高性能、多样灵活的数据模型。文章还探讨了NoSQL数据模型的分类,并触及了分布式数据库的CAP原理。
摘要由CSDN通过智能技术生成

摘要:本篇主要是对之前自学的NOSQL的相关知识进行了一下总结,博主其实一开始学习NOSQL是为学习Redis和Memcached做准备的,本篇博客主要是博主根据尚硅谷Redis视频教程的思维导图课件内容和CSDN知识库等相关论坛的知识点来总结的,希望对部分程序猿们有点帮助。

一、MySQL

1.MySQL时代

早年,一般网站访问量都不会太大,基本上单个简单的数据库就能解决一般的数据反问问题。那时基本更多的网站都是以静态网页的样子存在,数据动态交互的网站不是太多。

以下为这种方式的通用架构(图片来源为尚硅谷Redis教程,下同):

A pp DAL Mysql Instance

在上图结构下,在数据存储上会出现那些瓶颈

1.一台机器无法满足网站数据的总大小

2.一台机器无定法存下数据的索引(B+ Tree)时

3.访问量(读写混合)一个实例不能承受

 

2 Memcached(缓存)+MySQL+垂直拆分

伴随国内互联网市场的成熟,用户也开始增加,相应的访问量也开始上升,在之前采用MySQL架构的网站几乎大部分在数据库处理反面出现了性能问题,web程序不单单专注于功能上,同时也开始去追求程序性能。这时便开始大量采用缓存的技术来缓解数据库方面的压力,优化数据库的结构和索引。最初一般公司比较流行通过文件缓存来缓解数据库压力,但伴随着访问量持续增加,多台web机器通过文件缓存不能共享,其中机器大量缓存文件也带来了比较高的IO压力。这时,Memcached就以救世主的姿态出现成为一时非常流行的技术产品。

Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。

 

App DAL Cache Business 1 /Ofo Mysql Instance Mysql Instance Mysql Instance

Memcached其作为一个独立的分布式的缓存服务器,同时给多个web服务器提供一个共享的高性能缓存服务,在Memcached服务器的基础上,又发展了根据hash算法来进行多台Memcached缓存服务的扩展,然后又出现了一致性hash来解决增加或减少缓存服务器导致重新hash带来的大量缓存失效的弊端


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值