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 1
既然楼主无视了我,那我就继续说下去吧(?)
取一个数的模就可以把整数集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
|