CN110674228B - 数据仓库模型构建和数据查询方法、装置及设备 - Google Patents

数据仓库模型构建和数据查询方法、装置及设备 Download PDF

Info

Publication number
CN110674228B
CN110674228B CN201910896842.2A CN201910896842A CN110674228B CN 110674228 B CN110674228 B CN 110674228B CN 201910896842 A CN201910896842 A CN 201910896842A CN 110674228 B CN110674228 B CN 110674228B
Authority
CN
China
Prior art keywords
data
column
index
theme
logic
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
CN201910896842.2A
Other languages
English (en)
Other versions
CN110674228A (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.)
Advanced Nova Technology Singapore Holdings Ltd
Original Assignee
Advanced Nova Technology Singapore Holdings 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 Advanced Nova Technology Singapore Holdings Ltd filed Critical Advanced Nova Technology Singapore Holdings Ltd
Priority to CN201910896842.2A priority Critical patent/CN110674228B/zh
Publication of CN110674228A publication Critical patent/CN110674228A/zh
Application granted granted Critical
Publication of CN110674228B publication Critical patent/CN110674228B/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/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/283Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
    • 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/21Design, administration or maintenance of databases
    • G06F16/211Schema design and management
    • G06F16/212Schema design and management with details for data modelling support
    • 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/24Querying
    • G06F16/242Query formulation
    • 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/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本说明书实施例公开了一种数据仓库构建和数据查询方法、装置及设备。所述数据仓库构建方法包括:获取物理事实表;获取并根据逻辑主题表配置信息,在元数据中建立逻辑主题表与所述物理事实表的关联关系;获取并根据指标配置信息,在元数据中建立指标与所述逻辑主题表的关联关系。所述数据查询方法应用于由上述方法构建的数据仓库,包括:接收查询请求,所述查询请求中包含指标;根据所述指标与元数据中的逻辑主题表的关联关系,确定相应的逻辑主题表;根据所述逻辑主题表与物理事实表的关联关系,确定相应的物理事实表;根据所述相应的物理事实表的内容,确定所述指标的查询结果。

Description

数据仓库模型构建和数据查询方法、装置及设备
技术领域
本申请涉及计算机技术领域,尤其涉及一种数据仓库模型构建和数据查询方法、装置及设备。
背景技术
数据仓库是一种结构化的数据环境,是面向主题的、集成的、相对稳定的、反映历史变化的数据集合,用于支持管理决策。
数据仓库的构建过程通常遵循以下流程:采集业务数据库和原始日志数据到大数据存储系统上,解析、清洗之后得到格式化的数仓基础层(ODS),然后以还原业务过程为目标,进行分类、变换和关联得到的数仓明细中间层(DW),再以数据应用为目标,进行关联整合、主题分类得到的数仓集市应用层(DM)。可以基于数据仓库的集市层进行明细数据级别的应用,如对用户主题的数据进行人群特征分析和圈选,或者利用聚合后的汇总数据进行报表分析等。
为了实现对数据仓库中数据的应用,在上述传统数据库的构建过程中,要求数据仓库预先产出完整的物理宽表甚至是汇总表,然而物理宽表具有难运维、难变更的缺点,这使得数据仓库的管理困难。
发明内容
有鉴于此,本申请实施例提供了一种数据仓库构建和数据查询方法、装置及设备,用于避免由于物理宽表的难运维、难变更而导致的数据仓库的管理困难的问题。
为解决上述技术问题,本说明书实施例是这样实现的:
本说明书实施例提供的一种数据仓库模型构建方法,包括:获取物理事实表;获取逻辑主题表配置信息;根据所述逻辑主题表配置信息,在元数据中建立逻辑主题表与所述物理事实表的关联关系;获取指标配置信息;根据所述指标配置信息,在元数据中建立指标与所述逻辑主题表的关联关系。
本说明书实施例提供了一种数据查询方法,所述方法应用于数据仓库,所述数据仓库中的模型采用上述数据仓库模型构建方法构建,所述查询方法包括:接收查询请求,所述查询请求中包含指标;根据所述指标与元数据中的逻辑主题表的关联关系,确定相应的逻辑主题表;根据所述逻辑主题表与物理事实表的关联关系,确定相应的物理事实表;根据所述相应的物理事实表的内容,确定所述指标的查询结果。
本说明书实施例提供的一种数据仓库模型构建装置,包括:第一获取模块,用于获取物理事实表;第二获取模块,用于获取逻辑主题表配置信息;第一配置模块,用于根据所述逻辑主题表配置信息,在元数据中建立逻辑主题表与所述物理事实表的关联关系;第三获取模块,用于获取指标配置信息;第二配置模块,用于根据所述指标配置信息,在元数据中建立指标与所述逻辑主题表的关联关系。
本说明书实施例提供了一种数据查询装置,包括:接收模块,用于接收查询请求,所述查询请求中包含指标;第一确定模块,用于根据所述指标与元数据中的逻辑主题表的关联关系,确定相应的逻辑主题表;第二确定模块,用于根据所述逻辑主题表与物理事实表的关联关系,确定相应的物理事实表;第三确定模块,用于根据所述物理事实表的内容,确定所述指标的值。
本说明书实施例提供了一种据查询设备,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:接收查询请求,所述查询请求中包含指标;根据所述指标与元数据中的逻辑主题表的关联关系,确定相应的逻辑主题表;根据所述逻辑主题表与物理事实表的关联关系,确定相应的物理事实表;根据所述相应的物理事实表的内容,确定所述指标的查询结果。
本说明书实施例采用的至少一个技术方案能够达到以下有益效果:在构建数据仓库模型构建时,在元数据中定义逻辑主题表来记录多个物理事实表的关联信息,并记录指标与逻辑主题表的关联信息。根据该方法,不产生和存储物理宽表,避免了由于物理宽表的难运维、难变更而导致的数据仓库的管理困难的问题。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1示出了数据仓库模型构建方法的第一实施例的流程示意图;
图2示出了数据仓库模型构建方法的第二实施例的流程示意图;
图3示出了数据仓库模型中元数据中存储数据的结构;
图4示出了数据查询方法的第三实施例的流程示意图;
图5示出了数据查询方法的第四实施例的流程示意图;
图6示出了对应于图1的一种数据仓库模型构建装置的结构示意图;
图7示出了对应于图2的一种数据仓库模型构建装置的结构示意图;
图8示出了对应于图4和图5的一种数据查询装置的结构示意图;
图9示出了一种数据仓库构建和数据查询设备的结构示意图。
具体实施方式
为了便于理解本申请实施例中提及的技术方案,下面先对本申请中涉及的若干技术术语进行简要说明。
Hive,是建立在Hadoop上的数据仓库基础构架。它提供了一系列的工具,可以用来进行数据提取转化加载,这是一种可以存储、查询和分析存储在Hadoop中的大规模数据的机制。Hive定义了简单的类SQL查询语言。
数据主题,也称为主题、业务主题,由某一业务实体的所有相关数据整合在一起形成。例如,用户的所有相关数据整合在一起形成用户主题,订单的所有相关数据整合在一起形成订单主题。通常,可以使用诸如星型模型、雪花模型的维度模型来描述数据主题。与数据主题相关的数据称为主题数据。
指标(indicator),是指对主题数据进行提取或按照某种方式进行汇总得到的、用于描述主题的特征的数据。例如,可以是用于描述业务状态的数据。例如,对于用户主题,指标可以是活跃用户量、新增用户量等;对于订单主题,指标可以是订单量、成交量等;对于网站主题,指标可以是页面浏览量、独立访客数等。
维度,在本申请中又称标签(tag),指用于进行指标分析的角度,可以通过配置维度来提供对指标的多个角度的分析。例如,对于月活跃用户量指标,可以从注册渠道、使用场景等不同的维度进行分析。
宽表,即字段比较多的数据库表,通常指将与业务主题相关的字段关联在一起的形成数据库表,又称主题宽表、主题表。宽表不符合三范式的模型设计规范,宽表中数据大量冗余,但具有更便捷地查询性能。在数据仓库的DW层中,通常基于底层的事实表来构建主题宽表。
物理表,可以数据源中或数据仓库中实际存在的一张表。物理表是存放实体数据表,又称物理事实表。“事实”是指在业务中实际存在的内容,比如用户是事实,用户交易过程产生的订单也是一个事实。例如,一个关于用户事实的物理事实表中,每个列包含的是所有用户的每个特定类型的信息,例如所有用户的编号,而每行包含了某个特定用户的所有信息,例如该用户的编号、手机号、姓名、住址等。物理事实表一般由主键和主键上的属性/标签字段组成。物理事实表可以是例如hive表或odps表。
物理主题表,基于主题的、由下层的物理事实表通过关联得到物理表。物理主题表是通过关联形成的宽表,也称为物理主题宽表。
逻辑表,逻辑表可以理解为数据库中的视图,是一张虚拟表。
逻辑主题表,基于主题的、映射到一张或多张物理表的逻辑表。例如,对于hive表,将各个hive物理表中的含义相同的主键关联,即可形成逻辑主题表。逻辑主题表是通过关联形成的宽表,也称为逻辑主题宽表。
元数据(Meta Date),可以称作数据字典、解释性数据,是用于描述数据的数据,是关于数据的组织、数据域及其关系的信息。在数据仓库中,元数据用于记录数据仓库中模型的定义、各层级间的映射关系、监控数据仓库的数据状态及ETL的任务运行状态等。可以通过元数据资料库(Metadata Repository)来统一地存储和管理元数据,其主要目的是使数据仓库的设计、部署、操作和管理能达成协同一致。
在传统的数据仓库建设过程中,通常以hive SQL的方式实现整个ODS->DW->DM过程,一方面,由于hive本身的限制,整个过程手写SQL的开发维护成本高;另一方面,DW层中物理主题宽表的运维成本高。本申请提供了一种数据仓库模型构建方法,不产生实际的物理主题宽表,通过在元数据中记录关联信息来构建逻辑主题宽表,一方面减少了主题宽表建设过程中的SQL开发和维护,一方面避免了由于物理主题宽表运维难、变更难而导致的数据仓库难管理的问题。
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
以下结合附图,详细说明本申请各实施例提供的技术方案。
图1示出了数据仓库模型构建方法的第一实施例的流程示意图。从程序角度而言,流程的执行主体可以为搭载于应用服务器的程序或应用客户端。
如图1所示,该数据仓库模型构建方法可以包括以下步骤:
S110:获取物理事实表。
数据仓库中的数据是通过诸如ETL处理后得到的数据,ETL即Extraction(抽取)、Transformation(转换)和Loading(加载),具体地,ETL操作包括:将业务系统中的数抽取出来,并将不同数据源的数据按照业务需要进行转换和整合,得出目标数据,然后将目标数据加载到数据仓库中。
根据实施例,物理事实表可以是数据仓库中的底层物理表,可以包括业务过程物理表和实体属性物理表。其中,业务过程物理表描述业务中一个事件的信息,主键可以是事件ID,比如用户下单这个事件,表中可以包含事件ID、下单的用户UserID、商品信息、下单时间等信息。实体属性物理表描述业务实体本身的信息,主键可以是实体ID,比如用户这个实体,表中可以包含用户的注册渠道、年龄、性别等信息。
根据实施例,获取物理事实表,具体地可以包括获取物理事实表的表名以及列名等。
S120:获取逻辑主题表配置信息。
主题表是指,由多个下层的数据表,通过主键关联得到的数据主题宽表,涵盖了主键下的所有属性和度量,可以基于主题表对主题进行非常灵活的分析操作。逻辑主题表是指,由多个下层的物理事实表,通过主键关联得到的逻辑数据主题宽表,逻辑主题表不同于物理主题表,并不产生实际的物理表,而是仅在元数据中记录各个物理事实表的关联信息,分析过程中使用到主题数据时才进行真实的关联操作。
根据实施例,获取逻辑主题表配置信息具体可以包括获取逻辑主题的创建信息和关联信息。所述创建信息可以包括逻辑主题表的表名(LogicDataset)、逻辑主题表的每列的列名(LogicDatasetColumn)等。逻辑主题表包括多个主题列。所述关联信息可以包括逻辑主题表与物理事实表的关联关系,具体地,可以包括逻辑主题表的主题列与物理事实表的对应列之间的关联关系。
S130:根据所述逻辑主题表配置信息,在元数据中建立逻辑主题表与所述物理事实表的关联关系。
根据实施例,所述根据所述逻辑主题表配置信息,在元数据中建立逻辑主题表与所述物理事实表的关联关系,具体包括:根据所述逻辑主题表配置信息,建立所述逻辑主题表中的主题列与所述物理事实表的对应列的关联关系。更具体地,建立与物理事实表中的相应的或相关的字段的关联关系,更具体地,在元数据中存储上述关联关系。所述关联关系可以包括直接映射关系和逻辑计算映射关系。所述关联关系的建立可以使得,当需要使用某物理列的字段时,可以通过与之关联的主题列来间接地定位到目标物理列。
S140:获取指标配置信息。
根据实施例,获取指标配置信息具体可以包括获取指标定义信息、指标关联信息、指标计算信息等。
所述指标定义信息,具体可以包括指标的名称和指标的周期。其中,指标的周期是指计算指标时所基于的字段的统计周期,具体地,例如周期可以为一天、月滚动(即,最近30天)、年滚动(即,最近365天)等。与之相应地,以活跃用户量为例,其对应于前述不同周期的指标可以分别表示日活跃用户量指标、月活跃用户量指标和年活跃用户量指标。
所述指标关联信息,具体可以包括所述指标关联到逻辑主题表的具体哪些主题列。
所述指标计算信息,具体可以包括计算指标的逻辑计算公式和筛选条件。例如,对于高频活跃用户数这个指标,其关联字段是userId,其逻辑计算公式是count distinct(userId),筛选条件是is_high_frequency=1。
S150:根据所述指标配置信息,在元数据中建立指标与所述逻辑主题表的关联关系。
根据实施例,所述在元数据中建立指标与所述逻辑主题表的关联关系,具体可以包括:建立指标与所述逻辑主题表的相应的主题列的关联关系。更具体地,在元数据中存储上述关联关系。所述关联关系可以包括直接映射关系和逻辑计算映射关系。所述关联关系的建立可以使得,当需要查询某个指标时,可以通过指标与主题列的关联关系,定位到相应的主题表上;再通过主题列与物理列的关联关系,定位到相应的物理表上,以获得计算指标所需的数据。
根据实施例,作为示例,上述方法中设计的元数据的存储可以使用mysql、oracle等常见的数据库软件来实现,元数据配置可以使用java等编程语言来实现,但是不限于此。
本公开的第一实施例提供了一种数据仓库模型构建方法,通过配置的方式构建逻辑主题宽表,以元数据的方式来管理逻辑主题宽表,避免了传统数据仓库中由于物理主题宽表难运维、难变更而导致的数仓管理困难的问题,改进了数据仓库的构建效率和易维护性,减轻了数据仓库的构建和维护成本。具体地,逻辑主题宽表与物理主题宽表相比具有诸多优势:例如,若物理主题宽表中任意一个子表发生变更,整个物理主题宽表的数据都需要全部回溯,否则数据就会不一致,而本申请的实施例的方案由于不存在物理主题宽表,计算过程经由元数据的关联可以直接使用子表,就不存在这一问题;又例如,若物理主题宽表中任意子表发生故障或产出延迟,整个物理主题宽表都不能产出,会导致下游应用完全无法使用,而本申请实施例的方案中,即使有部分子表发生故障,只要下游应用没有使用到发生故障的子表的内容,就不会影响下游应用的正常进行。
通过上述实施例构建的数据仓库模型,可以用来基于指标进行数据查询,例如,可以查询活跃用户量、用户增加量、销售额等指标。但是,在实际的应用过程中,根据用户的需求,往往需要查询在不同维度下的相应指标,例如,查询某支付场景下的活跃用户量、查询某地区的销售额等。为了满足不同维度下数据指标的查询需求,提供了以下实施例。
图2示出了数据仓库模型构建方法的第二实施例的流程示意图。从程序角度而言,流程的执行主体可以为搭载于应用服务器的程序或应用客户端。
如图1所示,该数据仓库模型构建方法可以包括以下步骤:
S110:获取物理事实表;
S120:获取逻辑主题表配置信息;
S130:根据所述逻辑主题表配置信息,在元数据中建立逻辑主题表与所述物理事实表的关联关系;
S140:获取指标配置信息;
S150:根据所述指标配置信息,在元数据中建立指标与所述逻辑主题表的关联关系;
S160:获取维度配置信息;
S170:根据所述维度配置信息,在元数据中建立维度与所述逻辑主题表的关联关系。
第二实施例中,S110、S120、S130、S140和S150与第一实施例的数据仓库模型构建方法基本相同,在此不再赘述。第二实施例中,在所述在元数据中建立逻辑主题表与所述物理事实表的关联关系之后,数据仓库模型构建方法还包括S160和S170。
尽管在图2中示出了S160和S170在S140和S150之后,但是图中示出的仅作为示例,且仅是为了便于描述的目的。实际上,S160和S170中对维度的配置与S140和S150中对于指标的配置,不存在时序上的先后顺序,即,可以先配置指标再配置维度,也可以同时配置指标和维度,也可以先配置维度再配置指标,在此不做具体限定。
关于S160,具体地,可以仅在一个维度分析指标,也可以结合两个或多个维度来分析指标。例如,可以分析不同注册渠道的月活跃用户量,分析结果中可以包含不同注册渠道下的月活跃用户量数据,分析结果可以制成二维图表;也可以分析不同注册渠道且不同使用场景的月活跃用户量,分析结果中可以包含与注册渠道和使用场景相关的月活跃用户量数据,分析结果可以制成三维图表。
在定义指标时,其中包含周期信息,对于同一个指标,当周期不同时,指标的计算结果不同。在此,周期也可以看作是指标的维度。例如,日活跃用户量、月活跃用户量、年活跃用户量可以看作是不同周期维度下的活跃用户量指标。也就是说,在具体应用时,既可以定义日活跃用户量、月活跃用户量、年活跃用户量三个指标,在进行指标查询时直接选择相应指标;也可以定义周期维度下的活跃用户量指标,在进行查询时选择指标和作为维度的周期,及日对应的活跃用户量、月对应的活跃用户量、年对应的活跃用户量。上述两种模型构建方式可以用于实现一致的查询效果。
根据第二实施例,获取维度配置信息具体可以包括获取维度定义信息、维度关联信息。所述维度定义信息,具体可以包括维度名称和枚举值。其中,维度的枚举值可以是维度列中的具体字段。例如,对于年龄段维度,其枚举值可以是:儿童=1,……,12;青年=13,……,28;中年=29,……,60;老年=61,……,10000。所述维度关联信息,具体可以包括所述维度关联到逻辑主题表的具体哪些主题列。
关于S170,所述在元数据中建立维度与所述逻辑主题表的关联关系,具体可以包括:建立维度与所述逻辑主题表的相应的主题列的关联关系。更具体地,在元数据中存储上述关联关系。所述关联关系可以包括直接映射关系。根据第二实施例,所述关联关系的建立可以使得,当需要查询某个维度条件下的某个指标时,可以通过指标和维度与主题列的关联关系,定位到相应的主题表上;再通过主题列与物理列的关联关系,定位到相应的物理表上,以获得计算指标所需的数据。
本公开的第二实施例提供了一种数据仓库模型构建方法,其中定义了指标信息和维度信息,将指标和维度分别与维度主题表的列相关联,进而关联到实际的物理表,通过该模型,可以提供不同维度下指标的查询,例如,可以提供不同注册渠道下的活跃用户量的查询,更进一步地,可以提供不同注册渠道下日/月/年度的活跃用户量查询。
基于第一实施例和第二实施例的方法,本说明书实施例还提供了一些具体实施方案,下面进行说明。
可选地,所述获取物理事实表,具体可以包括:获取数据主题指定信息;根据所述数据主题指定信息,获取与指定的数据主题相关的物理事实表。
具体地,当获取物理事实表时,根据指定的主题来选择与主题相关的物理事实表。具体地,指定的主题可以是用户根据需要指定的主题。
可选地,所述获取物理事实表之后,所述方法还可以包括:获取主事实表指定信息;根据所述主事实表指定信息,标识所述物理事实表中的主事实表。其中,所述主事实表的主题与所述数据主题一致。
可选地,所述获取物理事实表之后,所述方法还可以包括:获取主键列指定信息;所述物理事实表包括主事实表和维度事实表,根据所述主键列指定信息,标识所述主事实表的主键列和所述维度事实表的主键列。其中,所述主事实表的主键列与所述维度事实表的主键列的字段一致。
具体地,可以将表主题与数据主题一致的物理事实表指定为主事实表,其他的物理事实表作为维度事实表。例如,对于用户主题,可以将用户表指定为主事实表,而订单表等可以作为维度事实表,维度事实表中包含用于描述主题的维度数据。
具体地,主事实表和维度事实表中包含一致的、与主题相关的列,以作为主键列。例如,主事实表(例如,用户表)和维度事实表(例如,订单表)中,均包含用户编号,将用户编号列标识为主事实表和维度事实表的主键列。所述主键列可以用于建立各个物理事实表之间的关联关系,以构建类似于星型模型的数据结构。
具体地,各个物理事实表的主键列一致,指的是,各个物理事实表的主键列的字段一致,也就是说,各个物理事实表的主键列的名称可以不相同。例如,在用户表中,主键列的名称可以是用户手机号,其中的字段存储用户的手机号;在订单表中,主键列的名称可以是用户编号,其中的字段也存储用户的手机号。
图3示出了数据仓库模型中元数据中存储数据的结构。
在图3中,PhyDataset标识物理事实表,表示录入的与数据主题相关的物理事实表。具体地,元数据中存储物理事实表的编号(Long id)。具体地,物理事实表可以由系统自动读取hive表或odps表来获取。在此需要说明的是,尽管在此使用了数据类型Long来表示数据物理表的编号,但是仅是为了便于说明的目的,不构成限定作用,类似地,图3中示出的Long型数据类型均不构成对相应数据的具体限定作用。另外,元数据的PhyDataset中存储每个物理事实表的指定的主键列。
PhyDatasetColumn标识物理数据列,表示录入的物理事实表的相应的列。具体地,元数据中存储物理数据列所关联的物理事实表的编号(Long PhyDatasetid),并且存储所述相应的物理数据列的编号(Long id)。物理事实表可以由系统自动读取hive表或odps表来获取。可选地,在实施例中,根据实际的数据主题需求,可以使用标识的一个物理事实中的所有列,也可以仅使用标识的物理事实表中的部分列。另外,物理事实表与物理数据列是一对多的关联关系,参见图3中,物理事实表与物理数据列的之间的连线上,仅在物理数据列相应的一端处标记N。
LogicDataset标识逻辑主题表。具体地,元数据中存储逻辑主题表的编号(Longid),并存储逻辑主题表所关联到的物理事实表中的主事实表的编号(LongprimaryPhyDatasetid)。一个逻辑主题表可以管理多个物理事实表。可选地,逻辑主题表可以是星型模型结构的表,即,逻辑主题表所管理的多个物理事实表以星型模型来关联,其中,物理事实表中的Primary Phy Dataset作为中心主事实表,物理事实表中其他表作为维度事实表。其中,主事实表指内容和模型一致的表,例如,注册用户模型的主事实表就是注册用户表。
在数据仓库的星形模型建设中,主事实表通常是标识主题实体的表,比如“注册用户”主题,主事实表就是注册用户的实体属性表,而维度事实表可以是各种订单表,主事实表和维度事实表通过UserID关联。例如,如果是用户主题,从主事实表中,我们可以取出用户的性别、年龄等维度,从订单表中,我们可以取出用户活跃状态、月交易数、月交易金额等维度,再基于UserId可以汇总出注册用户数、活跃用户数、高频活跃用户数等指标。如果是“订单”主题,那么主表就是订单表,而维表可以是用户表等,主表和维表通过事件ID关联。
LogicDatasetColumn标识逻辑主题表的所有主题列。具体的,所述主题列与相应的逻辑主题表关联,并与相应的物理数据列关联。具体地,元数据中存储主题列的编号(Long id)、主题列所关联的逻辑主题表的编号(Long LogicDatasetid)以及主题列所关联的物理数据列的编号(Long PhyDatasetColumnid)。其中,逻辑主题表与主题列是一对多的关联关系。
根据实施例,逻辑主题列与物理数据列之间是多对多的关联关系,具体地,一个逻辑主题列可以与一个或若干个物理数据列关联。参见图3中,逻辑主题列与物理数据列之间的连线的两端处均标记N。
根据可选的实施例,所述主题列可以包括第一类主题列和第二类主题列,所述建立所述逻辑主题表中的主题列与所述物理事实表的对应列的关联关系,具体可以包括:建立所述第一类主题列与所述对应列的直接映射;建立所述第二类主题列与所述第一类主题列的映射关系,所述映射关系包括所述第二类主题列中字段的逻辑计算表达式。
具体地,所述第一类主题列中可以包含基础字段,所述第二类主题列中可以包含衍生字段。基础字段被配置为物理表中的相应字段的直接映射。衍生字段被配置为上述基础字段的逻辑计算结果,具体地,衍生字段可以是一个或若干个基础字段的内容的统计结果。
在图3中,Indicator标识所述数据主题上产出的数据指标。具体地,元数据中存储数据指标与相应的逻辑主题列的关联关系(Long aggrColumnid)。其中,指标是基于一些字段进行汇总统计得到的,例如,pv(count)、uv(count distinct)。
LogicTag标识所述数据主题上产出的数据维度/标签。具体地,元数据中存储数据维度与逻辑主题列的关联关系(Long logicDatasetColumnid)。其中,一个维度可以关联到多个数据主题列,一个数据主题列可以与多个维度关联,即,所述维度与逻辑主题列是多对多的关联关系。其中,数据标签与逻辑主题列是直接映射的关系。
对于同一个主题表,其上产生的各种标准指标和维度,形成一个指标维度集,该指标维度集提供给用户以供查询时使用。
根据本公开的上述实施例,避免将指标维度集直接接入hive表等物理主题表,避免了由于hive表的数据应用性能低、难度高等原因导致的数据仓库维护难的问题。具体地,传统的数据应用直接对接hive表,当hive表发生变更(例如修改表名、字段变更、字段逻辑变更等)时,数据应用方需要进行同步的修改,否则就会出现计算失败或者数据出错的问题。本公开的上述实施例提供的数据仓库模型中,数据仓库内部的物理表可以随意变更,只要保证数据仓库模型产出的指标和维度的逻辑不变,就不会出现计算失败或者数据出错的问题,数据应用方是完全没有感知的。
上述实施例描述了数据仓库模型构建方法,通过上述方法,主题表构建过程中不产生实际的物理主题宽表,而是通过配置构建逻辑主题宽表,仅在元数据中记录物理事实表的关联信息,并将定义指标和维度关联到逻辑主题表,仅当分析时使用到主题数据时再进行真实的关联操作,解决了物理宽表运维困难导致的数据库难管理的问题。通过元数据中的逻辑主题表来维护主题数据,对外提供逻辑主题表,避免了数据仓库直接操作物理主题宽表,取代了传统数据建模过程中对物理主题表的维护,很大程度上减轻了数据仓库的建设和运维成本。
基于同样的思路,本说明书还提供了与上述数据仓库模型构建方法对应的数据查询方法。上述数据查询方法应用于数据仓库,所述数据仓库中的模型采用上述数据仓库构建方法来构建。
图4示出了数据查询方法的第三实施例的流程示意图。从程序角度而言,流程的执行主体可以为搭载于应用服务器的程序或应用客户端。
如图4所示,该数据查询方法可以包括以下步骤:
S210:接收查询请求,所述查询请求中包含指标;
S220:根据所述指标与元数据中的逻辑主题表的关联关系,确定相应的逻辑主题表;
S230:根据所述逻辑主题表与物理事实表的关联关系,确定相应的物理事实表;
S240:根据所述相应的物理事实表的内容,确定所述指标的查询结果。
根据实施例,其中,查询请求可以是由用户指定的,其中包含用户需要查询的指标。
根据实施例,其中,所述根据所述指标与元数据中的逻辑主题表的关联关系,确定相应的逻辑主题表,具体可以包括:根据所述指标与相应的逻辑主题表中主题列的关联关系,来确定相应的主题列。
根据实施例,其中,所述根据所述逻辑主题表与物理事实表的关联关系,确定相应的物理事实表,具体可以包括:根据逻辑主题表中的相应的主题列与物理事实表中数据列的关联关系,来确定相应的数据列。更具体地,主题列中可以包括第一类主题列和第二类主题列,其中第一类主题列包含基础字段,第二类主题列包含由基础字段通过逻辑计算方法衍生的衍生字段。当指标关联到第一类主题列时,则可以通过第一类主题列直接关联到相应的物理数据列;当指标关联到第二类主题列时,则可以通过第二类主题列先关联到相应的第一类主题列,再通过所述相应的第一类主题列关联到相应的物理数据列。
根据实施例,其中,所述根据所述相应的物理事实表的内容,确定所述指标的查询结果,具体可以包括:根据所述指标的逻辑计算表达式,生成相应的数据提取语句;应用所述数据提取语句,从所述相应的物理事实表中提取相应的数据;根据所述相应的数据,得到指标的查询结果。
具体地,物理事实表中包括主事实表和维度事实表。其中,所述数据提取语句可以是例如SQL语句。例如,当进行关联时,主事实表可以通过left join与其他维度事实表进行关联,进而可以使用例如count distinct(UserId)来计算活跃用户量指标。
根据可选的实施例,图5示出了数据查询方法的第四实施例的流程示意图。
如图5所示,该数据查询方法可以包括以下步骤:
S211:接收查询请求,所述查询请求中包含指标和维度;
S221:根据所述指标与元数据中的逻辑主题表的关联关系以及所述维度与元数据中的逻辑主题表的关联关系,确定相应的逻辑主题表;
S230:根据所述逻辑主题表与物理事实表的关联关系,确定相应的物理事实表;
S240:根据所述相应的物理事实表的内容,确定所述指标的查询结果。
其中,当查询请求中包含指标和维度时,查询所述指标在所述维度下的数据,例如,查询月活跃用户量、月新活跃用户量、月保留用户量、月复活用户量等等;当查询请求中不指定维度时,为第三实施例的方法,则进行零维的查询。例如,指定支付场景维度时,查询不同支付场景下的月活跃用户量,弱不指定,则查询所有支付场景下的月活跃用户量的总和。
在实际应用中,用户在使用数据时是感知不到主题的存在的,用户可以看到的是诸如日/月/年活跃用户量等指标和城市等维度的集合,用户可以自由选择想要查询的指标和维度,管理系统会自动定位到实际的主题上。例如,当需要查询每个城市维度下的日活跃用户量和订单量时,分别指定日活跃用户量指标和订单量指标以及城市维度,那么(城市+日活跃用户量)会被定位到用户主题,(城市+订单量)会被定位到订单主题。
根据前述第三实施例和第四实施例,提供了数据查询方法,所述数据查询方法根据用户指定的数据分析需要用到的指标(和维度),将所述指标(和维度)传入数据管理系统,系统自动定位到指标(和维度)所在的逻辑主题宽表,根据配置(具体地,主键列配置信息、逻辑主题列与物理数据列的关联信息等)来生成相应的数据提取语句,最后使用该数据提取语句提取所需的数据,以用于后续的分析和应用。本公开提供的上述第三和第四实施例可以对外提供主键、指标、维度(又称标签,tag)的灵活查询,为多维分析、异动检测、指标对比和波动分析、人群分析等提供准确、高效的底层数据支持。数据应用过程直接基于逻辑主题表上的指标(和维度),避免使用方直接访问数据仓库物理表,减少了数据应用成本。
基于同样的思路,本说明书实施例还提供了上述数据仓库模型构建方法对应的装置。
图6示出了对应于图1的一种数据仓库模型构建装置的结构示意图。如图6所示,该装置可以包括:
第一获取模块310,用于获取物理事实表;
第二获取模块320,用于获取逻辑主题表配置信息;
第一配置模块330,用于根据所述逻辑主题表配置信息,在元数据中建立逻辑主题表与所述物理事实表的关联关系;
第三获取模块340,用于获取指标配置信息;
第二配置模块350,用于根据所述指标配置信息,在元数据中建立指标与所述逻辑主题表的关联关系。
图7示出了对应于图2的一种数据仓库模型构建装置的结构示意图。如图7所示,该装置可以包括:
第一获取模块310,用于获取物理事实表;
第二获取模块320,用于获取逻辑主题表配置信息;
第一配置模块330,用于根据所述逻辑主题表配置信息,在元数据中建立逻辑主题表与所述物理事实表的关联关系;
第三获取模块340,用于获取指标配置信息;
第二配置模块350,用于根据所述指标配置信息,在元数据中建立指标与所述逻辑主题表的关联关系;
第四获取模块360,用于获取维度配置信息;
第三配置模块370,用于根据所述维度配置信息,建立维度与所述逻辑主题表的关联关系。
基于同样的思路,本说明书实施例还提供了上述数据查询方法对应的装置。
图8示出了对应于图4和图5的一种数据查询装置的结构示意图。如图8所示,该装置可以包括:
接收模块410,用于接收查询请求,所述查询请求中包含指标;
第一确定模块420,用于根据所述指标与元数据中的逻辑主题表的关联关系,确定相应的逻辑主题表;
第二确定模块430,用于根据所述逻辑主题表与物理事实表的关联关系,确定相应的物理事实表;
第三确定模块440,用于根据所述物理事实表的内容,确定所述指标的值。
根据可选的实施例,所述查询请求中还包含维度,所述第一确定模块420,还可以用于:根据所述指标与元数据中的逻辑主题表的关联关系以及所述维度与元数据中的逻辑主题表的关联关系,确定相应的逻辑主题表。
基于同样的思路,本说明书实施例还提供了上述方法对应的设备。
图9示出了一种数据仓库构建和数据查询设备的结构示意图。如图9所示,设备500可以包括:
至少一个处理器510;以及,
与所述至少一个处理器通信连接的存储器530;其中,
所述存储器530存储有可被所述至少一个处理器510执行的指令520,所述指令被所述至少一个处理器510执行,以使所述至少一个处理器510能够:
获取物理事实表;
获取逻辑主题表配置信息;
根据所述逻辑主题表配置信息,在元数据中建立逻辑主题表与所述物理事实表的关联关系;
获取指标配置信息;
根据所述指标配置信息,在元数据中建立指标与所述逻辑主题表的关联关系;
或者,以使所述至少一个处理器510能够:
接收查询请求,所述查询请求中包含指标;
根据所述指标与元数据中的逻辑主题表的关联关系,确定相应的逻辑主题表;
根据所述逻辑主题表与物理事实表的关联关系,确定相应的物理事实表;
根据所述相应的物理事实表的内容,确定所述指标的查询结果。
上述对本说明书特定实施例进行了描述,在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书实施例提供的装置、设备与方法是对应的,因此,装置、设备也具有与对应方法类似的有益技术效果,由于上面已经对方法的有益技术效果进行了详细说明,因此,这里不再赘述对应装置、设备的有益技术效果。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (15)

1.一种数据仓库模型构建方法,包括:
获取与指定的数据主题相关的物理事实表;
获取逻辑主题表配置信息;
根据所述逻辑主题表配置信息,在元数据中建立逻辑主题表与所述物理事实表的关联关系;所述物理事实表包括主事实表和维度事实表;所述主事实表的主题与所述数据主题一致;所述主事实表的主键列与所述维度事实表的主键列的字段一致;所述逻辑主题表包括星型结构的逻辑主题表,所述逻辑主题表用于管理多个物理事实表;所述逻辑主题表中包括第一类主题列和第二类主题列;所述第一类主题列中包含基础字段,所述第二类主题列中包含衍生字段;所述第一类主题列用于与所述物理事实表的对应列建立直接映射,所述第二类主题列用于与第一类主题列建立映射关系;
获取指标配置信息;
根据所述指标配置信息,在元数据中建立指标与所述逻辑主题表的关联关系;所述关联关系用于在数据查询时,若所述指标关联到所述第一类主题列,则通过所述第一类主题列关联相应的物理事实表中对应的数据列;若所述指标关联到所述第二类主题列,则通过所述第二类主题列关联到相应的第一类主题列,再通过所述相应的第一类主题列关联到相应的物理事实表中对应的数据列。
2.根据权利要求1所述的方法,所述根据所述指标配置信息,在元数据中建立指标与所述逻辑主题表的关联关系之后,所述方法还包括:
获取维度配置信息;
根据所述维度配置信息,在元数据中建立维度与所述逻辑主题表的关联关系。
3.根据权利要求1所述的方法,所述根据所述逻辑主题表配置信息,在元数据中建立逻辑主题表与所述物理事实表的关联关系,具体包括:
根据所述逻辑主题表配置信息,建立所述逻辑主题表中的主题列与所述物理事实表的对应列的关联关系。
4.根据权利要求3所述的方法,其中,所述主题列包括第一类主题列和第二类主题列,所述建立所述逻辑主题表中的主题列与所述物理事实表的对应列的关联关系,具体包括:
建立所述第一类主题列与所述对应列的直接映射;
建立所述第二类主题列与所述第一类主题列的映射关系,所述映射关系包括所述第二类主题列中字段的逻辑计算表达式。
5.根据权利要求1所述的方法,所述获取物理事实表,具体包括:
获取数据主题指定信息;
根据所述数据主题指定信息,获取与指定的数据主题相关的物理事实表。
6.根据权利要求5所述的方法,所述获取物理事实表之后,所述方法还包括:
获取主事实表指定信息;
根据所述主事实表指定信息,标识所述物理事实表中的主事实表,
其中,所述主事实表的主题与所述数据主题一致。
7.根据权利要求5所述的方法,所述物理事实表包括主事实表和维度事实表,所述获取物理事实表之后,所述方法还包括:
获取主键列指定信息;
根据所述主键列指定信息,标识所述主事实表的主键列和所述维度事实表的主键列,
其中,所述主事实表的主键列与所述维度事实表的主键列的字段一致。
8.一种数据查询方法,所述方法应用于数据仓库,所述数据仓库中的模型采用权利要求1至7中任意一项的数据仓库模型构建方法构建,所述查询方法包括:
接收查询请求,所述查询请求中包含指标;
根据所述指标与元数据中的逻辑主题表的关联关系,确定相应的逻辑主题表;
根据所述逻辑主题表与物理事实表的关联关系,确定相应的物理事实表;
根据所述相应的物理事实表的内容,确定所述指标的查询结果。
9.根据权利要求8所述的数据查询方法,其中,所述查询请求中还包含维度,所述数据查询方法还包括:
根据所述指标与元数据中的逻辑主题表的关联关系以及所述维度与元数据中的逻辑主题表的关联关系,确定相应的逻辑主题表。
10.根据权利要求8所述的数据查询方法,其中,所述根据所述相应的物理事实表的内容,确定所述指标的查询结果,具体包括:
根据所述指标的逻辑计算表达式,生成相应的数据提取语句;
应用所述数据提取语句,从所述相应的物理事实表中提取相应的数据;
根据所述相应的数据,得到指标的查询结果。
11.一种数据仓库模型构建装置,包括:
第一获取模块,用于获取与指定的数据主题相关的物理事实表;
第二获取模块,用于获取逻辑主题表配置信息;
第一配置模块,用于根据所述逻辑主题表配置信息,在元数据中建立逻辑主题表与所述物理事实表的关联关系;所述物理事实表包括主事实表和维度事实表;所述主事实表的主题与所述数据主题一致;所述主事实表的主键列与所述维度事实表的主键列的字段一致;所述逻辑主题表包括星型结构的逻辑主题表,所述逻辑主题表用于管理多个物理事实表;所述逻辑主题表中包括第一类主题列和第二类主题列;所述第一类主题列中包含基础字段,所述第二类主题列中包含衍生字段;所述第一类主题列用于与所述物理事实表的对应列建立直接映射,所述第二类主题列用于与第一类主题列建立映射关系;
第三获取模块,用于获取指标配置信息;
第二配置模块,用于根据所述指标配置信息,在元数据中建立指标与所述逻辑主题表的关联关系;所述关联关系用于在数据查询时,若所述指标关联到所述第一类主题列,则通过所述第一类主题列关联相应的物理事实表中对应的数据列;若所述指标关联到所述第二类主题列,则通过所述第二类主题列关联到相应的第一类主题列,再通过所述相应的第一类主题列关联到相应的物理事实表中对应的数据列。
12.根据权利要求11所述的装置,还包括:
第四获取模块,用于获取维度配置信息;
第三配置模块,用于根据所述维度配置信息,建立维度与所述逻辑主题表的关联关系。
13.一种数据查询装置,应用于数据仓库,所述数据仓库中的模型采用权利要求1至7中任意一项的数据仓库模型构建方法构建,所述装置包括:
接收模块,用于接收查询请求,所述查询请求中包含指标;
第一确定模块,用于根据所述指标与元数据中的逻辑主题表的关联关系,确定相应的逻辑主题表;
第二确定模块,用于根据所述逻辑主题表与物理事实表的关联关系,确定相应的物理事实表;
第三确定模块,用于根据所述物理事实表的内容,确定所述指标的值。
14.根据权利要求13所述的装置,所述查询请求中还包含维度,
所述第一确定模块,还用于:根据所述指标与元数据中的逻辑主题表的关联关系以及所述维度与元数据中的逻辑主题表的关联关系,确定相应的逻辑主题表。
15.一种数据查询设备,应用于数据仓库,所述数据仓库中的模型采用权利要求1至7中任意一项的数据仓库模型构建方法构建,所述设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
接收查询请求,所述查询请求中包含指标;
根据所述指标与元数据中的逻辑主题表的关联关系,确定相应的逻辑主题表;
根据所述逻辑主题表与物理事实表的关联关系,确定相应的物理事实表;
根据所述相应的物理事实表的内容,确定所述指标的查询结果。
CN201910896842.2A 2019-09-23 2019-09-23 数据仓库模型构建和数据查询方法、装置及设备 Active CN110674228B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910896842.2A CN110674228B (zh) 2019-09-23 2019-09-23 数据仓库模型构建和数据查询方法、装置及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910896842.2A CN110674228B (zh) 2019-09-23 2019-09-23 数据仓库模型构建和数据查询方法、装置及设备

Publications (2)

Publication Number Publication Date
CN110674228A CN110674228A (zh) 2020-01-10
CN110674228B true CN110674228B (zh) 2024-03-26

Family

ID=69077144

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910896842.2A Active CN110674228B (zh) 2019-09-23 2019-09-23 数据仓库模型构建和数据查询方法、装置及设备

Country Status (1)

Country Link
CN (1) CN110674228B (zh)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111311329B (zh) * 2020-02-20 2023-07-25 口碑(上海)信息技术有限公司 标签数据获取方法、装置、设备及可读存储介质
CN111552679A (zh) * 2020-04-09 2020-08-18 苏宁金融科技(南京)有限公司 基于简单需求的快速建模方法及装置
CN111930820A (zh) * 2020-08-19 2020-11-13 武汉众邦银行股份有限公司 一种基于web端操作的自助数据提取方法
CN111966761A (zh) * 2020-08-20 2020-11-20 合肥智圣新创信息技术有限公司 基于DataV的多维度模型数据可视化定制平台及方法
CN112131203A (zh) * 2020-08-28 2020-12-25 北京思特奇信息技术股份有限公司 一种数据仓库搭建的方法和系统
CN112199393B (zh) * 2020-09-18 2024-05-10 深圳希施玛数据科技有限公司 基于跨表查询的数据表生成方法、装置、设备及存储介质
CN112256804A (zh) * 2020-10-27 2021-01-22 武汉市钱鲸科技有限公司 一种零售用服务人群统计分类方法
CN112256745A (zh) * 2020-10-27 2021-01-22 武汉市钱鲸科技有限公司 一种零售数据分析方法
CN112364004B (zh) * 2020-11-10 2023-09-26 中国平安人寿保险股份有限公司 基于数据仓库的保单数据处理方法、装置及存储介质
CN112508346B (zh) * 2020-11-17 2022-06-24 四川新网银行股份有限公司 一种实现指标化业务数据勾稽的方法
CN112598508B (zh) * 2020-12-28 2024-01-19 中国农业银行股份有限公司 征信数据使用方法及系统
CN112860696B (zh) * 2021-02-07 2024-04-12 中国邮政储蓄银行股份有限公司 数据的查询方法及装置、数据查询模型
CN112966004B (zh) * 2021-03-04 2023-07-28 北京百度网讯科技有限公司 数据查询方法、装置、电子设备以及计算机可读介质
CN113590660A (zh) * 2021-07-23 2021-11-02 山东派盟网络科技有限公司 一种数据自助查询方法、装置以及电子设备
CN113590593A (zh) * 2021-08-04 2021-11-02 浙江大华技术股份有限公司 数据表信息的生成方法和装置、存储介质及电子装置
CN113742313A (zh) * 2021-08-05 2021-12-03 紫金诚征信有限公司 数据仓库构建方法、装置、计算机设备和存储介质
CN115510289B (zh) * 2022-09-22 2023-04-25 中电金信软件有限公司 一种数据立方体配置方法、装置、电子设备及存储介质
CN115712691A (zh) * 2022-11-17 2023-02-24 创新奇智(重庆)科技有限公司 一种数据关系处理方法及系统
CN116578547A (zh) * 2023-05-16 2023-08-11 佛山众陶联供应链服务有限公司 一种针对陶瓷生产线的数仓建模方法和系统
CN117763059A (zh) * 2023-12-27 2024-03-26 江苏金融租赁股份有限公司 一种数据仓库和数据集市的模型构建方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103577590A (zh) * 2013-11-12 2014-02-12 北京润乾信息系统技术有限公司 一种数据查询方法和系统
US20160078064A1 (en) * 2014-09-11 2016-03-17 Oracle International Corporation Automatic generation of logical database schemas from physical database tables and metadata
CN110019551A (zh) * 2017-12-19 2019-07-16 阿里巴巴集团控股有限公司 一种数据仓库构建方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103577590A (zh) * 2013-11-12 2014-02-12 北京润乾信息系统技术有限公司 一种数据查询方法和系统
US20160078064A1 (en) * 2014-09-11 2016-03-17 Oracle International Corporation Automatic generation of logical database schemas from physical database tables and metadata
CN110019551A (zh) * 2017-12-19 2019-07-16 阿里巴巴集团控股有限公司 一种数据仓库构建方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
苏力萍.《商业智能理论与应用实践》.中国科学技术出版社,2012,正文第46-75页. *

Also Published As

Publication number Publication date
CN110674228A (zh) 2020-01-10

Similar Documents

Publication Publication Date Title
CN110674228B (zh) 数据仓库模型构建和数据查询方法、装置及设备
Poorthuis et al. Making big data small: strategies to expand urban and geographical research using social media
JP5819376B2 (ja) 列ベースのデータベースに対する列スマートな機構
CN107451225B (zh) 用于半结构化数据的可缩放分析平台
CN107016001B (zh) 一种数据查询方法及装置
CN111971666A (zh) 优化sql查询计划的维度上下文传播技术
US20160328432A1 (en) System and method for management of time series data sets
EP2784700A2 (en) Integration of transactional and analytical capabilities of a database management system
JP6434154B2 (ja) トランザクションアクセスパターンに基づいた結合関係の識別
US9201700B2 (en) Provisioning computer resources on a network
Murthy et al. Big Data solutions on a small scale: Evaluating accessible high-performance computing for social research
US10558665B2 (en) Network common data form data management
US10909160B2 (en) Digital duplicate
CN110399359B (zh) 一种数据回溯方法、装置及设备
US11615076B2 (en) Monolith database to distributed database transformation
US10002179B2 (en) Detection and creation of appropriate row concept during automated model generation
CN110414259A (zh) 一种构建数据类目、实现数据共享的方法及设备
US11436656B2 (en) System and method for a real-time egocentric collaborative filter on large datasets
US11704345B2 (en) Inferring location attributes from data entries
US20160162496A1 (en) Computer implemented system and method for investigative data analytics
US10095738B1 (en) Dynamic assignment of logical partitions according to query predicate evaluations
CN112435022A (zh) 基于用户实时数据的动态检索系统、及方法
Suri et al. A comparative study between the performance of relational & object oriented database in Data Warehousing
CN111008198A (zh) 业务数据获取方法、装置、存储介质、电子设备
Reniers et al. Schema design support for semi-structured data: Finding the sweet spot between NF and De-NF

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20201012

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Innovative advanced technology Co.,Ltd.

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant before: Advanced innovation technology Co.,Ltd.

Effective date of registration: 20201012

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Advanced innovation technology Co.,Ltd.

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Applicant before: Alibaba Group Holding Ltd.

TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20240229

Address after: 128 Meizhi Road, Guohao Times City # 20-01, Singapore 189773

Applicant after: Advanced Nova Technology (Singapore) Holdings Ltd.

Country or region after: Singapore

Address before: 27 Hospital Road, George Town, Grand Cayman ky1-9008

Applicant before: Innovative advanced technology Co.,Ltd.

Country or region before: Cayman Islands

GR01 Patent grant
GR01 Patent grant