【IT168 现场报道】2012年4月13日,由IT168(ITPUB、IXPUB、ChinaUnix)主办的2012中国数据库技术大会(DTCC)将在北京隆重召开。本次大会上,来自韩国EN-CORE高级技术顾问郑保卫发表了主题为“数据库优化与集成之实战和效果”。
▲
根据2011年权威机构调查显示,随着“大数据”和越来越多的公司对实时商业智能(BI)需求的不断上升,大约40%的数据管理员认为数据集成项目将成为他们未来几年面对的最高挑战。尤其在我们中国,集中管理和集中决策至关重要,数据集成也就显得更为关键。成功的数据集成必须从以下几点着手,第一设计集成型的数据模型,确保数据是清晰可见的。第二用流程控制数据质量,确保数据集成后的数据质量;第三构建卓越数据集成项目团队,认真参考相似成功案例。
在本次演讲中,郑保卫与大家共同分享了通过纯粹的SQL优化所获得的即使采购硬件服务器也无法获得的神奇效果,及获得该效果的技术;同时还分享数据集成给企业所带来的巨大收益,及相应技术和成功案例。
▲
数据是企业中最核心的部分,国内的企业在数据的管理水平上存在的问题和认识,目前数据库现状中存在的六大问题。
▲
一、数据模块非常复杂
表的数量令人瞠目结社,相似的表数量过多,扩展性差,当增加新业务时就需要增加相应的表,处理变得越来越复杂。
二、数据相关技术滞后
企业未能从全局角度搭建数据架构,缺乏专业数据部门,专业Modeler
严重欠缺,模型几乎都由开发人员直接涉及,DB专家人数不足。
三、系统管理体系不健全
缺乏数据设计和管理标准
标准化政策及管理水平较低
尚不具备健全的Metadata管理系统
四、数据质量较差
尚处在被动地数据质量管理阶段
数据大量重复,很难维持数据的一致性
数据模型的问题造成大量错误数据的增加
五、执行速度不断下降
高级SQL应用能力较低
能够制定非常好的执行计划的人相对较少
不能正确创建索引
存在大量执行速度较慢的SQL
${PageNumber}六、缺乏完善的管理流程
没有正确最新的ERD
Document不够详细
不能从整体上进行统一管理
正如当人的健康状况会出现各种异常时,身体就会出现各种不同的反应。系统出现异常情况的话,同样会出现各种不同的反应。随着时间的推移,执行速度会持续下降,每月不断增加的Table数量,致使系统超负荷运行,几乎不用ERD来管理,很少有人在编码时参照 ERD。同样的操作,在不同时段的执行时间出现很大差异,Select distinct …或Group Function ,大都是使用Group by的SQL!Join Depth不断加深,用UNION进行连接的情况也越来越多!
根据调查显示,系统执行速度低下,主要是由于未能正确使用数据库导致。这里所指的未能正确使用数据库主要包括两个方面的意思:第一在开发系统时未能编写出有效的SQL程序;第二未能从系统全局的角度设计出高效的索引。系统响应速度慢,主要是由于SQL语句返回结果的时间过长导致,返回同样结果的高效SQL语句与低效SQL语句,在响应时间上最多时能够相差上千倍。近期在国内某大型保险公司对其正在使用的KPI系统中的SQL及索引进行了优化,将系统的执行时间从原来的13个小时缩减到了5个小时。
在演讲过程中,郑保卫谈到了数据库优化的主要方法
1. 提高执行速度的核心技术
2. 集合处理方式的集成SQL 的运用原理
3. 以表为单位的非常好的索引设计战略
4. 局部范围扫描的概念
5. 连接方法 & 顺序的决定
6. 多重处理(Array Processing)原理
7. ERP Package的优化点
革新数据的必备要素有哪些呢?
1、任何革新都需要一个能够推陈出新的强势领导人
2、培养成员技术能力,使他们成为中坚力量
3、对当前形势的掌握在很大程度上左右着革新的成功与否
4、使最根本的东西发生变化才能被称为真正意义上的革新
5、要为架构的各个阶段制作详尽且高水平的设计图
6、只有体验过高水准的数据模型才能感受到革新的必要性
数据领域 LEADERSHIP的转化,按实施阶段划分为不同的组织及角色
- EA 咨询企业
- SI 企业数据建模小组
- SI 企业开发人员
- 数据迁移企业
- 开发企业
对系统具有很大影响的主数据
1、行为主体
- 客户的要求不断增多
- 对服务也越来越挑剔
- 消费主力发生变化--多样化, 全局化
2、产品与服务
- 多品种少量生产, 生命周期逐渐变短
- 提供符合顾客需求的多样化服务
- 汇聚(Convergence)多种功能的产品在不断增加
3、业务账户(Business Account)
- 重新定义账户的概念以契合企业的特性
- 账户的作用发生了变化,且相互间的关联更加密切
- 商品的多样化形成了复杂的业务规则
4、资源 (Resources)
- 科学的发展加速了新资源的诞生
- 大量的资源使业务规则变得更加复杂
- 资源间的关联性大大增加
- 实现主数据革新的顺序
- 收集当前模型信息
- 完成当前逆向建模
- 识别主要数据
- Mapping规则设计
- 当前主数据的逻辑化
- 目标主数据分析模型
- 当前主数据分析
最后,郑保卫邀请了E保险公司的负责人来分享数据库优化的实战案例,整个批处理时间缩短了8个小时。我们更多应该在代码上做好优化,而不应该过多的依赖硬件。更多精彩内容,请查看专题。