【工具】MongoDB和orange使用案例

Orange Digital

Orange Digital 是法国电信的子公司,负责向英国的EE(英国最大的移动数字服务提供商)和全欧洲的Orange输送数字服务。Orange Digital 维护者网站Orange (www.orange.co.uk (link is external))、 Orange World和Orange Business站点, 同时也拥有部分EE的数字资产。

简介

Orange为用户提供多平台交互使用体验,吸引着网络上450万忠诚的用户和230万移动设备使用者。公司致力于创新、创造和正面办公场所建设,利用最新前沿科技,特别是企业级云服务和开放解决方案。

Orange Digital公司承诺向用户传递高度的相关体验,每时每刻为ORANGE公司管理着网络服务。这包含着管理全范围的内容,包括新闻,体育,天气和基于位 置的服务,电影,音乐,以及邮件,短信,账户等细节管理的用户服务,包括账单付费,更改合同,在线销售等。

所面临的问题

应对这样海量内容的管理简直就是一项庞大的工程,尤其是在不断要求提升连接速度的情况下,人们的期待也在不断的增长。

Orange Digital之前是在一款MySQL数据库上来运行他们的业务。随着业务不断扩大,用户数量不断增加,公司开始寻求一款替代数据库产品,以便获得更加稳定,更加安全以及能够扩展的性能。

“简单的说,我们是需要一种新型数据库产品,能够应对我们日益增长的对性能和可用性的需求。”

“我们需要处理非常多的不同种类的的数据来源,其中的大多数数据又具备不同的种类和形式。比如,新闻采编人员可能需要增加新闻报道量,但是这些动作需要建立在用户的基础上,因为用户使 用者不同种类的移动设备,这样才可以将正确的内容推送给用户,并且推送的内容是根据用户的个人喜好以及设备进行的。”

这意味着不但Orange Digital需要应对海量内容,而且更多形式的数据也大量产生,包括目标移动设备,用户,数据种类,视频,文字信息和其它。这些信息来源也混合着来自于合作伙伴T-Mobile方面产生的数据信息。

为何选择MongoDB?

在这样的环境下,Orange Digital开始寻求一种数据库替代解决方案,包括整体的推送平台。经过一些调查、研究和测试,公司决定放弃自己本地实施业务。而是转向亚马逊的云服务。

随着向亚马逊迁移,Orange Digital也决定使用一种非关系型数据库来存储内容和数据。经过系列测试之后,公司决定采用MongoDB作为其数据库产品。但是最深层的理由是MonggDB所具备的复制,分区,容灾功能,因为在一个云基础设施上,硬件的故障是非常有可能发生的。Orange Digital的原本设计就是为了能够在错误发生时能够有效应对。

“我们试过不少的数据库产品,但是最后MongoDB成了我们自然的选择,因为它同时具备不可思议的性能,横向扩展,自动备份及错误容灾等强大功能。”

便利的使用性

Orange Digital原来的数据库可能包含60亿行的属性,但是用了MongoDB后,每个用户的数据可以存储在单一的文件中。MongoDB还可以完全兼容实时变换着的数据库图式,让公司得以不费成本地提供新的服务。

虽然MongoDB需要更多的时间配置和建立,但是由于它出色的灵活性和功能,这些投资都得到了回报。“使用基于文件的构架,让我们在之前的MySQL关系型数据库和如今的纯键值存储NoSQL数据库之间找到了平衡。”

虽然MongoDB对开发者有着很好的扶持,但是也需要对转到非关系型数据库做一些调整。在这方面,MongoDB给予了大量有价值的帮助,提供了快速准确的解决方法。

“转移到MongoDB也需要我们的开发人员进行思维方式方面的转变。不同于传统的数据库,非关系型数据库(比如MongoDB)意味着你必须意识到数据是怎样被应用的,而不是怎样被存储的。”

性能

MongoDB的性能表现是让Orange Digita做出选择的首要条件。

虽然从开始的时候数据量是比较小的,但是随着时间的推移,数据的增长量是非常大的。MongoDB的横向扩展功能发挥了巨大的作用,无论内容增长和数据来源的扩大,MongoDB都可以沉着应付,性能不打折。

Orange Digital使用很多缓存来削减负载,目前处理着大约每分钟10-15次写入和450次读取,并且加载测试表明可以应付更多量的读取和写入。这点保证了有足够的扩展空间,保证了用户数量增加所带来的订单额度的巨量增加和4G技术所带来的带宽的数据增加。

“MongoDB工作起来就像一个高性能的存储引擎。当我们需要它的时候,它查询飞速,扩展空间明显。”

自动容错转移和恢复

内容和用户的快速增长加剧了对有效的、自动容错转移和恢复功能的需求。

由于向亚马逊和MongoDB的迁移,Orange Digital必须提供一个可以扩展的,最重要的是,一个稳定的系统。Orange Digital使用单一的 MongoDB 复制集,允许服务器独立反应,提供高效可用性。

实施环境

  • OS: Linux
  • 实施平台: Amazon Web Services
  • 服务器硬件: 4x HDD in RAID 10 configuration
  • Replica Sets: 1 replica set – 4 EC2 instances, 3 local storage (RAID10) + 1 EBS (hidden) for snapshot backups
  • Application Language: PHP

结果

迁移到 MongoDB 和Amazon这个结合,其结果远远超出Orange Digital的先前预期。

“非常坦白地说,我们被 MongoDB的性能表现惊呆了。在负载测试中,系统经受住了每秒800次请求,每次请求都会产生大约147次读取查询,总数达117600次。在迁移到 亚马逊和采用MongoDB期间,再过去的3年间里,我们节省了至少200万英镑。这些节省出自于数据库和平台授权还有硬件上面。”

下一步是什么?

“在我们每个新的项目中(包括将要发生的),MongoDB将会是我们不变的选择。着意味着每个新的项目的实施过程将会被大幅缩减。更主要是我们不会再担心那些在项目实施过程中所产生的不可避免的增量的schema变化。”

下一个主要任务就是把分散在不同系统的内容和信息集中起来。这将给他们更多的在内容上控制空间,让他们得以开发更高级别的个性化服务。

行业:电信 Location: 英国伦敦

为何选择MongoDB?

  • 所向披靡的性能,足够的横向扩展空间。
  • 简单、自动容错转移和恢复功能,快速准确的技术支持

原文发布于微信公众号 - PPV课数据科学社区(ppvke123)

原文发表时间:2014-07-10

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏即时通讯技术

新手入门:零基础理解大型分布式架构的演进历史、技术原理、最佳实践

随着社会的发展、互联网技术的进步,以前的大型机服务端架构很显然由于高成本、难维护等原因渐渐地变得不再那么主流了,替代它的就是当下最火的互联网分布式架构。

15040
来自专栏云计算D1net

多云环境带来管理挑战

企业中多云环境的增长点燃了降低复杂性和冗余性管理工具的需求。 根据Gartner的数据,接近半数的大型企业将在2017年末之前运行混合云架构。灵活性、可伸缩性和...

442100
来自专栏腾讯大数据的专栏

腾讯发布2017年代码报告

腾讯发布2017年代码报告,对过去一年研发数据进行了统计,涵盖代码、开发者、语言等基础数据。

42090
来自专栏灯塔大数据

干货|非常实用的10款网站数据实时分析工具

网络分析工具可以帮助你收集、预估和分析网站的访问记录,对于网站优化、市场研究来说,是个非常实用的工具。每一个网站开发者和所有者,想知道他的网站的完整的状态和访...

33670
来自专栏织云平台团队的专栏

新时代运维监控能力的进化——天网云用户体验监控平台实践

运维团队审视业务质量监控能力时,有九个问题值得思考,九问运维后,我们重新审视传统的运维监控能力是否仍然能够满足业务对质量的要求,结合当下移动互联网与新兴的业务形...

1.2K20
来自专栏架构师之路

58同城推荐系统架构设计与实现-top100summit(纯干货)

2014年11月21日,58同城将在top100summit峰会的“架构设计专场”分享“58同城推荐系统架构设计与实现”,本文是对分享主题的一个“简要”的介绍。...

49340
来自专栏云计算D1net

成长的烦恼 怎么解决云计算风暴?

云计算目前已经开始逐渐的被越来越多的企业用户采用。但是随着越来越多的应用部署在云中,云计算风暴也开始困扰着客户。 云计算风暴有时也被称为“启动风暴”,或VDI启...

43660
来自专栏重庆的技术分享区

成功准备微服务的5个步骤

原文地址:https://medium.com/@kikchee/5-steps-to-successfully-prepare-for-microservic...

13620
来自专栏云计算D1net

什么是云原生应用 有哪些关键点?

最近讨论云原生应用越来越多,其是指原生为在云平台上部署运行而设计开发的应用。公平的说,大多数传统的应用,不做任何改动,都是可以在云平台运行起来的,只要云平台支持...

30470
来自专栏SDNLAB

如何规划软件定义的数据中心网络

数据中心网络是企业IT创建私有云和混合云架构战略中的关键组成部分,它能够改进数据中心的网络的自动化、敏捷性、安全性和分析能力,能够实现企业自有应用程序与公共云服...

14020

扫码关注云+社区

领取腾讯云代金券