查看: 449|回复: 0

简单总结分表+分区+分库+分片

[复制链接]
求职 : 数据库管理员
论坛徽章:
45
祖国60周年纪念徽章
日期:2015-05-19 13:02:04itpub13周年纪念徽章
日期:2014-12-30 09:02:122010数据库技术大会纪念徽章
日期:2015-04-23 10:33:192011数据库大会纪念章
日期:2015-04-23 10:33:192012数据库大会纪念章
日期:2015-04-23 10:33:192013数据库大会纪念章
日期:2015-04-23 10:33:192014数据库大会纪念章
日期:2015-04-23 10:33:192015中国数据库技术大会纪念徽章
日期:2015-04-24 16:04:24暖羊羊
日期:2015-05-13 18:24:182015年新春福章
日期:2015-05-30 17:02:05
发表于 2019-4-23 10:59 | 显示全部楼层 |阅读模式
本帖最后由 zcs0237 于 2019-4-24 08:31 编辑

第一部分-不跨DB拆分(Scale Up纵向扩展升级机器配置)
将大表打散。

一、分表
是把一张表分成多个小表(有时也将表分别存放到不同server上,即用于拆库),适用如下场景
1、一张表的查询速度已经慢到影响使用的时候。
2、当频繁插入或者联合查询时,速度变慢。

二、分区
是把一张表的数据分成N多个区块,仍然是同一张表跨存储不跨DB,适用如下场景
1、一张表的查询速度已经慢到影响使用的时候。
2、对数据的操作往往只涉及一部分数据,而不是所有的数据



第二部分-跨DB拆分(Scale Out横向扩展加机器)


将数据库打碎。

一、分库、分片
1、垂直(纵向)拆分/拆字段
大字段的垂直切分。
按照用途垂直切分。
按照访问频率垂直切分。
2、水平(横向)拆分/拆记录行:
按照时间水平切分
按照用户ID范围切分
分类拆分:论坛的置顶帖子,可以把置顶贴水平切分开来,避免取置顶帖子时从所有帖子的表中读取

二、跨DB拆分需配合分布式事务机制
1、数据库事务管理出现了困难
2、跨库跨表的join问题。
3、需要有服务器进行查询路由转发
4、额外的逻辑运算





您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 
京ICP备09055130号-4  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表