分布式 NoSql 数据库 Couchbase 的3个应用案例

简介

NoSQL在过去几年迅速增长,很多大型企业将其应用于重要任务,例如

  • Tesco(全球三大零售企业之一)使用 NoSQL 支持他的目录、价格、库存等多个主要领域
  • Sky(网络电话服务商)使用 NoSQL 管理他的 2000 万用户配置信息
  • Sabre(机票全球分销商)使用 NoSQL 支撑其世界上最大的旅游数据服务

现在 NoSQL 的发展呈现出4个明显特点:

  1. 超越了实验阶段,进入了主流,被应用于核心应用
  2. 被各行业的主流公司所采用,使用场景非常广泛
  3. 早期采用者已经受益,高性能、易扩展、开发快、资源利用率高
  4. 成为了现代大数据基础设施中的重要部分

分布式 NoSql 数据库 Couchbase 被广泛用于大型系统,下面介绍其3个典型的应用场景

  1. 个性化
  2. 实时大数据
  3. 内容管理

场景1. 个性化

个性化已经成为必然趋势,同时也是一个巨大的挑战。个性化可以针对不同的访问者提供正确的信息,例如广告、推荐等等,但是创建个性化的用户体验需要有强大的海量数据消化、处理、利用的能力,这对于关系数据库是个挑战

个性化体验需要大量不同的数据,例如统计信息、上下文信息、行为数据 ……,可用的数据越多,个性化体验越好

一个典型的数据来源是点击流,具有量大、高速的特点,会对关系型数据库产生很大的写压力,而分布式 NoSQL 数据库,例如 Couchbase,可以弹性扩展

关系型数据库的表结构比较僵硬,很难在运行过程中迅速更新

在得到访问者的各种数据后,需要精确的维护访问者的信息,这些信息很可能具有上百个属性,并且是在增长的。关系数据库的数据模型比较固定,扩展能力不足,而文档数据库具有灵活的数据模型和扩展能力

个性化的信息展示要求是实时的,关系数据库受限于硬盘的速度,而例如 Couchbase 等 NoSQL 集成了内存缓存,速度可以提升百倍

业务和技术上的关键需求点

  • 收集统计数据、上下文、行为数据等,来提升访问者信息的准确性
  • 管理上亿级别的访问者信息
  • 持续添加新的配置属性来增加对访问者的了解程度

Couchbase 的解决方法

  • 高吞吐、低延迟,保障了海量的并发用户
  • 灵活的文档数据模型,支持快速开发
  • 完整的缓存体系提供了高速读写能力

客户案例 AOL

Advertising.com 属于 AOL,是世界上最大的广告网络,每月数十亿的访问

点击流数据进入 Hadoop,用于分析,统计出来的访问者信息存储在 Couchbase,Hadoop 中数据的导入导出是使用 Sqoop

Couchbase 内置缓存中存放着热点广告,可以提供毫秒级的响应速度

灵活的数据结构模型可以方便的扩充数据,进而持续精进广告的目标算法

场景2. 实时大数据

对于公司来讲,从运营数据中快速提取出有效信息是非常重要的,Hadoop 是大数据分析的专家,但不适用于实时分析,NoSQL 在实时数据处理上具有优势,但不适用于数据分析,结合使用 Hadoop 和 NoSQL 成为很多公司的解决方案

以前,公司运营数据库和分析数据库是分开的,用于不同的环境,运营数据库是服务于应用,分析数据库用于商业分析和报告,他们没有很好的集成,通常是把运营数据库中的数据导入分析数据库

现阶段,企业对于大数据的处理从批处理转向了流处理,因为批处理是增量的,而且比较慢,而流处理又快又持续,例如像 Storm 这类的流处理器,分析数据的同时就产出了数据,但他不能分析历史数据,这需要 Hadoop 来处理,而且也不能提供对结果的访问,这时,NoSQL 数据库就有使用场景了,可以作为前端存储,存放和管理运营数据,并把数据倒向 Hadoop,也可以作为后端接收数据库,存储 Hadoop 的分析结果,这样就形成了一种组合方式:NoSQL数据库 + Hadoop + 流处理器(如Storm)

Couchbase 作为一个高性能的 NoSQL 分布式数据库,已经被大型大数据公司所认可,例如 Cloudera、Hortonworks,Couchbase 可以与主流大数据技术很好的结合,例如 Sqoop、Kafka,提供一套与 Hadoop 无缝结合的完整大数据解决方案

业务和技术上的关键需求点

  • 对新的数据尽快处理,来提升运营效率
  • 通过一套解决方案同时满足运营与分析的需求

Couchbase 的解决方法

  • 与分布式消息、流处理系统进行结合,例如 kafka storm
  • 以内存为中心的架构提供了超高读写速度,可以支撑持续增长的性能需求

客户案例 PayPal

PayPal 集成了 Couchbase、Storm、Hadoop 构造出一个实时分析平台

用户的点击流数据和交互数据从各个渠道流入平台,用于实时分析,数据在流处理器 Storm 被过滤、聚合,处理完成后写入 Couchbase,供可视化工具访问,最后,数据会从 Couchbase 倒向 Hadoop,用于离线分析

通过这个平台,PayPal 能够实时监控所有流量

场景3. 内容管理

企业都需要使用丰富的内容满足用户,内容形式不再是简单的文本或者整齐的结构化数据,包括了各种结构化、非结构化的数据,例如图片、音频、视频,而且不仅是企业自己发布的内容,还有用户产生的内容,例如图片、视频、评论

关系数据库的数据结构模型比较僵化,添加新的内容类型并不容易,因为这需要一个新的数据模型,而且添加新的属性也不容易,因为需要修改数据模型

NoSQL 文档型数据具有灵活的数据模型,非常适合存储丰富且复杂的内容,可以存储和访问任何类型的内容,结构化、半结构化、非结构化,因为不需要提前定义数据模型,可以轻松支持企业和用户创建的各种类型内容

内容必须快速的呈现给用户,对于关系数据库,访问速度和存储空间都与用户数量和内容数量有关,数量增加则问题加大,而像 Couchbase 这类分布式 NoSQL 数据库几乎是无限制的,可以通过简单的添加服务器来实现扩展,Couchbase 还集成了缓存,能够提供极速的读取性能

客户案例 - 财富500媒体公司

一个财富500强中的媒体企业,每月有5000万的独立访问数量,使用 Couchbase 替代其了原先的 Microsoft SQL Server,用于支持新的内容类型,全面提升其线上用户体验,可以支持每秒50k读、10k写,并能够轻松跟上需求的快速增长

小结

本文翻译整理自一篇英文文档《Enterprise Use Cases For NoSQL》,其中有10个 Couchbase 应用场景案例,包括:

  1. 个性化
  2. 配置管理
  3. 实时大数据
  4. 内容管理
  5. 目录
  6. 360视图
  7. 移动应用
  8. 物联网
  9. 数字化沟通
  10. 欺骗检查

因为篇幅关系,本文只整理了其中的3个,如果对这篇文档有兴趣,可以下载文档:

原文发布于微信公众号 - 性能与架构(yogoup)

原文发表时间:2017-08-18

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏知晓程序

微信官方爆料!这批小程序重磅「新能力」即将开放

但据知晓程序(微信号 zxcx0101)了解,这两个新能力,并不是真正的「新」能力。早在官方宣布之前,一些小程序就已经使用了类似特性。?

1293
来自专栏古时的风筝

我所理解的SOA和微服务

SOA和微服务到底是什么关系? 说实话,我确实不明白SOA和微服务到底有什么本质上的区别,两者说到底都是对外提供接口的一种架构设计方式。我倒觉得微服务其实就是随...

2436
来自专栏Android小菜鸡

常用第三方SDK各平台优劣对比

  公司需求,整理产品能够应用上的第三方功能组件,同时对比各平台的优劣,整理成文。并在后续以技术推动产品,加强公司产品的能力,扩大适用范围。   第一版简单罗...

9112
来自专栏追不上乌龟的兔子

七种微服务反模式

流行术语为那些逐步形成的、需要一个好的“标签”来方便交流的概念提供了一个上下文。微服务就是这样的一个新“标签”,它定义了一个领域,这个领域我自己也发现了,并且...

2239
来自专栏顶级程序员

支付宝Copy 微信代码被扒

支付宝小程序团队在知乎上发布了《给微信小程序工程师的致歉信》,在该信中,支付宝对于自己的直接 copy 了微信的示例行为表示道歉,表示已经立即修改。 ? ? ...

3847
来自专栏BestSDK

微信二次开发SDK:可群控营销手机,智能回复等功能

本次更新主要内容:Android增加是否使用FCM推送的接口,添加语音会议功能;ios实现不同模式的实时语音会议功能,添加动态更换对方实时视频显示页面的功能。 ...

95711
来自专栏美图数据技术团队

日活跃数千万,10亿级APP大数据统计分析平台的架构演进

美图拥有十亿级用户,每天有数千万用户在使用美图的各个产品,从而积累了大量的用户数据。

1952
来自专栏北京马哥教育

史上最全互联网运维工作规划!十分钟找到职业方向!

互联网运维工作,以服务为中心,以稳定、安全、高效为三个基本点,确保公司的互联网业务能够7×24小时为用户提供高质量的服务。 运维人员对公司互联网业务所依赖的基础...

1.1K11
来自专栏腾讯移动品质中心TMQ的专栏

腾讯TMQ在线沙龙回顾|后台测试案例分享

后台测试案例分享 活动时间:2017年9月28日 qq视频分享 活动介绍:TMQ在线沙龙第三十一期分享 本次分享的主题是:后台测试案例分享 共有66位测试小伙伴...

2476
来自专栏云加头条

技术栈管理:云时代的研发环境

如何实现这样一个研发技术栈管理的平台?我们的观点是,这样一个平台应该集中管理组织中的技术栈,允许基于一个技术栈创建开发测试PaaS和生产PaaS的两个PaaS服...

9560

扫码关注云+社区

领取腾讯云代金券