科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网服务器频道虚拟化/云计算DynamoDB助木瓜移动征战100毫秒速度战

DynamoDB助木瓜移动征战100毫秒速度战

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

在移动广告领域,实时竞价(Real Time Bidding,简称为RTB)的技术竞争日趋激烈。新一代广告营销模式的背后,每天都在上演着以100毫秒为单位的计算速度追逐赛。

作者:于翔 来源:网界网 2014年4月21日

关键字: 亚马逊 AWS 数据库 云计算

  • 评论
  • 分享微博
  • 分享邮件

ZDNet至顶网服务器频道 04月21日 新闻消息:在移动广告领域,实时竞价(Real Time Bidding,简称为RTB)的技术竞争日趋激烈。新一代广告营销模式的背后,每天都在上演着以100毫秒为单位的计算速度追逐赛。

互联网与广告业的深度融合,不断改变着在线广告的形态和市场格局。伴随着移动互联网的普及,RTB(Real Time Bidding,实时竞价)成为一种快速蹿红的在线营销技术。所谓RTB,就是利用第三方技术在数以百万计的网站上,针对每一个用户的展示行为进行评估以及出价的竞价技术。与大量购买投放频次不同,RTB模式能够规避无效的受众到达,只针对有意义的用户进行广告位购买。也正是这种精准营销的能力,让RTB在2009年前后于美国市场强势崛起,并迅速风靡全球。

DynamoDB助木瓜移动征战100毫秒速度战木瓜移动CTO及联合创始人 钱文杰

在RTB领域,有一个时间长度总被频繁地提及,同时它也是支撑RTB业务运营的一个关键指标,这就是100毫秒。所谓“100毫秒”,指的是当用户访问一个网站时,广告供应方平台即向Ad Exchange广告交易平台发送用户访问讯号,随后广告位的具体信息会经过数据管理平台的分析匹配后发送给需求方平台,需求方平台将以此展开竞价,价高者将会获得该广告位的展现机会,并且广告会被目标用户看到。而从开始竞价到完成广告投放,全过程仅耗时100毫秒,全部依托技术手段实现。

RTB在中国同样处在蓬勃发展的阶段,伴随着中国软件开发商脚步的加快,RTB也成为了他们进军海外市场的重要途径。据研究机构IDC预测,到2016年,中国的RTB市场规模将达到40亿美元。短期内即将触发的巨大市场,让RTB市场成为了科技创新企业的乐园,木瓜移动就身处其中。4月3日,木瓜移动正式发布了其名为AppFlood的移动实时竞价广告平台。与同类平台相比,AppFlood最大的特点在于,这是一个完全基于亚马逊AWS(Amazon Web Services)云服务的平台,在数据库方面,AppFlood选用了Amazon DynamoDB数据库服务。

云数据库选型

木瓜移动在2008年由两位清华学子沈思和钱文杰创办,早期从手机游戏起步,逐步形成大型游戏社区。2012年,木瓜移动进入RTB领域,开始研发AppFlood移动实时竞价广告平台。目前,木瓜移动已经在旧金山、伦敦和北京设立的办公室,全球雇员超过100人,业务覆盖北美、欧洲、亚洲和中东等地区。除AppFlood外,木瓜移动的产品还包括KIWI calendar(主要面向美国用户的智能日历)以及木瓜孵化器项目。

据木瓜移动CTO及联合创始人钱文杰介绍,区别于其他RTB平台,AppFlood提供了让广告客户查看广告发布商级别信息的透明机制,以方便广告客户实时鉴别和获取高价值客户。品牌商和代理机构可以在单一仪表盘上进行实时竞价的流量买卖,且不需要进行任何的技术集成。与此同时,AppFlood还支持富媒体和视频广告资源,并且提供反恶意软件监测服务。

作为AppFlood平台的核心部件之一,数据库的性能表现在很大程度上决定着该平台的实时竞价能力。“100毫秒的时间限制对于每个RTB平台都是严峻的挑战。网络通讯的延迟、数据库数据读取的延迟,以及定价算法的计算延迟都可能会造成竞价过程的超时,进而导致竞价失败。因此,在完善平台基础通信能力和强化算法之外,选择一个高性能的键值(Key-Value)数据库,对于RTB平台的建设和运营至关重要。”钱文杰说。

在开发AppFlood平台之前,木瓜移动已经拥有近5年使用键值数据库的经验。先开始是使用MySQL和Redis,后来又尝试过Riak和Mongo DB,陆续遭遇了一些问题。“以Riak为例,首先遇到的问题就是运维成本高,且十分耗时,不适合移动互联网业务的要求。另外,还出现了各种各样节点失效的问题。”钱文杰说。

经过了半年时间的考察,木瓜移动最终将目光锁定在亚马逊的DynamoDB。钱文杰表示,作为一个完全托管的NoSQL数据库服务,DynamoDB在性能方面能够满足RTB业务快速反应的要求,同时使用、扩展和管理都非常方便。数据库的运维由亚马逊AWS完成,开发团队不用投入精力在数据库运维方面。“DynamoDB提供可控的读写延迟和并发数,以及传统键值数据库所无法提供的索引和查找功能,包括AppFlood在内的木瓜移动生产数据目前已经全部存储在DynamoDB上。”他说。

将全部的生产数据从MySQL迁移到DynamoDB,木瓜移动花费了六个月以上的时间。在初期,他们先把一部分数据放在DynamoDB上,并且和MySQL做“双启”。在进一步的性能测试完成后,真正的数据迁移才开始进行。为了支持全球化的业务运营,木瓜移动对DynamoDB进行跨区,具体的方法是通过“Redis+Storm”实现跨区备份。

“对于一家互联网公司来说,数据库的选型是一件谨慎且耗费精力的事。从目前AppFlood及其他业务的运营情况看,我们的选择还是比较成功的。借助托管型数据库服务,我们的团队不再需要处理节点失效等形形色色的故障,也不用担心数据遗失的问题,还能够实时调整I/O。这样一来,开发团队可以将更多的精力投入在改进产品和算法方面。”钱文杰说。

云上的软件开发商

和此前所开发的产品一样,AppFlood同样采用了完全基于公有云[注]服务构建和运营的模式。截至目前,木瓜移动的所有产品均构建在亚马逊AWS之上。钱文杰坦言,这样的平台选择与木瓜移动在创建伊始即主要发展海外移动互联网业务密切相关。

“以AppFlood为例,我们选择在云上构建实时竞价广告系统是从价格和交付能力两方面来考虑的。”钱文杰说。在价格方面,在云服务平台上不需要开发团队投入精力去维护硬件,运维成本大幅降低。企业还可以根据当前流量自由调整服务器数量。在亚马逊AWS平台上,Spot Instance和Auto Scaling是价格低廉的解决方案。另一方面,云服务商在全球范围内建设的机房以及CDN节点能够确保应用交付的性能,从而用最低的成本降低系统延迟,并且可以进行便捷的异地备份。

钱文杰强调,基于公有云平台的软件开发可以让开发团队更专注于产品功能的改进,实现敏捷开发、快速迭代的目标。与此同时,依托公有云平台的全球同质化服务,真正做到本地开发,服务全球。谈到为什么选择亚马逊AWS作为单一的云服务平台,钱文杰坦言,早期木瓜移动也曾在北美地区小范围实验过GCE(Google Compute Engine)、微软Windows Azure等公有云服务。但经过评估,开发团队认为其他的公有云服务在价格和产品的丰富程度上逊于亚马逊AWS。

“亚马逊AWS的产品线非常丰富,提供的运维服务也非常多,能够基本上覆盖我们完整的开发需求。在亚马逊AWS平台上,我们可以利用多种服务器的类型构建起理想的服务器集群,并且利用多地机房配合Route53将网络延迟降至最低,异地备份也十分方面。DynamoDB提供了优质的数据库存储解决方案,SQS(简单排队服务)给后台的任务队列提供了性能和稳定性的保证。”钱文杰说。目前,木瓜移动主要使用的是亚马逊AWS在北美、欧洲等地区的区域服务。据悉,木瓜移动已经进入亚马逊AWS中国区域服务首批客户的名单,将在该项服务正式交付时率先使用中国区域服务。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章