GILT Groupe


  • 管理員

        每天EST中午,Gilt在时尚,家居装饰和休闲方面推出最受欢迎的产品和最受欢迎的品牌的新的限时销售。 该公司于2007年12月推出,是闪存销售领域的领导者,并吸引了数百万忠实观众,为内部商人提供了令人垂涎的商品和经验。 即使面对极其尖锐的服务器负载,始终如一的高性能也是至关重要的。

        最初在Postgres上构建为一个单一的应用程序,Gilt于2010年迁移到面向服务的架构,以便能够快速开发新功能,同时为核心服务保持稳定的代码库。 因为它是无模式的,所以MongoDB可以让Gilt开发人员轻松构建和快速改进新的服务,非常适合高性能应用程序。

     

    问题

        在公司的早期阶段,只有少数开发人员和“包含”模式,可以在单片Postgres架构上快速完成端到端的深入变革。 随着Gilt成熟,业务模式和流程变得更加稳定和理解,单一的方法变得昂贵,扩展和限制开发人员添加适合不同业务孤岛的新功能(例如零售与旅游与食品和葡萄酒)的能力。)

        Gilt建筑副总裁Eric Bowman表示:“变革开始便宜,但最终会昂贵,因为我们必须一再做端对端的改变。 利用NoSQL数据库的面向服务架构将有助于Gilt以成本效益的方式水平扩展。

     

    为什么选择MongoDB

        Gilt正在使用MongoDB从Postgres转换用户配置文件数据。 Gilt的面向客户的应用程序现在可以从MongoDB检索数据,MongoDB提供了一个灵活高效的数据存储,多个系统可以从中访问各种业务流程的用户数据。

     

    无模式设计:无风险创新

        Gilt将其架构分为稳定的核心和不太稳定的卫星,鼓励创新。 MongoDB代替资源密集型模式迁移,使开发人员可以轻松为特定用户添加新字段,例如,而无需更改整个数据库。这种架构灵活性促进了快速,频繁的创新,开发人员可以在不修改核心架构的情况下隔离应用程序。

        例如,管理Gilt的电子邮件是一项巨大的工程任务。他们每天发送数以百万计的个性化电子邮件,由最前沿的算法生成。除此之外,电子邮件必须动态重新排队 - 例如,密码更改电子邮件需要立即发送。两个月后,两名开发人员在MongoDB上构建了一个可靠,快速,干净的系统,可以在部署前单独进行。 Bowman说:“他们很容易为客户构建真正强大而有用的东西。

        另一个例子是Gilt的用户偏好服务,允许客户在登录时看到自己喜欢的品牌。MongoDB使Gilt能够为数百万用户定制首页布局,同时提供稳定,一致的性能。 灵活选择投资水平。

        MongoDB提供的主要优点之一是可以根据需要扩展硬件投资。对于许多应用程序,MongoDB在商品硬件或虚拟化服务器上的性能满足要求。但在某些情况下,毫秒级的响应时间是一个要求,值得追加投资;这可以通过提供MongoDB额外的硬件资源来轻松实现。 Bowman说:“这种弹性很难用Postgres实现。”

     

    三角洲模式

        Gilt最大的挑战之一是如何为复杂且不断变化的工作流程建立数据模型。单次销售经历数百次变更,可能需要数十位不同人士的批准。此外,随着随时对此工作流程进行更改,销售取决于能够快速反映这些数据更改并将其提供给面向消费者的站点。

        MongoDB使开发人员能够将一个复杂的对象(如销售数百个不同的部分和批准)分解成一个分层树。 MongoDB使用带时间戳的对象,在每个接受的状态之间存储增量,使数据模型和审批过程本身变得简单直观,同时快速提供关于对象的最新状态的信息。

        MongoDB提供开发人员的变化使得开发人员能够使用全新的方法来管理这个复杂的工作流和批准过程,这几乎不可能使用关系数据库。因此,Gilt可以在销售前的最后几秒内安全地对关键更改进行更改。

     

    具有成本效益的规模

    随着系统开始垂直和水平扩展,Postgres将其扩展到“Web规模”,迅速变得复杂化,而Gilt仍然需要专业的DBA来保持Postgres服务器运行正常,Bowman说这是MongoDB的“不同思维方式” MongoDB不需要DBA投资。

     

    部署

         操作系统:CentOS

         服务器硬件配置:每个服务器的SSD为96GB RAM

         副本集:1个最大集群中有3个节点的副本集

         应用程序语言:Java / Scala(使用Play!框架),使用Casbah和Morphia与MongoDB进行接口

         其他数据库技术:Postgres,Voldemort

         监控系统:MongoDB管理服务,TSDB

     

    结果

        MongoDB由于易于使用,易于维护和在商品硬件上提供高性能的能力,可节省基础设施成本。

        MongoDB还使Gilt开发人员能够更快地在网站上获取新元素,从而提供更好的用户体验。 鲍曼说:“MongoDB简化了一些困难的问题[像三角洲模式]。 “它降低了实施的复杂性,并且从上到下更有效率 - 有货币价值。”

     

    下一步

        Gilt开发团队目前专注于使用MongoDB的用户数据。 未来,他们计划在MongoDB中尝试使用和存储产品数据的新方法。

     

    行业:电子商务

    位置:纽约州纽约市

     


登录后回复
 

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