数据量大到这种程度,首先肯定是分库、分表、分区。不过,可能题主有个思维误区——"每次打开网站,展示的内容都是通过数据库查询出来的",其实不然,这当中有个Feed流的概念,某人发了一条状态,那么会从数据库当中读取他的粉丝,进而给每个粉丝的Feed队列发送这条状态,N多个人发了消息,都会往各自的粉丝的Feed队列发送状态,那么每个粉丝打开主页,就会从自己的Feed队列读取,进行展示。基本原理这样,实际上数据量大了之后有很多优化,比如只给活跃用户的Feed队列发送状态。 这答案就算抛砖引玉吧,希望能帮助到你。
数据量大到这种程度,首先肯定是分库、分表、分区。
不过,可能题主有个思维误区——"每次打开网站,展示的内容都是通过数据库查询出来的",其实不然,这当中有个Feed流的概念,某人发了一条状态,那么会从数据库当中读取他的粉丝,进而给每个粉丝的Feed队列发送这条状态,N多个人发了消息,都会往各自的粉丝的Feed队列发送状态,那么每个粉丝打开主页,就会从自己的Feed队列读取,进行展示。基本原理这样,实际上数据量大了之后有很多优化,比如只给活跃用户的Feed队列发送状态。
这答案就算抛砖引玉吧,希望能帮助到你。