Shutterfly


  • 管理員

         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架构,使公司能够廉价地提高单独的页面和站点性能。插件的平均延迟时间从400ms降至2ms,而Shutterfly客户现在可以在执行诸如共享和评论照片等任务时获得预期的速度。

     

    可靠的服务器支持

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

     

    一览监控

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

     

    开源社区

         Shutterfly早期预测MongoDB有激情、愿景和知道如何打造一流的产品和一个大型社区。且他们是对的:MongoDB社区对他们的项目来说是一个很大的财富。Gorman说:“由于MongoDB的能量太多,我们对整体发展方向和发展速度非常满意。

     

    结果

         Shutterfly从Oracle转为MongoDB,从而实现了9倍的性能提升和大幅降低成本。此外,Shutterfly现在可以在几个冲刺中开发应用程序 - 几周而不是几个月的时间。

     

    得到教训

         Gorman的建议是选择合适的工具。最近的NoSQL运动已经产生了在特定用途上蓬勃发展的新工具;他建议MongoDB的核心功能非常好,但不要求它做一些它不做的事情。“你的数据有一个它想要的格式,所以仔细听,它会告诉你的。”

     

    下一步是什么?

         MongoDB是Shutterfly持久性架构的基石,开发人员在其指尖处获得了重要的功能。Gorman说:“迄今为止,我们已经取得了巨大成就,我们对未来感到非常兴奋。“我们不断评估针对MongoDB的所有新项目,如果适合,我们使用它。我希望这将是我们客户的绝妙新功能的重要组成部分。“


登录后回复
 

与 萌阔论坛 的连接断开,我们正在尝试重连,请耐心等待