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