热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

redis——数据库发展

redis——数据库发展为什么要用nosql

redis——数据库发展


为什么要用nosql


1.单机mysql年代(数据量小)

redis——数据库发展 - 文章图片

这时候网站出现的瓶颈是什么?
1.数据量如果太大,一个机器放不下
2.数据的索引,一个机器内存也放不下
3.访问量(读写混合),一个服务器承受不了
只要你开始出现上面的情况,数据库必须要升级

2.Memcached(缓存)+mysql+垂直拆分(读写分离)

网站80%的情况都是在读,每次都要去查询数据库,很麻烦。为了减轻数据的压力,我们可以使用缓存来提高效率
发展过程:优化数据结构和索引---->文件缓存(IO)---->Memcashed(当时热门技术)

redis——数据库发展 - 文章图片

3.分库分表+水平拆分+MySql集群


本质:数据库(读,写)

redis——数据库发展 - 文章图片

4.现在

2010-2020十年之间,世界已经发生了巨变。(定位,音乐,热榜)
mysql等关系型数据库不够用!数据量很大,变化很快!
mysql有的使用它来存储一些比较大的文件,博客,图片!数据库表很大,效率很低!如果有一种数据库来专门处理这种数据
mysql压力就变得十分小(研究这些问题)

redis——数据库发展 - 文章图片

为什么用nosql

用户个人信息,社交网络,地理位置,用户自己产生的数据,用户日志等等爆发式增长
这时候我们需要使用NoSql数据库。

什么是NoSql

NoSQl=Not Only Sql (不仅仅是sql)
关系型数据库:表格,行,列
泛指非关系型数据库。超大规模的高并发。

NoSql特点

解耦

1.方便扩展(数据之间没有关系,很好扩展)

2.大数据量高性能(redis一秒钟写8万次,读11万次,缓存记录级,是一种细粒度的缓存,高性能)

3.数据类型是多样的!(不用设计数据库,随取随用)

4.传统RDBMS和NoSQL

redis——数据库发展 - 文章图片

3V+3高

3V 1.海量Velume
2.多样Variety
3.实时Velocity
3高 1.高并发
2.高可扩
3.高性能

公司实践,RDBMS+nosql一起使用的。

阿里架构发展史

redis——数据库发展 - 文章图片

![](https://www.icode9.com/i/l/?n=20&i=blog/2298258/202102/2298258-20210213185305460-1843793906.png

架构师:没有什么加一层是解决不了的

1.商品的基本信息
名称、价格、商家信息
关系型数据库可以解决 MySql/Oracle


推荐阅读
  • 优化Flask应用的并发处理:解决Mysql连接过多问题
    本文探讨了在Flask应用中通过优化后端架构来应对高并发请求,特别是针对Mysql 'too many connections' 错误的解决方案。我们将介绍如何利用Redis缓存、Gunicorn多进程和Celery异步任务队列来提升系统的性能和稳定性。 ... [详细]
  • 本文深入探讨了MySQL中常见的面试问题,包括事务隔离级别、存储引擎选择、索引结构及优化等关键知识点。通过详细解析,帮助读者在面对BAT等大厂面试时更加从容。 ... [详细]
  • 本文探讨了Web开发与游戏开发之间的主要区别,旨在帮助开发者更好地理解两种开发领域的特性和需求。文章基于作者的实际经验和网络资料整理而成。 ... [详细]
  • 本文将详细介绍如何在ThinkPHP6框架中实现多数据库的部署,包括读写分离的策略,以及如何通过负载均衡和MySQL同步技术优化数据库性能。 ... [详细]
  • 成为一名高效的Java架构师不仅需要掌握高级Java编程技巧,还需深入理解JVM的工作原理及其优化方法。此外,对池技术(包括对象池、连接池和线程池)的应用、多线程处理、集合对象的内部机制、以及常用的数据结构和算法的精通也是必不可少的。同时,熟悉Linux操作系统、TCP/IP协议栈、HTTP协议等基础知识,对于构建高效稳定的系统同样重要。 ... [详细]
  • 本文介绍了数据库体系的基础知识,涵盖关系型数据库(如MySQL)和非关系型数据库(如MongoDB)的基本操作及高级功能。通过三个阶段的学习路径——基础、优化和部署,帮助读者全面掌握数据库的使用和管理。 ... [详细]
  • 本文介绍了一个基于 Java SpringMVC 和 SSM 框架的综合系统,涵盖了操作日志记录、文件管理、头像编辑、权限控制、以及多种技术集成如 Shiro、Redis 等,旨在提供一个高效且功能丰富的开发平台。 ... [详细]
  • 前言无论是对于刚入行工作还是已经工作几年的java开发者来说,面试求职始终是你需要直面的一件事情。首先梳理自己的知识体系,针对性准备,会有事半功倍的效果。我们往往会把重点放在技术上 ... [详细]
  • 本文提供了一套实用的方法论,旨在帮助开发者构建能够应对高并发请求且易于扩展的Web服务。内容涵盖了服务器架构、数据库管理、缓存策略以及异步处理等多个方面。 ... [详细]
  • 在分布式系统中,当多个服务器共同提供服务时,如何高效地将请求路由到正确的服务器是一个关键问题。传统的方法如简单哈希取模在服务器数量变化时会导致大量数据迁移。本文探讨了一致性哈希算法如何有效解决这一问题,确保系统的稳定性和高效性。 ... [详细]
  • 深入理解Redis的数据结构与对象系统
    本文详细探讨了Redis中的数据结构和对象系统的实现,包括字符串、列表、集合、哈希表和有序集合等五种核心对象类型,以及它们所使用的底层数据结构。通过分析源码和相关文献,帮助读者更好地理解Redis的设计原理。 ... [详细]
  • 通过Web界面管理Linux日志的解决方案
    本指南介绍了一种利用rsyslog、MariaDB和LogAnalyzer搭建集中式日志管理平台的方法,使用户可以通过Web界面查看和分析Linux系统的日志记录。此方案不仅适用于服务器环境,还提供了详细的步骤来确保系统的稳定性和安全性。 ... [详细]
  • 本文探讨了2012年4月期间,淘宝在技术架构上的关键数据和发展历程。涵盖了从早期PHP到Java的转型,以及在分布式计算、存储和网络流量管理方面的创新。 ... [详细]
  • 本文详细介绍如何利用已搭建的LAMP(Linux、Apache、MySQL、PHP)环境,快速创建一个基于WordPress的内容管理系统(CMS)。WordPress是一款流行的开源博客平台,适用于个人或小型团队使用。 ... [详细]
  • 深入解析MySQL查询优化:特定类型查询的高级策略
    本文详细探讨了MySQL中特定类型查询的优化方法,包括COUNT()查询、关联查询、LIMIT分页及UNION查询的优化技巧,旨在提高数据库查询效率。 ... [详细]
author-avatar
xiaoyuhongzi
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有