【IT168 案例】在线博彩行业在英国有着非常大的市场,其中博彩公司WinUnited旗下的YouWin.com就是非常著名的一家。据记者了解,该公司使用10gen旗下的开源NoSQL数据库MongoDB实现了实时博彩系统的升级。
WinUnited的开发部门负责人Arek Goralski向记者介绍,公司决定采用非关系型数据库MongoDB之前做了详细的计划,从一个部门到另一个部门,整个实施过程一共经历了2年半的时间。最初是在他所在的开发团队部门,然后又推广到了支付系统和营销系统。
WinUnited旗下共有三个品牌网站,分别针对不同地区开放,而YouWin.com主要针对德国与土耳其地区。YouWin.com包含诸多博彩产品,如扑克、赌场以及竞技体育博彩等。
大约在1年半之前,Goralski的团队停掉了一个陈旧的内容管理系统,当时仅呈现一个YouWin的主页就需要1200个SQL查询。Goralski介绍,在使用了基于MongoDB的内容管理系统之后,整个SQL查询降到了2个,这让YouWin.com的访问速度得到了极大的提升。此外,MongoDB还让Goralski团队可以为用户开发出更多好的功能。
“我们在竞技体育博彩平台上添加了一个新的层,这个平台之前是运行在Oracle数据库上的。而在比赛高峰期,用户使用网站服务给Oracle数据库带来了极大的压力,所以我们决定用MongoDB来保驾护航。” Goralski说。
Goralski介绍,这个开源数据库还帮助公司的支付团队进行欺诈检测,同时帮助市场营销团队进行球员数据的分析。在业务方面,通过MongoDB的部署,整个公司B2B的业务变得更加敏捷,YouWin目前能够在不到一天的时间里为合作伙伴发布贴牌(white label)。
MongoDB的选型之路
18个月以前,由于之前的内容管理系统无法满足业务灵活性需求,因此Goralski的团队开始了数据库选型之旅,他介绍最初一共考虑了包括MySQL、MongoDB在内的多个传统数据库和NoSQL数据库产品。
Goralski表示,MongoDB在快速安装部署方面表现的十分出色,WinUnited需要快速地上线一个原型系统。由于数据库使用了JSON格式,DBA和开发人员对它非常熟悉,所以我们决定选择MongoDB。
“使用SQL数据库进行复制是非常麻烦的,而MongoDB的复制则很简单,” Goralski说:“举个例子,如果支付系统想要做一个复制查询,我们能够在不向生产数据库服务器上添加负载的情况下就可以创建一个实例,在查询任务完成后,我们只需要关闭主机即可。”
10gen公司表示,YouWin.com通过使用MongoDB数据库技术,降低了用户跳出率,并增加了10%的营业额。10gen公司欧洲区副总裁Joe Morrissey表示,YouWin的MongoDB部署令人非常满意,它为业务提供了巨大的灵活性与敏捷性。Morrissey说:“在比赛进行中的博彩游戏里,用户需要根据比赛的进程来实时更新赌注。这就决定了博彩网站的业务模型,谁能够最快速地相应用户请求,谁就能在竞争中脱颖而出。”
从传统数据库向NoSQL数据库的转变
越来越多的企业开始认识到,数据管理系统“一招鲜,吃遍天”的时代已经结束了。传统关系型数据库仍然是非常强大的工具,适合许多应用场景。但是客户对于扩展性和敏捷性的需求在不断上升,这意味着在一些领域中,特别是移动、社交和云,非关系型数据库的前景会更加光明。
Morrissey表示,当客户开始选择其他数据库管理系统的时候,首先考虑的会是扩展性,而他们往往会遭遇到性能的瓶颈。
针对这一点,客户需要一个面向文档或者基本单元记录的方法。Morrissey说:“这将能够解决扩展性的问题,但是用户还想要关系型数据库中丰富的查询功能能,键值存储模型(Key-Value Store,也是NoSQL的一种)也能够实现。它能够进行业务迭代,大大降低业务上市的时间。业务需要更加敏捷,所以数据模型也要跟上。”
关系型数据库模型的Schema建立是非常死板的,而且实现起来非常复杂。Morrissey表示,不管面向文档的数据库模型是以行形式还是列形式来存储数据,它都是无模式(schema-less)的,你可以进行快速的迭代,Morrissey认为这是数据库技术领域的一个跨时代进步。