数据库分表思想 google.com/View?id=dgj5ns3n_1146f9692kc7">http://docs.google.com/View?id=dgj5ns3n_1146f9692kc7
http://blog.sina.com.cn/s/blog_545274020100awzt.html
除非查询时只要一个表的内容,否则分表没有意义。
大数据处理几个考虑:
在之前要区分个概念,分区与拆分是不一样的,以下是个人的想法:
拆分(对库)有两种:
水平拆分:根据某一个标准拆,如用户ID,0-500W的所有相关数据(用户信息,博客等)放在一个库;
垂直拆分:接业分分库,按功能分库,如论坛一个库,博客一个库等,这样业务拆分的清淅;
分区(对表)也有两种:
垂直分区:是把一张大表,通过分区基准分成多个文件(减小IO操作);
水平分区:是把一张表多列的,拆分成主从表的关系;
1、通过拆分;
2、通过分区;
3、动态分表(另建一张表,让某一个关键字列,利用象ORACLE序列的概念生成,所以确补分表后,有唯一的键);
4、设计时,尽量往固定的长度使用(如char就比varchar好);
原则:
单库数据量要比较小;
数据库要做到快速响应;
表设计要非常灵活;