Livemocha 是一个在线语言学习网站,提供超过 25 种语言的免费课程,在全球范围内有 3 百万用户。Livemocha 创建了一个互动社区,在这里,来自世界各地的人们可以参加课程并与母语人士实际交流,最终提供一种自然、高效的学习外语的方式。

livemocha.com 每月访客超过 150 万,且网络流量持续快速增长。为了追踪和管理用户活动,livemocha 工程团队设计了专门的网站架构来针对用户操作生成反馈项目。启动不久后,Livemocha 每天生成 300 多万反馈项目,随后,就开始经历性能退化。最大的瓶颈的在于他们的关系数据库管理 (RDBMS),尤其是经营管理系统。它的全职工作变成管理架构修改、性能、异步插入、复制、删除和写入脚步。

“我们那时在岔路口,必须寻找一个解决方案,让我们能够轻松存储、处理和查询数据集,并且在面对大数据集时也能表现良好,”Livemocha 工程副总裁 Krishnan Seshadrinathan 说。“我们调查了数个非 RDBMS 存储,然后选择了 Amazon SimpleDB,因为它能满足我们的性能目标、支持大数据集、具有“无模式”,并且可根据需要进行扩展。”

当该团队迁移到 SimpleDB 后,他们发现了从 Amazon Web Services 利用多个服务的好处。他们在 Amazon Simple Queue Service (Amazon SQS) 中记录用户事件,使用多个 Amazon Compute Cloud (Amazon EC2) 实例处理这些事件,并在 SimpleDB 中存储和生成相应的反馈项目。这些反馈项目现在已得到安全存储,并且可随着今后的增长而轻松扩展。

“通过迁移到 Amazon SimpleDB,我们每月资源成本减少超过 10 000 USD,”Krishnan 回忆说。“我们取得了很好的效果,并且大大降低了经营管理数据的复杂性。此外,它消除了 sql 生产系统日常运行的删除任务的复杂性,后者之前会产生相当数量的不必要负载。通过利用 Amazon SQS 和 Amazon SimpleDB,我们的设计和管理变得更加简单。现在,我们正在移动更多功能,以便利用 Amazon SimpleDB 和 AWS。”

除了管理大型用户反馈数据集外,Livemocha 还拥有不断增长的图像、音频以及视频库。“我们使用 Amazon Simple Storage Service (Amazon S3) 和 Amazon CloudFront 来处理所有媒体文件,这使我们能够轻松地按需扩展存储,并进一步控制我们的数据库增长。”Livemocha 还使用 AWS 的计算能力。“我们还使用 Amazon EC2 和 Amazon S3 来处理和生成课程视频。这是一个密集型处理过程,而生成每个课程需要几个小时。通过短时间扩展和减少 Amazon EC2 实例的数量,我们能在短时间内完成生成过程”Krishnan 回忆说。

总之,Livemocha 发现 AWS 基础设施构建快对它的持续成功非常重要。Krishnan 说道:“通过利用 AWS 平台,我们能够降低系统管理成本,专心从事我们的核心业务。”

要了解有关 Amazon SimbleDB 的详细信息,请访问 Amazon SimpleDB 详细信息页面:http://aws.amazon.com/simpledb/

若要了解关于 AWS 如何帮助您满足 Web 应用程序需求的更多信息,请访问我们的 Web 应用程序详情页面:http://aws.amazon.com/web-mobile-social