【架构★我的系统架构】我的系统架构<数据库架构>

模块化分库

1. 一个频道一个数据库:如商城库、公司库、分享库、团购库、优惠券库、问答库、活动库、论坛库、CMS库等。

2. 一套大功能一个数据库:如核心库、历史库、统计库、队列库等。

3. 一套子系统一个库:如OA库、仓储物流系统库等。

 

大数据量分表

如历史库中的表大多需要做分表处理(根据数据量大小按时间分表)。亦可利用SQL2008的分区表功能做分区表。

 

提高扩展性

如商城库根据需要可以分拆为商城基础库、商品库、订单库等。

 

其他细节

1. 主键使用数字ID,弃用GUID

2. 除包含事务需要批量执行的SQL编写存储过程外,其他SQL均由程序维护。

3. 尽量不做跨库查询,以降低个分库之间的耦合度提高扩展性。

4. 需要做统计功能的,应添加冗余字段,减少数据库中的实时统计。

5. 对于Convert/SubString等对数据的处理,尽量放到程序中处理

6. 应该建立缓存机制,将更新频率低的部分数据做本机缓存,减少连接查询

7. 减少Like查询,将需要做全文检索的数据生成文件索引,减少高开销的查询。

 

目录

  【架构★我的系统架构】我的系统架构<前言>

  【架构★我的系统架构】我的系统架构<服务器架构>

  【架构★我的系统架构】我的系统架构<数据库架构>

  【架构★我的系统架构】我的系统架构<应用系统架构>

  【架构★我的系统架构】我的系统架构<程序结构>

 

  【架构★我的系统架构】我的系统架构<分布式存储>

  【架构★我的系统架构】我的系统架构<异步队列>

  【架构★我的系统架构】我的系统架构<统计报表系统>

  【架构★我的系统架构】我的系统架构<站内统计系统>

  ... ...

posted @ 2013-01-31 18:18  码农搞事情  阅读(2706)  评论(20编辑  收藏  举报