08-02 底层数据设计策略 - 分库分表,热点热数据隔离

news2024/11/17 11:37:41

关系型数据库的伸缩

读写分离

  • 缓存和搜索引擎本质上也是一种读写分离

  • 在这里插入图片描述

  • 商品是典型的读多写少的场景

  • 在这里插入图片描述

  • 在这里插入图片描述

  • 在这里插入图片描述

  • 在这里插入图片描述

分库分表

略知一二

分表

在这里插入图片描述

分库

在这里插入图片描述

  • 业务量大的数据基本都得使用分库分表,不然单表的数据量大之后,性能太差

数据迁移和扩容

成倍扩容

  • 在这里插入图片描述
  • 直接让备库变为主库,实现二变四。
  • 在这里插入图片描述
  • 扩容成倍增加
  • 在这里插入图片描述

增量存量同步

  • 增量同步,存量迁移
  • 在这里插入图片描述
  • 当数据同步好之后,修改路由表

热点数据

热点数据的隔离方案

  • 把访问频次特别高的数据单独抽取出来
  • 热点商品的特征
    • 数量少
    • 访问频次非常高
    • 存储方案
      • 热点散列
      • 热点库
      • 多级缓存:解决秒杀问题的杀手锏

侦听动态热点

  • 识别热点
    在这里插入图片描述

  • 隔离热点

    • 缓存预热
    • 访问单元隔离
    • 数据隔离
    • 接口隔离
  • 性能优化

    • 缓存
    • 降级熔断
    • 限流

面试题

设计一个支撑XXX并发量的应用,从数据层面有什么要考虑的?

  • 底层数据:读写分离 + 集群扩展、备库、异构 + 分库分表

热点数据怎么防范

  • 预知热点:热点库、本地缓存 + 多级缓存
  • 动态热点:热点数据的侦听(接口参数聚合,日志埋点统计) + 通知送达节点

分库分表之后,业务量增加需要扩容,如何处理

分库分表数据的迁移和扩容(备库转主库,2N扩容)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/517816.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

centos搭建redis并配置redis主从复制

一、gcc环境搭建 1.检查是否有gcc环境: gcc -v#运行命令 gcc -v #如果显示:-bash: gcc: command not found # 表示没有该环境 #如果显示下文,代表有gcc环境 Using built-in specs. COLLECT_GCCgcc COLLECT_LTO_WRAPPER/usr/libexec/gcc/x86_64-redha…

Java中ArrayList的三种构造方法

ArrayList的构造方法 //三种构造方法 ArrayList()// 无参构造 ArrayList(Collection<? extends E> c) //利用其他 Collection 构建 ArrayList ArrayList(int initialCapacity) //指定顺序表初始容量1.无参构造方法 其中elementData是一个成员数组&#xff0c;类型是Ob…

什么是敏捷开发?敏捷开发流程的8个步骤

文章目录 一、什么是敏捷开发&#xff1f;二、敏捷开发模式的分类三、SCRUM 的工作流程四、敏捷开发流程的8个步骤包括&#xff1a;五、敏捷开发模型 一、什么是敏捷开发&#xff1f; 敏捷开发&#xff08;Agile&#xff09;是一种以人为核心、迭代、循序渐进的开发方法。 在…

phpstorm 配置xdebug

目录 配置全局环境 phpstorm 项目xdebug配置 额外补充&#xff1a; 配置全局环境 本地运行命令 php -v, 看是否有Xdebug相关的信息若没有&#xff0c;安装xdebug&#xff0c;以下是mac相关方式&#xff1a; pecl search xdebug 查询&#xff0c;找到之后用 pecl install xdebug…

【企业信息化】第4集 免费开源ERP: Odoo 16 Rental租赁管理系统

文章目录 前言一、概览二、使用功能1.提高出租效率2.产品 & 价格3.销售订单4.跟进5.报告6.集成 三、总结 前言 唯一可以满足您所有需求的租赁软件 从时间安排到开具发票。 您的所有租赁流程都集中在一处。 一、概览 从租金报价到发票 从一处管理所有事务。 从一个视图创建您…

强力推荐,两款Excel插件,极致好用,让你秒变高手

Excel是我们日常生活工作中应用最多、业界最标准的表格软件。 由于Excel的用户数量非常庞大&#xff0c;在社区支持方面非常丰富&#xff0c;用户可以轻松地找到各种教程和解决方案。 虽然Excel很功能已经成熟&#xff0c;但自身也存在一定的局限性&#xff0c;很多用户在网上…

git仓库新建项目第一次推送代码流程记录

git仓库新建项目第一次推送代码流程记录 换了个坑之后,公司改用SVN管理代码,隔了好长时间没用git,突然又捡起来,有点懵逼,简单记录一下。 电脑安装git之后,在项目父文件夹处,右键选择“Git Bash Here”打开git小黑窗。 在gti后台创建新项目目录之后,如果是空的项目,…

洛谷P1909-买铅笔

洛谷P1909-买铅笔 大家来看一道简单的题&#xff0c;第一次写的时候我过了一半&#xff0c;看了半天自己的代码&#xff0c;还感觉没问题&#xff0c;还是学艺不精啊 先看题目 #include <iostream> using namespace std; int n;//要买的铅笔数 int n1,m1; int n2,m2; i…

(数字图像处理MATLAB+Python)第八章图像复原-第一节:图像复原概述

文章目录 一&#xff1a;图像复原概述二&#xff1a;图像退化模型&#xff08;1&#xff09;连续退化模型&#xff08;2&#xff09;离散退化模型 三&#xff1a;图像退化函数的估计&#xff08;1&#xff09;基于模型的估计法&#xff08;2&#xff09;运动模糊退化估计 一&am…

(双指针)leetcode11. 盛最多水的容器

文章目录 一、题目1、题目描述2、基础框架3、原题链接 二、解题报告1、思路分析2、时间复杂度3、代码详解 三、本题小知识 一、题目 1、题目描述 给定一个长度为 n 的整数数组 height 。有 n 条垂线&#xff0c;第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。 找出其中…

win10系统ssh连接阿里云linux服务器并传输文件教程

前言 因为业务需要&#xff0c;最近搞了一台linux的阿里云服务器&#xff0c;现在要连接阿里云服务器。 之前没有玩过这种云服务器&#xff0c;两眼一抹黑&#xff0c;在网上搜索资料也比较少&#xff0c;所以写篇博客记录一下连接的步骤&#xff0c;以防止忘记。 SSH命令行…

如何使用Nodejs搭建HTTP服务,实现公网远程访问「内网穿透」

文章目录 前言1.安装Node.js环境2.创建node.js服务3. 访问node.js 服务4.内网穿透4.1 安装配置cpolar内网穿透4.2 创建隧道映射本地端口 5.固定公网地址 转载自内网穿透工具的文章&#xff1a;使用Nodejs搭建HTTP服务&#xff0c;并实现公网远程访问「内网穿透」 前言 Node.js…

Linux 之 yum使用(yum 命令使用讲解)

一、yum介绍 Yum(全称为 Yellow dogUpdater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理&#xff0c;能够从指定的服务器自动下载RPM包并且安装&#xff0c;可以自动处理依赖性关系&#xff0c;并且一次安装所有依赖的软件包&#x…

优思学院|何时应该使用8D方法?

8D&#xff08;Eight Disciplines&#xff09;过程是一种用于问题解决和改进的方法&#xff0c;其包含8个步骤。 D0是准备8D过程的阶段&#xff0c;其作用在于帮助我们判断是否需要使用8D来解决问题。如果问题的根本原因明显&#xff0c;可以通过直接采取措施来解决异常&#…

基于turtlebot3实现SLAM建图及自主导航仿真

一、turtlebot3依赖安装 1、安装turtlebot3 sudo apt-get install ros-noetic-turtlebot3-* //安装gmapping建图算法依赖 apt-get install ros-noetic-gmapping //安装dwa局部路径规划算法 apt-get install ros-noetic-dwa-local-planner 2、安装键盘依赖 sudo apt-get insta…

别再手动一个个添加了。使用While循环控制器轻松遍历获取文件参数

目录 测试环境 应用 实现单线程在单次迭代内遍历获取文件参数 软件测试学习心得分享 一、最后这里详细的给大家说下&#xff0c;对于0基础的朋友&#xff0c;应该怎么去学习软件测试。 二、自学软件测试需要多久&#xff1f;&#xff08;从真正的零基础到找到软件测试的工…

设计原则之【接口隔离原则】,我只做我能做的事

文章目录 一、什么是接口隔离原则二、实例三、总结接口隔离原则与单一职责原则的区别 一、什么是接口隔离原则 接口隔离原则&#xff08;Interface Segregation Principle, ISP&#xff09;是指用多个专门的接口&#xff0c;而不使用单一的总接口&#xff0c;客户端不应该依赖…

OpenDDS安装环境构建+Demo实践(自己动手写一个)

此文用于辅助构建类似于OpenDDS\DevGuideExamples\DCPS\Messenger的Demo示例 OpenDDS安装环境构建Demo实践&#xff08;自己动手写一个&#xff09; 本文相关参考资料OpenDDS安装环境构建参考博客 Demo上手实践&#xff08;依赖于Windows下的OpenDDS环境&#xff09;OpenDDS安…

Android中常见的内存优化及内存泄露场景

避免内存泄露的关键是及时释放不再需要的资源,特别是生命周期较长的资源。在Activity和Fragment的生命周期方法中释放这些资源,如onDestroy()方法中释放线程、集合等引用,避免这些资源的生命周期过长导致内存泄露。 Android内存优化主要有以下几个方面: 合理设置应用的minSdk…

身为企业管理者,必须了解的财务知识

财务管理工作是企业管理工作中的核心内容&#xff0c;也是企业管理工作中的难点内容&#xff0c;对于集团企业来讲更是任务艰巨而又问题频出。然而&#xff0c;信息时代的来临为解决和完善企业财务管理问题提供了新思路&#xff0c;就集团企业而言&#xff0c;财务管理信息化基…