CN104239567B - 数据仓库中的维度处理方法和装置 - Google Patents

数据仓库中的维度处理方法和装置 Download PDF

Info

Publication number
CN104239567B
CN104239567B CN201410510713.2A CN201410510713A CN104239567B CN 104239567 B CN104239567 B CN 104239567B CN 201410510713 A CN201410510713 A CN 201410510713A CN 104239567 B CN104239567 B CN 104239567B
Authority
CN
China
Prior art keywords
dimension table
dimension
data
updated
surrogate
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
Application number
CN201410510713.2A
Other languages
English (en)
Other versions
CN104239567A (zh
Inventor
洪超
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Gridsum Technology Co Ltd
Original Assignee
Beijing Gridsum Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Gridsum Technology Co Ltd filed Critical Beijing Gridsum Technology Co Ltd
Priority to CN201410510713.2A priority Critical patent/CN104239567B/zh
Publication of CN104239567A publication Critical patent/CN104239567A/zh
Application granted granted Critical
Publication of CN104239567B publication Critical patent/CN104239567B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2264Multidimensional index structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/283Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP

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)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种数据仓库中的维度处理方法和装置。在数据仓库中存储有预先创建的第一维度表和预先创建的第二维度表,其中,第一维度表用于存储数据仓库中的所有历史数据,第二维度表用于根据第一维度表进行更新以存储第一维度表中最近一个维度处理时间周期的数据,该方法包括:获取数据仓库的待更新数据;将待更新数据添加至第二维度表中以对第二维度表进行更新,并基于待更新数据对第一维度表进行更新,解决了在对历史维度表更新的情况下,快照维度表的更新速度慢的问题,达到了提升快照维度表更新速度的效果。

Description

数据仓库中的维度处理方法和装置
技术领域
本发明涉及数据处理领域,具体而言,涉及一种数据仓库中的维度处理方法和装置。
背景技术
数据仓库是一个单位或是一个应用领域的通用数据处理系统,它存储的是属于企业和事业部门、团体和个人的有关数据的集合。数据仓库中的数据是为众多用户所共享其信息而建立的,已经摆脱了具体程序的限制和制约。不同的用户可以按各自的用法使用数据仓库中的数据,多个用户可以同时共享数据仓库中的数据资源,即不同的用户可以同时存取数据仓库中的同一个数据。数据共享性不仅满足了各用户对信息内容的要求,同时也满足了各用户之间信息通信的要求。
现有技术中在数据仓库中生成快照维度表,都是将接收到的数据源先添加到历史维度表里,再根据历史维度表里的数据,更新快照维度表。要保证历史维度表和快照维度表都进行更新,各自维护自己的数据记录。此过程需要两次扫描历史维度表的记录,添加时去重一次,形成快照表时一次,并且还得连接相应的事实表,在历史维度表或事实表比较大时,但此操作方式处理速度慢、耗费大量的资源。
针对相关技术中在对历史维度表更新的情况下,快照维度表的更新速度慢的问题,目前尚未提出有效的解决方案。
发明内容
本发明的主要目的在于提供一种数据仓库中的维度处理方法和装置,以解决在对历史维度表更新的情况下,快照维度表的更新速度慢的问题。
为了实现上述目的,根据本发明的一个方面,提供了一种数据仓库中的维度处理方法。
根据本发明的数据仓库中的维度处理方法包括:在数据仓库中存储有预先创建的第一维度表和预先创建的第二维度表,其中,第一维度表用于存储数据仓库中的所有历史数据,第二维度表用于根据第一维度表进行更新以存储第一维度表中最近一个维度处理时间周期的数据,方法包括:获取数据仓库的待更新数据;将待更新数据添加至第二维度表中以对第二维度表进行更新,并基于待更新数据对第一维度表进行更新。
进一步地,基于待更新数据对第一维度表进行更新包括:获取待更新数据;获取第三维度表,其中,第三维度表是将待更新数据添加至第二维度表中生成的维度表;将第三维度表添加至第一维度表对第一维度表进行更新。
进一步地,获取数据仓库的待更新数据包括:在数据仓库中查找数据源,其中,数据源存储在数据仓库中;对数据源进行去重处理,得到待更新数据。
进一步地,基于待更新数据对第一维度表进行更新包括:将待更新数据添加第一维度表;判断第一维度表是否存在唯一索引;在第一维度表存在唯一索引的情况下,判断唯一索引的属性是否是可忽略唯一值;在唯一索引属性是可忽略唯一值的情况下,数据仓库对第一维度表执行自动执行去重处理;在第一维度表不存在唯一索引的情况下或唯一索引属性不是可忽略唯一值的情况下,数据仓库通过加载预设的表数据对第一维度表执行去重处理;通过对第一维度表执行去重处理对第一维度表进行更新。
进一步地,获取数据仓库的待更新数据之前,方法还包括:获取第二维度表的代理键,其中,第二维度表的代理键包括多个数值;确定第二维度表的代理键中的最大数值;将第二维度表的代理键中的最大数值设置为第二维度表的种子;查找第一维度表的代理键,其中,第一维度表的代理键包括多个数值;确定第一维度表的代理键中的最大数值;将第一维度表的代理键中的最大数值设置为第一维度表的种子;判断第二维度表的代理键中的最大数值是否大于第一维度表的代理键中的最大数值;在第二维度表的代理键中最大数值大于第一维度表的代理键中最大数值的情况下,通过第二维度表种子设置第一维度表种子以使第一维度表和第二维度表种子相同;在第二维度表的代理键中最大数值小于第一维度表的代理键中最大数值的情况下,通过第一维度表种子设置第二维度表种子以使第二维度表和第一维度表种子相同;其中,基于待更新数据对第一维度表进行更新包括:在确定第二维度表的种子和第一维度表的种子相同之后,获取第四维度表,其中,将待更新数据添加至第二维度表中经过去重处理后,第二维度表中得到新添加的数据,第四维度表是用于存储第二维度表中新添加的数据的维度表;将第四维度表添加至第一维度表对第一维度表进行更新。
为了实现上述目的,根据本发明的另一方面,提供了一种数据仓库中的维度处理装置。该装置包括:在数据仓库中存储有预先创建的第一维度表和预先创建的第二维度表,其中,第一维度表用于存储数据仓库中的所有历史数据,第二维度表用于根据第一维度表进行更新以存储第一维度表中最近一个维度处理时间周期的数据,装置包括:获取单元,用于获取数据仓库的待更新数据;更新单元,用于将待更新数据添加至第二维度表中以对第二维度表进行更新,并基于待更新数据对第一维度表进行更新。
进一步地,更新单元包括:第一获取模块,用于获取待更新数据;第二获取模块,用于获取第三维度表,其中,第三维度表是将待更新数据添加至第二维度表中生成的维度表;第一更新模块,用于将第三维度表添加至第一维度表对第一维度表进行更新。
进一步地,获取单元包括:第一查找模块,用于在数据仓库中查找数据源,其中,数据源存储在数据仓库中;第一处理模块,用于对数据源进行去重处理,得到待更新数据。
进一步地,更新单元包括:添加模块,用于将待更新数据添加第一维度表;第一判断模块,用于判断第一维度表是否存在唯一索引;第二判断模块,用于在第一维度表存在唯一索引的情况下,判断唯一索引的属性是否是可忽略唯一值;第二处理模块,用于在唯一索引属性是可忽略唯一值的情况下,数据仓库对第一维度表执行自动执行去重处理;第三处理模块,用于在第一维度表不存在唯一索引的情况下或唯一索引属性不是可忽略唯一值的情况下,数据仓库通过加载预设的表数据对第一维度表执行去重处理;第二更新模块,用于通过对第一维度表执行去重处理对第一维度表进行更新。
进一步地,获取单元之前,装置还包括:第三获取模块,用于获取第二维度表的代理键,其中,第二维度表的代理键包括多个数值;第一确定模块,用于确定第二维度表的代理键中的最大数值;第一设置模块,用于将第二维度表的代理键中的最大数值设置为第二维度表的种子;第二查找模块,用于查找第一维度表的代理键,其中,第一维度表的代理键包括多个数值;第二确定模块,用于确定第一维度表的代理键中的最大数值;第二设置模块,用于将第一维度表的代理键中的最大数值设置为第一维度表的种子;第三判断模块,用于判断第二维度表的代理键中的最大数值是否大于第一维度表的代理键中的最大数值;第三设置模块,用于在第二维度表的代理键中最大数值大于第一维度表的代理键中最大数值的情况下,通过第二维度表种子设置第一维度表种子以使第一维度表和第二维度表种子相同;第四设置模块,用于在第二维度表的代理键中最大数值小于第一维度表的代理键中最大数值的情况下,通过第一维度表种子设置第二维度表种子以使第二维度表和第一维度表种子相同;其中,更新单元包括:第四获取模块,用于在确定第二维度表的种子和第一维度表的种子相同之后,获取第四维度表,其中,将待更新数据添加至第二维度表中经过去重处理后,第二维度表中得到新添加的数据,第四维度表是用于存储第二维度表中新添加的数据的维度表;第三更新模块,用于将第四维度表添加至第一维度表对第一维度表进行更新。
通过本发明,获取数据仓库的待更新数据,将待更新数据添加至第二维度表中以对第二维度表进行更新,并基于待更新数据对第一维度表进行更新,解决了在对历史维度表更新的情况下,快照维度表的更新速度慢的问题,达到了提升快照维度表更新速度的效果。
附图说明
构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明的数据仓库中的维度处理方法的第一实施例的流程图;
图2是根据本发明的数据仓库中的维度处理方法的第二实施例的流程图;
图3是根据本发明的数据仓库中的维度处理方法的第三实施例的流程图;
图4是根据本发明的数据仓库中的维度处理装置的第一实施例的示意图;
图5是根据本发明的数据仓库中的维度处理装置的第二实施例的示意图;以及
图6是根据本发明的数据仓库中的维度处理装置的第三实施例的示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
为了使本领域的技术人员更好的理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,在本领域普通技术人员没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明的保护范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含。
在数据仓库中存储有预先创建的第一维度表和预先创建的第二维度表,其中,第一维度表用于存储数据仓库中的所有历史数据,第二维度表用于根据第一维度表进行更新以存储第一维度表中最近一个维度处理时间周期的数据,图1是根据本发明的数据仓库中的维度处理方法的第一实施例的流程图。如图1所示,该数据仓库中的维度处理方法包括如下的步骤S101至步骤S102:
步骤S101,获取数据仓库的待更新数据。
数据仓库,英文名称Data Warehouse,简称DW或DWH。检测DW中待更新数据,获取DW中待更新数据。其中,待更新数据是指需要添加在维度表中对维度表进行更新的数据源。
步骤S102,将待更新数据添加至第二维度表中以对第二维度表进行更新,并基于待更新数据对第一维度表进行更新。
通过将获取的待更新数据添加至第二维度表,第二维度表通过对待更新数据进行去重处理对第二维度表进行更新。
通过将获取的待更新数据添加至第一维度表中,第一维度表通过对待更新数据进行去重处理对第一维度表中进行更新。或者通过将获取的待更新数据添加至第二维度表中,第二维度表通过对待更新数据进行去重处理得到第二维度表新添加的数据,将该新添加的数据存储在第三维度表中,将第三维度表添加至第一维度表对第一维度表进行更新。
本发明的实施例中提供的数据仓库中的维度处理方法,在数据仓库中存储有预先创建的第一维度表和预先创建的第二维度表,其中,第一维度表用于存储数据仓库中的所有历史数据,第二维度表用于根据第一维度表进行更新以存储第一维度表中最近一个维度处理时间周期的数据,通过获取数据仓库的待更新数据;将待更新数据添加至第二维度表中以对第二维度表进行更新,并基于待更新数据对第一维度表进行更新,解决了在对历史维度表更新的情况下,快照维度表的更新速度慢的问题,达到了提升快照维度表更新速度的效果。
图2是根据本发明的数据仓库中的维度处理方法的第二实施例的流程图。如图2所示,该数据仓库中的维度处理方法包括如下的步骤S201至步骤S208:
步骤S201,获取数据仓库的待更新数据。
该步骤同上述步骤S101。
步骤S202,将待更新数据添加至第二维度表中以对第二维度表进行更新。
该步骤同上述步骤S102。
步骤S203,将待更新数据添加第一维度表。
步骤S204,判断第一维度表是否存在唯一索引。
唯一索引是一种不允许具有索引值相同的行的索引。检测第一维度表中是否已存在唯一索引,即检测第一维度表中已建立唯一索引。在第一维度表中如果已建立唯一可忽略索引即可,待更新数据添加至第一维度表中时,会自动执行去重处理。一种具体实现代码如下:
CREATE UNIQUE NONCLUSTERED INDEX[UIX_Hash]ON[dbo].[DimSiteResource]
([Hash]ASC)WITH(IGNORE_DUP_KEY=ON)ON[PRIMARY])
步骤S205,在第一维度表存在唯一索引的情况下,判断唯一索引的属性是否是可忽略唯一值。
步骤S206,在唯一索引属性是可忽略唯一值的情况下,数据仓库对第一维度表执行自动执行去重处理。
步骤S207,在第一维度表不存在唯一索引的情况下或唯一索引属性不是可忽略唯一值的情况下,数据仓库通过加载预设的表数据对第一维度表执行去重处理。
步骤S208,通过对第一维度表执行去重处理对第一维度表进行更新。
在检测到第一维度表不存在唯一索引的情况下或唯一索引属性不是可忽略唯一值的情况下,数据仓库将通过加载预设的表数据对第一维度表执行去重处理。一种具体加载预设的表数据的去重方式如下:
INSERT INTO[WebDissectorDW].dbo.DimClick
(SnapshotID,
PageVersion,
PageRegionID,
Hash)
SELECT DISTINCT
通过上述自动执行去重处理或加载预设的表数据执行去重处理等操作,对第一维度表数据进行更新处理。
本发明的实施例中提供的数据仓库中的维度处理方法,通过获取数据仓库的待更新数据。将待更新数据添加至第二维度表中以对第二维度表进行更新,并基于待更新数据对第一维度表进行更新。将待更新数据添加第一维度表;判断第一维度表是否存在唯一索引;在第一维度表存在唯一索引的情况下,判断唯一索引的属性是否是可忽略唯一值;在唯一索引属性是可忽略唯一值的情况下,数据仓库对第一维度表执行自动执行去重处理;在第一维度表不存在唯一索引的情况下或唯一索引属性不是可忽略唯一值的情况下,数据仓库通过加载预设的表数据对第一维度表执行去重处理;通过对第一维度表执行去重处理对第一维度表进行更新,解决了在对历史维度表更新的情况下,快照维度表的更新速度慢的问题,达到了提升快照维度表更新速度的效果。
图3是根据本发明的数据仓库中的维度处理方法的第三实施例的流程图。如图3所示,该数据仓库中的维度处理方法包括如下的步骤S301至步骤S313:
步骤S301,获取第二维度表的代理键,其中,第二维度表的代理键包括多个数值。
代理键用于维度表与事实表的连接,此处的代理键是第二维度表的自增长代理键,对于一个维度表中的维度列可以设置为自增长的维度列,当维度列定义为自增长后,那么这个维度列的值就不需要用户输入数据,而由数据仓库系统根据设置自动赋值。当增加一条记录时,代理见主键会自动的以相同的步长来进行数据增长,该步长是用户在建立维度表的时候,预先设置的步长。
第二维度表为最近一个维度处理时间周期的数据,即快照维度表。获取快照维度表上的自增长代理键。其中快照维度表的自增长代理键包括多个数值。
步骤S302,确定第二维度表的代理键中的最大数值。
步骤S303,将第二维度表的代理键中的最大数值设置为第二维度表的种子。
获取第二维度表的代理键中的最大数值,将该最大数值设置为第二维度表的种子,其中,当数据源添加至第二维度表时,第二维度表的种子用于将该数据源从维度表种子的数据进行数据增长。
步骤S304,查找第一维度表的代理键,其中,第一维度表的代理键包括多个数值。
步骤S305,确定第一维度表的代理键中的最大数值。
步骤S306,将第一维度表的代理键中的最大数值设置为第一维度表的种子。
步骤S307,判断第二维度表的代理键中的最大数值是否大于第一维度表的代理键中的最大数值。
步骤S308,第二维度表的代理键中最大数值大于第一维度表的代理键中最大数值的情况下,通过第二维度表种子设置第一维度表种子以使第一维度表和第二维度表种子相同。
步骤S309,第二维度表的代理键中最大数值小于第一维度表的代理键中最大数值的情况下,通过第一维度表种子设置第二维度表种子以使第二维度表和第一维度表种子相同。
步骤S310,获取数据仓库的待更新数据。
该步骤同上述步骤S101。
步骤S311,将待更新数据添加至第二维度表中以对第二维度表进行更新。
该步骤同上述步骤S102。
步骤S312,确定第二维度表的种子和第一维度表的种子相同之后,获取第四维度表。
将待更新数据添加至第二维度表中经过自动去重处理或者加载预先设置的表数据进行去重处理后,得到新添加的数据,将该新添加的数据存储在预先创建的第四维度表中,获取第四维度表。
步骤S313,将第四维度表添加至第一维度表对第一维度表进行更新。
将第四维度表添加至第一维度表,第一维度表通过自动去重处理或者加载预先设置的表数据对新添加的第四维度表进行去重处理,对第一维度表中数据进行更新。
本发明的实施例中提供的数据仓库中的维度处理方法,通过将第一维度表和第二维度表的种子设置相同,保证了其增长的代理主键与历史维度表一致。解决了在对历史维度表更新的情况下,快照维度表的更新速度慢的问题,达到了提升快照维度表更新速度的效果。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
根据本发明的实施例,提供了一种数据仓库中的维度处理装置。图4是根据本发明的数据仓库中的维度处理装置的第一实施例的示意图。如图4所示,该数据仓库中的维度处理装置包括:获取单元20和更新单元40。
获取单元20,用于获取数据仓库的待更新数据。
更新单元40,用于将待更新数据添加至第二维度表中以对第二维度表进行更新,并基于待更新数据对第一维度表进行更新。
本发明的实施例中提供的数据仓库中的维度处理装置,该装置通过获取单元20用于获取数据仓库的待更新数据,更新单元40用于将待更新数据添加至第二维度表中以对第二维度表进行更新,并基于待更新数据对第一维度表进行更新,解决了在对历史维度表更新的情况下,快照维度表的更新速度慢的问题,达到了提升快照维度表更新速度的效果。
图5是根据本发明的数据仓库中的维度处理装置的第二实施例的示意图。如图5所示,该数据仓库中的维度处理装置包括:获取单元20和更新单元40。其中更新单元40包括:更新模块400、添加模块401、第一判断模块402、第二判断模块403、第二处理模块404、第三处理模块405和第二更新模块406。
获取单元20和更新单元40的作用与上述实施例中作用相同,在此不再赘述。
更新模块400,用于将待更新数据添加至第二维度表中以对第二维度表进行更新。
添加模块401,用于将待更新数据添加第一维度表。
第一判断模块402,用于判断第一维度表是否存在唯一索引。
第二判断模块403,用于在第一维度表存在唯一索引的情况下,判断唯一索引的属性是否是可忽略唯一值。
第二处理模块404,用于在唯一索引属性是可忽略唯一值的情况下,数据仓库对第一维度表执行自动执行去重处理。
第三处理模块405,用于在第一维度表不存在唯一索引的情况下或唯一索引属性不是可忽略唯一值的情况下,数据仓库通过加载预设的表数据对第一维度表执行去重处理。
第二更新模块406,用于通过对第一维度表执行去重处理对第一维度表进行更新。
本发明的实施例中提供的数据仓库中的维度处理装置,该装置通过获取单元20用于获取数据仓库的待更新数据,更新单元40用于将待更新数据添加至第二维度表中以对第二维度表进行更新,添加模块401用于将待更新数据添加第一维度表;第一判断模块402用于判断第一维度表是否存在唯一索引;第二判断模块403用于在第一维度表存在唯一索引的情况下,判断唯一索引的属性是否是可忽略唯一值;第二处理模块404用于在唯一索引属性是可忽略唯一值的情况下,数据仓库对第一维度表执行自动执行去重处理;第三处理模块405用于在第一维度表不存在唯一索引的情况下或唯一索引属性不是可忽略唯一值的情况下,数据仓库通过加载预设的表数据对第一维度表执行去重处理;第二更新模块406用于通过对第一维度表执行去重处理对第一维度表进行更新,解决了在对历史维度表更新的情况下,快照维度表的更新速度慢的问题,达到了提升快照维度表更新速度的效果。
图6是根据本发明的数据仓库中的维度处理装置的第三实施例的示意图。如图6所示,该数据仓库中的维度处理装置包括:第三获取模块101、第一确定模块102、第一设置模块103、第二查找模块104、第二确定模块105、第二设置模块106、第三判断模块107、第三设置模块108、第四设置模块109、第四获取模块100、第三更新模块110、获取单元20和更新单元40。
获取单元20和更新单元40的作用与上述实施例中作用相同,在此不再赘述。
第三获取模块101,用于获取第二维度表的代理键,其中,第二维度表的代理键包括多个数值。
第一确定模块102,用于确定第二维度表的代理键中的最大数值。
第一设置模块103,用于将第二维度表的代理键中的最大数值设置为第二维度表的种子。
第二查找模块104,用于查找第一维度表的代理键,其中,第一维度表的代理键包括多个数值。
第二确定模块105,用于确定第一维度表的代理键中的最大数值。
第二设置模块106,用于将第一维度表的代理键中的最大数值设置为第一维度表的种子。
第三判断模块107,用于判断第二维度表的代理键中的最大数值是否大于第一维度表的代理键中的最大数值。
第三设置模块108,用于在第二维度表的代理键中最大数值大于第一维度表的代理键中最大数值的情况下,通过第二维度表种子设置第一维度表种子以使第一维度表和第二维度表种子相同。
第四设置模块109,用于在第二维度表的代理键中最大数值小于第一维度表的代理键中最大数值的情况下,通过第一维度表种子设置第二维度表种子以使第二维度表和第一维度表种子相同。
第四获取模块100,用于在确定第二维度表的种子和第一维度表的种子相同之后,获取第四维度表,其中,将待更新数据添加至第二维度表中经过去重处理后,第二维度表中得到新添加的数据,第四维度表是用于存储第二维度表中新添加的数据的维度表。
第三更新模块110,用于将第四维度表添加至第一维度表对第一维度表进行更新。
本发明的实施例中提供的数据仓库中的维度处理装置,该装置通过获取单元20用于获取数据仓库的待更新数据;更新单元40用于将待更新数据添加至第二维度表中以对第二维度表进行更新,并基于待更新数据对第一维度表进行更新;第三获取模块101用于获取第二维度表的代理键,其中,第二维度表的代理键包括多个数值;第一确定模块102用于确定第二维度表的代理键中的最大数值;第一设置模块103用于将第二维度表的代理键中的最大数值设置为第二维度表的种子;第二查找模块104用于查找第一维度表的代理键,其中,第一维度表的代理键包括多个数值;第二确定模块105用于确定第一维度表的代理键中的最大数值;第二设置模块106用于将第一维度表的代理键中的最大数值设置为第一维度表的种子;第三判断模块107用于判断第二维度表的代理键中的最大数值是否大于第一维度表的代理键中的最大数值;第三设置模块108用于在第二维度表的代理键中最大数值大于第一维度表的代理键中最大数值的情况下,通过第二维度表种子设置第一维度表种子以使第一维度表和第二维度表种子相同;第四设置模块109用于在第二维度表的代理键中最大数值小于第一维度表的代理键中最大数值的情况下,通过第一维度表种子设置第二维度表种子以使第二维度表和第一维度表种子相同;其中,基于待更新数据对第一维度表进行更新包括:第四获取模块100用于在确定第二维度表的种子和第一维度表的种子相同之后,获取第四维度表,其中,将待更新数据添加至第二维度表中经过去重处理后,第二维度表中得到新添加的数据,第四维度表是用于存储第二维度表中新添加的数据的维度表;第三更新模块110用于将第四维度表添加至第一维度表对第一维度表进行更新,解决了在对历史维度表更新的情况下,快照维度表的更新速度慢的问题,达到了提升快照维度表更新速度的效果。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种数据仓库中的维度处理方法,其特征在于,在所述数据仓库中存储有预先创建的第一维度表和预先创建的第二维度表,其中,所述第一维度表用于存储所述数据仓库中的所有历史数据,所述第二维度表用于根据所述第一维度表进行更新以存储所述第一维度表中最近一个维度处理时间周期的数据,所述方法包括:
获取所述数据仓库的待更新数据;以及
将所述待更新数据添加至所述第二维度表中以对所述第二维度表进行更新,并基于所述待更新数据对所述第一维度表进行更新。
2.根据权利要求1所述的方法,其特征在于,基于所述待更新数据对所述第一维度表进行更新包括:
获取所述待更新数据;
获取第三维度表,其中,所述第三维度表是将所述待更新数据添加至所述第二维度表中生成的维度表;以及
将所述第三维度表添加至所述第一维度表对所述第一维度表进行更新。
3.根据权利要求1所述的方法,其特征在于,获取所述数据仓库的待更新数据包括:
在所述数据仓库中查找数据源,其中,所述数据源存储在所述数据仓库中;以及
对所述数据源进行去重处理,得到待更新数据。
4.根据权利要求1所述的方法,其特征在于,基于所述待更新数据对所述第一维度表进行更新包括:
将所述待更新数据添加所述第一维度表;
判断所述第一维度表是否存在唯一索引;
在所述第一维度表存在唯一索引的情况下,判断所述唯一索引的属性是否是可忽略唯一值;
在所述唯一索引属性是可忽略唯一值的情况下,所述数据仓库对所述第一维度表执行自动执行去重处理;
在所述第一维度表不存在唯一索引的情况下或所述唯一索引属性不是可忽略唯一值的情况下,所述数据仓库通过加载预设的表数据对所述第一维度表执行去重处理;以及
通过对所述第一维度表执行去重处理对所述第一维度表进行更新。
5.根据权利要求1所述的方法,获取所述数据仓库的待更新数据之前,所述方法还包括:
获取所述第二维度表的代理键,其中,所述第二维度表的代理键包括多个数值;
确定所述第二维度表的代理键中的最大数值;
将所述第二维度表的代理键中的最大数值设置为所述第二维度表的种子;
查找所述第一维度表的代理键,其中,所述第一维度表的代理键包括多个数值;
确定所述第一维度表的代理键中的最大数值;
将所述第一维度表的代理键中的最大数值设置为所述第一维度表的种子;
判断所述第二维度表的代理键中的最大数值是否大于所述第一维度表的代理键中的最大数值;
在所述第二维度表的代理键中最大数值大于所述第一维度表的代理键中最大数值的情况下,通过所述第二维度表种子设置所述第一维度表种子以使所述第一维度表和所述第二维度表种子相同;
在所述第二维度表的代理键中最大数值小于所述第一维度表的代理键中最大数值的情况下,通过所述第一维度表种子设置所述第二维度表种子以使所述第二维度表和所述第一维度表种子相同;
其中,基于所述待更新数据对所述第一维度表进行更新包括:
在确定所述第二维度表的种子和所述第一维度表的种子相同之后,获取第四维度表,其中,将所述待更新数据添加至所述第二维度表中经过去重处理后,所述第二维度表中得到新添加的数据,所述第四维度表是用于存储所述第二维度表中新添加的数据的维度表;以及
将所述第四维度表添加至所述第一维度表对所述第一维度表进行更新。
6.一种数据仓库中的维度处理装置,其特征在于,在所述数据仓库中存储有预先创建的第一维度表和预先创建的第二维度表,其中,所述第一维度表用于存储所述数据仓库中的所有历史数据,所述第二维度表用于根据所述第一维度表进行更新以存储所述第一维度表中最近一个维度处理时间周期的数据,所述装置包括:
获取单元,用于获取所述数据仓库的待更新数据;以及
更新单元,用于将所述待更新数据添加至所述第二维度表中以对所述第二维度表进行更新,并基于所述待更新数据对所述第一维度表进行更新。
7.根据权利要求6所述的装置,其特征在于,所述更新单元包括:
第一获取模块,用于获取所述待更新数据;
第二获取模块,用于获取第三维度表,其中,所述第三维度表是将所述待更新数据添加至所述第二维度表中生成的维度表;以及
第一更新模块,用于将所述第三维度表添加至所述第一维度表对所述第一维度表进行更新。
8.根据权利要求6所述的装置,其特征在于,所述获取单元包括:
第一查找模块,用于在所述数据仓库中查找数据源,其中,所述数据源存储在所述数据仓库中;以及
第一处理模块,用于对所述数据源进行去重处理,得到待更新数据。
9.根据权利要求6所述的装置,其特征在于,所述更新单元包括:
添加模块,用于将所述待更新数据添加所述第一维度表;
第一判断模块,用于判断所述第一维度表是否存在唯一索引;
第二判断模块,用于在所述第一维度表存在唯一索引的情况下,判断所述唯一索引的属性是否是可忽略唯一值;
第二处理模块,用于在所述唯一索引属性是可忽略唯一值的情况下,所述数据仓库对所述第一维度表执行自动执行去重处理;
第三处理模块,用于在所述第一维度表不存在唯一索引的情况下或所述唯一索引属性不是可忽略唯一值的情况下,所述数据仓库通过加载预设的表数据对所述第一维度表执行去重处理;以及
第二更新模块,用于通过对所述第一维度表执行去重处理对所述第一维度表进行更新。
10.根据权利要求6所述的装置,所述装置还包括:
第三获取模块,用于获取所述第二维度表的代理键,其中,所述第二维度表的代理键包括多个数值;
第一确定模块,用于确定所述第二维度表的代理键中的最大数值;
第一设置模块,用于将所述第二维度表的代理键中的最大数值设置为所述第二维度表的种子;
第二查找模块,用于查找所述第一维度表的代理键,其中,所述第一维度表的代理键包括多个数值;
第二确定模块,用于确定所述第一维度表的代理键中的最大数值;
第二设置模块,用于将所述第一维度表的代理键中的最大数值设置为所述第一维度表的种子;
第三判断模块,用于判断所述第二维度表的代理键中的最大数值是否大于所述第一维度表的代理键中的最大数值;
第三设置模块,用于在所述第二维度表的代理键中最大数值大于所述第一维度表的代理键中最大数值的情况下,通过所述第二维度表种子设置所述第一维度表种子以使所述第一维度表和所述第二维度表种子相同;
第四设置模块,用于在所述第二维度表的代理键中最大数值小于所述第一维度表的代理键中最大数值的情况下,通过所述第一维度表种子设置所述第二维度表种子以使所述第二维度表和所述第一维度表种子相同,
其中,所述更新单元包括:
第四获取模块,用于在确定所述第二维度表的种子和所述第一维度表的种子相同之后,获取第四维度表,其中,将所述待更新数据添加至所述第二维度表中经过去重处理后,所述第二维度表中得到新添加的数据,所述第四维度表是用于存储所述第二维度表中新添加的数据的维度表;以及
第三更新模块,用于将所述第四维度表添加至所述第一维度表对所述第一维度表进行更新。
CN201410510713.2A 2014-09-28 2014-09-28 数据仓库中的维度处理方法和装置 Active CN104239567B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410510713.2A CN104239567B (zh) 2014-09-28 2014-09-28 数据仓库中的维度处理方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410510713.2A CN104239567B (zh) 2014-09-28 2014-09-28 数据仓库中的维度处理方法和装置

Publications (2)

Publication Number Publication Date
CN104239567A CN104239567A (zh) 2014-12-24
CN104239567B true CN104239567B (zh) 2018-04-06

Family

ID=52227626

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410510713.2A Active CN104239567B (zh) 2014-09-28 2014-09-28 数据仓库中的维度处理方法和装置

Country Status (1)

Country Link
CN (1) CN104239567B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109636950A (zh) * 2018-11-02 2019-04-16 国网浙江省电力有限公司 一种行车轨迹数据存储方法

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105989076B (zh) * 2015-02-10 2019-05-07 腾讯科技(深圳)有限公司 一种数据统计方法以及装置
CN105095484B (zh) * 2015-08-17 2019-03-12 北京京东世纪贸易有限公司 一种数据拉链方法
CN108108374B (zh) * 2016-11-25 2021-11-16 百度在线网络技术(北京)有限公司 一种数据仓库的存储方法及装置
CN108427711B (zh) * 2018-01-31 2019-09-17 北京三快在线科技有限公司 实时数据仓库、实时数据处理方法、电子设备及存储介质
CN109299093A (zh) * 2018-09-17 2019-02-01 平安科技(深圳)有限公司 Hive数据库中拉链表的更新方法、装置和计算机设备
CN112817969B (zh) * 2021-01-14 2023-04-14 内蒙古蒙商消费金融股份有限公司 数据查询方法、系统、电子设备和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1811725A (zh) * 2006-02-21 2006-08-02 杭州华为三康技术有限公司 一种快速存储装置及快速更新数据的方法
CN103559272A (zh) * 2013-11-05 2014-02-05 北京国双科技有限公司 向维度表里导入数据的方法和装置
CN103838787A (zh) * 2012-11-27 2014-06-04 阿里巴巴集团控股有限公司 一种对分布式数据仓库进行更新的方法和设备
CN103914546A (zh) * 2014-04-09 2014-07-09 百度在线网络技术(北京)有限公司 数据更新方法及其装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8055609B2 (en) * 2008-01-22 2011-11-08 International Business Machines Corporation Efficient update methods for large volume data updates in data warehouses

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1811725A (zh) * 2006-02-21 2006-08-02 杭州华为三康技术有限公司 一种快速存储装置及快速更新数据的方法
CN103838787A (zh) * 2012-11-27 2014-06-04 阿里巴巴集团控股有限公司 一种对分布式数据仓库进行更新的方法和设备
CN103559272A (zh) * 2013-11-05 2014-02-05 北京国双科技有限公司 向维度表里导入数据的方法和装置
CN103914546A (zh) * 2014-04-09 2014-07-09 百度在线网络技术(北京)有限公司 数据更新方法及其装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109636950A (zh) * 2018-11-02 2019-04-16 国网浙江省电力有限公司 一种行车轨迹数据存储方法

Also Published As

Publication number Publication date
CN104239567A (zh) 2014-12-24

Similar Documents

Publication Publication Date Title
CN104239567B (zh) 数据仓库中的维度处理方法和装置
CN103500191B (zh) 一种流表配置、查询、表项删除方法及装置
CN105009110A (zh) 大规模并行处理(mpp)数据库的自动伸缩方法
CN108345485A (zh) 用于界面视图的标识方法及装置
CN103617508A (zh) 可配置的业务规则插件扩展装置和业务规则插件扩展方法
CN107220077A (zh) 应用启动的管控方法和管控设备
CN106844397A (zh) 基于分库分表的任务传输方法、装置及系统
CN106980571A (zh) 一种测试用例集的构建方法和设备
CN106547870A (zh) 数据库的分表方法及装置
CN104601562A (zh) 游戏服务器与数据库的交互方法和系统
CN108319698A (zh) 一种基于博弈的流图划分方法和系统
CN106372977A (zh) 一种虚拟账户的处理方法和设备
CN110266598B (zh) 一种路由信息处理方法、装置、设备及可读存储介质
CN107305570A (zh) 一种数据检索方法及系统
CN104217032B (zh) 数据库维度的处理方法及装置
CN106855862A (zh) 一种快速比较方法及装置
CN113535258B (zh) 一种Pattern文件加载方法及系统
CN106503260A (zh) 一种提高数据库的有效存储空间的方法和装置
CN109766282A (zh) 一种卡顿检测方法、卡顿检测装置及终端设备
CN106897303A (zh) 数据查询方法及装置
CN105786938A (zh) 一种对大数据进行处理的方法和装置
CN113378093A (zh) 资源发布策略的确定方法、装置、电子设备及存储介质
JP5914699B2 (ja) マイグレーションによるデータベースの作業負荷バランシング
CN104536784B (zh) 实时系统更新方法及装置
CN107239568A (zh) 分布式索引实现方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
PE01 Entry into force of the registration of the contract for pledge of patent right
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: Method and device for processing dimension in data warehouse

Effective date of registration: 20190531

Granted publication date: 20180406

Pledgee: Shenzhen Black Horse World Investment Consulting Co.,Ltd.

Pledgor: BEIJING GRIDSUM TECHNOLOGY Co.,Ltd.

Registration number: 2019990000503

CP02 Change in the address of a patent holder
CP02 Change in the address of a patent holder

Address after: 100083 No. 401, 4th Floor, Haitai Building, 229 North Fourth Ring Road, Haidian District, Beijing

Patentee after: BEIJING GRIDSUM TECHNOLOGY Co.,Ltd.

Address before: 100086 Beijing city Haidian District Shuangyushu Area No. 76 Zhichun Road cuigongfandian 8 layer A

Patentee before: BEIJING GRIDSUM TECHNOLOGY Co.,Ltd.

PP01 Preservation of patent right

Effective date of registration: 20240604

Granted publication date: 20180406