
mysql经常用到分表,一般是把id取模分成10张表,那么QQ会员表怎么分表呢?QQ会员几亿,分10张表,每张表的数据量还是很大啊,大家说说思路。
当然不一定是mysql数据库,重点不在于用什么数据库,而是如何分表。
1 yangqi 2015-03-18 22:59:42 +08:00 这么大数据量肯定是分库啊,分表已经没用了 |
2 frankzeng 2015-03-18 23:23:35 +08:00 真正逻辑后台是分机器,不同的QQ号会分配到不同的机器上处理的,例如一台处理1000万个号,100台机器刚刚好10亿。然后要放号了直接加机器,修改配置。如果只是放点东西就可以分表,同样道理,分100张表,也可以是同一张表然后分区。 |
3 wy315700 2015-03-18 23:45:41 +08:00 一致性哈希 |
5 Septembers 2015-03-19 01:34:54 +08:00 PgSQL 单表 15亿 无须分区 毫无压力 |
6 mhycy 2015-03-19 09:04:49 +08:00 纯数字无前导0的QQ号本身就是可以用来做索引,分不分无所谓,分机器应对流量才是关键 |
7 fising 2015-03-19 09:27:46 +08:00 先不说QQ如何分表分库。 楼主一句“QQ会员几亿,分10张表,每张表的数据量还是很大啊”,也是让人醉了。 难道分表就是“分10张表”的简称? |
8 cheng007 2015-03-19 10:07:35 +08:00 分表,分库已经不能解决腾讯的问题了。 |
10 mathgl 2015-03-19 19:28:43 +08:00 via Android @Septembers 有几个索引?我最大试过单表4亿,一主键,一索引。查询很不错。 |
11 Septembers 2015-03-19 20:23:22 +08:00 @mathgl 2个Hash索引 |
13 zuroyu 2015-03-19 21:19:06 +08:00 方式多的很,不一定要取模,按号段分也很正常 |
18 beordle 2015-03-21 12:06:47 +08:00 |
19 msg7086 2015-03-21 17:11:20 +08:00 既然楼主无视了我,那我就继续说下去吧(?) 取一个数的模就可以把整数集hash到这个模以内。 你把id取了10的模,得到0-9所以是10张表。 那么如果你把id取37的模,得到0-36,所以就是37张表。 同理上面说的,模100,就能得到按照末尾2位分表的100张表了。 |
20 znoodl 2015-03-21 20:20:31 +08:00 qq是按活跃频率划分的 |
21 picasso250 2015-03-22 18:31:44 +08:00 @tanteng 楼主你不懂是可以的。但理直气壮的无知就不好了。 你已经不懂了,为何不谦虚一点呢? |
22 tanteng OP @picasso250 呵呵,我不是在问吗,愿意回答,愿意教我的就回复好了,觉得问题简单幼稚的就路过好了,我也没有理直气壮。请搞清楚一点再说!没有问题是简单的,即使我提的简单的问题,你也可以扩展,提的问题不一定是问题本身,有时候提出来是大家讨论这个话题。 |
24 tanteng OP @picasso250 请教一下QQ会员表,应该怎么存放呢?谢谢赐教!不知道楼上的回答谁的回答你觉得ok |