《如何提高数据仓库的性能及优化设计.docx》由会员分享,可在线阅读,更多相关《如何提高数据仓库的性能及优化设计.docx(17页珍藏版)》请在课桌文档上搜索。
1、如何提高数据仓库的性能及优化设计目录1 .序言12 .合理的数据模型设计22.1. 10种主数据模型设计示例22. 1.1.人员主数据模型33. 1.2.账户主数据模型54. 1.3.组织主数据模型65. 1.4.客商主数据模型86. 1.5.客户主数据模型87. 1.6.供应商主数据模型98. 1.7.渠道主数据模型109. 1.8.产品主数据模型1110. 1.9.物料主数据模型1311. 1.10.项目主数据模型1412. 1.11.睿码主数据管理平台内置模板163 .有效的数据抽取和转换164 .优化数据存储和查询171 .序后随着数据仓库规模的扩大,数据仓库的性能问题就显得越来越突出
2、,如何提高数据仓库的性能,除了在设计阶段对其逻辑结构和物理结构进行优化设计外;还可以在数据仓库运行阶段,采取一些优化措施来使系统性能最佳。本系统主要功能是利用Orade9i所提供的技术:分区、实体化视图和查询重写来实现数据仓库的性能优化:用户自己建表、视图并进行查询比较;比较是否采用优化技术和直接查询的时间,体现优化程度。随着计算机技术的飞速发展和企业界不断提出新的需要,数据仓库技术应运而生。当前的数据处理可以大致地划分为两大类:操作型处理和分析型处理。操作型处理也叫事务处理,是指对数据库联机地口常操作,人们关心地是响应时间、数据的安全性和完整性。分析型处理又叫信息型处理,用于管理人员的决策分
3、析。两者之间的巨大差异使得操作型处理和分析型处理的分离成为必然。数据库系统作为数据管理手段,主要用于事务处理。而数据仓库有助于把数据转变成信息,为用户提供决策支持。但是必须注意的是:即使可以建立一个数据仓库来帮助制定决策,仍然有可能在具有完美数据的情况下作出坏的决策。随着数据仓库规模的扩大,数据仓库的性能问题就显得越来越突出,如何提高数据仓库的性能进行优化,除了在设计阶段对其逻辑结构和物理结构进行优化设计,使之在满足需求条件的情况下,系统性能达到最佳,系统开销达到最小外;还可以在数据仓库运行阶段,采取一些优化措施来使系统性能最佳。在0rade9i中,使用关系数据库存储数据仓库中的数据,数据仓库
4、中包含大量的数据,对数据的提取和更新操作需要花费大量的时间和资源,为了能够管理好这些大表,同时提高访问大表的查询速度和执行效率,就需要用到并行处理和分区。在数据仓库中,为了提高性能,使用的一项技术是创建汇总,汇总使特定类型的聚集视图,通过在执行和存储数据到表以前,预先计算大的连接和聚集,提高查询性能的视图。在数据仓库中,可以使用实体化视图预先计算聚集数据,并把计算结果存储起来,实体化视图通常是通过查询重写机制进行访问的。查询重写用于基于成本的优化。2 .合理的数据模型设计确定业务需求:在设计数据仓库之前,深入了解企业的业务需求和数据分析目标,明确需要支持的查询和报表。这有助于构建合理的数据模型
5、,满足实际的业务需求。规范化设计:采用规范化的设计可以消除数据冗余,并保持数据一致性。通过合理地划分表和定义关系,避免数据更新异常和不一致问题。考虑性能需求:在设计数据模型时,需要预估数据量和查询复杂度,并根据业务需求进行适当的优化。例如,选择合适的索引和分区策略,提高查询效率。2.1.10种主数据模型设计示例主数据模型是主数据管理的基础,一个完整的、可扩展的、相对稳定的主数据模型对于主数据管理的成功起着重要的作用。规划、创建主数据模型的过程,是梳理主数据管理体系的过程,目的是建立一个良好的资源目录结构,划分合理的资源粒度。2.1.1.人员主数据模型人员主数据是企业基础和核心的主数据之一,我们
6、在人力资源管理系统及相关的模块中都要使用,如招聘、培训、考核、薪资等模块。另外,OA系统、业务系统也会使用人员主数据。序号属性名称数据类型维护方式属性类型填写说明1人员编码(工号)字符型填写基础屈性编码方案参照人力资源管理部门相关规定2姓名字符型填写基础属性3性别参照型卜拉选项基础属性参照选项为男、女、其他4出生日期字符型填写基础属性5证件类型参照型卜拉选项基础属性参照选项为身份证、军官证、护照6证件号码字符型填写基础属性按照证件上的号码进行填写7手机号码字符型填写基础屈性8办公电话字符型填写基础属性9电子邮件字符型填写基础属性10人员状态参照型卜拉选项业务屈性参照选项为在职、离职、退休、实习
7、生、临时T.1!岗位信息字符型填写业务属性对照岗位档案12职级参照刑下拉选项业务属性对照职级档案13人员类别参照型下拉选项业务属性对照企业人员类别档案(如管理类、技术类等)14所属管理组织参照型下拉选项业务属性对应管理组织主数据15所属管理部门参照型下拉选项业务属性对应管理部门主数据16鱼勺表1人员主数据模型示例表1是人员主数据的常规模型,基本上包含了人员档案的相关信息。这个人员主数据模型包含了人员档案的基本属性信息(第一项至第九项)、业务属性信息(第十项至第十五项),对应着参照数据、枚举数据,以及引用的其他主数据。2.1.2. 账户主数据模型账户的定义是企业信息系统的使用者,同时我们希望能够
8、从企业视角进行统一的账户主数据管理。序号属性名称数据类型维护方式填写说明1用户名字符型填写用户身份认证时所需要输入的名称2密码字符型填写3密级4密码策略5用户所属管理组织参照型下拉选项对应管理组织主数据6用户所属管理部门参照型下拉选项对应管理部门主数据7用户类别参照型下拉选项参照选项为1.本企业人员账户;2.本企业角色账户;3.非本企业人员账户8对应人员编码参照型下拉选项当用户类型为“1”时,字段信息与人员主数据的信息保持一致9对应人员姓名字符型填写IO证件类型参照型下拉选项11证件号码字符型填写12手机号码字符型城写13办公电话字符型填写14电子邮件字符型填写15岗位信息字符型填写16白定义
9、项1字符型填写17:.:表2账户主数据模型示例账户主数据的常规模型,基本上包含了系统中账户档案的主要属性字段。企业在构建账户主数据模型时可以以此为参考。在账户主数据模型中,我们可以看到对应人员编码对应人员姓名,以及一些对应人员的其他相关字段,这些字段的内容来源于对应的人员主数据。此种设计没有完全遵循数据库设计的三范式,因为在数据模型中冗余了部分人员主数据的属性。而在很多应用系统中,账户模型和人员模型被构建在同一个表中,这是为了让各个系统能够很好地使用账户主数据模型才采用的折中设计方法,当然也可以根据企业实际情况进行针对性设计。2.1.3. 组织主数据模型企业中的组织是指企业为了实现一定的目标,
10、互相协作结合而成的团体。通常组织既包含公司层级的内容又包含公司里的多级部门甚至小组的内容。而这样的组织也会由于视角的不同产生多个版本,如行政组织、财务组织、股权组织、法人组织等。行政组织是从企业管理的视角进行划分的组织结构;财务组织是完全以财务的视角进行核算、统计、考核,从而建立的组织结构;其他组织则是从各自的视角进行划分的组织结构。大型集团型企业的组织主数据较多,单体型企业的组织主数据相对少一些。序号属性名称数据类型维护方式填写说明1组织编码字符型填写川户身份认证时所需要输入的名称2组织名称字符型Kj3上级组织字符型填写4组织类别字符型填写1.单位;2.部门5组织负责人编码字符型填写6地址字
11、符型填写7电话字符型填写8邮箱字符型填写9传真字符型填写IO生效时间字符型填写11失效时间字符型填写12备用字段1表3行政组织模型示例在组织主数据模型设计中需要关注以下特点:(1)组织主数据是树形结构,除了根节点,每个节点都有上级节点。(2)组织通常包括公司和部门两个大的层级。(3)组织主数据通常会关联人员主数据。组织主数据通常会设定组织负责人属性,在进行人力部门负责人或干部调整时,需要在组织主数据中进行对应维护。(4)组织主数据通常指行政主数据,这也是使用得最为广泛的一种组织主数据。企业中的组织可能存在很多版本,数据结构大致相似,但是所描述的内容和视角差异很大,也正是由于视角的不同,数据内容
12、也可能存在差异。(5)组织主数据需要注意版本管理和时效性。组织会在年度或业务需要时进行调整,新的组织会产生,旧的组织可能消亡,这其中还包含组织的合并和拆分,这些动作都应该在组织主数据中进行记录,并为后续的业务动作或业务统计提供信息支持。(6)其他组织主数据模型。其他组织,如财务组织、法人组织、股权组织等主数据模型的设计可以参考行政组织主数据模型,模型架构变化不大,但承载的内容有不同的视角。2.1.4. 客商主数据模型集团MDM属性生产、慑愀企蜃疗U生机构前店St府机构及舂业位雇务企颦个人其他*-4tM忡IH*川故机构代修川投根构代码川段机构代码ll*。份证弓IN*州视机构代闪客商名称客Ier名
13、称客新名的饿l机构代码护照外用织统机构代Fi客就名称次疗机构执业许可M药晶玲代泮可注客商名你再育名你客向名称正性W*ek!VWttidtf;中亚尔依法人联系地址fft*ttid*甘业执黑注瑞,行业IMfl注册弓各业执照注局年ftIW三注册r机号町曹执照注册9小业单付法人证号代执黑住所证照庖地固定电话让黑地址JHfciE明共享W客命分类X谢分类客商分关客曲分类客高分类客商分类客向分类11M精中国*14ffO国*Zftttrfi城市ffrtXrfffrtf城IVn/ftorn城市昔业执照住所城山城市Mtli汴执黑住所城市1单位4:.产许“If,)行业3R住所iT4ifi上级小位性别风RM示tft1
14、1iVltfV上微单位第.类IK疗器械用音分案凭菱号K险提小3松小凤松示风险极小hmnw*侪类P件代场所机构矣Iff风於松雨.ttnf氏吃0拨用“类P外启提示齐利/萋齐利经前场所经侪类型公立/ItR是畲灰吃令d的房生产城批佚业场所是有生产厂*备注备注备注各注备注溶注久表4客商主数据模型表4模型示例是以某区药企业的客商主数据模型为数据示例,根据企业的经营情况,对客商主数据进行进一步的细分,同时根据细分的种类添加更加明确的描述字段内容。此模型的描述偏重于实体的客观基本属性描述。2.1.5. 客户主数据模型客户主数据模型可以适当突出企业的服务关注点,同时在客户数据的管理和维护上考虑内容的可维护性。序
15、号属性名称英文名称数据类型备注I客户编号userNo字符型2客户姓名UscrName字符型3性别SCX字符型4手机号码phone字符地5联系电话tell字符鞭6证件号码idcard字符型7跟办人vperson字符型8首次跟进U期kfirstdatc日期9最新跟进日期kncwdateH期IO城市city字符型11具体地址address字符型12邮编addrcsscodc字符型13微侑号WX字符型14传真taxAccount字符型15电子邮箱email字符型表5客户主数据模型示例2L6.供应商主数据模型供应商主数据模型需要充分考虑企业采购的严肃性,对供应商主数据的收集应当相对充分和准确,为后续供应
16、商管理及评级等工作奠定基础。序号属性名称属性性质数据类型填写说明I供应商主数据编码必填项字符型系统按编码规则自动生成(具体参见编码规则)2供应商名称唯一件字符型按照工商营业执照上的名称3供应商简称字符型按照日常习惯形成的荷称4供应商类型必填项枚举型个人供应商,组织供应商5供应商分类枚举型种子代制商,种子供应商、制种土地供应商(村委会、个体农户,对应生产方面的自办或门制业务)、包装供应商、IT供应商和其他供应商6法人代表必填项字符型商注册法人代表7所在国家必填项主数据参照型匚商注册所在国家,如中国8所在省份必填项主数据参照型取向行政区域表9所在城市必填项主数据参照型取自行政区域表IO注册地址必填
17、项字符理组织供应商:按照营业执照上的地址填写11组织机构代码/行政机构代码/身份证号唯一性字符型必填项为企业供应商:组织机构代码;行政组织机构供应商:行政机构代码;个人供应商:身份证号12联系人字符型公司联系人姓名13联系电话字符型联系人手机号假14联系地址字符型联系人见:见表6供应商主数据模型2.1. 7,渠道主数据模型渠道主数据可以相对考虑内部管理及服务需求,构建内部对应管理及服务部门、岗位、人员等内容,突出企业对渠道的拓展及服务属性。序号属性名称属性性质数据类型填写说明I柒道主数据编码必填项字符利系统按编码规则H动生成(具体参见编码规则)2渠道名称唯一性字符型按照商营业执照上的名称3客户
18、经理名称字符型按照日常习惯形成的简称4渠道类型必填项枚举别个人供应商,组织供应商5渠道级别枚举型种子代制商.、种r供应商、制种土地供应商(村委会、个体农户.对应生产方面的自办或自制业务)、包装供应商、IT供应商和其他供应商6法人代表必填项字符型工商注册法人代表7所在国家必填项主数据参照型工商注册所在国家,如中国8所在省份必填项主数据参照型取自行政M域表9所在城市必填项主数据参照型取白行政区域表10注册地址必填项字符型组织供应商:按照营业执照上的地址填写11组织机构代码/行政机构代码/身份证号唯一性字符型必填项为企业供应商:组织机构代码;行政组织机构供应商:行政机构代码;个人供应商:身份证号12
19、联系人字符型公司联系人姓名13联系电话字符型联系人手机号码14联系地址字符型联系人地址表7渠道主数据模型示例2.1.8. 产品主数据模型产品主数据是一个带有行业特征的主数据。产品主数据涉及的行业很多,尤其是流通性企业、消费品企业、制造型企业等。产品是企业的核心,很多企业中所有的业务线条都是围绕产品来运转的,从产品的设计、生产,到营销、销售、服务等。如果产品主数据做不好,那么围绕这个产品的统计分析就会失真和不准确,同时我们也很难观察到这个产品的全貌。家具企业产品主数据模型(示例)如图1所示。图1家具企业产品主数据模型(示例)医药流通企业产品主数据模型(示例)如表8所示。蛆织ft黑性名称1234化
20、学腹料药中药材中药饮片药用料址蕾阳统计日晚计修耀汾阳统计明爆It阳WitWW公M*年加川名/晶名/户部名体Wflli通川名M名M%M名*名M名名而儿名RM名现济MtW疑格现修及格境格域格生产厂*生产厂家生产厂家生产厂*生产厂家生产厂家生产厂家产Jt产Jt图日Z如旷*爻托T*计计Irt小代计僦单位计窿泉仪计依用位计t触位Hfit点位包装敢依过装教依包装数M包装数&t包装救川进殡税率选璞机率进项税率遍地晚率进堞段率HVil税率的项校中i11R*附涮氏率侨朦设中正/商M/样却IE奇育热/样品正常商品/年品正常商品/样品正常育脑/WAAOTCJCV批准文学撤准文号三JtVftft*;批准M号枇港文今批
21、准文号W公司正性注证号/备案父;*注册渣号/备案比注册”号/备案凭*1:本位91本位的水位叫外文名称外文名体外文匕称外文名你外文名称向晶状右育船状套育品状态育品状3商品状态质量总辞统计分析显总体外澹斯试制此否布体舱外与花0台令邛栉逋/特殊科Ah见科冷密/冷冻高出堵传冷核/冷库商曷始冷冷/冷冻服船剖察版H心誓Jt他Kft批件规格明IN类别明加州1第Iflfl产外翱集闭门产/*H%M11产/外集团门产/M集Ifln产/外蝌M产/避“g遇”他产/itIH产,遗11I*三11是有出口ifhn地位Hlll凡有出“JiAWA11W别IMMm3别足否m家庆保”承N*U木用电*i射侬信型展除理表8医药流通企业
22、产品主数据模型(示例)2.1.9. 物料主数据模型物料主数据是一种类型主数据,也就是说,物料是一种类型,是存在颗粒度划分的。我们可以在企业中定义一种类型,然后把所有物料都归入这一个类型中,也可以把物料划分为10万个种类,然后把每种物料的实物归集到各细分的种类中。通常我们采用多级树形结构对物料进行种类划分。某材料的分类如下表所JO分类编码分类名称Ol纺织服装02医药及器械03苗木绿化料04机械设备05五金备件06电器仪表07建材装修08信息耗材09化工料能源10办公劳保一.hJ物料主数据在进行模型定义时需要关注各个层级类别的划分,尽量遵守类别划分的统一原则(一种视角,全覆盖,不交叉),尤其是在不
23、同层级之间,应尽量不要转换视角。然而,即使我们尽量遵守分类原则,也难以避免物料划分的重复性,因为物料实在太多了。所以,我们还需要编制相应的填报规范,对实物归类进行具体的指导,这样才能够避免使用过程中的问题。同时,当一种物品符合两种或两种以上的分类时,也可以依照该物品的使用用途或目的进行划分,或者做替代品选项。2.L10.项目主数据模型项目主数据是以项目为运营模式的企业最关注的内容。项目管理作为专业学科已经相对成熟和普及,但是在不同的以项目为核心的企业中,由于其各自所处的行业不同,项目主数据模型的差异也非常大。我们以地产企业项目主数据管理为例进行说明。序号实体字段字段类型属性性质填写方式数据说明
24、备注I项H编码字符型必填手T.填写系统唯一标示.规则后续需要统一进行管理根据编码规则生成2所属公司分照型必填档案选择注册公司名称.需要取得对应的公司名称进行选择公司目录选择3投资公司名称字符型国要F工填写投资该项目的公司名称公司目录选择,是否在财务架构里面4项目名称字符型必填FI项写项目名称标示.规则后续需要统进行管理根据命名规则手工填写5区域卜.拉必填档案选择项目所在M域范南手工填写6省份卜.拉,档案选择项目所在省份省份日录选择7城市卜.拉正要档案选择项目所在城市城市口录选择8项目地址字符型币:要手丁.填写项目具体地址手工填写9项目状态字符型档案选择分别为筹备、在建、完工筹备/在建/亮1.I
25、O已获取土地面积数值型后要手工*写该项目目前已获取的二EM面积12已经获取的土地编号字符利档案选择参写该区域下已获取的土地信息状态为已获取的土地才能被参照选择13待获取土地面积数值型我要手工填写该项目目前待获取的土地面枳14自定义项蝮亿瞎缠展软心表9某地产企业项目主数据模型示例2.1.11.睿码主数据管理平台内置模板当然,你还有更简单的方法,使用睿码主数据管理平台套模板就可以了。其内置了部门主数据、供应商主数据、会计科目主数据、机构主数据、客户主数据等标准模板,套模板就可以轻松搞定主数据模型。操作步骤:新建模型时,选择【根据模板新建模型】,选择模板库中的主数据模板,设置模型标题、模型代号等信息
26、,保存即完成创建。一步搞定!感兴趣的伙伴可以在线免费试用睿码主数据管理平台哦。3 .有效的数据抽取和转换选择合适的ETL工具:ETL(抽取、转换、加载)是数据仓库中数据流程的关键环节。选择适合企业需求的ETL工具,能够提供高效的数据处理和转换能力,减少数据加载时间。增量抽取:使用增量抽取方式可以仅处理新增和修改的数据,避免全量数据抽取的开销。这可以大幅度缩短抽取时间,并降低对源系统的影响。并行处理:通过并行处理,将数据分块处理可以显著提高ETL过程的效率。合理设置并发任务数和资源分配,确保系统性能得到充分利用。4 .优化数据存储和查询数据分区:根据数据特点和查询需求,将数据按照相似属性划分为不
27、同的分区。这样可以减少查询范围,提高查询速度。索引设计:选择合适的索引类型和字段,以支持常见的查询操作。避免过多或不必要的索引,以减少写操作时的开销。缓存策略:使用缓存技术(如内存数据库、缓存服务器)可以加速查询速度,尤其是对于频繁访问的数据。合理设置缓存的失效时间和容量,避免数据一致性问题。数据压缩:对于历史数据或冷数据,采用数据压缩技术可以减少存储空间,并提高查询性能。查询优化:通过分析常用查询的执行计划,优化查询语句和索引设计。避免使用全表扫描和复杂的连接操作,以提高查询效率。通过合理的数据模型设计、高效的数据抽取和转换、优化的数据存储和查询等关键方法,可以有效提升数据仓库的设计和性能。这样可以提高数据处理效率和准确性,为企业决策提供更可靠的支持。同时,持续监测和优化数据仓库的性能是建设一个高效数据驱动企业的关键。