CN104657426A - 一种基于统一视图的行列混合数据存储模型的建立方法 - Google Patents
一种基于统一视图的行列混合数据存储模型的建立方法 Download PDFInfo
- Publication number
- CN104657426A CN104657426A CN201510033610.6A CN201510033610A CN104657426A CN 104657426 A CN104657426 A CN 104657426A CN 201510033610 A CN201510033610 A CN 201510033610A CN 104657426 A CN104657426 A CN 104657426A
- Authority
- CN
- China
- Prior art keywords
- row
- data
- dimension
- column
- storage
- 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.)
- Granted
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/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (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
本发明公开了一种基于统一视图的行列混合数据存储模型的建立方法,以同时满足行列敏感应用的不同需求。本发明方法具体为在原始数据结构的基础上进行数据抽象,标识出需要列式存储的列,对这些列进行维度分析,为每列建立维度值索引表,以此构建星型模型,最后进行数据重组,将原始数据表分成两个部分:事实表和维表,该事实表不包含维表相关列,且该事实表按行存储,将维表、维度值索引表按列存储。本发明在逻辑上基于星型模型进行数据抽象;在存储上将I/O敏感的列进行列式存储,并基于列值域进行逻辑压缩,降低I/O开销与存储空间;在应用上,基于统一视图/表,屏蔽数据存储的异构性,减轻应用开发的复杂性。
Description
技术领域
本发明涉及一种数据存储模型的建立方法,属于关系型数据库、在线分析处理技术领域。
背景技术
随着信息化的不断发展,越来越多的企业在在生产信息化过程中积累了大量的结构化数据。以电力系统为例,一方面是所需要管理的测点规模越来越大,预计将达到千万级甚至亿级以上;另一方面是测点产生数据的频率越来越高。随着时间的积累,数据规模越来越大,预计将达到PB字节以上。再以运营商为例,随着越来越多的省份用户规模均接近上亿规模,每天将产生数十亿的信令数据与计费数据。数据量的飞速增长,将对数据仓库的处理规模、处理速度提出了更高的要求。
由于传统数据仓库受制于其传统的软件体系架构,其在数据规模、处理能力、并行计算、负载均衡、动态自治等方面均已无法满足实际应用需求。当前数据存储模型主要有行存储与列存储两类,行存储主要面向“多列少行”的查询类应用,而列存储主要应对“多行少列”的分析统计类应用。目前许多企业针对不同的应用建立不同的数据仓库,具备如下局限性:1)数据在逻辑上存储多份,难于维护管理;2)数据重复存储,造成巨大的成本压力;3)应用需要做针对性的开发,不同的应用访问不同的数据存储。
在数据仓库领域,引入新的数据存储模型来解决上述问题是当前研究的热点之一。经初步检索,暂未发现有相关的专利文献。
发明内容
为了解决上述问题,能够同时满足行列敏感应用的不同需求,使得数据访问对应用透明,本发明提供了一种基于统一视图的行列混合数据存储模型的建立方法,该方法在逻辑上基于星型模型进行数据抽象,维护一份数据;在存储上将I/O敏感的列进行列式存储,并基于列值域进行逻辑压缩,极大的降低I/O开销与存储空间;在应用上,基于统一视图/表,屏蔽数据存储的异构性,极大的减轻应用开发的复杂性。
本发明采用的技术方案具体为:
1)基于原始数据结构进行数据抽象,从原始记录中,标识出需要进行列式存储的列;
数据抽象是构建星型模型的基础。本步骤决定哪些列按列存储,以及相关列与原始数据的对应关系。
2)对上述需要列式存储的列进行维度分析,为每一列建立对应的维度值索引表,维度值索引表包含两列:原始值以及对应的值标识,该值标识记为VID。维度值索引表是数据重组的参照。最终的列存数据将不存储对应列的原始值,而是存储维度值索引表对应的值标识(VID)。
3)将原始数据表视为事实表,将需要列式存储的列视为维度表,建立星型模型;
4)对事实表进行加工,对每条原始记录生成唯一的记录标识,记为RID;
5)对维表进行加工,依据维度值索引表将对应的维表更改为两列结构:<RID,VID>,并建立对应的索引;
星型模型的建立使得列存数据(维表)与行存数据(事实表)之间建立起了关联关系,维表与事实表的关联键为对应的RID。在实际的应用过程中,数据库系统将先访问维度值索引表,将对应的维度值转换成VID,利用VID对维表进行分析检索,获取满足条件的RID集合;根据需要,利用RID集合从对应的事实表中获取原始数据。
6)进行数据重组,对已入库数据进行数据重组,将原始数据表分成两个部分:事实表和维表,将该事实表按行存储,将维表、维度值索引表按列存储;对于新增数据,将依据星型模型进行处理后,再入库。
上述数据重组包括两个部分:一部分为逻辑重组,根据需要将对应的维表和事实表进行分割,组织成期望的数据。对应用而言,只看到一张统一的数据库表,而无需感知行列存储规则;另一部分,为物理重组,即根据需要将对应的维表和事实表存储到不同的存储介质中。
进一步,上述数据抽象步骤需要对数据进行深入分析,得到相关列的具体含义与应用访问模式,一般的原则为将在传统实体关系模型中需要建立索引的列进行显著标记。
进一步,在对上述需要列式存储的列进行维度分析时,维度值索引表的两列均需建立对应的B-TREE索引,分别记为DVI(Dimension Value Index)和VII(Value ID Index)。
进一步,上述VII主要用于查询分析结果往原始值的映射,DVI主要用于构建维表。维度值索引表在数据加载、更新过程中将对应地发生变化。
进一步,值标识VID优选为32位无符号数。
进一步,在对所述维度表进行加工时,使用VID可节省存储,降低查询分析的I/O开销与内存消耗。
进一步,在进行数据重组时,将列存数据与行存数据分开存储到不同的存储介质中,这样可将应用间的相互影响降至最低,利于构建统一数据中心。
通过采用上述技术方案,能够实现在数据模型上统一行存模型与列存模型;在数据组织过程中,对于经常用于分析统计的列采用列式存储,降低其在访问过程中的I/O开销,提升访问效率。同时,利用维度值索引表对其进行逻辑压缩,一方面节省存储,另一方面,也可进一步降低查询分析的I/O开销与内存消耗。关于逻辑压缩,以“手机号码”列为例,常规存储将采用11位长度的字符串,每个列值将占用11个字节;采用维度值索引表映射后,将利用32位无符号整数存储对应的手机号码,只需要4个字节。这样,转换后的数据所占用的存储空间约为原始数据的40%(4/11)。
附图说明
图1是本发明的行列混合数据存储模型示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步详细说明。
本实施例以电网业务场景中某一应用实例来描述本方法的具体实施方式。假设如下原始数据表:
数据采集表:
测点ID | 时间戳 | 值 | 质量码 |
测点属性表:
测点ID | 测点名 | 属性1 | …… |
(1)数据抽象
对于数据采集表,标识出“时间戳”、“值”、“测点ID”列进行列存;对于测点属性表,标识出“测点ID”、“测点名”以及相关属性。
(2)构建维度值索引表
对于数据采集表,构建三张维度值索引表,分别对应列表“时间戳”、“值”、“测点ID”。对于测点属性表做相同的操作。对于每一张维度值索引表,建立对应的维度值索引(DVI)和值标识索引(VII)。
(3)构建星型模型
构建两个星型模型,一组包含行表数据采集表、列表“时间戳”、“值”、“测点ID”;另一组包含行表测点属性表、列表“测点ID”、“测点名”以及相关属性列表。两个星型模型利用列表“测点ID”形成了雪花模型。
(4)数据重组
将行表和列表根据其访问特性存储到对应的存储上,以提升应用访问效率。同时,可仅对行表进行归档备份操作以节约成本。最后构建的行列混合数据存储模型参见附图1。
本发明不限于上述实施例,一切采用等同替换或等效替换形成的技术方案均属于本发明要求保护的范围。
Claims (7)
1.一种基于统一视图的行列混合数据存储模型的建立方法,其特征在于,包括如下步骤:
基于原始数据结构进行数据抽象,从原始记录中,标识出需要进行列式存储的列;
对所述需要列式存储的列进行维度分析,为每一列建立对应的维度值索引表,所述维度值索引表包含两列:原始值以及对应的值标识,所述值标识记为VID;
将原始数据表视为事实表,将需要列式存储的列视为维度表,建立星型模型;
对所述事实表进行加工,对每条原始记录生成唯一的记录标识,记为RID;
对所述维度表进行加工,依据所述维度值索引表将对应的维度表更改为两列结构:<RID,VID>,并建立对应的索引;
进行数据重组,对已入库数据进行数据重组,将原始数据表分成两个部分:事实表和维表,该事实表不包含维表相关列,且该事实表按行存储,将维表、维度值索引表按列存储;对于新增数据,将依据星型模型进行处理后,再入库。
2.根据权利要求1所述的方法,其特征是在数据抽象时,将在传统实体关系模型中需要建立索引的列进行显著标识。
3.根据权利要求1所述的方法,其特征是在对所述需要列式存储的列进行维度分析时,对所述维度值索引表的两列建立对应的B-TREE索引,分别记为DVI和VII。
4.根据权利要求3所述的方法,其特征是所述DVI用于构建维表,所述VII用于查询分析结果往原始值的映射。
5.根据权利要求1或2或3所述的方法,其特征是所述值标识VID为32位无符号数。
6.根据权利要求5所述的方法,其特征是对所述维度表进行加工时,使用VID可节省存储,降低查询分析的I/O开销与内存消耗。
7.根据权利要求1到4中任意一项所述的方法,其特征是在进行数据重组时,将列存数据与行存数据分开存储到不同的存储介质中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510033610.6A CN104657426B (zh) | 2015-01-22 | 2015-01-22 | 一种基于统一视图的行列混合数据存储模型的建立方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510033610.6A CN104657426B (zh) | 2015-01-22 | 2015-01-22 | 一种基于统一视图的行列混合数据存储模型的建立方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104657426A true CN104657426A (zh) | 2015-05-27 |
CN104657426B CN104657426B (zh) | 2018-07-03 |
Family
ID=53248554
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510033610.6A Expired - Fee Related CN104657426B (zh) | 2015-01-22 | 2015-01-22 | 一种基于统一视图的行列混合数据存储模型的建立方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104657426B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108733724A (zh) * | 2017-04-24 | 2018-11-02 | 北京京东尚科信息技术有限公司 | 一种跨异构数据源实时连接方法及装置 |
CN112069021A (zh) * | 2020-08-21 | 2020-12-11 | 北京五八信息技术有限公司 | 流量数据的存储方法、装置、电子设备和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102663114A (zh) * | 2012-04-17 | 2012-09-12 | 中国人民大学 | 面向并发olap的数据库查询处理方法 |
CN102737132A (zh) * | 2012-06-25 | 2012-10-17 | 天津神舟通用数据技术有限公司 | 基于数据库行列混合存储的多规则复合压缩方法 |
US20130166534A1 (en) * | 2011-12-22 | 2013-06-27 | Sap Ag | Hybrid Database Table Stored as Both Row and Column Store |
CN103366015A (zh) * | 2013-07-31 | 2013-10-23 | 东南大学 | 一种基于Hadoop的OLAP数据存储与查询方法 |
-
2015
- 2015-01-22 CN CN201510033610.6A patent/CN104657426B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130166534A1 (en) * | 2011-12-22 | 2013-06-27 | Sap Ag | Hybrid Database Table Stored as Both Row and Column Store |
CN102663114A (zh) * | 2012-04-17 | 2012-09-12 | 中国人民大学 | 面向并发olap的数据库查询处理方法 |
CN102737132A (zh) * | 2012-06-25 | 2012-10-17 | 天津神舟通用数据技术有限公司 | 基于数据库行列混合存储的多规则复合压缩方法 |
CN103366015A (zh) * | 2013-07-31 | 2013-10-23 | 东南大学 | 一种基于Hadoop的OLAP数据存储与查询方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108733724A (zh) * | 2017-04-24 | 2018-11-02 | 北京京东尚科信息技术有限公司 | 一种跨异构数据源实时连接方法及装置 |
CN112069021A (zh) * | 2020-08-21 | 2020-12-11 | 北京五八信息技术有限公司 | 流量数据的存储方法、装置、电子设备和存储介质 |
CN112069021B (zh) * | 2020-08-21 | 2024-02-20 | 北京五八信息技术有限公司 | 流量数据的存储方法、装置、电子设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN104657426B (zh) | 2018-07-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109669934B (zh) | 一种切合电力客服业务的数据仓库系统及其构建方法 | |
CN103019728B (zh) | 一种高效复杂报表解析引擎及其解析方法 | |
CN104391948A (zh) | 数据仓库的数据标准化构建方法及系统 | |
CN103631912B (zh) | 一种利用非关系数据库存储海量工业设备监测数据的方法 | |
CN102867066B (zh) | 数据汇总装置和数据汇总方法 | |
CN107016501A (zh) | 一种高效的工业大数据多维分析方法 | |
CN103577440A (zh) | 一种非关系型数据库中的数据处理方法和装置 | |
CN103577605A (zh) | 基于数据融合和数据挖掘的数据仓库及其应用方法 | |
CN107229688A (zh) | 一种数据库水平分库分表方法及系统、服务器 | |
CN102737123B (zh) | 一种多维数据分布方法 | |
CN104036029A (zh) | 大数据一致性对比方法和系统 | |
CN105405070A (zh) | 一种分布式内存电网系统构建方法 | |
CN104376109A (zh) | 一种基于数据分布库的多维度数据分布方法 | |
CN104112011A (zh) | 一种海量数据提取的方法及装置 | |
CN106599190A (zh) | 基于云计算的动态Skyline查询方法 | |
CN104991741B (zh) | 一种基于键值模型的情境适配电网大数据存储方法 | |
CN105335822A (zh) | 一种面向大数据分析的智能电网统一数据模型建模方法 | |
CN109388635A (zh) | 一种多值数据基于二进制和字典表的数据存储法 | |
CN104657426A (zh) | 一种基于统一视图的行列混合数据存储模型的建立方法 | |
CN104391910B (zh) | 一种基于HBase的税收统计报表存储与计算的方法 | |
CN109446167A (zh) | 一种日志数据存储、提取方法及装置 | |
Cheng et al. | Design and implementation of GIS basic data quality management tools for power network | |
CN112540987A (zh) | 一种基于数据集市的配用电大数据管理系统 | |
Zhao et al. | Hadoop-based power grid data quality verification and monitoring method | |
Li et al. | A data warehouse architecture supporting energy management of intelligent electricity system |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20180703 Termination date: 20190122 |