CN104408151A - 支持用户自定义的列存数据库函数索引创建方法及装置 - Google Patents
支持用户自定义的列存数据库函数索引创建方法及装置 Download PDFInfo
- Publication number
- CN104408151A CN104408151A CN201410727737.3A CN201410727737A CN104408151A CN 104408151 A CN104408151 A CN 104408151A CN 201410727737 A CN201410727737 A CN 201410727737A CN 104408151 A CN104408151 A CN 104408151A
- Authority
- CN
- China
- Prior art keywords
- index
- data
- function
- functions
- data block
- 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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2291—User-Defined Types; Storage management thereof
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明旨在提供一种在超大规模列存数据库中有效提升函数查询过滤数据的方法。包括,将列存数据按块存储,对每个数据块(Data Cell)建立基于统计信息的简单索引及基于函数的函数索引。当使用函数进行查询时,基于统计信息的简单索引无法有效过滤数据,而基于函数的函数索引则能有效过滤,提升数据库的整体性能。本发明所取得的有益效果是在超大规模数据量的列存数据库上提高了数据过滤的效率,并可根据用户实际场景灵活扩展。同时不需要用户手动干预,函数索引能自动维护。
Description
技术领域
本发明属于计算机技术应用领域,特别是涉及到一种支持用户自定义的列存数据库函数索引创建方法。
背景技术
随着社会和计算机技术的不断发展,越来越多的数据被记录下来,以便于进行深入分析为决策提供依据。同时用于记录数据并提供查询分析服务的数据库系统也随着需求不断在进行着演变。列存数据库就是基于大数据分析需求而出现的一种新型数据库。他主要是通过将数据按照逻辑列的形式集中进行存储,减少数据访问时不必要的磁盘开销来提高查询的响应速度。同时列存数据库也用到了一些跟行存数据库通用的技术,如索引。
在行存数据库中使用的一般都是稠密索引,即对索引列中的每一行都记录索引;而在列存数据库中通常会使用稀疏索引,即不是对每一行数据创建索引,而是对每一个数据块记录索引,索引的内容为一些常用的统计信息,如最大值、最小值等,这样实现的好处是索引占用的空间少,维护开销小,且在过滤时通过最大值最小值能够将不满足过滤条件的数据块直接排除,达到提升性能的目的。但如果查询条件是个函数,则用不上前面的优化,只能全表扫描,这在大数据场景下性能是非常差的,因此支持用户自定义的函数索引很有必要。
发明内容
本发明针对在大数据情况下,创建稠密索引的IO及维护代价都无法接受的问题,主要解决的是如何有效地提升使用函数进行查询的性能。
为了达到上述目的,本发明采取的技术方案为:一种支持用户自定义的列存数据库函数索引创建方法,其特征在于,包括如下步骤:
(1)创建基于统计信息的稀疏索引;
(2)创建基于函数的函数索引。
优选的,所述步骤(1)中基于统计信息的稀疏索引的创建方法为:对每一个数据块创建索引,索引的内容为该数据块的最大值、最小值。
优选的,所述步骤(2)基于函数的函数索引的创建方法为对每个数据块创建函数索引,索引的内容为这个数据块中的数据经过函数映射后的最大值和最小值。
本发明的另一方面,一种支持用户自定义的列存数据库函数索引创建装置,其特征在于,包括:
稀疏索引创建模块,用于创建基于统计信息的稀疏索引;
函数索引创建模块,用于创建基于函数的函数索引。
优选的,所述稀疏索引创建模块包括数据比较模块,用于比较出数据块的最大值、最小值。
优选的,所述函数索引创建模块包括:
函数映射模块,用于将数据块中的数据进行函数映射;
比较模块,用于比较出数据经过函数映射后的最大值和最小值。
本发明的有益效果为:
通过本发明的实施,在基于统计信息的稀疏索引的基础上进行扩展,增加基于函数的函数索引。对每个数据块创建函数索引,索引的内容为这个数据块中的数据经过函数映射后的最大值和最小值。在使用该函数进行查询时,通过函数索引中的最大值最小值将不满足过滤条件的数据块直接排除,达到和不使用函数时用统计信息中的最大值最小值进行过滤一样的效果,从而提升函数查询的性能,在超大规模数据量的列存数据库上提高了数据过滤的效率,并可根据用户实际场景灵活扩展。同时不需要用户手动干预,函数索引能自动维护。
附图说明
图1是本发明创建稀疏索引的示意图;
图2是本发明创建函数索引的示意图。
具体实施方式
下面结合具体实施例对本发明作进一步说明。
本发明的实施过程,举例如图1所示,B列数据1、3、-5、5、-8、3,
一:创建稀疏索引:
(1)将1、3、-5作为一个数据块,基于该数据块的最大值、最小值创建稀疏索引,则该数据块的稀疏索引为Min(B)=-5,Max(B)=1;
(2)将5、-8、3作为一个数据块,基于该数据块的最大值、最小值创建稀疏索引,则该数据块的稀疏索引为Min(B)=-8,Max(B)=5;
二:创建函数索引,如图2所示,在这里以abs函数为例:
(1)1、3、-5数据块,该数据块各数据的函数映射为1、3、5,基于其中的最大值、最小值创建函数索引,则该数据块的函数索引为Min(abs(B))=1,Max(abs(B))=5;
(2)5、-8、3数据块,该数据块各数据的函数映射为5、8、3,基于其中的最大值、最小值创建函数索引,则该数据块的函数索引为Min(abs(B))=3,Max(abs(B))=8。
按照上述方法创建函数索引后,在使用abs函数进行查询时,通过函数索引中的最大值最小值将不满足过滤条件的数据块直接排除,达到和不使用函数时用统计信息中的最大值最小值进行过滤一样的效果,从而提升函数查询的性能,在超大规模数据量的列存数据库上提高了数据过滤的效率,并可根据用户实际场景灵活扩展。同时不需要用户手动干预,函数索引能自动维护。
Claims (6)
1.一种支持用户自定义的列存数据库函数索引创建方法,其特征在于,包括如下步骤:
(1)创建基于统计信息的稀疏索引;
(2)创建基于函数的函数索引。
2.根据权利要求1所述的一种支持用户自定义的列存数据库函数索引创建方法,其特征在于,所述步骤(1)中基于统计信息的稀疏索引的创建方法为:对每一个数据块创建索引,索引的内容为该数据块的最大值、最小值。
3.根据权利要求1所述的一种支持用户自定义的列存数据库函数索引创建方法,其特征在于,所述步骤(2)基于函数的函数索引的创建方法为对每个数据块创建函数索引,索引的内容为这个数据块中的数据经过函数映射后的最大值和最小值。
4.一种支持用户自定义的列存数据库函数索引创建装置,其特征在于,包括:
稀疏索引创建模块,用于创建基于统计信息的稀疏索引;
函数索引创建模块,用于创建基于函数的函数索引。
5.根据权利要求4所述的一种支持用户自定义的列存数据库函数索引创建装置,其特征在于,所述稀疏索引创建模块包括数据比较模块,用于比较出数据块的最大值、最小值。
6.根据权利要求4所述的一种支持用户自定义的列存数据库函数索引创建装置,其特征在于,所述函数索引创建模块包括:
函数映射模块,用于将数据块中的数据进行函数映射;
比较模块,用于比较出数据经过函数映射后的最大值和最小值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410727737.3A CN104408151B (zh) | 2014-12-03 | 2014-12-03 | 支持用户自定义的列存数据库函数索引创建方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410727737.3A CN104408151B (zh) | 2014-12-03 | 2014-12-03 | 支持用户自定义的列存数据库函数索引创建方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104408151A true CN104408151A (zh) | 2015-03-11 |
CN104408151B CN104408151B (zh) | 2018-11-27 |
Family
ID=52645782
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410727737.3A Active CN104408151B (zh) | 2014-12-03 | 2014-12-03 | 支持用户自定义的列存数据库函数索引创建方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104408151B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110704433A (zh) * | 2019-09-23 | 2020-01-17 | 北京优炫软件股份有限公司 | 列式存储数据的brin索引构建方法、数据检索方法及装置 |
CN111723076A (zh) * | 2020-06-24 | 2020-09-29 | 苏州松鼠山人工智能科技有限公司 | 一种生成数据库索引的方法和装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101894130A (zh) * | 2010-06-08 | 2010-11-24 | 浙江大学 | 基于稀疏降维的谱哈希索引方法 |
WO2012174906A1 (zh) * | 2011-06-21 | 2012-12-27 | 中兴通讯股份有限公司 | 一种数据存储、查找方法及装置 |
CN103020305A (zh) * | 2012-12-29 | 2013-04-03 | 天津南大通用数据技术有限公司 | 一种针对二维数据表的高效索引及创建和查询方法 |
CN103092885A (zh) * | 2011-11-07 | 2013-05-08 | 中国移动通信集团公司 | 稀疏索引的建立方法和装置、稀疏索引及查询方法和装置 |
US20140310261A1 (en) * | 2011-01-26 | 2014-10-16 | International Business Machines Corporation | Database index profile based weights for cost computation |
-
2014
- 2014-12-03 CN CN201410727737.3A patent/CN104408151B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101894130A (zh) * | 2010-06-08 | 2010-11-24 | 浙江大学 | 基于稀疏降维的谱哈希索引方法 |
US20140310261A1 (en) * | 2011-01-26 | 2014-10-16 | International Business Machines Corporation | Database index profile based weights for cost computation |
WO2012174906A1 (zh) * | 2011-06-21 | 2012-12-27 | 中兴通讯股份有限公司 | 一种数据存储、查找方法及装置 |
CN103092885A (zh) * | 2011-11-07 | 2013-05-08 | 中国移动通信集团公司 | 稀疏索引的建立方法和装置、稀疏索引及查询方法和装置 |
CN103020305A (zh) * | 2012-12-29 | 2013-04-03 | 天津南大通用数据技术有限公司 | 一种针对二维数据表的高效索引及创建和查询方法 |
Non-Patent Citations (2)
Title |
---|
欧阳遄飞等: "结构化稀疏谱哈希索引", 《中国期刊全文数据库 计算机辅助设计与图形学学报》 * |
黄山等: "Mapreduce优化技术综述", 《计算机科学与探索》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110704433A (zh) * | 2019-09-23 | 2020-01-17 | 北京优炫软件股份有限公司 | 列式存储数据的brin索引构建方法、数据检索方法及装置 |
CN110704433B (zh) * | 2019-09-23 | 2023-03-28 | 北京优炫软件股份有限公司 | 列式存储数据的brin索引构建方法、数据检索方法及装置 |
CN111723076A (zh) * | 2020-06-24 | 2020-09-29 | 苏州松鼠山人工智能科技有限公司 | 一种生成数据库索引的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN104408151B (zh) | 2018-11-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101571861B (zh) | 一种对数据表进行转换的方法及装置 | |
CN103092867B (zh) | 一种数据管理方法及系统、数据分析装置 | |
CN104317800A (zh) | 一种海量智能用电数据混合存储系统及方法 | |
CN103577440A (zh) | 一种非关系型数据库中的数据处理方法和装置 | |
CN102902752A (zh) | 一种日志监控方法及系统 | |
CN106528847A (zh) | 一种海量数据的多维度处理方法及系统 | |
CN106033324B (zh) | 一种数据存储的方法和装置 | |
CN103744913A (zh) | 一种基于搜索引擎技术的数据库检索方法 | |
CN103345838B (zh) | 一种车辆信息管理装置及车辆信息检索方法 | |
CN103544261A (zh) | 一种海量结构化日志数据全局索引管理方法及装置 | |
CN104539750A (zh) | 一种ip定位方法和装置 | |
CN102779138A (zh) | 实时数据的硬盘存取方法 | |
CN104699857A (zh) | 基于知识工程的大数据存储方法 | |
CN103840969A (zh) | 云计算系统中告警日志的管理方法和系统 | |
CN104462361B (zh) | 一种匹配数据表中数据的方法和装置 | |
CN105760505A (zh) | 基于hive的历史数据分析及存档方法 | |
CN104376119A (zh) | 一种适应超大规模列存数据库的数据访问方法及装置 | |
CN104168434A (zh) | 视频文件的存储、播放和管理方法 | |
CN103810300A (zh) | 用于非索引覆盖的数据查询方法和装置 | |
CN104408151A (zh) | 支持用户自定义的列存数据库函数索引创建方法及装置 | |
CN105023089B (zh) | 基于gis平台的城市管理数据监测系统及其方法 | |
CN104424189A (zh) | 基于云平台的定位解算方法和系统 | |
CN105574027A (zh) | 基于oltp/olap混合应用下多维度性能数据存储方法、装置及系统 | |
CN101609449A (zh) | 一种基于布鲁姆过滤器的数据块快速比较系统 | |
CN103699556A (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 |