2014年7月25-26日,由51CTO传媒主办的全球软件技术峰会WOT(World Of Tech)在北京富力万丽酒店召开。秉承专注技术、服务技术人员的理念,自2012年以来,WOT品牌峰会成功举办了三届,积累了大量的技术专家资源,获得了广大IT从业者和技术爱好者的一致认可,成为了业界重要的技术分享交流平台以及人脉拓展平台。
本次会议分为8个技术主题,分别是:数据库技术与应用,互联网架构分析,高效的技术团队,敏捷开发,实时计算与数据分析,移动应用,自动化运维,开源技术。51CTO作为本次峰会的主办方,将全程视频、图文直播报道这场数据的盛宴。
在下午的数据库技术与应用专场,百度云系统部工程师杨林为大家带来题为《百度云MongoDB经验分享》 的精彩演讲。本次演讲包括MongoDB的应用场景介绍,以及其中常见的问题分析。
Mongo特点是具有丰富的数据类型,具有丰富的索引/查询模式支持,Schemaless灵活,比较容易上手,还可以自动分享,同时还具有较高的性能。
那么,百度云是怎么用Mongo的呢?
其应用场景主要有结构化存储平台PSS;典型的应用有:图片exif信息;通讯录;设备同步。在百度网盘中,图片的分类就是利用了MongoDB。以及数据量达到百亿、千亿的应用。对于性能方面的要求,如果该应用属于在线业务,平均响应时间要求10ms内。具有多索引需求,包含数据索引的应用,都适合使用MongoDB。
它的特点是规模比较大,单表数据量可达到数百亿,而且容易触发Mongo的一些性能隐患。数据属于冷数据,而且对于数据起用法固定。都是基于个人的数据,可以很好按照uid分享。而且查询模式也相对简单。
在应用过程中,我们也遇到了很多问题。
比如:连接数爆炸的问题。当conn一直上涨,达到配置的极限值以后,就开始拒绝服务了。之所以会出现这些问题,主要是,缓慢查询,客户端太多。对于这些问题,我们通过监控及早发现,针对慢查询用KillOp()杀掉。针对客户端过多的情况,增加一层proxy。
还有就是auto balancer。在数据量小的时候,是不会有问题的。但是一旦开始balancer,线上服务就开始不稳定,系统就开始读写变慢,超市,conn,qr上涨。即使调整了balancer窗口,也不能从根本上解决问题,要不了几天窗口还会被缩小。我们通过moveChunk后删除阶段限速,能缓解问题。通过pre-sharing,然后可以关闭auto balance。
以上是51CTO.com记者从一线为您带来的精彩报道。后续我们还有更加精彩的独家报道,敬请关注。