Download presentation
Presentation is loading. Please wait.
1
海量 数据分析架构
2
提纲 传统的BI数据分析系统介绍 米国互联网企业的工具和架构 AdMaster的业务特性和数据分析架构
-- 中小企业快速搭建一个海量数据分析平台
3
传统BI产品的组成 Data Warehousing Tool ETL Tool OLAP Server Reporting Tool
Data Mining Tool 权限, 图形化, 调度器 电子产品 日用品 书籍 江苏 上海 浙江 2010一季度 一季度 一季度
4
商业 OLAP Server Oracle Hyperion Essbase
IBM Cognos Enterprise Server(MOLAP) SAP BO Analysis SAS DW MicroStrategy Intelligence Server Microsoft Analysis Service
5
开源的 BI 工具:Pentaho Solution & Action ETL:Kettle OLAP:Mondrian
JFreeReport R / RapidMiner Solution & Action
6
向左?向右? 软硬结合 -高性能并行计算 -硬件DSM 分布式系统 -hadoop
7
海量数据分析的问题和挑战 健壮性 Failover and Recovery 成本 扩展性 消除单点 低延迟
8
分布式数据仓库 技术: MPP+ 行列混合存储+Mapreduce EMC Greenplum Teradata Asterdata
Hive(RCFile)
9
Google 数据分析技术列表 MapReduce GFS Bigtable Chubby Sawzall
Percolator (Oceanbase) Tenzing
10
Facebook 数据分析技术列表 Hadoop HBase(Bigtable) Hive(HiveQL)
Zookeeper(Chubby) Pig(Sawzall) Scribe Cassandra Data Freeway(Scalable Data Stream Framework) Puma(Stream Aggregation Engine) PTail Puma3 HBase Serving
11
Twitter 数据分析技术列表 Hadoop Storm Kestrel ElephantDB Cassandra
12
Admaster 业务特性 海量数据集,多个 数百个的非常常用的维度—数万种维度组合 频繁的ad hoc即席查询 数据集的数据质量差
数据集格式各样(半格式化,非格式化)
13
我们需要 流式计算: 并行计数 , 增量统计算法, 报警, 块计算: 全局计算 : 大部分的统计分析算法 日志采集, ETL 适用范围
流式计算: 并行计数 , 增量统计算法, 报警, 日志采集, ETL 块计算: 适用范围 Memory Complex Aggregations and Iteration 比如 unique user count, most frequent elements, ML 全局计算 : 大部分的统计分析算法
14
老系统的问题 ETL 的难度 汇总到HDFS需要较长时间 Hadoop poor latency
15
建立分析系统 Redis 做join和Column Family Store系统 (HBase Cassandra)做join的区 别
Storm -日志汇总+ETL Storm -DRPC Hadoop Redis –关联多个大数据集 Redis 做join和Column Family Store系统 (HBase Cassandra)做join的区 别 1234 choky Cookie 1 15 10001 25 Cookie 1 Page1 不错 8989 Cookie 2 Cookie 2 15 10001 25 page2 1234 blade 50$ Cookie 3 Cookie 3 15 10001 25 Page1 30001 差评 招商银
16
AdMaster Infrastructure
采集数据 Redis Cookie Service Storm ETL Storm+RamFS Hadoop 实时报警 MySQL MySQL 用户 实时复杂分析 MongoDB offline分析结果
17
遇到的坑 Hadoop Job中, Map和Reduce的个数的动态分配 Storm内存泄漏Bug
Redis 数据结构要设计的尽可能节省内存 优化计算瓶颈,消除短板
18
一些建议 使用Hadoop 1.0之后的版本,性能大大提升 先尝试Pig , 然后Cascading, 最后Java MapReduce
使用 Lzo 压缩, 公平调度器 使用Storm 0.70之后的版本,解决了重要Bug 更好的JVM:Zing or JRocket, 选用正确的GC,并监控 根据业务正确选用NoSQL
Similar presentations