- Rongsen.Com.Cn 版权所有 2008-2010 京ICP备08007000号 京公海网安备11010802026356号 朝阳网安编号:110105199号
- 北京黑客防线网安工作室-黑客防线网安服务器维护基地为您提供专业的
服务器维护
,企业网站维护
,网站维护
服务 - (建议采用1024×768分辨率,以达到最佳视觉效果) Powered by 黑客防线网安 ©2009-2010 www.rongsen.com.cn
作者:黑客防线网安网站维护基地 来源:黑客防线网安网站维护基地 浏览次数:0 |
一、某电信公司的转型故事
1、该电信公司数据仓库技术结构:
· 省中心BOSS数据加载到DB2中央数据仓库中。
· 中央数据仓库生成地市所需要的中间结果或分析结果并加载到数据集市中。
· BI应用包括仓库应用和集市应用。
2、硬件结构
3、“账户资费”仓库应用响应时间慢
1)数据库表适用情况
这个涉及100多张表,其中有30多张大表,记录数都在10亿条以上,而表中数据分布在32个DPF分区上。
2)适用PAT系统化方法优化
配置检查:系统配置、DBM参数和DB参数。
涉及检查:罗技涉及和物理设计。
性能优化:针对性调整。
4、PAT树 适用流行的优化工具
1)什么是PAT树
PAT:Problem Addressing Tree
根节点用来指明性能问题分类;非叶节点用来存放监控和诊断信息;叶子节点给出了具体的优化方法。
2)PAT方法学
PAT方法学是一种系统化的数据库性能诊断和优化方法。
5、都是“热表”惹得祸
1)怎样监控到的?
通过编目表syscat.tables和sysibmadm.snaptab,发现了活跃程度最高的前N张表,我们拿这钱N章表中ACC_ITEM来说明。
2)热表数据在32个分区分布极不均匀。
通过下面的语句发现表ACCA_ITEM在32个分区上数据分布极不均匀,下面是查找该表在 32 个节点上数据分布所使用的语句:
3)表ACCA_ITEM的DDL定义
这里的USER_ID作为Hash Key。
6、原来是Hash Key搞错了
1) 怎么找到原因的?
首先要和表设计人员沟通,通过元数据库调查表之间的血缘关系,然后追踪了数据流(ETL工具使用Datastage),发现很多记录的user_id值为0,而user_id为hash key。这使得数据被hash到有限的几个分区中。
2) 怎么解决的?
使用该表另外字段ACCT_ID作为Hash key,数据在分区间做重平衡操作。
1)Oracle和DB2导致的不同结果
Oracle:倾斜的大数据分区位于共享磁盘上。
DB2:倾斜的大数据分区位于DPF节点上。
2)DB2数据库分区有什么特点?
多个数据库分区在一起并行工作来处理工作负载,提供了强大的线性扩展能力,通常被广泛应用在数据仓库中。
8、Oracle和DB2支持的分区特性一览表
概念上相似,用法略有不同。另外也可以组合使用:
9、背后的深层次原因-转型问题
1) 电信公司
前期请了多加资讯公司做了可行性分析,对经营分析系统报以厚望,从上到下投入都很大。
2) 项目进度要求
时间紧,任务重。
3) 技术人员情况
刚从Oracle转型过来的,只接受过DB2入门级的培训,经验主义严重,不熟悉DB2设计技术,对使用DB2开发存在“恐惧”心理。
二、从Oracle到DB2设计转型
1、 术语对比
2、 产品和工具对比
3、 Oracle系统架构
1) Oracle System ID(非RAC架构)
一个Oracle SID一次只能访问一个数据库,“Instance”指内存和访问数据的后台进程组成,“Database”指用于存储信息的物理文件。
4、 DB2系统架构
DB2服务器可以创建多个实例,每个实例可以同时访问多个数据库;每个实例中运行多个引擎派遣单元 Engine Dispachable Units(EDUs);每个实例有自己的配置(dbm cfg)。
5、 存储模型对比
6、 全局临时表:DB2功能更多
临时表不会被锁定,在插入、更新时不产生redo log,容易维护,通常用来保存操作的中间结果集来提升性能:
7、 视图:非常相似
Oracle和DB2视图功能相似,如下表所示:
8、 索引:难分仲伯
9、 序列:DB2更细腻
用法上相同,DB2还支持标识列:
10、约束:Oracle更灵活
区别见下表:
三、当Oracle开发者遇到DB2
1、 数据库开发的难点
1) 用户的选择。
第一,选择其中一种数据库并与之绑定;第二,支持两种或多种数据库并维护针对每种数据库的实现;第三,只是用各种数据库都支持的功能。
2) 上面的任何一种选择都不理想。
2、 DB2 V9.7的新思路
内置地支持Oracle的语法,语义及相关工具:客户通过开关参数选择使用DB2还是Oracle语境,同意执行引擎保证PL/SQL和SQL PL有相同的性能。
3、 DB2 9.7支持下面的Oracle功能
只有极少情况下才需要更改。
4、 并发控制比较
1) Oracle默认情况
语句级快照。
2) DB2 V9.7之前默认情况
游标稳定隔离级别。
3) DB2 V9.7目前默认情况
当前提交隔离级别。
5、 创建兼容Oracle的DB2数据库
6、 DB2中的PL/SQL代码
我要申请本站:N点 | 黑客防线官网 | |
专业服务器维护及网站维护手工安全搭建环境,网站安全加固服务。黑客防线网安服务器维护基地招商进行中!QQ:29769479 |