有个关于会员头像应用的问题困惑了很久,请banq和各位道友指教

10-06-01 sonnylys
有个关于会员头像应用的问题困惑了很久,请banq老师和各位道友指教。问题描述如下:

假如我们有个应用系统,分成几个子系统:1、会员系统 2、子系统1 3、子系统2 4、子系统3 。。。

在整个应用系统里,只有一个会员系统,其它的子系统是不定数量的(视客户需求而定)。会员系统在应用里是核心,形成独立的系统和独立的数据库,其它子系统都以会员系统为中心实现单点登录。

问题:会员资料(头像)存储在会员数据库里,假如子系统1里有个评论功能,要显示评论会员的帐号及头像,子系统2里有个换礼记录,也要显示会员的帐号及头像,子系统3里有个中奖会员同样是要显示会员的帐号及头像。。。于是类推。。。

会员头像和子系统1的评论、子系统2换礼记录以及子系统3的中奖会员分别存在不同的数所库里,这样一来,就没办法联合查询获取会员的头像,但如果在数据的存储之时同时将会员头像也存到其它应用表里(如评论表里有会员帐号及头像),这样如果会员更新了头像就麻烦大了;还有一种比较直接的做法就是,先拿到评论,然后根据帐号(因为帐号是不能修改的)去会员库里查会员的资料,找到头像,但这有个很大的问题,如果有1000条评论,就要再查一1000次会员资料!!!这样对系统的开销太大,性能太差。

这问题困扰了很久,请banq老师和各位道友指教。

[该贴被sonnylys于2010-06-02 09:51修改过]

6
sonnylys
2010-06-02 09:56
是我表述不清还是什么原因呢,怎么没人支持下的。。。呵^_^...自己顶一下。

redorange
2010-06-02 20:16
2010年06月01日 13:02 "sonnylys"的内容
会员头像和子系统1的评论、子系统2换礼记录以及子系统3的中奖会员分别存在不同的数所库里,这样一来,就没办法联合查询获取会员的头像 ...

请问为什么不能联合查询?

你的表在不同的种类的数据库,或者不同的计算机上吗?

sonnylys
2010-06-02 21:44
2010年06月01日 13:02 "sonnylys"的内容
你的表在不同的种类的数据库,或者不同的计算机上吗? ...

是的,在不同的数据库。不同的数据库也有可能部署在不同的机器上。

redorange
2010-06-02 22:32
如果你的计算机有很多,说明你原来设想的是一种分布计算的结构,那么应该不怕性能上的问题,大不了将数据分散到不同的计算机。至于如何负载均衡,这个坛子有很多帖子都在讨论。

不过我还是想向你推荐Mysql的federated储存引擎,它能将不同计算机上的不同数据库上表视作mysql的表,从而实现联查。

http://dev.mysql.com/doc/refman/5.1/zh/storage-engines.html#federated-description

猜你喜欢
3Go 1 2 3 下一页