数据库分表策略

翻译 2016年06月02日 10:41:52

1  垂直划分:

将数据表中的某些字段提出,组成新的数据表。“将群组id,专辑id,音乐id提出”,组成gzm数据表,而将“群组,专辑,音乐的详细信息单独放在其他数据表中”。在求取索引、关系时,操作数据库效率更高。

2  水平划分:

2.1 物理上的水平切分:即将数据分配到不同的db服务器上。降低单点机器的负载。

2.2 逻辑上的水平划分:将数据分到同一数据库的不同的数据表。多个数据表共同组成了一个完整的数据表,提高数据操作的效率。当一个有5000w行记录的数据表被拆分为10个表,假设每个表均匀的有500w行记录。10个表分表建索引的效率会提升。

2.21 取余的方式:将数据均匀分到多个数据表中,数据表的个数固定,对于数据表的扩容困难。同时没有考虑不同机器的负载能力。注意相关度大的数据尽可能分到同一张表。“将同一个群组的所有音乐放到一张数据表中”,即以群组id来取余。

2.22 除的方式:取出数据表中的某个字段,除以某个数(数据表的容量),根据除数分表,利于扩容,但数据分配可能不均匀。“将用户id除以10000,为0则分到数据表0中,以此类推”。

2.23 建立映射表的方式:不同规则映射不同数据表。在查询数据库时,先查映射表,再查具体的数据表,效率较低。

2.24 按照时间分表:即按照一天、一周、一个月、一年等分表。查询时,数据跨越多张表时,会影响效率。

2.25 将取余和除的方式结合:举例(当取余的方式,数据库容量满时,如何扩容)

相关文章推荐

数据库分库分表系列(一) 拆分实施策略和示例演示

本文原文连接: http://blog.csdn.net/bluishglc/article/details/7696085 ,转载请注明出处!本文着重介绍sharding切分策略,如果你对数据库sh...
  • zjcjava
  • zjcjava
  • 2017年12月11日 11:42
  • 107

数据库分库分表(sharding)系列(一) 拆分实施策略和示例演示

本文原文连接: http://blog.csdn.net/bluishglc/article/details/7696085 ,转载请注明出处!本文着重介绍sharding切分策略,如果你对数据库sh...

亿级流量网站架构核心技术之“数据库分库分表策略”

本文节选自《亿级流量网站架构核心技术——跟开涛学搭建高可用高并发系统》一书 张开涛 著 电子工业出版社出版 小编会从留言中选择获赞最多的前五名用户免费送出此书哦!规则见文...

MySQL数据库水平分表策略--一致性hash

一致性hash算法缘起一致性哈希算法在1997年由麻省理工学院提出的一种分布式哈希(DHT)实现算法,设计目标是为了解决因特网中的热点(Hot spot)问题,初衷和CARP十分类似。一致性哈希修正了...

第一次学习转载了CSDN的文章数据库分库分表实现策略

相关文章:1、 使用Spring AOP实现MySQL数据库读写分离案例分析2、MySQL5.6 数据库主从(Master/Slave)同步安装与配置详解3、MySQL主从复制的常见拓扑、原理分析以及...

数据库分库分表策略的具体实现方案

相关文章: 1、 使用Spring AOP实现MySQL数据库读写分离案例分析 2、MySQL5.6 数据库主从(Master/Slave)同步安装与配置详解 3、MySQL主从复制...

数据库分库分表策略的具体实现方案

相关文章: 1、 使用Spring AOP实现MySQL数据库读写分离案例分析 2、MySQL5.6 数据库主从(Master/Slave)同步安装与配置详解 3、MySQL主从复制...

数据库分库分表(sharding)系列(一) 拆分实施策略和示例演示

http://blog.csdn.net/bluishglc/article/details/7696085 本文原文连接: http://blog.csdn.net/bluishg...

浅谈数据库分表分库策略

随着大数据时代的来临,数据的存储和访问成了系统设计的瓶颈。对于一个大型的互联网项目,每天百万,千万的访问量都是正常的现象。那么这么频繁的通讯,无疑会给服务器的访问速度和稳定性带来了巨大的鸭梨。那么我们...

数据库分库分表(sharding)系列(二) 全局主键生成策略

本文将主要介绍一些常见的全局主键生成策略,然后重点介绍flickr使用的一种非常优秀的全局主键生成方案。关于分库分表(sharding)的拆分策略和实施细则,请参考该系列的前一篇文章:数据库分库分表(...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:数据库分表策略
举报原因:
原因补充:

(最多只允许输入30个字)