CISCO思科与MongoDB的合作案例展示
思科
思科是网络领域的全球领导者,改变了人们的联系、沟通和协作方式。2011 年 11 月,思科推出了 WebEx Social(以前称为 Quad),这是一个企业协作平台,专为当今的社交、移动、视觉和虚拟劳动力而设计。作为“面向企业的 Facebook”,WebEx Social 在人们需要时将他们与他们需要的信息和专业知识联系起来。用户在整个企业范围内、跨越地理和组织边界共享知识和想法。当他们现有的关系数据库需要 NoSQL 扩展来支持协作工作空间时,思科选择 MongoDB 作为他们的 NoSQL 数据库。
问题
思科云协作应用技术集团 (CCATG) 的首席架构师 Biren Gandhi 表示,WebEx Social 是一个真正的 Enterprise 2.0 平台,是“人们在工作中‘生活’的地方”。综合协作平台结合了企业 2.0 的四大核心支柱——业务流程、内容、通信和社交功能——使用户能够轻松协作。对于现有的关系数据库,针对高度规范化模式的复杂 SQL 查询非常耗时,而且思科几乎没有水平扩展的空间。此外,很难管理架构升级和从一个版本到另一个版本迁移数据。
WebEx Social 的快速发展需要扩展数据存储功能和构建成功的新社交功能的能力。思科寻求一种开源的 NoSQL 解决方案,它具有可扩展性、灵活性并满足产品的核心企业需求:安全、成熟的商业支持,能够提供一致的备份和灾难恢复,并且易于与旧系统集成。经过广泛的评估和成功的概念验证后,思科于 2011 年年中采用了 MongoDB。
为什么是 MongoDB?
MongoDB 现在用作 WebEx Social 的社交功能的主要实时数据存储,这些功能本质上是写入繁重的。例如,根据一些复杂的隐私和可见性规则通知数千名用户的社交活动提要。此外,思科使用 MongoDB 执行一些社交网络分析。借助 MongoDB 的轻量级 MapReduce 功能,思科开发人员能够轻松自动生成建议,例如要联系的用户、要加入的社区和要查看的有趣内容,以及统计数据,包括顶级贡献者、最受欢迎的同事和下载次数最多的文档。
“MongoDB 是一个非常活跃的开源项目,拥有一个充满活力的社区。它与 WebEx Social 的功能集相匹配,完全符合我们的需求,”Gandhi 说。
易于实施的文档模型
MongoDB 的基于文档的数据模型为思科提供了在复杂关系数据库和大多数 NoSQL 解决方案的纯键值存储之间的适当平衡。
从域模型到 JSON 文档的直观映射和复杂的查询功能使思科能够交叉引用用户和查询嵌入列表,这些功能要么在现有数据库中无法实现,要么执行成本高。根据 Gandhi 的说法,与需要 fetch-update-commit 三个步骤过程的关系模型相比,MongoDB 的就地原子更新允许“一站式操作”。
毫秒响应时间
借助 MongoDB,思科将读取速度从某些极端情况下的 30 秒加快到每个对象的几十毫秒,并在某些情况下消除了缓存需求。随着 WebEx 社交平台的发展,思科计划将更多写入繁重的功能迁移到 MongoDB。
高度可扩展
MongoDB 满足 WebEx Social 的大容量写入活动的需求。MongoDB 提供了一种快速、简单的方法来从数据存储中反规范化、索引和提取信息,其独特的复合和地理空间索引是一个很大的优势。
高可用性
思科使用内置的分片和副本集,它们易于使用并通过节点的自动故障转移和成员节点的恢复来实现高可用性。
作为思科各种创新计划的一部分,许多开发人员参与了自愿项目,人们可以在这些项目中进行协作并分享他们的想法成果。许多人已将 MongoDB 作为其项目开发的一部分,这证明了该数据库提供的可用性、灵活性和创新性。
结果
Cisco 开发团队不断评估最有效的产品路线图,以推动客户在 WebEx Social 上取得成功。MongoDB 为思科客户提供了一个用户友好的平台,为开发人员提供了一种简单、强大的技术。思科专注于快速推出新功能并为用户提供灵活性,“MongoDB 是其中的重要组成部分,”甘地说。