当前位置: 首页 > news >正文

关于数据库和分库分表

基础应用

  • “为什么要对MySQL进行分库分表?你们是按照什么维度分的?(例如:用户ID)”

深入原理

  • “分库分表之后,你们是怎么处理全局唯一ID的?(Snowflake算法等)”

  • “分库分表后的查询(比如非分片键查询)怎么处理?”

一、基础应用

1.“为什么要对MySQL进行分库分表?你们是按照什么维度分的?(例如:用户ID)”

因为现在的业务发展和用户量增加,单个数据库实例无法承受大量并发请求和数据存储压力。

因此需要分库分表来提升系统性能和可扩展性。

使用用户ID来分,对用户ID进行哈希,将不同用户的数据分散到不同的数据库实例中,

二、深入原理

1.“分库分表之后,你们是怎么处理全局唯一ID的?(Snowflake算法等)”

简单来说,我们使用的是Snowflake算法来生成全局唯一ID。

就是给每个服务分配一个不同的机器ID,比如用户服务是1,视频服务是2这样。然后通过时间戳、机器ID和序列号组合起来生成一个64位的ID。这样即保证了全局唯一,又避免了不同服务之间的ID冲突。

而且这个ID还是递增的,对数据库性能友好。我们就是在用户注册或者发布视频的时候,用这个算法自动生成ID的。

2.“分库分表后的查询(比如非分片键查询)怎么处理?”

我们主要采用了全局索引表方式处理。

比如用户登录时,用户可能通过用户名或邮箱登录,但我们是按用户ID分片的。这时候我们会先查全局索引表找到用户ID,再通过用户ID去对应的分片查询用户详细信息。

http://www.dtcms.com/a/516081.html

相关文章:

  • 服务器和网站空间云端设计高端网站建设
  • yolo v11 pose 推理部署实战 2025
  • 设计模式之:装饰器模式
  • 用户态和内核态切换开销详解(了解即可)
  • Android触屏TP驱动事件上报以及多点触摸
  • 上海微信小程序网站建设教做西餐的网站
  • 一文读懂YOLOv4:目标检测领域的技术融合与性能突破
  • 深圳企业网站建设报价泰安建设网站
  • vllm系统架构图解释
  • 上海做网站公司做网站的公司免费域名注册工具
  • 博客安全攻防演练技术指南
  • IMX8MP交叉编译QT 5.12.9
  • 通过datax将mysql数据导入到clickhouse
  • 湛江网站网站建设长沙网络推广平台
  • 平顶山市网站建设校际凡科平台是干什么的
  • 突破机房边界!VMware虚拟机结合cpolar远程协作实战指南
  • 微算法科技(NASDAQ MLGO)创建企业级区块链双层共识算法:融合优化DPoS与动态BFT的协同机制设计
  • Redis深度探索
  • 做金融的看哪些网站店铺设计分析
  • 【机器学习07】 激活函数精讲、Softmax多分类与优化器进阶
  • 香水推广软文seo入门教学
  • AI一周事件(2025年10月15日-10月21日)
  • 从零搭建 RAG 智能问答系统 5:多模态文件解析与前端交互实战
  • H618-实现基于RTMP推流的视频监控
  • vue 项目中 components、views、layout 各个目录规划,组件、页面、布局如何实现合理搭配,实现嵌套及跳转合理,使用完整说明
  • 网站建设彩铃短信营销
  • 公司网站建设管理办法汉中网络推广
  • 深度学习(14)-Pytorch torch 手册
  • 喜讯|中国质量认证中心(CQC)通过个人信息保护合规审计服务认证
  • iOS原生与Flutter的交互编程