数据库分库分表.docVIP

  • 22
  • 0
  • 约 27页
  • 2016-12-31 发布于北京
  • 举报
数据库分库分表

基本思想 Sharding的基本思想就要把一个数据库切分成多个部分放到不同的数据库(server)上,从而缓解单一数据库的性能问题。对于海量数据的数据库,如果是因为表多而数据多,这时候适合使用垂直切分,即把关系紧密(比如同一模块)的表切分出来放在一个服务器上。如果表并不多,但每张表的数据非常多,这时候适合水平切分,即把表的数据按某种规则(比如按ID散列)切分到多个数据库(server)上。根据实际情况做出选择,也可能会综合使用垂直与水平切分。 垂直切分 数据的垂直切分,也可以称之为纵向切分。将数据库想象成为由很多个一大块一大块的“数据块”(表)组成,我们垂直的将这些数据块切开,然后将他们分散到多台数据库主机上面,这样的切分方法就是一个垂直(纵向)的数据切分。 系统功能可以基本分为以下四个功能模块:用户、群组消息、相册以及事件,分别对应为如下这些表: 用户模块表 user、user_profile、user_group、user_photo_album 群组讨论表 groups、group_message、group_message_content、top_message 相册相关表 photo、photo_album、photo_album_relation、photo_comment 事件信息表 event 模块之间的关系: 群组讨论模块和用户模块之间主要存在通过用户或者是群组关

文档评论(0)

1亿VIP精品文档

相关文档