
结合近期研究和工作中使用的大数据,以及经常在访谈中提出的问题,我们将进行一系列整理. 这是第一篇文章------------分区表子库文章. 分区
定义: 将表的数据划分为N个块. 从逻辑上讲,它只是最后的一个表,但底层由N个物理块组成. 例如,一张桌子就是一本书. 在书籍中搜索项目时,如果没有章节,搜索效率将会降低. 同样,它是中的一个分区.
目的: 提高查询效率.
背景: 1. SQL优化已经完成. 2.大量数据3.并非总是查询所有表4.查询数据很慢.
成本: 使用成本相对较小,根据指定的特定条件,基本上只有几个sql区域.

子表
定义: 是根据某些规则将一个表分解为具有独立存储空间的N个实体表. 系统读写时,需要根据定义的规则获取相应的单词指示,然后进行操作.
目的: 1.提高查询效率. 2.提高I / O性能3.减少数据以重建索引和锁定
背景: 1. SQL优化已经完成. 2.大量数据3.频繁查询或更新4.查询数据很慢.
成本: 成本较高,最好在特定细分中熟悉业务和架构.

分区和表之间的区别和联系:
常见分区和表的规则和策略:
范围(范围)哈希(哈希)按时间划分. 例如,某个时间段的配置模式,例如建立,该分别存储user_id与之间的映射关系.
定义: 表太多,并且可以根据模块分为多个. 例如: 用户,订单,权限等.
目的: 1.突破一台计算机的I / O限制2.提高的可伸缩性.

背景: 1.单个DB的存储空间不足,通常1TB已经是一个非常大的. 2.随着查询量的增加,单个服务器无法支持
成本: 1.分布式事务2.可能导致数据延迟3.可能破坏了查询
分割模式:
垂直分割
系统中不存在的表或需要联接的表可以放在不同的和不同的服务器中.

按业务领域划分. 例如: 根据业务,它可以分为三个: 资金,会员和订单.
水平分割
例如,大多数网站. 数据都与用户有关,因此您可以根据用户的用户级别对数据进行拆分.
根据规则,水平子库通常跟随垂直子库. 例如,每天处理的订单数量巨大,可以根据某些规则级别进行划分. 要解决的问题: 数据路由和组装.
读写分离
对于及时性较低的数据,可以通过分开读写来减轻的压力. 要解决的问题: 在业务方面,区分哪个业务允许一定的时间延迟以及数据同步问题.
常见解决方案:
不同方法,不同特征和不同重点之间没有严格的界限. 需要根据实际情况进行处理,并结合每种方法的特点.
使用第三方中间件(Atlas,Mycat,TDDL,DRDS),并且业务系统需要使用数据存储进行升级.
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/dianqi/article-292316-1.html
都是这样