一、工作
工作上做了些功能、逻辑的优化,取得了一些的效果,大概有 4 个月几乎没有出现 IO 告警;系统优化需要持续进行,当前的 top sql 消除后,以前的次 top sql 又会变成新的 top。
主要的优化措施就是对大表做分区,尽量做到分区消除;对大表有关的统计不再实时统计,采用统计汇总表加增量统计的方式来优化;在业务上进行优化。
一大感触就是,起始设计非常重要,一开始的设计不合理,后期的优化、修复成本极其高昂。比如用户积分表只维护的用户的当前可用总积分,而没有维护历史总积分,而页面展示却需要历史总积分,导致每次展示用户历史总积分都需要实时从明细日志里累加出来。随着历史明细数据越来越多、用户数量和活跃度提高,这样的设计是没法支撑的,而如果要维护其历史总积分,现有3千万的用户,也非常不好弄。这种设计上的债务是长期存在的。有时候下定决心重新设计数据结构,迁移历史数据、代码上做平滑迁移的过程真的很酸爽。。。
多花精力在初始设计上!
二、学习
学习主要集中在 Oracle 数据库上,基本上把《基于 Oracle 的 SQL 优化》看了一遍。
因为工作需要,写了个 MyBatis 的批量插入的插件http://coderbee.net/index.php/open-source/20150721/1274。
在学 Scala,看《深入理解 Scala》。
四、不足
看书太少,危机!
博客也写得很少。。。
五、高兴的事
找到女朋友啦,,^^,^^,,程序员知道这件事的重要意义啦。。。
欢迎关注我的微信公众号: coderbee笔记,可以更及时回复你的讨论。