Mysql水平分表
来源:互联网 发布:windows重置此电脑 编辑:程序博客网 时间:2024/04/30 08:54
Mysql水平分表
Mysql在数据量大的情况下,会遇到水平分表的情况。
1:条件中含有分表的信息
比如说要划分10个表,那对10进行取模。其实也可以是任意哈希函数,但是要注意注意冲突处理。
2: 根据时间拆表
当表的关系比较复杂时,无法根据某个维度进行分表。但是有明显的时效性。
想必大家都用微薄,某人发的微薄,会被推送到千家万户。所以某条微薄是无法根据用户ID进行分表查询。而微薄是有很强的时效性的。一年前的默认的动态信息是不会再关心的。我们把微薄按时间分表,三个月一张表。而行级缓存(memcached)只存储了一个月。用户微薄收件箱(微薄ID列表)一般都是限长的。当缓存服务器重启或不命中时,需要查询Mysql,mysql按时间分表,缓存不命中的情况下,大部分情况下都是查近三个月的微薄。所以近1年的微薄我们可以存储在物理资源比较好的数据库服务器上。
3:根据自增长ID拆表
这种分割法不是取模分,而是每张表存指定量的数据。如果数据量到了,就存放到新表中。这样可以完全控制每张表的数据量。关系非常简单并且有时效性的情况下可以用。
4:数据迁移的方式
当一些很久之前的数据,很少再查询。比如员工工资表,我们可以只存今年的工资情况。而历史数据我们可以迁移到一张salary_old表中,保证数据不会丢失。但也可以用来查询。
很简单吧,其实分库的原理也类似。
Mysql在数据量大的情况下,会遇到水平分表的情况。
1:条件中含有分表的信息
比如说要划分10个表,那对10进行取模。其实也可以是任意哈希函数,但是要注意注意冲突处理。
2: 根据时间拆表
当表的关系比较复杂时,无法根据某个维度进行分表。但是有明显的时效性。
想必大家都用微薄,某人发的微薄,会被推送到千家万户。所以某条微薄是无法根据用户ID进行分表查询。而微薄是有很强的时效性的。一年前的默认的动态信息是不会再关心的。我们把微薄按时间分表,三个月一张表。而行级缓存(memcached)只存储了一个月。用户微薄收件箱(微薄ID列表)一般都是限长的。当缓存服务器重启或不命中时,需要查询Mysql,mysql按时间分表,缓存不命中的情况下,大部分情况下都是查近三个月的微薄。所以近1年的微薄我们可以存储在物理资源比较好的数据库服务器上。
3:根据自增长ID拆表
这种分割法不是取模分,而是每张表存指定量的数据。如果数据量到了,就存放到新表中。这样可以完全控制每张表的数据量。关系非常简单并且有时效性的情况下可以用。
4:数据迁移的方式
当一些很久之前的数据,很少再查询。比如员工工资表,我们可以只存今年的工资情况。而历史数据我们可以迁移到一张salary_old表中,保证数据不会丢失。但也可以用来查询。
很简单吧,其实分库的原理也类似。
- Mysql水平分表
- mysql水平分表
- MySQL 水平分表实现
- mysql-水平分表-垂直分表
- Mysql常见水平分表方案
- Mysql常见水平分表方案
- Mysql常见水平分表方案
- mysql水平分表和垂直分表的优缺点
- mysql水平分表和垂直分表的优缺点
- mysql的水平分表和垂直分表
- 数据库水平分表
- mysql表水平拆分和分区分表
- mysql使用MRG_MyISAM(MERGE)实现水平分表
- mysql使用MRG_MyISAM(MERGE)实现水平分表
- mysql使用MRG_MyISAM存储引擎实现水平分表
- MySQL数据库水平分表策略--一致性hash
- MySQL数据库水平分表策略--一致性hash
- mysql使用MRG_MyISAM(MERGE)实现水平分表
- Java获取系统信息(cpu,内存,硬盘,进程等)的相关方法
- linux c socket之TCPEcho4
- 一个服务器上配置多个tomcat
- 关于下载PDF无法直接下载的问题
- 程序员面试时需要注意哪些?
- Mysql水平分表
- Notification大图标修改问题种种
- SQL的主键和外键约束
- leetcode Minimum Window Substring
- .WebClient上传String、下载String、上传Stream流、下载Stream流
- cocos2d-x Jni调用
- GIS的世界
- rpc简介、原理、实例-缘于difx
- dede调用全站的最新文章