web-scale OLAP系统应用解决方案

标签: 个性化推荐与搜索 | 发表时间:2012-09-17 15:15 | 作者:bicloud
出处:http://blog.sina.com.cn/bicloud

Avatara: OLAP for Webscale Analytics Products

OLAP:在线分析处理

OLAP is a well-suited solution for mining and analyzing this data. Providing insights derived from this analysis has become crucial for these websites to give members greater value.

为了支持linkedin在线应用“Who’s Viewed My Profile?” 和 “Who’s Viewed This Job?”等等。 构建OLAP 一个可伸缩和快速的serving system called Avatara to solve this many, small cubes problem。

      目前已有的解决方案存在一些问题,这些企业级解决方案支持离线分析和传统的数据仓库,不能有效的支持高吞吐,低延时和高可用性需求的访问量大的网站。在这些用例中,查询是预先设计好的,因为产品接口对用户进行限制,选择已经知道的查询的子集。这样,一些复杂的操作,譬如join,可以预先计算好。Additionally, queries span relatively few—usually tens to at most a hundred—dimensions. These queries, and consequently, the cubes, can be sharded across a primary dimension

OLAP系统模式会 影响系统的可用性。假设,一个拥有100个结点的集群,每30天每台机器可能会失败10分钟,那么系统的可用性是:(1 − MTTR/MTTF) n   ,其中MTTR表示系统恢复的平均时间,MTTF表示系统失败的平均时间,n表示满足查询所需要的结点数。在我们的例子中,一个查询的可用性为:(1 − 10/(30 · 24 · 60)) 100 = 0.977115,这个看起来是个可用性足够的系统;但是,假设一个用户每天访问页面某个产品3次查看状态信息,那么一年大约会看到25次“not available”错误,每个月可能会发现两个错误,这不是一个好的用户体验。如果查询可以在一个shard中进行cube操作,这样查询就可以在从一个单独的磁盘获取。这样,系统可用性为:1−10/(30·24·60) = 0.999768 ,那么一年大约会看到0.25次“not available”错误,这个可以满足实际需求。There are several assumptions and simplifications here, but this need forms the basis for highly-available key-value systems, such as Amazon’s Dynamo,采用KV存储。

Avatara, a fast, scalable OLAP system to handle the many, small cubes scenario we encounter with our various analytics features. 离线计算通过hadoop实现,kv存储使用voldemort。

             








 

系统架构:

 

 

Avatara主要有两个组件构成:离线批处理引擎和在线查询引擎。离线批处理引擎执行用户根据行为流数据,定义的join运算和聚合运算,生成cube。离线计算主要通过hadoop处理,结果存储在kv数据中。客户端用过类似sql语句执行在线查询计算,从kv存储中获取数据。

The system uses a hybrid offline/online strategy coupled with sharding into a keyvalue store by an application-specified primary dimension to support  OLAP queries at web scale.

 

Query latency CDF for a high-traffic day. 95% of queries can be served within 25 ms

总结:一些访问量大的网站,某些数据产品,可以借鉴这个模式实现。类似于linkedin的Who’s Viewed My Profile?, Who’s Viewed This Job? ,“Jobs You May Be Interested In”WVTJ shows the number of job views broken down by time, title, and company. OLAP is an ideal solution to handle these tasks.  这些任务通过cube配置文件和简单的sql就可以实现。

 

参考文献:Avatara: OLAP for Webscale Analytics Products


  青春就应该这样绽放   游戏测试:三国时期谁是你最好的兄弟!!   你不得不信的星座秘密

相关 [web scale olap] 推荐:

web-scale OLAP系统应用解决方案

- - 冰火岛
为了支持linkedin在线应用“Who’s Viewed My Profile?” 和 “Who’s Viewed This Job?”等等. 构建OLAP 一个可伸缩和快速的serving system called Avatara to solve this many, small cubes problem.

多维分析OLAP引擎Mondrian学习

- - Web前端 - ITeye博客
随着信息技术的飞速发展,在电力、电信、金融、大型制造等各个行业ERP、CRM、SCM、OA等越来越多的IT系统得以成功实施,这些分散建设的IT系统为各部门的运营效率提升发挥了很大的作用. 同时,为了满足业务管理和决策的报表系统(包括传统报表、数据仓库、OLAP等)也被创建出来,企业主管通过报表了解企业的总体运行状态.

开源OLAP引擎综评:HAWQ、Presto、ClickHouse

- - InfoQ推荐
谈到大数据就会联想到Hadoop、Spark整个生态的技术栈. 大家都知道开源大数据组件种类众多,其中开源OLAP引擎包含Hive、SparkSQL、Presto、HAWQ、ClickHouse、Impala、Kylin等. 当前企业对大数据的研究与应用日趋理性,那么,如何根据业务特点,选择一个适合自身场景的查询引擎呢.

Startup 需不需要一開始就注意 Scale 的問題?

- Ben - Blog.XDite.net
在 Inside 的 Facebook 看到這個他們的論壇上有這個問題,看了一下回覆,覺得算蠻有趣的議題. 剛剛朋友問我看法,簡單聊了一下,後來乾脆決定來這裡寫下我的想法. 還有,開始寫 projects 時,請將你的「注意 Scale」這個問題定義清楚. 在這個議題中,我覺得最容易混淆的點是:將 "Scalability" (擴充性)與 "Maintainability" (維護性)混在一起講.

Oryx 2: Lambda architecture on Apache Spark, Apache Kafka for real-time large scale machine learning

- -

Kylin:基于Hadoop的开源数据仓库OLAP分析引擎

- - 标点符
Kylin是一个开源、分布式的OLAP分析引擎,它由eBay公司开发,并且基于Hadoop提供了SQL接口和OLAP接口,能够支持TB到PB级别的数据量. OLAP即联机分析处理,它能够帮助分析人员、管理人员或执行人员从多角度快速、一致、交互地存取信息和更加深入的了解信息. OLAP的目标是满足决策支持或者满足在多维环境下特定的查询和报表需求.

MySQL与OLAP:分析型SQL查询最佳实践探索

- - Web前端 - ITeye博客
搞点多维分析,糙快猛的解决方案就是使用ROLAP(关系型OLAP)了. 数据经维度建模后存储在MySQL,ROLAP引擎(比如开源的Mondrian)负责将OLAP请求转化为SQL语句提交给数据库. OLAP计算分析功能导致MySQL需要进行较多复杂SQL查询,性能调优必不可少,本文总结了一些实用原则.

唯品会海量实时OLAP分析技术升级之路

- - 运维派
本文根据谢麟炯老师在〖DAMS 2017中国数据资产管理峰会〗现场演讲内容整理而成. 谢麟炯,唯品会大数据平台高级技术架构经理,主要负责大数据自助多维分析平台,离线数据开发平台及分析引擎团队的开发和管理工作,加入唯品会以来还曾负责流量基础数据的采集和数据仓库建设以及移动流量分析等数据产品的工作. 海量数据实时OLAP场景的困境.

最火实时大数据OLAP技术原理和实践

- -
Druid在大数据领域已经不是新人了,因此可能很多读者都已经听说过Druid,甚至用过Druid,但是未必每个人都真正清晰地了解Druid到底是什么,以及在什么情况下可以用Druid. 同时,为了避免大家听了半天,却一直陷在各种细节中但仍然不知道到底在听什么东西,我们还是有必要在开始的时候先总体谈一谈Druid到底是什么.

Kylin 大数据时代的OLAP利器 - CSDN博客

- -
Olap全称为在线联机分析应用,是一种对于多维数据分析查询的解决方案. 典型的Olap应用场景包括销售、市场、管理等商务报表,预算决算,经济报表等等. 最早的Olap查询工具是发布于1970年的Express,然而完整的Olap概念是在1993年由关系数据库之父 Edgar F.Codd 提出,伴随而来的是著名的“twelve laws of online analytical processing”.