日期:2014-05-17  浏览次数:20862 次

问个数据库方面大表的问题
比方说,苏宁易购,他们要卖东西,肯定有订单表,比如是order表,像苏宁易购这样的大系统,每天肯定有很多人在用,在下订单,我想,其数据库服务器应该是多台吧,不应该是单个服务器来支撑这么庞大的系统。

如果是多个数据库服务器的话,是不是每个数据库服务器上都存在这个order表哦?



如果是这样的话,就涉及到查询,我该怎么查询所有的订单数据哦?


既然order表在多个数据库服务器中存在,就应该为每个数据库服务器上的order表设立主键,如果主键正好是序列递增的话,那岂不是有订单重复的问题?

------解决方案--------------------
比方说,苏宁易购,他们要卖东西,肯定有订单表,比如是order表,像苏宁易购这样的大系统,每天肯定有很多人在用,在下订单,我想,其数据库服务器应该是多台吧,不应该是单个服务器来支撑这么庞大的系统。

单个服务器凭啥不能支撑?

适当的索引、适当的分区、适当的移表,都可以满足订单表,哪怕是上亿数据。我们系统单服务器RAC 1460W的数据量,通过分区效率仍旧还是可以。

主键不会序列递增,这么低级的错误,oracle等软件厂商早就解决掉了。
------解决方案--------------------
如果大数据量的话,比如腾讯 已经上亿用户,那么他们会有很多台服务器,分很多级,就会以地区进行划分,这样当某一地区访问数据时他们会制定某一地区的服务器,对用户进行服务,要不然即使有一台超级服务器,那么上亿用户访问的话,软件响应速度也是跟不上的,而且也会缩小服务器使用寿命。云计算就是一个很好的例子。当然像淘宝那么大的网站,他们是以商品的类别划分服务器的。
------解决方案--------------------
每一个服务器都会有一个数据库。但是不一定数据库一样,就好比一个大型公司,你要办理什么业务时,不可能是老板接待你,首先前台会问你办理什么业务,然后会把你带领到专门负责此类业务的部门。