CN104462462B - 基于业务变化频度的数据仓库建模方法和建模装置 - Google Patents
基于业务变化频度的数据仓库建模方法和建模装置 Download PDFInfo
- Publication number
- CN104462462B CN104462462B CN201410784872.1A CN201410784872A CN104462462B CN 104462462 B CN104462462 B CN 104462462B CN 201410784872 A CN201410784872 A CN 201410784872A CN 104462462 B CN104462462 B CN 104462462B
- Authority
- CN
- China
- Prior art keywords
- business
- frequency
- change
- interval
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/174—Redundancy elimination performed by the file system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/211—Schema design and management
- G06F16/212—Schema design and management with details for data modelling support
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种基于业务变化频度的数据仓库建模方法和一种基于业务变化频度的数据仓库建模装置,所述方法包括:步骤102,设置业务变化频度区间;步骤104,根据所述业务变化频度区间分析业务数据库源数据表的每个属性的所述业务变化频度;步骤106,根据所述业务变化频度所在的所述业务变化频度区间个数设置所述数据库表数量;步骤108,对每个数据库表添加哈希字段,以判断所述数据库表是否发生改变;步骤110,根据所有所述数据库表建立对应的数据仓库模型。通过本发明的技术方案,在保证数据历史完整性的同时,可以有效地减少数据冗余或变化频度,并有效地屏蔽业务数据的变化对整个数据仓库的影响,同时提高数据抽取性能,进而保证数据仓库的稳定性。
Description
技术领域
本发明涉及计算机技术领域,具体而言,涉及一种基于业务变化频度的数据仓库建模方法和一种基于业务变化频度的数据仓库建模装置。
背景技术
数据仓库有一个很重要的特性就是数据稳定性,因为数据仓库数据发生变化,依赖数据仓库的上层建筑都要变化来保持数据一致。
当遇到一个很长的业务库表,业务库表的字段变化很不一致时,如果采用简单的建模方式不做任何处理,就会导致数据仓库表频繁的变化(或者频繁做拉链),对存储空间和上层建筑来说,都是灾难性的。
对于需要做拉链的业务单据而言,目前处理方式为:
(1)直接添加开始时间,结束时间做拉链
在这种方案中,一条订单会由于执行情况的变化生成多条记录,但是不同记录中的订单基础属性和订单金额是相同的,由于时间戳的变化,所有基于订单基础属性和订单金额的上层分析都要做相应处理。结果,数据仓库的存储空间有很大的浪费,上层建筑频繁做没必要的更新。
(2)业务表根据变化频度和相关性拆分成多个小表
通过拆分,如果订单由于执行情况发生变化,业务表的时间戳会改变,订单记录会被ETL(Extract-Transform-load,萃取-转置-加载)增量抽取抓取过来,抓取过来的记录去和订单基础信息和金额表最新记录的订单基础属性订单金额字段做比对,如果发现订单的基础属性和订单金额没有发生变化,则跳过,继续去和订单执行情况表的订单执行情况字段做比对,当发现订单执行情况发生改变时,为该订单在订单执行情况表增加一条拉链记录。这种方案,可以极大减小部分属性(或全部属性)的记录变化频度,从而减少拉链记录数,由于表做了拆分,记录更短,从而能显著减小存储空间,能减小数据仓库对上层建筑的影响。但是,在判断记录是否更新时,必须做全字段比对,SQL(Structured QueryLanguage,结构化查询语言)写起来很麻烦,性能不好,也不通用。
因此,需要一种新的数据仓库建模方法,在保证数据历史完整性的同时,可以有效地减少数据冗余或变化频度,并有效地屏蔽业务数据的变化对整个数据仓库的影响,同时提高数据抽取性能,进而保证数据仓库的稳定性。
发明内容
本发明所要解决的技术问题在于,需要一种新的数据仓库建模方法,在保证数据历史完整性的同时,可以有效地减少数据冗余或变化频度,并有效地屏蔽业务数据的变化对整个数据仓库的影响,同时提高数据抽取性能,进而保证数据仓库的稳定性。
根据本发明的一个方面,提供了一种基于业务变化频度的数据仓库建模方法,使用计算机***实现所述数据库仓库建模,包括:步骤102,设置业务变化频度区间;步骤104,根据所述业务变化频度区间分析业务数据库源数据表的每个属性的业务变化频度;步骤106,根据所述业务变化频度所在的所述业务变化频度区间的个数设置数据库表的数量,其中,所述数据库表的数量等于所述业务变化频度所在的所述业务变化频度区间的个数;步骤108,对每个所述数据库表添加哈希字段,以判断所述数据库表是否发生改变;步骤110,根据所有所述数据库表建立对应的数据仓库模型。
在该技术方案中,通过设置业务变化频度区间,将数据库源数据表拆分成多个数据库表,其中数据库表数量等于业务数据库源数据表的每个属性的业务变化频度所在的业务变化频度区间个数,并在每个数据库表中添加哈希字段,可以减小部分属性或全部属性的变化频度,以减少拉链记录数和长度,实现数据仓库减小存储空间,进而减少数据仓库对上层建筑的影响,即可以在保证数据历史完整性的同时,可以有效地减少数据冗余或变化频度,并有效地屏蔽业务数据的变化对整个数据仓库的影响,同时提高数据比对性能、抽取性能和SQL简便性,并且数据仓库建模和ETL数据抽取可以分块迭代进行,各个数据库表之间互相独立互不影响,从而保证数据仓库的稳定性。
在上述技术方案中,优选地,所述步骤102具体包括:设置所述业务变化频度区间的区间类别、区间描述、变化概率起始值和变化概率终止值,以及设置所述区间类别、所述区间描述、所述变化概率起始值和所述变化概率终止值的数据类型。
在该技术方案中,通过设置业务变化频度区间的区间类别(比如,区间A),即该业务变化频度区间的唯一标识,并设置区间类别的数据类型为字符串;设置业务变化频度区间的区间描述(比如,基本无变化),即对该业务变化频度区间的分类描述,并设置区间描述的数据类型为字符串;设置业务变化频度区间的变化概率起始值和变化概率终止值(比如,起始值20%,终止值100%),即该区间类别的变化区间的起始和终止百分比,如此完成业务变化频度区间的设置,可以为数据库源数据表的拆分提供了有利前提保障和基准,进而有利于减少数据冗余或变化频度,从而减少拉链记录数。
在上述技术方案中,优选地,所述步骤104具体包括:根据所述业务变化频度区间分析所述业务数据库源数据表的业务表名、所述属性和所述业务变化频度,以及所述业务表名、所述属性和所述业务变化频度的数据类型。
在该技术方案中,通过根据业务变化频度区间对业务数据库源数据表的业务表名进行分析,保证业务表名的唯一性,并明确其数据类型比如,为字符串),同时对属性和对应的业务变化频度进行分析,并明确数据类型(比如,分别为字符串和整型),从而确定业务数据库源数据表的属性的业务变化频度所在的业务变化频度区间数,进而确定将该数据库源数据表拆分成几个数据库表,如此,可以有效地实现数据仓库减少存储空间,并减小过滤业务数据变化对数据仓库上层建筑的冲击,进而保证数据仓库的稳定性。
在上述技术方案中,优选地,所述步骤106还包括:确定所述业务数据库源数据表的业务主键,并设置每个所述数据库表中包括所述业务主键,其中,所述属性包括所述业务主键。
在该技术方案中,通过确定数据库源数据表的业务主键,并将该业务主键添加到每个数据库表中,可以实现各个数据库表的相互关联,进而有利于保证数据历史的完整性。
在上述技术方案中,优选地,所述步骤108具体包括:根据哈希算法对每个所述数据库表包括的所述属性的属性值进行计算得到所述哈希字段,以及对每个所述数据表添加开始时间段和结束时间段。
在该技术方案中,通过哈希算法对每个数据库表的所有属性的属性值进行计算得到哈希字段,并对每个数据表添加开始时间段和结束时间段,可以有效地提高数据比对和抽取的效率,相较于在判断业务数据是否有更新时需要进行属性字段比对,大大节省了时间成本。
根据本发明的一方面,还提供了一种基于业务变化频度的数据仓库建模装置,使用计算机***实现所述数据库仓库建模,包括:设置模块,用于设置业务变化频度区间;分析模块,用于根据所述业务变化频度区间分析业务数据库源数据表的每个属性的业务变化频度;以及所述设置模块还用于:根据所述业务变化频度所在的所述业务变化频度区间的个数设置数据库表的数量,其中,所述数据库表的数量等于所述业务变化频度所在的所述业务变化频度区间的个数;添加模块,用于对每个所述数据库表添加哈希字段,以判断所述数据库表是否发生改变;创建模块,用于根据所有所述数据库表建立对应的数据仓库模型。
在该技术方案中,通过设置业务变化频度区间,将数据库源数据表拆分成多个数据库表,其中数据库表数量等于业务数据库源数据表的每个属性的业务变化频度所在的业务变化频度区间个数,并在每个数据库表中添加哈希字段,可以减小部分属性或全部属性的变化频度,以减少拉链记录数和长度,实现数据仓库减小存储空间,进而减少数据仓库对上层建筑的影响,即可以在保证数据历史完整性的同时,可以有效地减少数据冗余或变化频度,并有效地屏蔽业务数据的变化对整个数据仓库的影响,同时提高数据比对性能、抽取性能和SQL简便性,并且数据仓库建模和ETL数据抽取可以分块迭代进行,各个数据库表之间互相独立互不影响,从而保证数据仓库的稳定性。
在上述技术方案中,优选地,所述设置模块具体用于:设置所述业务变化频度区间的区间类别、区间描述、变化概率起始值和变化概率终止值,以及设置所述区间类别、所述区间描述、所述变化概率起始值和所述变化概率终止值的数据类型。
在该技术方案中,通过设置业务变化频度区间的区间类别(比如,区间A),即该业务变化频度区间的唯一标识,并设置区间类别的数据类型为字符串;设置业务变化频度区间的区间描述(比如,基本无变化),即对该业务变化频度区间的分类描述,并设置区间描述的数据类型为字符串;设置业务变化频度区间的变化概率起始值和变化概率终止值(比如,起始值20%,终止100%值),即该区间类别的变化区间的起始和终止百分比,如此完成业务变化频度区间的设置,可以为数据库源数据表的拆分提供了有利前提保障和基准,进而有利于减少数据冗余或变化频度,从而减少拉链记录数。
在上述技术方案中,优选地,所述分析模块具体用于:根据所述业务变化频度区间分析所述业务数据库源数据表的业务表名、所述属性和所述业务变化频度,以及所述业务表名、所述属性和所述业务变化频度的数据类型。
在该技术方案中,通过根据业务变化频度区间对业务数据库源数据表的业务表名进行分析,保证业务表名的唯一性,并明确其数据类型比如,为字符串),同时对属性和对应的业务变化频度进行分析,并明确数据类型(比如,分别为字符串和整型),从而确定业务数据库源数据表的属性的业务变化频度所在的业务变化频度区间数,进而确定将该数据库源数据表拆分成几个数据库表,如此,可以有效地实现数据仓库减少存储空间,并减小过滤业务数据变化对数据仓库上层建筑的冲击,进而保证数据仓库的稳定性。
在上述技术方案中,优选地,所述设置模块还用于:确定所述业务数据库源数据表的业务主键,并设置每个所述数据库表中包括所述业务主键,其中,所述属性包括所述业务主键。
在该技术方案中,通过确定数据库源数据表的业务主键,并将该业务主键添加到每个数据库表中,可以实现各个数据库表的相互关联,进而有利于保证数据历史的完整性。
在上述技术方案中,优选地,所述添加模块还用于:根据哈希算法对每个所述数据库表包括的所述属性的属性值进行计算得到所述哈希字段,以及对每个所述数据表添加开始时间段和结束时间段。
在该技术方案中,通过哈希算法对每个数据库表的所有属性的属性值进行计算得到哈希字段,并对每个数据表添加开始时间段和结束时间段,可以有效地提高数据比对和抽取的效率,相较于在判断业务数据是否有更新时需要进行属性字段比对,大大节省了时间成本。
通过上述技术方案,在保证数据历史完整性的同时,可以有效地减少数据冗余或变化频度,并有效地屏蔽业务数据的变化对整个数据仓库的影响,同时提高数据抽取性能,进而保证数据仓库的稳定性。
附图说明
图1示出了根据本发明的一个实施例的基于业务变化频度的数据仓库建模方法的流程示意图;
图2示出了根据本发明的一个实施例的基于业务变化频度的数据仓库建模装置的框图;
图3示出了根据本发明的另一个实施例的基于业务变化频度的数据仓库建模方法的流程示意图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明并不限于下面公开的具体实施例的限制。
图1示出了根据本发明的一个实施例的基于业务变化频度的数据仓库建模方法的流程示意图。
如图1所示,根据本发明的一个实施例的基于业务变化频度的数据仓库建模方法,使用计算机***实现所述数据库仓库建模,包括:步骤102,设置业务变化频度区间;步骤104,根据所述业务变化频度区间分析业务数据库源数据表的每个属性的业务变化频度;步骤106,根据所述业务变化频度所在的所述业务变化频度区间的个数设置数据库表的数量,其中,所述数据库表的数量等于所述业务变化频度所在的所述业务变化频度区间的个数;步骤108,对每个所述数据库表添加哈希字段,以判断所述数据库表是否发生改变;步骤110,根据所有所述数据库表建立对应的数据仓库模型。
在该技术方案中,通过设置业务变化频度区间,将数据库源数据表拆分成多个数据库表,其中数据库表数量等于业务数据库源数据表的每个属性的业务变化频度所在的业务变化频度区间个数,并在每个数据库表中添加哈希字段,可以减小部分属性或全部属性的变化频度,以减少拉链记录数和长度,实现数据仓库减小存储空间,进而减少数据仓库对上层建筑的影响,即可以在保证数据历史完整性的同时,可以有效地减少数据冗余或变化频度,并有效地屏蔽业务数据的变化对整个数据仓库的影响,同时提高数据比对性能、抽取性能和SQL简便性,并且数据仓库建模和ETL数据抽取可以分块迭代进行,各个数据库表之间互相独立互不影响,从而保证数据仓库的稳定性。
在上述技术方案中,优选地,所述步骤102具体包括:设置所述业务变化频度区间的区间类别、区间描述、变化概率起始值和变化概率终止值,以及设置所述区间类别、所述区间描述、所述变化概率起始值和所述变化概率终止值的数据类型。
在该技术方案中,通过设置业务变化频度区间的区间类别(比如,区间A),即该业务变化频度区间的唯一标识,并设置区间类别的数据类型为字符串;设置业务变化频度区间的区间描述(比如,基本无变化),即对该业务变化频度区间的分类描述,并设置区间描述的数据类型为字符串;设置业务变化频度区间的变化概率起始值和变化概率终止值(比如,起始值20%,终止值100%),即该区间类别的变化区间的起始和终止百分比,如此完成业务变化频度区间的设置,可以为数据库源数据表的拆分提供了有利前提保障和基准,进而有利于减少数据冗余或变化频度,从而减少拉链记录数。
在上述技术方案中,优选地,所述步骤104具体包括:根据所述业务变化频度区间分析所述业务数据库源数据表的业务表名、所述属性和所述业务变化频度,以及所述业务表名、所述属性和所述业务变化频度的数据类型。
在该技术方案中,通过根据业务变化频度区间对业务数据库源数据表的业务表名进行分析,保证业务表名的唯一性,并明确其数据类型比如,为字符串),同时对属性和对应的业务变化频度进行分析,并明确数据类型(比如,分别为字符串和整型),从而确定业务数据库源数据表的属性的业务变化频度所在的业务变化频度区间数,进而确定将该数据库源数据表拆分成几个数据库表,如此,可以有效地实现数据仓库减少存储空间,并减小过滤业务数据变化对数据仓库上层建筑的冲击,进而保证数据仓库的稳定性。
在上述技术方案中,优选地,所述步骤106还包括:确定所述业务数据库源数据表的业务主键,并设置每个所述数据库表中包括所述业务主键,其中,所述属性包括所述业务主键。
在该技术方案中,通过确定数据库源数据表的业务主键,并将该业务主键添加到每个数据库表中,可以实现各个数据库表的相互关联,进而有利于保证数据历史的完整性。
在上述技术方案中,优选地,所述步骤108具体包括:根据哈希算法对每个所述数据库表包括的所述属性的属性值进行计算得到所述哈希字段,以及对每个所述数据表添加开始时间段和结束时间段。
在该技术方案中,通过哈希算法对每个数据库表的所有属性的属性值进行计算得到哈希字段,并对每个数据表添加开始时间段和结束时间段,可以有效地提高数据比对和抽取的效率,相较于在判断业务数据是否有更新时需要进行属性字段比对,大大节省了时间成本。
图2示出了根据本发明的一个实施例的基于业务变化频度的数据仓库建模装置的框图。
如图2所示,根据本发明的一个实施例的基于业务变化频度的数据仓库建模装置200,使用计算机***实现所述数据库仓库建模,包括:设置模块202,用于设置业务变化频度区间;分析模块204,用于根据所述业务变化频度区间分析业务数据库源数据表的每个属性的业务变化频度;以及所述设置模块202还用于:根据所述业务变化频度所在的所述业务变化频度区间的个数设置数据库表的数量,其中,所述数据库表的数量等于所述业务变化频度所在的所述业务变化频度区间的个数;添加模块206,用于对每个所述数据库表添加哈希字段,以判断所述数据库表是否发生改变;创建模块208,用于根据所有所述数据库表建立对应的数据仓库模型。
在该技术方案中,通过设置业务变化频度区间,将数据库源数据表拆分成多个数据库表,其中数据库表数量等于业务数据库源数据表的每个属性的业务变化频度所在的业务变化频度区间个数,并在每个数据库表中添加哈希字段,可以减小部分属性或全部属性的变化频度,以减少拉链记录数和长度,实现数据仓库减小存储空间,进而减少数据仓库对上层建筑的影响,即可以在保证数据历史完整性的同时,可以有效地减少数据冗余或变化频度,并有效地屏蔽业务数据的变化对整个数据仓库的影响,同时提高数据比对性能、抽取性能和SQL简便性,并且数据仓库建模和ETL数据抽取可以分块迭代进行,各个数据库表之间互相独立互不影响,从而保证数据仓库的稳定性。
在上述技术方案中,优选地,所述设置模块202具体用于:设置所述业务变化频度区间的区间类别、区间描述、变化概率起始值和变化概率终止值,以及设置所述区间类别、所述区间描述、所述变化概率起始值和所述变化概率终止值的数据类型。
在该技术方案中,通过设置业务变化频度区间的区间类别(比如,区间A),即该业务变化频度区间的唯一标识,并设置区间类别的数据类型为字符串;设置业务变化频度区间的区间描述(比如,基本无变化),即对该业务变化频度区间的分类描述,并设置区间描述的数据类型为字符串;设置业务变化频度区间的变化概率起始值和变化概率终止值(比如,起始值20%,终止值100%),即该区间类别的变化区间的起始和终止百分比,如此完成业务变化频度区间的设置,可以为数据库源数据表的拆分提供了有利前提保障和基准,进而有利于减少数据冗余或变化频度,从而减少拉链记录数。
在上述技术方案中,优选地,所述分析模块204具体用于:根据所述业务变化频度区间分析所述业务数据库源数据表的业务表名、所述属性和所述业务变化频度,以及所述业务表名、所述属性和所述业务变化频度的数据类型。
在该技术方案中,通过根据业务变化频度区间对业务数据库源数据表的业务表名进行分析,保证业务表名的唯一性,并明确其数据类型比如,为字符串),同时对属性和对应的业务变化频度进行分析,并明确数据类型(比如,分别为字符串和整型),从而确定业务数据库源数据表的属性的业务变化频度所在的业务变化频度区间数,进而确定将该数据库源数据表拆分成几个数据库表,如此,可以有效地实现数据仓库减少存储空间,并减小过滤业务数据变化对数据仓库上层建筑的冲击,进而保证数据仓库的稳定性。
在上述技术方案中,优选地,所述设置模块202还用于:确定所述业务数据库源数据表的业务主键,并设置每个所述数据库表中包括所述业务主键,其中,所述属性包括所述业务主键。
在该技术方案中,通过确定数据库源数据表的业务主键,并将该业务主键添加到每个数据库表中,可以实现各个数据库表的相互关联,进而有利于保证数据历史的完整性。
在上述技术方案中,优选地,所述添加模块206还用于:根据哈希算法对每个所述数据库表包括的所述属性的属性值进行计算得到所述哈希字段,以及对每个所述数据表添加开始时间段和结束时间段。
在该技术方案中,通过哈希算法对每个数据库表的所有属性的属性值进行计算得到哈希字段,并对每个数据表添加开始时间段和结束时间段,可以有效地提高数据比对和抽取的效率,相较于在判断业务数据是否有更新时需要进行属性字段比对,大大节省了时间成本。
图3示出了根据本发明的另一个实施例的基于业务变化频度的数据仓库建模方法的流程示意图。
如图3所示,根据本发明的另一个实施例的基于业务变化频度的数据仓库建模方法,具体流程包括:
步骤302,设置业务变化频度区间;
步骤304,根据业务变化频度区间分析业务单据历史数据(数据库源数据表)属性的变化频度,确认拆分方案;
步骤306,拆分为小表(数据库表),并为每个小表添加哈希字段、开始时间段和结束时间段;
步骤308,初始化数据仓库模型。
首先设置变化频度区间,根据变化频度区间分析业务单据所有属性字段的变化频度,根据变化频度来确定拆分方案,即设置几个变化频度区间就拆分为几个小表,然后对每个拆分的小表添加哈希字段、开始时间段和结束时间字段,用于后续的数据比对和抽取。
配置变化频度区间的数据结构设计,如下表所示:
列 | 数据类型 | 说明 |
区间分类 | 字符串 | 变化频度的唯一标识,不能重复 |
区间描述 | 字符串 | 对该区间分类的描述信息 |
变化概率起始值 | 浮点型 | 该分类的变化区间的起始百分比 |
变化概率终止值 | 浮点型 | 该分类的变化区间的终止百分比 |
依据上面的变化频度区间设置来自动分析业务单据各属性的变化频度,如下表所示:
列 | 数据类型 | 说明 |
表 | 字符串 | 需要分析的业务表名,不能重复 |
表属性 | 字符串 | 分析的业务表字段名 |
频度 | 整型 | 变化频度 |
根据业务单据各属性的变化频度,建立拆分方案,几个变化频度区间就拆分为几个表,并建立数据仓库模型。
下面以业务销售订单表为基础建立数据仓库模型。
业务销售订单表(这里只简单举几个属性)的明细信息,如下表所示:
订单号 | 业务日期 | 销售员 | 供应商 | 单据状态 | 关联单据号 | 金额 |
001 | 2014-10-10 | 张三 | A | 新增 | 1000 | |
001 | 2014-10-10 | 张三 | A | 已审 | 1000 | |
001 | 2014-10-11 | 张三 | A | 出库 | 出库单001 | 200 |
001 | 2014-10-12 | 张三 | A | 出库 | 出库单002 | 800 |
001 | 2014-10-12 | 张三 | A | 已开票 | ***号001 | 1000 |
在上面订单表中,有以下几类属性:
订单号:唯一标示一条订单记录;
订单基础属性:销售员、供应商等信息,基本不会改变;
订单金额:变化很小,看业务情况;
订单执行情况:单据状态,关联单据号,业务日期,会频繁发生改变。
(1)首先设置变化频度为2个区间,如下表所示:
区间类别 | 区间描述 | 变化概率起始值 | 变化概率终止值 |
A | 基本无变化 | 0 | 20% |
B | 变化频繁 | 20% | 100% |
(2)分析业务销售订单表,分析方法为查询该订单号(业务主键),得到每个属性的变化频度,如下表所示:
业务表名 | 属性 | 变化频度 |
销售订单表 | 订单号 | 0 |
销售订单表 | 业务日期 | 60% |
销售订单表 | 销售员 | 0 |
销售订单表 | 供应商 | 0 |
销售订单表 | 单据状态 | 80% |
销售订单表 | 关联单据号 | 80% |
销售订单表 | 金额 | 40% |
(3)根据变化频度区间设置为2个,则该业务销售订单表拆分为2个小表,如下表所示:
销售订单小表1
订单号 | 销售员 | 供应商 | 哈希字段 | 开始时间 | 结束时间 |
001 | 张三 | A | swfe | 2014-10-10 | 2014-10-12 |
销售订单小表2
(4)根据以上分析,最后构建的数据仓库模型如下表:
1)销售订单表_A
列 | 数据类型 | 说明 |
订单号 | 字符串 | 唯一标示一条订单记录 |
销售员 | 字符串 | |
供应商 | 字符串 | |
哈希字段 | 字符串 | 订单号+销售员+供应商具体数据的哈希值 |
开始时间 | 字符串 | |
结束时间 | 字符串 |
2)销售订单表_B
根据以上技术方案,可以极大地减小部分属性(或全部属性)的记录变化频度,从而减少拉链记录数,由于表做了拆分,记录更短,从而能显著减小存储空间,能减小数据仓库对上层建筑的影响,又提高了比对性能和SQL简便性,最终能实现数据仓库减小存储空间,过滤业务数据变化对数据仓库上层建筑的冲击,ETL逻辑简单高效的目标,并且数据仓库建模和ETL数据抽取可以分块迭代进行,各个子表之间互相独立并不影响,可以首先抓住重点数据,把最简单最重要的数据高效的展现给客户。
因此,根据本发明的技术方案,在保证数据历史完整性的同时,可以有效地减少数据冗余或变化频度,并有效地屏蔽业务数据的变化对整个数据仓库的影响,同时提高数据抽取性能,进而保证数据仓库的稳定性。
在本说明书的描述中,术语“一个实施例”、“具体实施例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或实例。而且,描述的具体特征、结构、材料或特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种基于业务变化频度的数据仓库建模方法,使用计算机***实现所述数据仓库建模,其特征在于,包括:
步骤102,设置业务变化频度区间;
步骤104,根据所述业务变化频度区间分析业务数据库源数据表的每个属性的业务变化频度;
步骤106,根据所述业务变化频度所在的所述业务变化频度区间的个数设置数据库表的数量,其中,所述数据库表的数量等于所述业务变化频度所在的所述业务变化频度区间的个数;
步骤108,对每个所述数据库表添加哈希字段,以判断所述数据库表是否发生改变;
步骤110,根据所有所述数据库表建立对应的数据仓库模型;
其中,所述步骤102具体包括:设置所述业务变化频度区间的区间类别、区间描述、变化概率起始值和变化概率终止值,以及设置所述区间类别、所述区间描述、所述变化概率起始值和所述变化概率终止值的数据类型。
2.根据权利要求1所述的基于业务变化频度的数据仓库建模方法,其特征在于,所述步骤104具体包括:根据所述业务变化频度区间分析所述业务数据库源数据表的业务表名、所述属性和所述业务变化频度,以及所述业务表名、所述属性和所述业务变化频度的数据类型。
3.根据权利要求1所述的基于业务变化频度的数据仓库建模方法,其特征在于,所述步骤106还包括:确定所述业务数据库源数据表的业务主键,并设置每个所述数据库表中包括所述业务主键,其中,所述属性包括所述业务主键。
4.根据权利要求1或2所述的基于业务变化频度的数据仓库建模方法,其特征在于,所述步骤108具体包括:根据哈希算法对每个所述数据库表包括的所述属性的属性值进行计算得到所述哈希字段,以及对每个所述数据表添加开始时间段和结束时间段。
5.一种基于业务变化频度的数据仓库建模装置,使用计算机***实现所述数据仓库建模,其特征在于,包括:
设置模块,用于设置业务变化频度区间;
分析模块,用于根据所述业务变化频度区间分析业务数据库源数据表的每个属性的业务变化频度;以及
所述设置模块还用于:根据所述业务变化频度所在的所述业务变化频度区间的个数设置数据库表的数量,其中,所述数据库表的数量等于所述业务变化频度所在的所述业务变化频度区间的个数;
添加模块,用于对每个所述数据库表添加哈希字段,以判断所述数据库表是否发生改变;
创建模块,用于根据所有所述数据库表建立对应的数据仓库模型;
其中,所述设置模块具体用于:设置所述业务变化频度区间的区间类别、区间描述、变化概率起始值和变化概率终止值,以及设置所述区间类别、所述区间描述、所述变化概率起始值和所述变化概率终止值的数据类型。
6.根据权利要求5所述的基于业务变化频度的数据仓库建模装置,其特征在于,所述分析模块具体用于:根据所述业务变化频度区间分析所述业务数据库源数据表的业务表名、所述属性和所述业务变化频度,以及所述业务表名、所述属性和所述业务变化频度的数据类型。
7.根据权利要求5所述的基于业务变化频度的数据仓库建模装置,其特征在于,所述设置模块还用于:确定所述业务数据库源数据表的业务主键,并设置每个所述数据库表中包括所述业务主键,其中,所述属性包括所述业务主键。
8.根据权利要求5至7中任一项所述的基于业务变化频度的数据仓库建模装置,其特征在于,所述添加模块还用于:根据哈希算法对每个所述数据库表包括的所述属性的属性值进行计算得到所述哈希字段,以及对每个所述数据表添加开始时间段和结束时间段。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410784872.1A CN104462462B (zh) | 2014-12-16 | 2014-12-16 | 基于业务变化频度的数据仓库建模方法和建模装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410784872.1A CN104462462B (zh) | 2014-12-16 | 2014-12-16 | 基于业务变化频度的数据仓库建模方法和建模装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104462462A CN104462462A (zh) | 2015-03-25 |
CN104462462B true CN104462462B (zh) | 2017-11-07 |
Family
ID=52908497
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410784872.1A Active CN104462462B (zh) | 2014-12-16 | 2014-12-16 | 基于业务变化频度的数据仓库建模方法和建模装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104462462B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106250436A (zh) * | 2016-07-26 | 2016-12-21 | 东软集团股份有限公司 | 管理表单数据的方法及装置 |
CN109522315B (zh) * | 2018-10-26 | 2021-10-22 | 苏宁易购集团股份有限公司 | 一种数据库处理方法及*** |
CN110046155B (zh) * | 2018-12-07 | 2023-06-20 | 创新先进技术有限公司 | 特征数据库的更新、数据特征的确定方法、装置及设备 |
CN109766362B (zh) * | 2018-12-28 | 2021-07-20 | 北京字节跳动网络技术有限公司 | 数据处理方法及装置 |
CN117648202B (zh) * | 2024-01-30 | 2024-05-14 | 深圳市纷享互联科技有限责任公司 | 一种异构***数据同步过程死循环检测方法、***及介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102542071A (zh) * | 2012-01-17 | 2012-07-04 | 深圳市同洲视讯传媒有限公司 | 一种分布式处理数据的***及方法 |
CN103838787A (zh) * | 2012-11-27 | 2014-06-04 | 阿里巴巴集团控股有限公司 | 一种对分布式数据仓库进行更新的方法和设备 |
CN104123346A (zh) * | 2014-07-02 | 2014-10-29 | 广东电网公司信息中心 | 一种结构化数据搜索方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9411864B2 (en) * | 2008-08-26 | 2016-08-09 | Zeewise, Inc. | Systems and methods for collection and consolidation of heterogeneous remote business data using dynamic data handling |
-
2014
- 2014-12-16 CN CN201410784872.1A patent/CN104462462B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102542071A (zh) * | 2012-01-17 | 2012-07-04 | 深圳市同洲视讯传媒有限公司 | 一种分布式处理数据的***及方法 |
CN103838787A (zh) * | 2012-11-27 | 2014-06-04 | 阿里巴巴集团控股有限公司 | 一种对分布式数据仓库进行更新的方法和设备 |
CN104123346A (zh) * | 2014-07-02 | 2014-10-29 | 广东电网公司信息中心 | 一种结构化数据搜索方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104462462A (zh) | 2015-03-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104462462B (zh) | 基于业务变化频度的数据仓库建模方法和建模装置 | |
CN109669934B (zh) | 一种切合电力客服业务的数据仓库***及其构建方法 | |
US11354282B2 (en) | Classifying an unmanaged dataset | |
CN111459985B (zh) | 标识信息处理方法及装置 | |
CN104123346B (zh) | 一种结构化数据搜索方法 | |
US9098591B2 (en) | Spatio-temporal data management system, spatio-temporal data management method, and machine-readable storage medium thereof | |
US20140351285A1 (en) | Platform and method for analyzing electric power system data | |
US10311111B2 (en) | Search method and apparatus and storage medium | |
CN107203522A (zh) | 一种恶意订单地址的判定方法和装置 | |
CN107180093A (zh) | 信息搜索方法及装置和时效性查询词识别方法及装置 | |
CN104424360A (zh) | 用于访问源数据库中的一组数据表格的方法和*** | |
CN108446391A (zh) | 数据的处理方法、装置、电子设备和计算机可读介质 | |
CN109388523A (zh) | 一种基于二进制日志文件恢复MySQL数据库的方法 | |
US10445370B2 (en) | Compound indexes for graph databases | |
US20080306788A1 (en) | Spen Data Clustering Engine With Outlier Detection | |
CN105893421A (zh) | Uv计算方法、装置 | |
CN108846117A (zh) | 商业快讯的去重筛选方法及装置 | |
AU2014271289A1 (en) | Extract, transform and load (etl) system and method | |
CN105824892A (zh) | 一种数据池对数据同步和处理的方法 | |
CN105718457B (zh) | 基于电子票据的信息推送方法及*** | |
CN110442614B (zh) | 元数据的搜索方法及装置、电子设备、存储介质 | |
CN101799822A (zh) | 分层网状知识模型建模方法及知识仓库***建立方法 | |
US20150095349A1 (en) | Automatically identifying matching records from multiple data sources | |
JP6763967B2 (ja) | データ変換装置とデータ変換方法 | |
CN108319626A (zh) | 一种基于名称信息的对象分类方法与设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |