数据仓库简介 数据仓库概念和简介 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]
Upcoming SlideShare
Loading in …5
×

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

5,996 views

Published on

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

http://v2000.info/

Published in: Technology
3 Comments
18 Likes
Statistics
Notes
  • very good
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • very good!
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • 1222
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total views
5,996
On SlideShare
0
From Embeds
0
Number of Embeds
462
Actions
Shares
0
Downloads
1
Comments
3
Likes
18
Embeds 0
No embeds

No notes for slide

数据仓库和开源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]

×