eHarmony是一家美国的婚恋服务网站,公司的IT部门发现,开源NoSQL数据库MongoDB能够完美满足数据存储的需求。
在2001年的时候,eHarmony就已经拥有100万的注册用户,而到了2013年,会员数已经突破了4400万。公司针对配对引擎的机器学习能力变得越来越复杂,而关系型数据库PostgreSQL遭遇性能瓶颈。
eHarmony的技术总监Thod Nguyen表示:“我们配对模型的兼容性变得越来越复杂,而且它是双向的,与Netflix的模型是不一样的。你可以喜欢一部电影,而电影不必喜欢你。”
Thod Nguyen声称,在美国有5%的夫妻是从eHarmony网站上认识的,这是一个相当大的比例。对网站来说,这意味着每天要处理十亿以上的配对操作。这背后是强大的机器学习技术作为支撑。
使用MongoDB作为数据存储,eHarmony处理整个用户池的数据只需要12个小时,在此之前则需要15天之久。
然而配对只是整个网站的一个组件而已,用户参与行为也是其中之一。Nguyen表示,在网站改版之后,用户参与也变得越来越频繁。
Nguyen在10个月之前刚刚加入eHarmony,在将NoSQL数据库技术投入生产环境方面,他拥有着丰富的经验。Nguyen领导了一个60人的强大团队,他所面临的最严峻的问题就是“突发流量激增”和日益复杂的用户资料匹配模型。
“在这样的应用场景下,考虑扩展性和性能,MongoDB是最佳的NoSQL解决方案。”他说:“用户池的数据在之前是集中存储在PostgreSQL上的,随着数据量的增长和配置文件中的属性增长,数据库的扩展性到达极限了。”
公司需要的是实时配对服务,如果处理完整的用户池,这需要几周的时间才能实现,特别是那些高质量的配对。所以,Nguyen在2012年开始考虑对架构进行重新设计,而数据存储则是非常关键的一环。
除了MongoDB之外,eHarmony还评估了HDFS(Hadoop分布式文件系统),MySQL,Voldemort数据存储和Cassandra。Nguyen表示:“MongoDB在扩展性、内置分片和复制技术方面表现十分出色,因此它特别适合跑复杂的查询。”
另外,MongoDB还拥有灵活的schema。在SQL系统中,如果给资料添加一个属性,需要进行完全的数据迁移。这对于几十TB数据量的生产系统来说,基本上不太可能。而是用新的系统,你只需要添加更多的节点就可以了。
Nguyen说:“对于这种复杂的问题,MongoDB是最佳的解决方案。”
Nguyen建议其他考虑这种方法的企业,要从自身需要解决的问题出发,而不是从技术本身去考虑问题。对待开源技术要以开放的视角来看,现在有很多开源产品和MongoDB的功能很像,但它是不是能解决你的问题,你需要考虑周全。
Nguyen自己是开源技术的铁杆支持者,但他同时提醒,POC测试和真正的企业生产环境是有很大差别的。在测试和开发阶段你可能看不出的问题,在生产环境中就都会显现出来。因此社区支持是非常重要的,你需要非常多的专业化技术支持。MongoDB在这方面就做的非常好,除社区支持外,10gen公司还提供了非常专业的商业化支持。
此外,回报社区也是非常重要的。Nguyen也已经将他们的seeking查询库放到了GitHub上。
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
翻译
相关推荐
-
MongoDB与Cassandra数据库对比
MongoDB和Cassandra都属于NoSQL数据库系列,它们也恰好都是开源,但是,它们的相似之处仅此而已 […]
-
OpenWorld18大会:Ellison宣布数据库的搜寻和破坏任务
在旧金山举行的甲骨文OpenWorld 2018大会中,甲骨文首席技术官(CTO)兼创始人Larry Elli […]
-
eHarmony公司利用Redis NoSQL数据库进行热存储
虽然关系型数据库不会消失,但关系型数据库管理系统有时仅在会话管理、推荐引擎和模式匹配等关键Web应用程序中担当 […]
-
SQL Server 机器学习在运营数据领域“火力全开”
当今最热门的趋势之一,就是使用人工智能和机器学习技术来增强传统业务应用。可能下一代数据中心应用平台将会支持的实时联机事务处理分析功能。