思路:
1、完整阅读分库、分表策略,注意区分分库与分表的不同,撰写阅读笔记。
2、试验基于ibatis+spring2.0的分库源码,注意思考路由的规则。
3、试验分表的源码实现,一般采用ibatis2.0以后的动态表名实现。
以长春市教育公共服务平台管理软件为例,在master库中设置一张表,记录每个学校所在的数据库,比如db0,db1,...dbn
当用户进行登录时,通过loginperson表查找到此人的学校id,根据上面的表得知此人所在学校对应的数据库为db?,通过ibatis的路由到此数据库实例进行数据读写。这样,方便以后因为数据量大造成数据库扩展而带来的数据迁移问题。
参考阅读:
memcache内存分配策略
http://www.woxihuan.com/53055876/1329751905085867.shtml
大数据量的存储,以及分表常见算法及其带来的问题,和微薄url的加密规则猜想
keepalived+nginx
http://wenku.baidu.com/view/698f3f000740be1e650e9a95.html
memcached 集群单点故障解决方案
http://apps.hi.baidu.com/share/detail/20218657
基于 spring 和 ibatis 的动态可更新多数据源持久层
使用spring解决ibatis多数据源的苦恼
http://developer.51cto.com/art/200908/144000.htm
ibatis和hibernate 数据库分表(动态表名映射)的实现方法
应用memcached保存session会话信息
http://rdc.taobao.com/team/jm/archives/590
spring + ibatis 的多库横向切分简易解决思路
http://www.iteye.com/topic/781317
************************************************************************
分库分表的解决方案
http://fengbin2005.iteye.com/blog/1165038
理解缓存
hibernate memcached能缓存什么,是所有对象吗
http://wenda.tianya.cn/wenda/thread?tid=020815ee6758b3dd
memcached分布测试报告(一致性哈希情况下的散列函数选择)
memcached server lru 深入分析
http://www.iteye.com/topic/225692
sql server分区表方案
http://terryli.blog.51cto.com/704315/163315