【IT168 专稿】2012年4月13-15日,由IT168(ITPUB、IXPUB、ChinaUnix)主办的2012中国数据库技术大会(DTCC)在北京隆重召开。大会针对大数据架构设计、数据库安全、分布式数据库、商业智能、NoSQL、Hadoop等多个重点话题进行深入探讨。此次大会得到了全国数据库技术高手们的高度关注与支持,是当前象征最高技术水平的数据库工程师盛会。
在15日下午的“数据库优化管理专场”上,支付宝资深数据库架构师童家旺发表了名为“数据存储后端优化最新心得”的主题演讲,介绍了数据库后端优化的重要作用和主要实现方式。
▲支付宝资深数据库架构师童家旺
什么是数据库后端的优化?它又有怎样的作用?童家旺用最简单的语言总结道:“简而言之,优化可以用两种方式来实现业务价值,一条是让事情做的更简单,一条是让事情做的更快。”童家旺以春运买火车票为例,完成出票的过程只需要一分钟就可以完成,而更多的时间可能都花在了查票、排队等程序上,同样,童家旺分享到,在支付宝内部,只有少部分系统用来支撑业务的交易,相对而言,更多的系统则用于数据后端的性能优化,而这也是以提升用户体验为目的的。
对业务优化的追求可以说没有止境,有些时候,通过优化可以使业务流程从1个小时缩短到30分钟,这样的效果往往比较明显,而有些时候虽然只是几微妙的提升,通过大量的程序和步骤叠加,优化结果同样也能凸显。
对提升业务流程和用户的体验,优化具有着重要意义,那么可以通过哪些方法来实现数据后端的优化了?童家旺介绍,通常有三种实现的方法原则:
1.访问不必要的数据
通常这种方式可以通过软件优化来定位重要的数据,从而避免定位数据的时间,加快数据访问的效率和时间。此外,可以通过将不同的数据存储在不同的介质中,将经常访问的热数据和不常访问的数据分开存储,来达到提高访问效率的目的。
2.合理的利用硬件来提升访问效率
▲优化硬件配置
相对于第一方式,这种方式更加依赖于硬件的提升,比如使用缓存消除对数据的重复访问,使用批量处理来减少交互次数,使用新硬盘来降低后端的延时,提高效率等等。
3.提高系统的吞吐量
▲提高系统吞吐量
这类方法主要包括对工作单元进行细化,减少串行操作;优化硬件配置,提高整体的TCO与硬件利用率;合理的拆分(水平、垂直拆分)与提高系统的整体吞吐能力。
最后,童家旺强调,对数据后端的优化必须以放在整体业务系中来衡量,同时必须以降低整体系统的TCO为原则,否者局部的性能优化后,整体的业务系统性能下降和整体TCO上升,反而是本末倒置。