Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.
数据仓库简介 数据仓库概念和简介 ETL 维度模型 数据仓库的设计:案例分析 开源 BI 套件: Pentaho MySQL 部署 吴源林 186 0219 5030 Wyl2000 @ gmail.com
数据驱动的商业 <ul><li>企业只有恰当的利用数据才能更好的实现增长 </li></ul><ul><ul><li>统计,挖掘 </li></ul></ul><ul><ul><li>报表,分析 </li></ul></ul><ul><ul><...
数据仓库 <ul><li>企业管理和决策中的全面数据集合 </li></ul><ul><ul><li>面向主题的、集成的、与时间相关的 </li></ul></ul><ul><ul><li>重点:准确、安全、可靠的从数据库中取出数据,经加工转化...
数据仓库关键词 <ul><li>维度表 </li></ul><ul><li>事实表 </li></ul><ul><li>汇总表 </li></ul><ul><li>缓存数据库 </li></ul><ul><li>生产数据库 </li></ul>...
OLTP vs OLAP <ul><li>OLTP 联机事务处理 </li></ul><ul><li>大量的小事务处理(查询和更新) </li></ul><ul><li>例如 </li></ul><ul><ul><li>更新账户信息 </li>...
OLTP <ul><li>大部分联机事务处理数据库 </li></ul><ul><ul><li>关系型数据库 </li></ul></ul><ul><ul><li>3NF ,第三范式 </li></ul></ul><ul><li>OLTP </...
维度模型 <ul><li>报表式数据库 </li></ul><ul><ul><li>关系和维度数据库 </li></ul></ul><ul><ul><li>维度 = 报表应用 </li></ul></ul><ul><ul><li>存在冗余 / ...
维度模型:星型数据库 <ul><li>事实: </li></ul><ul><li>度量的指标(如,销售、成本) </li></ul><ul><li>通常是数字型数据 </li></ul><ul><li>通常记录最小颗粒的事件(原子层数据) </...
分析报表 事实 维度
数据立方体 – 多维度查询
数据仓库的典型架构
维度模型关键概念 <ul><li>存储最原子层的数据 </li></ul><ul><ul><li>通过存储尽可能细节的数据,以确保能钻取到需要的数据层 </li></ul></ul><ul><ul><li>也可以通过汇总事实表来提高查询性能 <...
代理键值( surrogate key ): <ul><li>总是使用人为生成的主键值 </li></ul><ul><ul><li>可以: </li></ul></ul><ul><ul><ul><li>保证模型不受数据源系统变化的影响 </li...
缓慢变化的维度  SCD <ul><li>这是维度设计时的一个关键考虑要点! </li></ul><ul><li>维度值发生变化时,也许有或没有商业意义 </li></ul><ul><li>三种类型 </li></ul><ul><ul><li>...
日期维度  |  雪花处理 <ul><li>日期是一个基本的商业概念,几乎所有的数据仓库都有日期维度。 </li></ul><ul><li>雪花处理( snowflaking ),对维度表进行关联检索,对数据表进行再规范化,增加模型的复杂性,降...
多对多关系 <ul><li>大多数关系是 1 对多。 </li></ul><ul><li>真实商业环境往往很复杂。 </li></ul><ul><li>解决:在维度表和事实表之间建立桥接表。 </li></ul>销售事实 订单 ID 销售小组 ...
层级  |  事实表类型 <ul><li>层级 </li></ul><ul><ul><li>层级对维度内的信息进行加总和组合。 </li></ul></ul><ul><ul><li>如,日期 年 - 季 - 月 - 周 - 日 </li></u...
累积快照 <ul><li>累积快照事实表,是完全覆盖一个事务或产品的生命周期的时间快照。通常具有多个日期字段,用来记录整个生命周期中的关键时间点。 </li></ul><ul><li>例: </li></ul><ul><ul><li>订货 </...
建立维度模型的步骤 <ul><li>1.  需求!需求!! </li></ul><ul><ul><li>商业用户驱动的过程 </li></ul></ul><ul><ul><ul><li>不要问他们想要什么样的数字! </li></ul></ul...
Step 2 <ul><li>找出模式 </li></ul>
Step 3 <ul><li>制作交叉表格和报表原型 </li></ul>
Step 4 <ul><li>定义模型 </li></ul><ul><ul><li>从商业用户获得反馈,进一步定义事实表的度量指标(销售、例如、成本等) </li></ul></ul><ul><ul><li>获取其他属性 </li></ul><...
Step 5 <ul><li>完成模型并复核 </li></ul><ul><li>完成星型数据库,建立维度模型 </li></ul><ul><li>复核 1 :数据源? </li></ul><ul><ul><li>数据源系统的简单逻辑,及如何转...
开源 BI 套件 –  Pentaho  简介 <ul><li>ETL 工具 –  PDI (Aka Kettle) </li></ul><ul><li>案例分析: Sakila  影碟租赁店 </li></ul>
ETL 实施:工具  Pentaho PDI
Input Steps Output Steps Lookup Steps Transformation Steps Join Steps DW Steps Mapping Steps Job Steps
<ul><li>前端应用: </li></ul><ul><ul><li>报表 </li></ul></ul><ul><ul><li>图表 </li></ul></ul><ul><ul><li>OLAP Pivot 多维表 </li></ul><...
<ul><li>两种数据 </li></ul><ul><ul><li>事实  Facts </li></ul></ul><ul><ul><ul><li>对商业流程的量化度量和指标 </li></ul></ul></ul><ul><ul><ul>...
<ul><li>维度特征通过层级方式进行组织 </li></ul><ul><ul><li>日期维度 </li></ul></ul><ul><ul><ul><li>年,季,月,日 </li></ul></ul></ul><ul><ul><ul><...
<ul><li>中心的事实表 </li></ul><ul><ul><li>存储指标的字段 </li></ul></ul><ul><ul><li>“ 外键”指向维度 </li></ul></ul><ul><ul><li>通常是规范化和非预先汇总的...
举例: Sakila DVD 租赁店
<ul><li>选择商业流程 </li></ul><ul><ul><li>销售,购买,仓储,运输 </li></ul></ul><ul><li>定义事实和关键指标 </li></ul><ul><ul><li>事实:商业流程中的关键事件 </li...
<ul><li>租赁商业流程 </li></ul><ul><ul><li>客户访问租赁店,选择 DVD </li></ul></ul><ul><ul><li>员工从仓库中取出 DVD </li></ul></ul><ul><ul><li>客户回...
 
 
<ul><li>选择商业流程 </li></ul><ul><ul><li>租赁 </li></ul></ul><ul><li>识别事实 </li></ul><ul><ul><li>计数(影碟出租次数) </li></ul></ul><ul><u...
 
 
 
 
 
 
 
 
 
 
 
 
 
<ul><li>通过 Join 表来反规范化 </li></ul>
<ul><li>通过扁平化来反规范化(反复 Group ) </li></ul>
Pentaho Analysis Services (aka Mondrian) <ul><li>多维数据立方分析:让商业用户可以即时分析大量数据 </li></ul><ul><li>MDX 多维数据查询语言表达式 </li></ul>
数据库  - MySQL <ul><li>部署和优化 </li></ul>
典型的 MySQL 设置 <ul><li>产生数据库和缓存数据库相分离 </li></ul><ul><li>产生环境 = 数据仓库 </li></ul><ul><li>缓存环境 = 数据仓库准备容器 </li></ul><ul><ul><li>...
MySQL 配置 <ul><li>MySQL 主要是为 OLTP 设计。 </li></ul><ul><li>对 OLAP 而言,性能优化相对弱 </li></ul><ul><ul><li>小数据集合  <500G/ 服务器 </li></ul...
即时分析 <ul><li>数据仓库是非即时的 </li></ul><ul><ul><li>根据商业需要,按小时 / 天更新 </li></ul></ul><ul><li>(近乎)即时分析 </li></ul><ul><ul><li>性能和拓展能...
参考资料: <ul><li>Introduction to Data Warehousing and Business Reporting   Nicholas Goodman, 2006 </li></ul><ul><li>PENTAHO K...
谢  谢! 欢迎斧正并赐教:  [email_address]
Nächste SlideShare
Wird geladen in …5
×

数据仓库和开源BI解决方案介绍

6.435 Aufrufe

Veröffentlicht am

数据仓库和开源BI解决方案介绍

http://v2000.info/

Veröffentlicht in: Technologie
  • Loggen Sie sich ein, um Kommentare anzuzeigen.

数据仓库和开源BI解决方案介绍

  1. 1. 数据仓库简介 数据仓库概念和简介 ETL 维度模型 数据仓库的设计:案例分析 开源 BI 套件: Pentaho MySQL 部署 吴源林 186 0219 5030 Wyl2000 @ gmail.com
  2. 2. 数据驱动的商业 <ul><li>企业只有恰当的利用数据才能更好的实现增长 </li></ul><ul><ul><li>统计,挖掘 </li></ul></ul><ul><ul><li>报表,分析 </li></ul></ul><ul><ul><li>客户挽留,交叉 / 提升销售 </li></ul></ul><ul><ul><li>客户体验,商业定位 </li></ul></ul>
  3. 3. 数据仓库 <ul><li>企业管理和决策中的全面数据集合 </li></ul><ul><ul><li>面向主题的、集成的、与时间相关的 </li></ul></ul><ul><ul><li>重点:准确、安全、可靠的从数据库中取出数据,经加工转化成有规律的信息,供管理人员分析使用 </li></ul></ul>
  4. 4. 数据仓库关键词 <ul><li>维度表 </li></ul><ul><li>事实表 </li></ul><ul><li>汇总表 </li></ul><ul><li>缓存数据库 </li></ul><ul><li>生产数据库 </li></ul><ul><li>OLAP ,联机分析 </li></ul><ul><li>数据市集 </li></ul><ul><li>星型数据仓库模型,雪片型数据仓库模型 </li></ul>
  5. 5. OLTP vs OLAP <ul><li>OLTP 联机事务处理 </li></ul><ul><li>大量的小事务处理(查询和更新) </li></ul><ul><li>例如 </li></ul><ul><ul><li>更新账户信息 </li></ul></ul><ul><ul><li>把产品加入购物车 </li></ul></ul><ul><ul><li>查询只接触少量的数据(一条或几条数据) </li></ul></ul><ul><ul><li>更新操作频繁 </li></ul></ul><ul><ul><li>并发操作是性能的最大挑战 </li></ul></ul><ul><li>OLAP 联机分析处理 </li></ul><ul><li>很大的事务处理,复杂的检索 </li></ul><ul><li>例如 </li></ul><ul><ul><li>按月汇总每个部门的总销售额 </li></ul></ul><ul><ul><li>找到某个时期最畅销的产品 </li></ul></ul><ul><ul><li>找出库存少于 xx 的产品 </li></ul></ul><ul><li>查询需接触大量的数据(一条活几条数据) </li></ul><ul><li>更新操作不频繁 </li></ul><ul><li>一次检索会消耗大量资源 </li></ul>
  6. 6. OLTP <ul><li>大部分联机事务处理数据库 </li></ul><ul><ul><li>关系型数据库 </li></ul></ul><ul><ul><li>3NF ,第三范式 </li></ul></ul><ul><li>OLTP </li></ul><ul><ul><li>在线事务处理 </li></ul></ul><ul><ul><li>支持网站或者应用的数据库 </li></ul></ul><ul><ul><li>适合: </li></ul></ul><ul><ul><ul><li>大量用户,小的数据切片 </li></ul></ul></ul><ul><ul><ul><li>如,用户 #1002 把产品 #6551 放入到购物车 </li></ul></ul></ul><ul><ul><li>不适合: </li></ul></ul><ul><ul><ul><li>少量用户,大的数据切片 </li></ul></ul></ul><ul><ul><ul><li>加总,汇总,计数 </li></ul></ul></ul>
  7. 7. 维度模型 <ul><li>报表式数据库 </li></ul><ul><ul><li>关系和维度数据库 </li></ul></ul><ul><ul><li>维度 = 报表应用 </li></ul></ul><ul><ul><li>存在冗余 / 重复 </li></ul></ul><ul><li>OLAP </li></ul><ul><ul><li>适合: </li></ul></ul><ul><ul><ul><li>少量用户,大量数据 </li></ul></ul></ul><ul><ul><ul><li>汇总,切片和切块 </li></ul></ul></ul><ul><ul><ul><li>如,过去三个月内,嘉定区有多少比例的用户曾经购买过橱柜 </li></ul></ul></ul>
  8. 8. 维度模型:星型数据库 <ul><li>事实: </li></ul><ul><li>度量的指标(如,销售、成本) </li></ul><ul><li>通常是数字型数据 </li></ul><ul><li>通常记录最小颗粒的事件(原子层数据) </li></ul><ul><li>维度: </li></ul><ul><li>对度量指标的界定(如,产品、时间、部门) </li></ul><ul><li>非正规化 Denorminilazed </li></ul><ul><li>具有层级性(如 年 - 季 - 月 - 周 - 日) </li></ul>事实表 维度表 维度表 维度表
  9. 9. 分析报表 事实 维度
  10. 10. 数据立方体 – 多维度查询
  11. 11. 数据仓库的典型架构
  12. 12. 维度模型关键概念 <ul><li>存储最原子层的数据 </li></ul><ul><ul><li>通过存储尽可能细节的数据,以确保能钻取到需要的数据层 </li></ul></ul><ul><ul><li>也可以通过汇总事实表来提高查询性能 </li></ul></ul><ul><li>规范化的维度 </li></ul><ul><ul><li>可以对跨商业流程进行关联分析,譬如客户登记 - 预约 - 验收的流程化分析 </li></ul></ul><ul><ul><li>从分散的系统合并这些数据,可能是一件痛苦的事情(但值得去做) </li></ul></ul>
  13. 13. 代理键值( surrogate key ): <ul><li>总是使用人为生成的主键值 </li></ul><ul><ul><li>可以: </li></ul></ul><ul><ul><ul><li>保证模型不受数据源系统变化的影响 </li></ul></ul></ul><ul><ul><ul><li>从多个数据源进行数据整合 </li></ul></ul></ul><ul><ul><ul><li>增加数据源系统中不存在的行 </li></ul></ul></ul><ul><ul><ul><li>跟踪数据源系统的历史变化 </li></ul></ul></ul>
  14. 14. 缓慢变化的维度 SCD <ul><li>这是维度设计时的一个关键考虑要点! </li></ul><ul><li>维度值发生变化时,也许有或没有商业意义 </li></ul><ul><li>三种类型 </li></ul><ul><ul><li>Type I 覆盖旧的数值。因为不关心数据变化 </li></ul></ul><ul><ul><li>Type II 增加一条新的维度行,原有的事实依然只跟旧的维度值相关。对历史变化关注。 </li></ul></ul><ul><ul><li>Type III 增加新的字段来存储新的值。 </li></ul></ul>
  15. 15. 日期维度 | 雪花处理 <ul><li>日期是一个基本的商业概念,几乎所有的数据仓库都有日期维度。 </li></ul><ul><li>雪花处理( snowflaking ),对维度表进行关联检索,对数据表进行再规范化,增加模型的复杂性,降低检索性能 </li></ul>
  16. 16. 多对多关系 <ul><li>大多数关系是 1 对多。 </li></ul><ul><li>真实商业环境往往很复杂。 </li></ul><ul><li>解决:在维度表和事实表之间建立桥接表。 </li></ul>销售事实 订单 ID 销售小组 ID 销售小组 成员 A ( 组长 ) 成员 B 成员 C 员工 成员 A 成员 B 成员 C
  17. 17. 层级 | 事实表类型 <ul><li>层级 </li></ul><ul><ul><li>层级对维度内的信息进行加总和组合。 </li></ul></ul><ul><ul><li>如,日期 年 - 季 - 月 - 周 - 日 </li></ul></ul><ul><ul><li>通常把层级关系反规范化到维度表内 </li></ul></ul><ul><li>事实表的类型 </li></ul><ul><ul><li>交易型:跟踪每一次交易 </li></ul></ul><ul><ul><li>阶段快照:特定时段内的累积值。如库存。 </li></ul></ul><ul><ul><li>累积快照:随时间而进行更新。 </li></ul></ul>
  18. 18. 累积快照 <ul><li>累积快照事实表,是完全覆盖一个事务或产品的生命周期的时间快照。通常具有多个日期字段,用来记录整个生命周期中的关键时间点。 </li></ul><ul><li>例: </li></ul><ul><ul><li>订货 </li></ul></ul><ul><ul><li>预交 </li></ul></ul><ul><ul><li>实际发货 </li></ul></ul><ul><ul><li>实际交货 </li></ul></ul><ul><ul><li>数量 </li></ul></ul><ul><ul><li>金额 </li></ul></ul><ul><ul><li>运费 </li></ul></ul><ul><ul><li>记录第一次产生时,实际发货日和交货日是不能确定的,通常用一个未知的代理键值来表示。等实际发货后,对数据仓库中的这条记录进行更新操作,把实际发货、交货日期补上。 </li></ul></ul>
  19. 19. 建立维度模型的步骤 <ul><li>1. 需求!需求!! </li></ul><ul><ul><li>商业用户驱动的过程 </li></ul></ul><ul><ul><ul><li>不要问他们想要什么样的数字! </li></ul></ul></ul><ul><ul><ul><ul><li>他们会要求所有数据,然后自己去分析 </li></ul></ul></ul></ul><ul><ul><ul><ul><li>他们 想要的 跟 需要的 ,通常会不一样 </li></ul></ul></ul></ul><ul><ul><ul><li>请他们用自然语言列出需求,譬如 </li></ul></ul></ul><ul><ul><ul><ul><li>我想知道,不同产品类型和客户类型的占总销售额的比例 </li></ul></ul></ul></ul><ul><ul><ul><ul><li>重复购买客户和首次购买客户所带来的销售收入比例 </li></ul></ul></ul></ul><ul><ul><ul><ul><li>什么样的客户(地理、收入、性别等)给公司带来了 80% 的利润,跟带来 80% 收入的客户群相比是怎样的? </li></ul></ul></ul></ul><ul><ul><ul><li>请他们提供日常工作中内部使用的电子表格模板 </li></ul></ul></ul>
  20. 20. Step 2 <ul><li>找出模式 </li></ul>
  21. 21. Step 3 <ul><li>制作交叉表格和报表原型 </li></ul>
  22. 22. Step 4 <ul><li>定义模型 </li></ul><ul><ul><li>从商业用户获得反馈,进一步定义事实表的度量指标(销售、例如、成本等) </li></ul></ul><ul><ul><li>获取其他属性 </li></ul></ul><ul><ul><ul><li>产品短名 -> 产品完整名 </li></ul></ul></ul><ul><ul><ul><li>地区缩写 -> 标准地区代码 </li></ul></ul></ul><ul><ul><li>找出层级关系 </li></ul></ul><ul><ul><ul><li>商业用户的需求 </li></ul></ul></ul><ul><ul><ul><li>数据源系统 </li></ul></ul></ul>
  23. 23. Step 5 <ul><li>完成模型并复核 </li></ul><ul><li>完成星型数据库,建立维度模型 </li></ul><ul><li>复核 1 :数据源? </li></ul><ul><ul><li>数据源系统的简单逻辑,及如何转化成维度表的描述 </li></ul></ul><ul><ul><li>检查没有任何导致模型不可用的遗失数据 </li></ul></ul><ul><ul><li>复核 2 :是否可以根据模型来写 SQL/MDX 语句 </li></ul></ul><ul><ul><ul><li>对报表原型进行模拟查询 </li></ul></ul></ul><ul><ul><ul><li>确保所有的商业用户问题,可以从设计模型里从获得答案 </li></ul></ul></ul>
  24. 24. 开源 BI 套件 – Pentaho 简介 <ul><li>ETL 工具 – PDI (Aka Kettle) </li></ul><ul><li>案例分析: Sakila 影碟租赁店 </li></ul>
  25. 25. ETL 实施:工具 Pentaho PDI
  26. 26. Input Steps Output Steps Lookup Steps Transformation Steps Join Steps DW Steps Mapping Steps Job Steps
  27. 27. <ul><li>前端应用: </li></ul><ul><ul><li>报表 </li></ul></ul><ul><ul><li>图表 </li></ul></ul><ul><ul><li>OLAP Pivot 多维表 </li></ul></ul><ul><ul><li>数据挖掘 </li></ul></ul><ul><ul><li>数据面板 </li></ul></ul><ul><li>后台,基础架构: </li></ul><ul><ul><li>ETL </li></ul></ul><ul><ul><ul><li>抽取 </li></ul></ul></ul><ul><ul><ul><li>转换 </li></ul></ul></ul><ul><ul><ul><li>装载 </li></ul></ul></ul><ul><ul><li>数据仓库 </li></ul></ul><ul><ul><li>数据市集 </li></ul></ul><ul><ul><li>元数据 Metadata </li></ul></ul><ul><ul><li>ROLAP 数据立方体 </li></ul></ul>
  28. 28. <ul><li>两种数据 </li></ul><ul><ul><li>事实 Facts </li></ul></ul><ul><ul><ul><li>对商业流程的量化度量和指标 </li></ul></ul></ul><ul><ul><ul><li>典型指标,成本,销售量,利润 </li></ul></ul></ul><ul><ul><li>维度 Dimensions </li></ul></ul><ul><ul><ul><li>描述商业流程的角度和方面 </li></ul></ul></ul><ul><ul><ul><li>维度通常是非独立的,相互关联的 </li></ul></ul></ul><ul><ul><ul><li>谁?什么?哪里?何时?为什么? </li></ul></ul></ul><ul><ul><ul><li>典型维度:客户(谁?)在什么时间(何时?)购买了什么产品(什么?) </li></ul></ul></ul>
  29. 29. <ul><li>维度特征通过层级方式进行组织 </li></ul><ul><ul><li>日期维度 </li></ul></ul><ul><ul><ul><li>年,季,月,日 </li></ul></ul></ul><ul><ul><ul><li>年,周,日 </li></ul></ul></ul>
  30. 30. <ul><li>中心的事实表 </li></ul><ul><ul><li>存储指标的字段 </li></ul></ul><ul><ul><li>“ 外键”指向维度 </li></ul></ul><ul><ul><li>通常是规范化和非预先汇总的 </li></ul></ul><ul><li>维度跟维度表匹配 </li></ul><ul><ul><li>代理键 </li></ul></ul><ul><ul><li>以层级方式组合的描述性特征 </li></ul></ul><ul><ul><li>没有指向其他表的外键(日期维度除外) </li></ul></ul><ul><ul><li>典型严重的非规范化 </li></ul></ul>
  31. 31. 举例: Sakila DVD 租赁店
  32. 32. <ul><li>选择商业流程 </li></ul><ul><ul><li>销售,购买,仓储,运输 </li></ul></ul><ul><li>定义事实和关键指标 </li></ul><ul><ul><li>事实:商业流程中的关键事件 </li></ul></ul><ul><ul><li>指标(事实特征):计数和加总 </li></ul></ul><ul><li>选择维度和层级 </li></ul><ul><ul><li>什么?何时?哪里? </li></ul></ul><ul><ul><li>谁?为什么? </li></ul></ul>
  33. 33. <ul><li>租赁商业流程 </li></ul><ul><ul><li>客户访问租赁店,选择 DVD </li></ul></ul><ul><ul><li>员工从仓库中取出 DVD </li></ul></ul><ul><ul><li>客户回家,观看 DVD </li></ul></ul><ul><ul><li>客户返回租赁店,退回 DVD </li></ul></ul><ul><ul><li>影碟退还给员工,访问仓库 </li></ul></ul><ul><ul><li>员工向客户收取影碟租赁费 </li></ul></ul>
  34. 36. <ul><li>选择商业流程 </li></ul><ul><ul><li>租赁 </li></ul></ul><ul><li>识别事实 </li></ul><ul><ul><li>计数(影碟出租次数) </li></ul></ul><ul><ul><li>租赁时长 </li></ul></ul><ul><li>选择维度 </li></ul><ul><ul><li>什么:电影 </li></ul></ul><ul><ul><li>谁:客户,员工 </li></ul></ul><ul><ul><li>何时:影碟出租时,退回时 </li></ul></ul><ul><ul><li>哪里:影碟租赁店 </li></ul></ul>
  35. 50. <ul><li>通过 Join 表来反规范化 </li></ul>
  36. 51. <ul><li>通过扁平化来反规范化(反复 Group ) </li></ul>
  37. 52. Pentaho Analysis Services (aka Mondrian) <ul><li>多维数据立方分析:让商业用户可以即时分析大量数据 </li></ul><ul><li>MDX 多维数据查询语言表达式 </li></ul>
  38. 53. 数据库 - MySQL <ul><li>部署和优化 </li></ul>
  39. 54. 典型的 MySQL 设置 <ul><li>产生数据库和缓存数据库相分离 </li></ul><ul><li>产生环境 = 数据仓库 </li></ul><ul><li>缓存环境 = 数据仓库准备容器 </li></ul><ul><ul><li>复制 OLTP 维度表 </li></ul></ul><ul><ul><li>ETL </li></ul></ul><ul><ul><ul><li>对维度和事实表进行代理键值( surrogate key )匹配 </li></ul></ul></ul><ul><ul><ul><li>把数据加载到事实表 </li></ul></ul></ul><ul><ul><ul><li>对频繁访问的数据,生成汇总表 </li></ul></ul></ul>
  40. 55. MySQL 配置 <ul><li>MySQL 主要是为 OLTP 设计。 </li></ul><ul><li>对 OLAP 而言,性能优化相对弱 </li></ul><ul><ul><li>小数据集合 <500G/ 服务器 </li></ul></ul><ul><ul><li>尽量对数据进行预先汇总,或后期结合业务分析需要,产生集合表( Aggregation Tables ) </li></ul></ul><ul><ul><li>缓存表使用 InnoDB ,提高数据插入和更新 </li></ul></ul><ul><ul><li>生产数据库(通常只读),使用 MyISAM 引擎来获得快速加载和键值打包的性能 </li></ul></ul><ul><ul><li>使用分区表来清理数据(垂直和水平分区) </li></ul></ul><ul><ul><li>建立 OLAP 数据立方 </li></ul></ul>
  41. 56. 即时分析 <ul><li>数据仓库是非即时的 </li></ul><ul><ul><li>根据商业需要,按小时 / 天更新 </li></ul></ul><ul><li>(近乎)即时分析 </li></ul><ul><ul><li>性能和拓展能力的挑战 </li></ul></ul><ul><ul><li>找出一些常用的即时指标 </li></ul></ul><ul><ul><ul><li>如,当前在线用户数 </li></ul></ul></ul><ul><ul><li>实施基于计数的操作 </li></ul></ul>
  42. 57. 参考资料: <ul><li>Introduction to Data Warehousing and Business Reporting Nicholas Goodman, 2006 </li></ul><ul><li>PENTAHO KETTLE SOLUTIONS: BUILDING OPEN SOURCE ETL SOLUTIONS WITH PENTAHO DATA INTEGRATION </li></ul><ul><ul><li>MATT CASTERS ROLAND BOUMAN JOS VAN DONGEN </li></ul></ul><ul><li>A DATA WAREHOUSING PRIMER Roland Bouman (Strukton Rail) http://rpbouman.blogspot.com/ </li></ul>
  43. 58. 谢 谢! 欢迎斧正并赐教: [email_address]

×