免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: chinafenghao
打印 上一主题 下一主题

MySQL版《一周一议》之mysql sharding方案分享(积分已转账-2012-12-19) [复制链接]

论坛徽章:
0
21 [报告]
发表于 2012-12-09 13:21 |只看该作者
回复 17# pandorabag

M1:
auto_increment_increment = 2
auto_increment_increment = 1

M2:
auto_increment_increment = 2
auto_increment_increment = 2
   

论坛徽章:
0
22 [报告]
发表于 2012-12-09 19:51 |只看该作者
谢谢lz和同学们的分享,支持一下!

鉴于自己目前公司业务数据量比较小,虽然也进行了简单sharding(ms),但由于数据量远不够形成压力,希望有同学能分享下实际业务sharding碰到的问题

论坛徽章:
0
23 [报告]
发表于 2012-12-09 21:56 |只看该作者
不太清楚sharding的概念。。。
sharding和散表的区别??
因为我只散过表

论坛徽章:
8
CU大牛徽章
日期:2013-09-18 15:20:48CU大牛徽章
日期:2013-09-18 15:20:58CU大牛徽章
日期:2013-09-18 15:21:06CU大牛徽章
日期:2013-09-18 15:21:12CU大牛徽章
日期:2013-09-18 15:21:17天秤座
日期:2013-10-30 14:01:03摩羯座
日期:2013-11-29 18:02:31luobin
日期:2016-06-17 17:46:36
24 [报告]
发表于 2012-12-10 10:29 |只看该作者
回复 23# bellszhu


参见一楼帖子的文章链接。

论坛徽章:
0
25 [报告]
发表于 2012-12-10 15:13 |只看该作者
回复 17# pandorabag


目前所有使用双主的架构中,一般都使用 HA+MM,只有一个实例 同时提供写功能。


   

论坛徽章:
0
26 [报告]
发表于 2012-12-10 20:39 |只看该作者
学习了,看了网上几篇东西才知道 sharding这个概念,落后了啊。之前只是用过数据库。。。。。。。

论坛徽章:
0
27 [报告]
发表于 2012-12-11 02:51 |只看该作者
新手,混点分用用。
mysql不是很懂,mark下

论坛徽章:
1
2015亚冠之本尤德科
日期:2015-06-05 17:25:48
28 [报告]
发表于 2012-12-11 12:44 |只看该作者
现在是越来越懒了,我把个人认为的mysql sharding写一下。

1.Master(W/R)     单实例读写master服务器的时代
2.Master (W) + Slaves (R)   下一步,慢慢地就发展到了Mater和Slave的时代,因为单实例无法承载应用的所有请求。所以,把所有的write queries(INSERT/UPDATE/DELETE)
  给予master,把所有或者近乎所有的 read queries给予slave。
3.Vertical Partitioning (垂直拆分)

*继续往后发展之后,可能不只是读请求超过负载,就连写请求也会超过负载。
*当出现write-heavy applications时候,我们该怎么办?
*使用Vertical Partitioning,把一些重业务分离出来(按库分离或者按表分离)。分别单独放在一个服务器,分担读写分离的请求。分散Top Master的写请求

基于上述的架构,会碰到的瓶颈:
(1):become harder and harder
  (2): Lose some JOIN-functionality
  (3):  if table grew so rapidly ,so
   the performance of the host  wasn’t guranteed any more。
   怎么办?
   加更多的salve?
   买更贵的服务器?
   就算你怎么加,它都会hit limit。

4.当上述又得不到解决的时候,horizontal partitioning到来了。

   *前面讨论的瓶颈,以及后时代的web数据管理。基于上述的理论解决。而这个早在1996年多人大型游戏online(MMO (Massive Multiplayer Online) Games world)就已经开始积极使用。

    基于上图描述,根据上述的算法,针对一张photos表的分割,根据"%10”的算法,连接10台服务器的哪一台进行处理。(其实是有图片的,就是一个表根据"%10"的方法,分布到不同的服务器中),这个要从程序方面调用来解决了。
   


图我就不贴了,如果有兴趣的,我可以把ppt到时候贴出来。
   




评分

参与人数 1可用积分 +5 收起 理由
chinafenghao + 5 谢谢分享

查看全部评分

论坛徽章:
1
2015亚冠之本尤德科
日期:2015-06-05 17:25:48
29 [报告]
发表于 2012-12-11 12:51 |只看该作者
多半做sharding都是用replication来做。拆库。拆表的话,应该跟应用层相关了。我个人认为的。

论坛徽章:
1
数据库技术版块每日发帖之星
日期:2015-08-12 06:20:00
30 [报告]
发表于 2012-12-11 19:04 |只看该作者
好话题,关注
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP