460 likes | 637 Views
OLAP 的旋转功能. 平面数据的坐标轴转换。. 1999. 服装. 家具. 汽车. 其它. 销售量. 现有. 306677. 381102. 66005. 325402. 计划. 350000. 69000. 300000. 350000. -44322. 差量. 31102. -2995. 25402. 差量%. 8.9. -4.3. 8.5. 12.7. 1999. 销售量. 现有. 计划. 差量. 差量%. 服装. 381102. 350000. 31102. 8.9. 家具. 66005.
E N D
OLAP的旋转功能 平面数据的坐标轴转换。 1999 服装 家具 汽车 其它 销售量 现有 306677 381102 66005 325402 计划 350000 69000 300000 350000 -44322 差量 31102 -2995 25402 差量% 8.9 -4.3 8.5 12.7
1999 销售量 现有 计划 差量 差量% 服装 381102 350000 31102 8.9 家具 66005 69000 -2995 -4.3 汽车 325402 300000 25402 8.5 所有其他 306677 350000 -44322 12.7
1.2 SDLC与CLDS • SDLC——操作型环境中,业务过程和规则比较规范和固定。系统设计人员能够清晰地了解应用的需求和数据流程,系统的设计一般采取系统生命周期法(Systems Development Life Cycle) 。 • CLDS——分析型环境中,DSS分析对决策分析的需求不能预先作出规范说明,只能给设计人员一个抽象模糊的描述。设计人员必须在与用户不断的交流中,将系统需求逐步明确与完善。为了强调这种开发的不确定型,将此设计方法定名为CLDS方法(与SDLC相反)。
外部数据 DB DB 应用C 应用1 应用B 数据仓库建模 收集应用需求 数据获取与集成 分析应用需求 DW 构建数据仓库 DB 构建数据库 DSS应用编程 应用编程 系统测试 系统测试 “数据驱动” 理解需求 系统实施 SDLC方法 CLDS方法
1.3 “数据驱动”的系统设计思路 • 识别出当前系统设计与已做工作的共同性; ——出发点 • 从已有数据库系统出发,按照分析领域对数据及数据之间的联系重新考察,组织数据仓库中的主题; • 利用数据模型有效识别原有数据库中的数据和数据仓库中主题的数据的共同性。 ——中心
数据驱动系统设计方法的中心——数据模型 操作型数据库设计 数据仓库设计 数据仓库 数据库 数据模型 操作型数据库 应用开发与设计 DSS应用 开发与设计
2 数据仓库设计的三级数据模型 数据模型——对现实世界进行抽象的工具。 • 概念模型现实世界到机器世界的中间层次——信息世界E-R法(实体-联系法) • 逻辑模型关系模型 • 物理模型逻辑模型在数据仓库中的实现。物理存取方式、数据存储结构、数据存放位置以及存储分配等。
3 提高数据仓库的性能 提高系统的物理I/O性能 • 粒度划分——细节级、轻度综合级、高度综合级 • 数据分割——分割的标准:时间、业务领域、地理分布 • 物理设计中的其他问题—表合并—引入冗余—建立广义索引—建立数据序列—表的物理分割—生成导出数据
粒度划分 • 粒度划分的决定性因素是表的总行数 数据存取是通过存取索引来实现的,索引是对应表的行来组织的。因此与表的数据量无关。 • 估算数据仓库中数据的行数对每一已知表统计一年内数据行数的最大行数和最小行数; 统计五年内数据行数的最大行数和最小行数。 • 根据估算出的数据行,决定是否要划分粒度
表合并 当查询涉及到分散在几个物理块的多个表的数据,表的存取和连接操作会影响系统的性能。 为了节省I/O开销,可以把这些表的数据混合存放在一起。 表的合并只是物理上的合并,并非逻辑上的合并
学生选课表SC 学号 S# 课程号 C# 成绩 G# 学生表C S1 C1 A 学号 S# 姓名 N 系别 D S1 C3 B S1 C4 A S1 A CS S2 C1 B S2 B MA S2 C4 B S3 C EN S3 C1 B S3 C2 C 物理存储块 S1A S1C1A SAC3B S1C4A S2B S2C1B S2C4B S3C S3C1B S3C2C
引入冗余 一些表的某些属性经常会被使用到,且不常更新,就可以将这些属性复制到多个表中,从而减少处理时被存取的表的个数。 商品固定信息表(商品号、商品名、类别…)商品销售表(商品名、销售量、销售日期…)商品销售表(商品名、商品名、类别、销售量、销售日期… ) • 处理最值问题的方法——广义索引。这个月销售最差的十种商品是什么? • 从操作型数据库抽取数据并装载到数据仓库的同时,根据用户需要建立广义索引。 建立广义索引
1 1 2 3 3 6 6 4 2 5 5 4 7 物理块1 7 物理块1 物理块2 物理块3 物理块2 数据序列
表的物理分割 • “数据分割”——表的逻辑分割。将一个表按一定的分割标准分成两个或多个表。 • 表的物理分割依据数据的存取频率和数据的稳定性来进行;将一张表按照各属性被存取的频率分成两个或多个表。 生成导出数据 事先在原始数据的基础上进行总结或计算,生成导出数据。——减少了I/O的次数,免去计算和汇总的步骤;——建立了公共数据源,避免了不同用户进行重复计算可能产生的偏差。
4 数据仓库设计步骤 • 数据驱动的系统设计方法 • 设计步骤—概念模型设计—技术准备工作—逻辑模型设计—物理模型设计—数据仓库生成—数据仓库运行与维护 • 实例:商店的数据仓库设计
数据仓库运行与维护 概念模型设计 分析主题域,针对每一个当前实施的主题域 1界定系统边界 逻辑模型设计 物理模型设计 1 设 计 接 口 2 数 据 输 入 数 据 仓 库 生 成 2确定主题域 1确定存储结构 1粒度层次划分 2确定索引结构 2数据分割策略 技术准备工作 3关系模式定义 3确定存放位置 1技术评估 4确定存储分配 4记录系统定义 2技术环境准备
反 馈 循 环 数据仓库设计步骤 1 5 7 8 9 10 数据类型 分析 主题域分析 源系统 分析 程序 说明 编 程 数据 装入 6 11 2 粒度分析 数据仓库设计 运行与维护 3 4 技术评估 技术环境准备
IBM • IBMVisual Warehouse(VW)Essbase/DB2 OLAP Server 5.0及管理器IBM DB2 UDBHyperion Wired for OLAP/Business Objects • InformixInformix Formation和Informix DataStageInformix Red Brick Warehouse数据库Informix MetaCube OlAP服务器Informix MetaCube Exploer/Web Explorer
Oracal • Oracal8i关系型数据库引擎 • Oracle Warehouse BuilderingETL工具 • Express多维数据库引擎 • Discover关系OLAP查询工具 • Oracle数据挖掘套件
其他厂商 • Microsoft——SQL ServerPlato和Data Transformation Services • Sybase • SAS • NCR
4.1.1 界定系统边界——需求分析 • 要做的决策类型由哪些? • 决策者感兴趣的是什么问题? • 这些问题需要些什么样的信息? • 要得到这些信息需要包含原有数据库系统的哪些部分的数据? 商品的营销策略 顾客的购买趋势、商品供应市场的变化 趋势、分析供应商信用等级 商品销售数据、商品采购数据、商品库 存数据、顾客信息、供应商信息 销售子系统、采购子系统、库存子系统
商品供应商 顾客 商品供应关系 商品销售关系 4.1.2 确定主题域 • 确定系统所包含的主题域 • 描述每个主题域的内容—主题域之间的关系—主题域的公共码键—充分代表主题的属性组 商品、供应商、顾客 E-R图表示 主题的描述
4.2.1 技术评估: • 确定数据仓库的各项性能指标—管理大数据量数据的能力—进行灵活数据存取的能力—根据数据模型重组数据的能力—透明的数据发送和接受能力—周期性成批装载数据的能力—可设定完成时间的作业管理能力
4.2.2 技术环境准备 • 考虑相关的问题:—预期在数据仓库上分析处理的数据量有多大?—如何减少或减轻竞争性存取程序的冲突?—数据仓库的数据量有多大?—进出数据仓库的数据通信量有多大?…… • 确定软硬件配置:—直接存取设备(DASD)—网络—管理直接存取设备的操作系统—进出数据仓库的界面(数据查询和分析工具)—管理数据仓库的软件
4.3.1 粒度层次划分 • 确定采用单一粒度还是多重粒度,以及粒度划分的层次。 • 商场数据仓库的粒度划分—“商品”主题的数据量庞大,采用多重粒度—商品销售记录的数据量最大,定义商品销售数据的层次要更丰富。 ※周统计销售数据 ※月统计销售数据 ※季统计销售数据等等
4.3.2 数据分割策略 选择数据划分策略,需考虑的因素有: • 数据量 是否需要数据分割,如何分割 • 数据分析处理的要求 选择数据分割的标准 • 简单易行 数据分割要易于理解,易于实施 • 粒度划分策略 数据分割的标准与粒度划分层次相适应
4.3.4 定义记录系统 • 数据来源于操作型数据库和外部系统—系统的数据都是面向应用的,不能完整描述企业中的主题域;—多个数据源的数据存在许多不一致。 • 从数据仓库的概念模型出发,结合主题的多个表的关系模式,定义记录系统—选择最完整、最及时、最准确、最接近外部实体源的数据作为记录系统;—这些数据所在的表的关系模式最接近于构成主体的多个表的关系模式。
商场面向应用的数据库 • 采购子系统—订单(订单号,供应商号,总金额,日期)—订单细则(订单号,商品号,类别,单价,数量)—供应商(供应商号,供应商名,地址,电话) • 销售子系统—销售(员工号,顾客号,商品号,数量,单价,日期)—顾客(顾客号,姓名,性别,年龄,文化程度,地址,电话) • 库存子系统—领料单(领料单号,领料人,商品号,数量,日期)—进料单(进料单号,进料人,收料人,数量,日期)—库存(商品号,库房号,库存量,日期)—库房(库房号,仓库管理员,地点,库存商品描述) • 人事管理子系统
4.4 物理模型设计 确定数据仓库实现的物理模型,要求设计 人员必须做到以下几方面: • 全面了解所选用的数据库管理系统(特别是存储结构和存储方法); • 了解数据环境、数据的使用频度、使用方式、数据规模以及相应时间要求等; • 了解外部存储设备的特性(分块原则,块大小的规定,设备的I/O特性等)
物理模型设计 • 确定数据存储结构存取时间、存取空间利用率和维护代价 • 确定索引策略索引结构可以提高数据存储的效率,对各个数据存储建立专用的、复杂的索引 • 确定数据的存放位置按数据的重要程度、使用频率和对响应时间的要求进行分类,分别存储在不同的存储设备中 • 确定存储分配块的尺寸、缓冲区的大小和个数等
数据库 数据仓库 数据库 数据库 4.5.1 设计接口 • 从面向应用和操作的环境生成完整的数据 • 数据的基于时间的转换 • 数据的凝聚 • 对现有记录系统的有效扫描,以便以后进行追加
接口编程的注意点 • 保持高效性 • 要保存完整的文档记录 • 要灵活,易于改动 • 要能完整、准确地完成从操作型环境到数据仓库环境的数据的抽取、转换与集成
4.5.2 数据装入 运行接口程序,将数据装入到数据仓库 • 确定数据装入的次序; • 清除无效或错误的数据; • 数据“老化”; • 数据粒度管理; • 数据刷新等
4.6.1 建立DSS应用 DSS应用不同于联机事务处理应用开发的显著特点: • DSS应用开发是从数据出发的; • DSS应用的需求不能在开发初期明确了解; • DSS应用开发是一个不断循环的过程,是启发式的开发。
DSS应用的种类 • 例行分析处理——重复进行的分析处理。属于部门级的应用,如部门统计分析,报表分析等等; • 启发式分析处理——企业经营者受到某种信息启发而进行的一些即席的分析处理。属于个人级的分析应用,随机性很大。
DSS应用开发大致步骤 N 结果 满足 分析 要求 否? 循 环 确定 所需 数据 分析 数据 编程 抽取 数据 Y 回答 问题 例行化 ? 合并 数据 多个抽取源
4.6.2 维护数据仓库 • 管理日常数据装入,包括刷新数据仓库的当前详细数据,将过时的数据转化成历史数据,清除不再使用的数据,管理源数据等。 • 如何利用接口定期从操作型环境想数据仓库追加数据,确定数据仓库的数据刷新频率等。
商场的数据仓库设计 • 了解商场经营状况,跟踪市场趋势,制定商品采购和销售策略。 • 各部门已建立一些分散的数据库:人事、采购、库存、销售数据库。
商品采购信息 商品销售信息 商品号 日期 商品固有信息 商品库存信息 2.1 E-R法 • E-R图描述的是实体以及实体之间的关系。 • 长方形表示实体(主题、主题名)椭圆形表示实体(主题)的属性菱形表示主题之间的联系(联系名) • 主题、属性、联系均用无向边连接 商品 供应 商品 供应商
姓名 顾客号 地址 张平 C960100 北京 王珂 C960101 上海 刘辉 C960102 天津 李强 C960103 成都 . . . 2.2 关系模型 顾客信息表 • 元组:表中的一行称为元组 • 属性:表中的一列,给每一列取一个名称即属性名 • 主码:表中的某个属性组,他们的值唯一标识一个元组 • 域:属性的取值范围 • 分量:元组中的一个属性组 • 关系模式:用关系名(属性名)表示
供应商固有信息 顾客固有信息 E-R图 日期 供应商 供应商号 顾客 顾客号 日期 顾客购物信息 供应商品信息 商品采购信息 商品销售信息 商品号 商品 日期 商品固有信息 商品库存信息