@joshsulin
2015-07-02T06:12:57.000000Z
字数 824
阅读 674
公司zhe800
一期主要工作就是解决了业务复杂的问题, 把favorites与temai_favorites两表进行了合并, 收藏都统一存在 favorites 表中. 此功能己经在测试阶段了.
现在favorites表数据己经快达到2亿了, 二期主要计划是对 favorites 进行分表操作。
现在面临需要讨论的问题是:
以下我统计了一些数据, 最近4个月的某一天收藏数.
2015-07-01 号收藏数达: 372452
2015-06-01 号收藏数达:427112
2015-05-01 号收藏数达:456034
2015-04-01 号收藏数达: 555206
随着网站的发展, 我们按日收藏数80万来计算, 今后一个月的收藏数达到 2.4千万。
如果分100张表
每张表一个月的增量在24万, 按每张表最大的量值 1千万, 大概在3年后会达到1千万。如果按每张表最大的量值 5千万计划,大概在15年后会达到5千万。
如果分50张表
第张表一个月的增量在48万,按每张表最大的量值 1千万, 大概会在1.7年后会达到1千万.如果按每张表最大的量值5千万计划,大概在8年后会达到5千万, 其实favorites达到1个亿也不会影响到效率, 因为现在也2个亿了。所以我认为分50张表就己经足够了.
总结:我认为分50张表己经很足够了。
我认为采用Ruby实现就可以了, 因为之前的积分项目score_serivce也进行了分表, 采用Ruby完成的, 现在在分表操作上面也非常成熟了.
二期只是做分表和修改现有代码以支持分表后代码能正常运行. 数据库也不会移出折800数据库. 工作量不会太大。
三期计划是把分好的50张表移到单独的数据库, 代码移出折800项目, 以提供收藏服务接口。
以上为收藏功能重构二期的总体开发方案.
总共分为三期完成,重构总体思路为小步迭代。请大家看看,提出意见
