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

2017 年 8 月 18 日 性能与架构 杜亦舒

简介

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个,如果对这篇文档有兴趣,可以发送消息 cb 下载文档


点击 “阅读原文” 查看 文章列表

登录查看更多
0

相关内容

专知会员服务
121+阅读 · 2020年3月26日
【阿里技术干货】知识结构化在阿里小蜜中的应用
专知会员服务
96+阅读 · 2019年12月14日
【大数据白皮书 2019】中国信息通信研究院
专知会员服务
133+阅读 · 2019年12月12日
在K8S上运行Kafka合适吗?会遇到哪些陷阱?
DBAplus社群
9+阅读 · 2019年9月4日
【CPS】CPS应用案例集
产业智能官
81+阅读 · 2019年8月9日
工行基于MySQL构建分布式架构的转型之路
炼数成金订阅号
15+阅读 · 2019年5月16日
领域应用 | 到底什么时候使用图数据库?
开放知识图谱
16+阅读 · 2019年4月19日
干货 | 双11总峰值超8亿OPS 阿里分布式NoSQL如何岿然不动稳如山?
阿里巴巴数据库技术
10+阅读 · 2018年12月12日
【大数据】工业大数据在石化行业的应用成功“落地”
基于 Storm 的实时数据处理方案
开源中国
4+阅读 · 2018年3月15日
一篇文章读懂阿里企业级数据库最佳实践
阿里巴巴数据库技术
5+阅读 · 2017年12月20日
领域应用 | 图数据库及其在恒昌的应用简介
开放知识图谱
6+阅读 · 2017年10月10日
解析京东大数据下高效图像特征提取方案
京东大数据
4+阅读 · 2017年9月29日
Do RNN and LSTM have Long Memory?
Arxiv
19+阅读 · 2020年6月10日
Arxiv
34+阅读 · 2019年11月7日
Arxiv
8+阅读 · 2019年5月20日
Factor Graph Attention
Arxiv
6+阅读 · 2019年4月11日
Transfer Adaptation Learning: A Decade Survey
Arxiv
37+阅读 · 2019年3月12日
Arxiv
3+阅读 · 2018年12月18日
Arxiv
13+阅读 · 2018年4月18日
VIP会员
相关资讯
在K8S上运行Kafka合适吗?会遇到哪些陷阱?
DBAplus社群
9+阅读 · 2019年9月4日
【CPS】CPS应用案例集
产业智能官
81+阅读 · 2019年8月9日
工行基于MySQL构建分布式架构的转型之路
炼数成金订阅号
15+阅读 · 2019年5月16日
领域应用 | 到底什么时候使用图数据库?
开放知识图谱
16+阅读 · 2019年4月19日
干货 | 双11总峰值超8亿OPS 阿里分布式NoSQL如何岿然不动稳如山?
阿里巴巴数据库技术
10+阅读 · 2018年12月12日
【大数据】工业大数据在石化行业的应用成功“落地”
基于 Storm 的实时数据处理方案
开源中国
4+阅读 · 2018年3月15日
一篇文章读懂阿里企业级数据库最佳实践
阿里巴巴数据库技术
5+阅读 · 2017年12月20日
领域应用 | 图数据库及其在恒昌的应用简介
开放知识图谱
6+阅读 · 2017年10月10日
解析京东大数据下高效图像特征提取方案
京东大数据
4+阅读 · 2017年9月29日
相关论文
Do RNN and LSTM have Long Memory?
Arxiv
19+阅读 · 2020年6月10日
Arxiv
34+阅读 · 2019年11月7日
Arxiv
8+阅读 · 2019年5月20日
Factor Graph Attention
Arxiv
6+阅读 · 2019年4月11日
Transfer Adaptation Learning: A Decade Survey
Arxiv
37+阅读 · 2019年3月12日
Arxiv
3+阅读 · 2018年12月18日
Arxiv
13+阅读 · 2018年4月18日
Top
微信扫码咨询专知VIP会员