品牌名称
Shutterfly
企业规模
501-1000人

Shutterfly与MongoDB的合作案例展示

282次阅读

蝴蝶

Shutterfly 是领先的基于互联网的社交表达和个人发布服务,为数百万客户保护超过 60 亿张图片。该公司的优质在线照片服务和产品使消费者能够以照片和视频的形式分享回忆,并将日常照片变成创意纪念品,例如相册和个性化网站。

 

作为唯一不缩减采样、压缩或强制删除照片的照片共享网站,Shutterfly 面临着巨大的数据增长,这推动了其现有 Oracle 数据库的性能极限。在对开源关系和非关系替代方案进行广泛分析后,Shutterfly 选择了 MongoDB 作为其持久数据存储。MongoDB 提供高性能、可扩展性和快速上市时间——这是帮助 Shutterfly 为客户提供无与伦比服务的三重优势。

 

问题

为了在竞争中保持领先并提供最高质量的客户体验,Shutterfly 不断实施新功能以改进用户与其产品和网站交互的各种方式。在 Oracle 上开发了十年之后,Shutterfly 的代码库很脆弱,使许多工程用例陷入了痛苦的爬行。应用程序需要很长时间才能正确构建;或者,一旦建成,它们的性能就不够快。事实证明,Oracle 的费用太高(软件许可和硬件之间)并且提供的性能低于标准。2009 年,Shutterfly 开始寻找可以与业务一起增长的替代数据库,并寻求一种开源解决方案,使他们能够跨商品硬件横向扩展,加快应用程序性能并缩短上市时间。MongoDB 符合要求。

 

为什么是 MongoDB?

MongoDB 以低成本为 Shutterfly 提供了敏捷、高性能、可扩展的解决方案。MongoDB 与 Shutterfly 的基于服务的架构无缝协作,提供了一种干净、快速的应用程序构建方式,以及匹配多个用例的灵活性。迄今为止,Shutterfly 已经在 MongoDB 上开发了近十几个项目,现在存储了超过 20TB 的数据。

 

加快上市时间

数据服务总监 Kenny Gorman 解释说,使用 MongoDB 的“真正杀手级原因”是其丰富的基于 JSON 的数据结构,它为 Shutterfly 提供了一种敏捷的软件开发方法。借助 MongoDB,Shutterfly 团队可以快速开发和部署新应用程序,尤其是 Web 2.0 和社交功能(例如标记、喜欢、评论),这些功能在其遗留系统上实施起来既困难又昂贵。MongoDB 的文档模型丰富了 Shutterfly 的数据建模能力,允许使用以前不可用的新查询模式,同时灵活的模式缩短了开发周期并加快了上市时间。

 

提高性能

留下复杂的遗留代码简化了 Shutterfly 架构,使公司能够以低成本提高单个页面和站点的性能。插入的平均延迟从 400 毫秒降至 2 毫秒,Shutterfly 客户现在可以在执行共享和评论照片等任务时获得他们期望的速度。

 

可靠的服务器支持

Shutterfly 使用 MongoDB 的副本集满足了其极高的正常运行时间要求(超过 10,000 ex/sec),通过节点的自动故障转移和成员节点的恢复实现高可用性。他们独特的架构为每个副本集包含四个成员,将数据写入多个成员的能力对于数据质量和安全至关重要。

 

一目了然的监控

Shutterfly 使用MongoDB 管理服务 (MMS)作为获得系统可见性和洞察力的主要工具。它不仅节省了 DBA 资源,而且 MMS 使他们有信心更快地推进项目。此外,“它使我们能够与 MongoDB 支持建立紧密的联系,”Gorman 说。

 

开源社区

Shutterfly 很早就预测到 MongoDB 拥有打造一流产品和大型社区的热情、远见和专业知识。他们是对的:MongoDB 社区一直是他们项目的重要资产。“MongoDB 背后有如此多的精力,我们对整体发展方向和速度感到非常满意,”戈尔曼说。

 

结果

Shutterfly 从 Oracle 切换到 MongoDB 使性能提高了 9 倍并大幅降低了成本。此外,Shutterfly 现在可以在几个冲刺中开发应用程序——几周而不是几十个月的时间框架。

 

得到教训

Gorman 的建议是为工作选择合适的工具。最近的 NoSQL 运动带来了在特定用途上蓬勃发展的新工具;关键是要适当地使用每个工具。他建议说,MongoDB 的核心功能表现得非常好,但不要要求它做它不做的事情。“你的数据有它想要的格式,所以仔细听,它会告诉你的。”

 

下一步是什么?

MongoDB 是 Shutterfly 持久性架构的基石,是开发人员触手可及的重要功能。“到目前为止,我们已经看到了巨大的收益,我们对未来感到非常兴奋,”戈尔曼说。“我们不断地针对 MongoDB 评估所有新项目,如果合适,我们就会使用它。我希望这将为我们的客户提供出色的新功能的重要组成部分。”