支撑互联网应用的新兴数据管理结构模型

用户与数据的紧密结合驱使NoSQL与Hadoop联手。

AOL Advertising运营着世界上最大规模的在线广告投放系统之一,每月为数以百万计的访客投放高达亿万条广告。AOL在建立广告投放平台时遇到了三个数据管理上的挑战:

1.如何从数以百万计的包含不完全结构化数据中分析与用户有关的事件并提取出人群特征,心理特征和行为特征并存储在cookie文件中。

2.如何能够使广告投放系统在亚毫秒级别的延迟内随机访问数以百万计的cookie文件的特定文件。

3.如何保持用户数据的鲜度。

解决方案就是集成两个数据管理系统:一个系统面向高吞吐量数据分析进行优化(分析系统),另一个面向低延迟随机数据访问进行优化(业务系统)。经过对备选方案分析后,最终选择把Cloudera Distribution for Hadoop(CDH)与Membase集成为最终架构:


在这个架构中,(1)来自于不同源的点击数据和其他事件汇聚进入CDH中;(2)数据经过MapReduce分析产生数以百万计的用户数据;之后基于正在进行的广告活动选择用户数据存入Membase;(3)广告投放逻辑可以在亚毫秒级别的延迟内从Membase获取数据并优化实时广告投放策略。

AOL作为一个结合NoSQL事务数据库系统和Hadoop数据分析平台的范例,代表着当下新兴的广泛适用于互联网应用环境的一种通用模型。

越来越多的机构协同运用这两种技术。我大胆宣称每个采用NoSQL的场景都能够从二者的结合中获得更大收益。这又是为什么呢?

一个NoSQL数据库总是为了能让互动的互联网应用得以服务庞大且不断增长的用户数量。一个庞大且不断增长的用户群自然也就会产生海量的数据——直接或间接的、结构化或非结构化的。Hadoop能够存储、处理并分析海量数据。分析结果可以揭露用户的行为与偏好,并借此建立模型以优化用户体验。而更优质的应用会吸引更多的用户,而这个用户数据相互促进的循环会不断加速。

海量用户

简单说来,NoSQL数据库(例如Membase,MongoDB或Riak)是为了让互联网应用能够以高性价比、低延迟、随机访问的特点访问数据而设计出来的。互联网应用在这个环境下有三个典型的特征:

  1. 超速发展。它们可以一夜之间从无人问津到客似云来——这一点不夸张。而且它们会保持增长,服务不断膨胀的用户群体。这个世界很大,现在一个公开的网站可以被二十亿人访问。
  2. 顾客缺乏耐心。是人类在使用这些应用。数十年的研究表明用户非常在意服务速度。没人喜欢等待。任何会拖慢服务速度的技术瓶颈最终都会导致应用的消亡。
  3. 实时性。访问应用的用户来而复返或一去不回,但是每个时刻总会有一部分“在线”或者说活跃的用户。用户来了,用户接受我们的服务,用户走了。希望用户还能回来。

NoSQL数据库技术正是为了处理这些问题。它们具有良好的扩展性——只需要在集群中添加更多的廉价服务器,数据和I/O就会通过负载均衡被自动导向新服务器,增长的负载问题也就解决了,而当用户数量下降时逐步从集群中取出服务器即可。它们为了保证应用可以以非常低的延迟完成随机读写数据而诞生。它们利用下述方式来达成目标。当一个用户处于活跃状态时,他们需要的数据缓存在主存储器之中。在这情境下。读写一个5K的数据块可以在亚毫秒级别的延迟内完成。当一个用户离开一定时间后,他所需要的数据会自动从内存中转移到硬盘之中。而当用户返回时,如果与他有关的数据已经不再内存之中,那么应用会自动通过用户会话从硬盘中取出所需数据以备使用。

海量数据
如果数据必须保持“随时可用”的状态,那么NoSQL数据库正好可以满足这个要求。但是在没有这样的要求时Hadoop是更好的数据存储方案。一个互联网应用会产生海量的数据——或许这数据以前是不需要关注并收集的。登录信息、点击流、页面预览、视线捕捉、已经不再会被实时处理的过期应用数据、到达和离开的驾驶者、购物的潮流、历史价格和销量、计时信息。这个列表还在不断增长。通过Hadoop你可以仅仅是收集这些信息而不预先规划模型或定义数据格式。如果你认为有些值得一探究竟的信息,那么就存在Hadoop里。“如果有所疑问,先存起来再说”。

Hadoop吸纳着信息并廉价地储存起来。它采用和NoSQL数据库相同的扩展方式——增加廉价的服务器来扩充数据容量。但是它储存数据的方式没有低延迟随机访问的优点,相对地对高吞吐的批处理分析进行了优化。通过Hadoop的MapReduce,数据被聚合在一起并从中发现趋势和各种分析结果。而这些成果之后就可以校正应用的行为模式。


原帖地址:http://blog.couchbase.com/emerging-data-management-architectural-pattern-behind-interactive-web-applications

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值