您的位置:首页 > 数据库

数据库水平分库的一些个人理解

2011-09-08 13:17 162 查看
 
     说实话我以前还从未接触过数据库分库这一类的知识,以前我所做的一些网站都是一些访问量较小,无需分库的那一类。但是最近在公司实习,需要改版一个以前的项目,由于用户量较大因此必须用到分库。我自己在往上查了一下关于水平分库的一些资料,但大多都是一些讲什么是水平分库,以及它的一些好处,至于如何具体分库倒没怎么见到(或许是本人搜索水平有限),无奈之下只好找来以前其他设计到分库的项目源码来看,今天在这里跟大家分享一下我自己研究出来的一些关于水平分库的个人认识。

   就以我所参考的项目为例,它是一个游戏类型,主要是按照用户数量来分库的,目前情况下是大概30万用户分一次库。首先有一个最基本的数据库,里面就只有一张表,用来存放所有用户的最最基本的信息,如UID,头像地址,还有就是其用户的其他信息所存放的数据库的ID号。然后就是数据库DB1,DB2....,这些数据库就是分库之后的数据库,其中每个数据库里面的结构完全一致。里面的user表里不仅存放了用户的详细信息,还有其他表存放了其他的信息,如建筑、任务等,大概有20多张表。然后查表的话,首先是查基本信息库,根据存放用户数据库信息的DBID来判断用户信息是存放在哪个数据库中的,然后再到相应的数据库中去查询信息。


先判断用户在哪个数据库中,然后再去调用相应的数据库配置信息,建立连接 再查询。

以上是本人的个人认识和感谢,仅供参考,如有不足之处请见谅。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息