打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
大数据分库、分表设计(mysql)

1.应用场景:

                     使用mysql数据库做查询,当数据量超过200w时,查询数度受到限制,此时为了避开这一瓶颈,我们采取分库分表的数据库设计思想,将数据按照一定规律保存至数据库,常用的方式如下:

                    1.1使用时间作为依据分库/分表

                     例如,我们可以将数据按照月份保存在表中,例如:translate_2015_01,translate_2015_02.......以此达到分表、分库的目的;

                    1.2 使用数字作为分库,分表标准(取余)

                    我们经常会定义某个字段为自增长或者某个随机数,或者某个特定编码,利用这个编码,我们将其存放到不同的表中,例如,我们想要定义30张表存我们获得的数据,  第一个值为1,我们用1%30=1,由此可知该数据放在第一张表,又例如500%30=20,该数据放入第20张表。

                    1.3使用md5区分(上传文件等)

                    在上传文件过程中,将文件名的md5值取前3位作为上传文件保存的文件夹名称,这样便将上传的文件保存在了3^3=27个文件夹中,方便下次寻找到该文件;

2.使用分表,分库不利方面:

                   不利于做数据的统计操作,需要跨表跨库;增加设计的复杂度;


参考文档链接:

Ibatis和Hibernate 数据库分表(动态表名映射)的实现方法:http://www.blogjava.net/weishuangshuang/archive/2011/03/26/347080.html

分库分表的解决方案:http://fengbin2005.iteye.com/blog/1165038

数据库水平切分的实现原理解析---分库,分表,主从,集群,负载均衡器:http://zhengdl126.iteye.com/blog/419850

Spring + iBatis 的多库横向切分简易解决思路:http://www.iteye.com/topic/781317

SQL SERVER分区表方案 :http://terryli.blog.51cto.com/704315/163315


本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
(转载)MySQL使用为什么要分库分表
MySQL 分区、分表、分库
PHP高级工程师面试题目
大数据量的存储分表常见算法
什么是线程同步?     当使用多个线程来访问同一个数据时,非常容易出现线程安全问题(比如多个线程都在操作同一数据导致数据不一致),所以我们用同步机制来解决这些问题。 实现同步机制有两个方法:
MySQL单表最大记录数不能超过多少?
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服