ITPub博客

首页 > 大数据 > 数据挖掘 > 数据仓库性能优化技术

数据仓库性能优化技术

数据挖掘 作者:_vano 时间:2015-08-17 16:57:34 0 删除 编辑

性能优化的原则:

1)         提高操作中最慢部分的速度

2)         剔除不必要的操作


获取性能的技术:

基于数据使用模式生成索引

    问题:需要加载索引,加载时间可能会比较长

          需要额外的存储空间

          在线更新索引,会带来其他的性能问题

    补充:稀疏索引-对表格的一部分数据记录进行索引(大部分dbms不支持,需编写代码)

使用数组

    将数据物理地组织在一起

表格合并

    将多个经常联合使用的表格合并成一张表,可以一次访问到这些数据,减少IO

建立冗余数据

    一些描述性字段可以在需要它的数据表里冗余,而不是每次要去访问属性表获取描述,浪费额外的IO

聚集数据

    如果需要重复进行相同的底层数据聚集操作,可以建立起对应的聚集表格,并允许用户访问聚集值

拆分事务使IO最少

    将事务拆分成几个较小的事务,而不是一次完成造成大量的IO和序列等待

工作日管理

    对高性能的时段进行拆分,在可能的闲时运行大事务或长序列事务

容量计划和管理

    监视系统活动,分析趋势,主动扩展系统资源;采用并行体系,使得系统性能可以获得线性扩展

管理大容量数据

    对数据仓库中老化的数据,可以转移到二级存储设备中,因此可以存储大量数据而不会降低系统性能

    原因:索引可能变得过大而且低效

          数据因基本空间问题,进行应急空间而难以访问

          散列数据冲突,可能出现两行数据在同一算法上相同的键值

          顺序搜索需要太长的时间

          长数据链的创建

数据集市与性能

    数据集市可以满足所属部门的需求,使用性能高,而且分散了数据仓库的压力

ETL效率和性能

    ETL尽量设计成独立运行单元,可以支持更大容量的数据流;如果使用公共接口,会出现性能问题

    补充:尽可能使用快照,每次生成新的生产数据的快照,而不是更新已有数据,当然可能带来记录数量的问题,而且不可能在所有情况下适用

移动少量数据

    对少量数据的频繁移动,而不是对大量数据的非频繁移动(会造成阻塞和系统等待队列)

使用日志文件

    尽可能的使用日志文件,因为包含细节数据,而且可以离线处理,不会造成生产系统的额外负载

生成在线报表

    一次性生成报表,并保持在线状态,可以减少对系统的重复访问

重复查询

    与报表类是,对查询结果保持在线,也有助于优化重复查询的性能

滚动式汇总数据

    每天结束时,将这一天的细节数据汇总存入每天的数据表,每周、每月同理操作。可以减少细节数据的重复访问,减少资源开销。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/30416779/viewspace-1774288/,如需转载,请注明出处,否则将追究法律责任。

下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2015-08-17

  • 博文量
    3
  • 访问量
    1547