CN103942343A - 一种面向哈希连接的数据存储优化方法 - Google Patents
一种面向哈希连接的数据存储优化方法 Download PDFInfo
- Publication number
- CN103942343A CN103942343A CN201410199090.1A CN201410199090A CN103942343A CN 103942343 A CN103942343 A CN 103942343A CN 201410199090 A CN201410199090 A CN 201410199090A CN 103942343 A CN103942343 A CN 103942343A
- Authority
- CN
- China
- Prior art keywords
- hash
- radix
- page
- subregion
- queue
- 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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/283—Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
-
- 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/2228—Indexing structures
- G06F16/2255—Hash tables
-
- 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/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24553—Query execution of query operations
- G06F16/24558—Binary matching operations
- G06F16/2456—Join operations
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)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种面向哈希连接的数据存储优化方法,步骤:选择事实表上radix哈希存储的外键属性,确定维表;设置n位radix基数,确定2n个哈希分区存储;设置2n个radix哈希分区队列;事实表和维表采用页面链表存储;页面内采用PAX列存储;记录插入时将记录的哈希分区属性值按低n位进行radix哈希,并存储于相应页面中;当某个radix哈希分区页面被记录填满后动态地申请新的页面;按连接键的哈希值直接访问指定的radix哈希分区队列,按队列中存储的页面地址访问该radix哈希分区的所有记录;全表扫描时按表的原始物理页面链接顺序访问;较小的表R和大表S进行分区存储;数据仓库中哈希连接时事实表采用列式连接方法;增加或减少radix哈希分区的位数实现哈希分区的动态增减。
Description
技术领域
本发明涉及一种数据库存储实现方法,特别是关于一种数据库存储和查询优化技术领域中面向哈希连接的数据存储优化方法。
背景技术
哈希连接是数据库中一种典型的连接技术,大量应用于以主外键参照完整性约束为基础的数据仓库中,是OLAP(分析型查询处理)性能的重要决定因素。Radixjoin(基于radix分区的哈希连接算法)对两个连接表R和S通过多趟radix(基数)进行分区,然后在R表和S表对应的分区上执行哈希连接操作。Radixjoin是当前多核并行连接的主流技术,但radixjoin的分区操作导致R表和S表的数据进行物理重组,既增加了内存存储空间消耗又增加了哈希连接的预处理代价,因此,降低或消除radix-partition代价是提高radixjoin性能的重要决定因素。
在典型的OLAP负载中,如TPC-H和SSB,巨大的事实表与多个维表进行等值连接,并进行分组聚集计算,较小的维表采用no-partition模式的哈希连接(多个事实表分区共享一个维哈希表),最大的维表采用radixjoin并行哈希连接算法。在数据库的物理存储层采用面向哈希连接的哈希存储能够让连接表物理层的哈希分区与哈希连接分区相一致,消除radixjoin的动态表分区代价,提高radixjoin的整体性能。
哈希聚簇(hash cluster)是一种将相同关键字(key)的数据通过预先分配空间的方式存放在一起,以提高查询性能的一项技术,可以实现物理层的哈希分区存储。Oracle数据库支持哈希聚簇表,但哈希聚簇不适合存储经常增长的表,也不适合全表扫描。而数据仓库是一种多维数据模型,针对一个连接键的哈希聚簇对于不相关维表的连接操作则需要使用全表扫描操作,因此哈希聚簇需要针对多维数据中连接代价最大的维表进行哈希存储,并且需要支持数据仓库的大数据追加操作和大量的全表扫描操作。
发明内容
针对上述问题,本发明的目的是提供一种面向哈希连接的数据存储优化方法,该方法能够提供物理存储层的radix分区存储管理机制,消除radix join操作的物理分区代价,提高了radix哈希连接时的性能。同时,由于radix分区的代价在记录插入过程被分摊,不影响查询处理时的性能。
为实现上述目的,本发明采取以下技术方案:一种面向哈希连接的数据存储优化方法,其包括以下步骤:1)根据数据库模式和OLAP查询负载特征选择事实表上用于radix哈希存储的外键属性,确定与事实表连接的维表;2)对步骤1)中的事实表、维表进行radix哈希分区,并根据计算平台硬件并行计算能力设置n位的radix基数,确定2n个哈希分区存储;3)对事实表和维表分别设置2n个radix哈希分区队列,记录每个radix哈希分区页面;4)事实表和维表上的物理存储采用页面链表,在初始记录插入时初始化2n个页面,在radix哈希分区队列中记录每个radix哈希分区的页面地址;5)页面内采用PAX列存储,采用原始数据列存储,对于低势集的字符型列采用轻量字典表压缩,各列均为等长连续数据;6)事实表和维表中插入记录时,将记录的哈希分区属性值按低n位进行radix哈希,映射到对应的radix哈希分区队列,找到radix分区页面链表中的最末页面,将记录插入到该页面中;7)当某个radix哈希分区页面被记录填满后动态地申请新的页面,增加到物理页面链表中,并记录在对应的radix哈希分区队列中;8)当执行哈希连接操作时,按连接键的哈希值直接访问指定的radix哈希分区队列,按队列中存储的页面地址访问该radix哈希分区的所有记录;9)当执行全表扫描时,按表的原始物理页面链接顺序访问,跳过radix哈希分区队列结构;10)对于哈希连接操作中的维表R和事实表S进行以下处理,当R<<S时,只对较大的事实表S进行radix哈希分区存储,较小的维表R采用普通存储方式,在较小的维表R和较大的事实表S的哈希连接中,较小的维表R动态生成2n个radix哈希分区,与较大的事实表S预存储的2n个radix哈希分区进行并行哈希连接;当较小的维表R和较大的事实表S都比较大时,较小的维表R和较大的事实表S均采用radix哈希分区存储,哈希连接时在较小的维表R和较大的事实表S中选择对应的radix哈希分区进行并行连接;11)在数据仓库中,较大的事实表在radix哈希分区时采用列存储,维表根据表中字段数量、查询中访问属性的数量查询负载特点选择采用列存储或行存储,在哈希连接时事实表采用列式连接方法,通过后物化策略降低连接代价;12)当事实表和维表中的radix哈希分区数量需要调整时,增加或减少radix哈希分区的位数实现哈希分区的动态增减。
所述步骤4)中,所述事实表和维表存储采用与哈希连接相同的radix哈希分区存储方法,物理分区与radix哈希分区相对应,当物理分区与radix哈希执行时的分区数量不同时,通过radix基数在物理的2n个radix哈希分区的基础上按照radix join哈希分区所需要的数量动态扩展或缩减为2m个radix哈希分区。
所述步骤5)中,所述页面内部采用列存储,字段采用定长连续数据存储,支持按偏移地址对不同列中记录的随机访问,在哈希连接时通过后物化策略优化访问连接所需要的字段值。
所述步骤6)中,采用radix哈希分区的事实表或维表在全表扫描时直接访问页面链表;当需要执行radix哈希分区扫描时则按照radix哈希分区队列所记录的各分区页面地址链表进行页面访问。
所述步骤12)中,当所述事实表或所述维表的物理radix哈希分区存储需要减少时,减少m位radix的位数,将分区减少为原来的1/2m,在radix哈希分区队列中直接将(n-m)radix基数位相同的队列进行合并。
所述步骤12)中,当所述事实表或所述维表的物理radix哈希分区存储需要增加时,采用多趟分裂算法,首先在页面内部按新增的基数位进行划分,将页面记录重组为两个逻辑页面分区,以radix哈希分区队列的首页面和尾页面为新的分区起点,进行页面内记录交换,将新增基数为0的记录交换到页面队列的前端链表,新增基数为1的记录交换到页面队列后部的页面链表,然后将该radix哈希分区队列分裂为两个radix哈希分区队列。
本发明由于采取以上技术方案,其具有以下优点:1、本发明由于根据radixjoin算法对事实表和维表的物理存储进行radix哈希分区,实现radix join操作执行时能够根据radix值直接访问相应的分区数据,消除radix join操作的物理分区代价,提高radix join的连接性能。2、本发明由于所采用的radix哈希分区是在物理页面链表的基础上构建一个轻量的radix哈希分区队列,对物理页面按键的radix值进行逻辑链接,不改变原有表的物理存储结构,不影响全表扫描效率,对于记录的动态增长也没有影响。同时,基于radix的哈希分区存储技术在分区数量动态增减时对存储空间的要求较低,分区调整的代价较小。3、本发明采用的radix哈希分区存储方法面向radix join算法特点对指定的连接表进行预分区,分区随物理记录的插入自动完成,不增加额外的分区代价。
附图说明
图1是本发明实施例中物理表的页面链表存储结构示意图;
图2是本发明实施例中radix记录映射示意图;
图3是本发明实施例中radix哈希分区队列存储结构示意图;
图4是本发明实施例中radix哈希分区队列缩减处理示意图;
图5是本发明实施例中radix哈希分区队列增长处理示意图。
具体实施方式
在数据仓库应用中,大事实表与维表之间的哈希连接操作是OLAP性能的决定因素,其中大表之间的连接操作是查询性能的瓶颈。Radixjoin采用基于基数分区的哈希连接算法,其综合性能较优并被广泛采用,但在大表的物理分区阶段代价较大,严重影响了算法的整体性能。现有的哈希聚簇方法对于动态增长的事实表和全表扫描操作具有很多性能约束,为解决这一问题,需要针对连接代价最大的表在物理存储层进行动态radix哈希分区,在记录插入阶段自动完成表存储层上的radix哈希分区,并且对表记录增加和全表扫描操作的影响最低。为此,本发明提出一种面向哈希连接的数据存储优化方法,实现对事实表和维表存储的页面链表按连接键的radix值进行哈希映射,在物理页面链表的基础上构建一个radix哈希分区队列,实现按radix哈希映射的分区访问。下面结合附图和实施例对本发明进行详细的描述。
本发明提供一种面向哈希连接的数据存储优化方法,其数据表由元组和列构成,其具体包括以下步骤:
1)根据数据库模式和OLAP查询负载特征选择事实表上用于radix哈希存储的外键属性,确定与事实表连接的维表;
2)对步骤1)中的事实表、维表进行radix哈希分区,并根据计算平台硬件并行计算能力设置n位的radix基数,确定2n个哈希分区存储;
3)对事实表和维表分别设置2n个radix哈希分区队列,记录每个radix哈希分区页面;
4)事实表和维表上的物理存储采用页面链表,在初始记录插入时初始化2n个页面,在radix哈希分区队列中记录每个radix哈希分区的页面地址;
5)页面内采用PAX列存储,即页面内记录存储为连续的列,本发明采用原始数据列存储,对于低势集的字符型列采用轻量字典表压缩,各列均为等长连续数据,能够通过偏移地址统一访问记录在不同列中的字段值;
6)事实表和维表中插入记录时,将记录的哈希分区属性值按低n位进行radix哈希,映射到对应的radix哈希分区队列,找到radix哈希分区页面链表中的最末页面,将记录插入到该页面中;
7)由于各radix哈希分区中记录增长速度不同,因此各radix哈希分区队列长度不同,当某个radix哈希分区页面被记录填满后动态地申请新的页面,增加到物理页面链表中,并记录在对应的radix哈希分区队列中;
8)当执行哈希连接操作时,可以按连接键的哈希值直接访问指定的radix哈希分区队列,按队列中存储的页面地址访问该radix哈希分区的所有记录;
9)当执行全表扫描时,按表的原始物理页面链接顺序访问,跳过radix哈希分区队列结构,不影响全表扫描的效率;
10)对于哈希连接操作中的维表和事实表进行以下处理(以下将维表标记为R,事实表标记为S),如维表R和事实表S,当R<<S时,可以只对较大的事实表S进行radix哈希分区存储,较小的维表R采用普通存储方式,在较小的维表R和较大的事实表S的哈希连接中,较小的维表R动态生成2n个radix哈希分区,与较大的事实表S预存储的2n个radix哈希分区进行并行哈希连接;当较小的维表R和较大的事实表S都比较大时,较小的维表R和较大的事实表S均采用radix哈希分区存储,哈希连接时在较小的维表R和较大的事实表S中选择对应的radix哈希分区进行并行连接;
11)在数据仓库中,较大的事实表属性较多但查询中访问的属性较少,在radix哈希分区时采用列存储,维表可以根据表中字段数量、查询中访问属性的数量等查询负载特点选择采用列存储或行存储,在哈希连接时事实表采用列式连接方法,通过后物化策略降低连接代价;
12)当事实表和维表中的radix哈希分区数量需要调整时,增加或减少radix哈希分区的位数实现哈希分区的动态增减,其具体方法是:当事实表或维表的物理radix哈希分区存储需要减少时,减少m位radix的位数,将分区减少为原来的1/2m,在radix哈希分区队列中直接将(n-m)radix基数位相同的队列进行合并,不需要物理页面的合并;当事实表或维表的物理radix哈希分区存储需要增加时,采用多趟分裂算法,首先在页面内部按新增的基数位进行划分,将页面记录重组为两个逻辑页面分区,以radix哈希分区队列的首页面和尾页面为新的分区起点,进行页面内记录交换,将新增基数为0的记录交换到页面队列的前端链表,新增基数为1的记录交换到页面队列后部的页面链表,然后将该radix哈希分区队列分裂为两个radix哈希分区队列。
上述步骤4)中,事实表和维表存储采用与哈希连接相同的radix哈希分区存储方法,物理分区与radix哈希分区相对应,当物理分区与radix哈希执行时的分区数量不同时,可以通过radix基数在物理的2n个radix哈希分区的基础上按照radix哈希分区所需要的数量动态扩展或缩减为2m个radix哈希分区。
上述步骤4)中,在物理存储层,事实表和维表仍然分别对应一个页面链表,记录按分区键的radix值映射到不同的页面中,页面内部的记录具有相同的radix值,相当于对页面链表按连接键的radix值进行“染色”(即不同页面对应相同或不同的radix值,页面内部记录的radix值相同),不同radix值的页面地址存储在radix哈希分区队列中,radix队列为较小的附加数据结构,对事实表和维表的物理存储空间消耗较低。
上述步骤5)中,页面内部采用列存储,字段采用定长连续数据存储,支持按偏移地址对不同列中记录的随机访问,在哈希连接时通过后物化策略优化访问连接所需要的字段值,提高哈希连接时的数据访问效率。
上述实施例中,radix哈希分区存储方法是针对数据仓库的大事实表进行的存储优化,较小的维表可以采用radix哈希分区存储方法也可以采用其他存储方法。
上述步骤6)中,采用radix哈希分区的事实表或维表在全表扫描时直接访问页面链表,radix哈希分区存储不影响全表扫描的效率;当需要执行radix哈希分区扫描时则按照radix哈希分区队列所记录的各分区页面地址链表进行页面访问。
实施例:
如图1所示,数据库以页面为单位为表分配存储空间,记录顺序存储在页面中,形成一个页面链表。全表扫描时根据页面链表依次访问每个页面中每个记录。
如图2所示,本发明面向哈希连接的数据存储优化方法,首先根据数据库模式和查询负载特征选择需要进行物理分区的键。如图2所示,customer表较大,对事实表外键lo_custkey进行radix哈希分区存储,支持事实表与customer表上的radix哈希连接操作。本实施例中使用lo_custkey的低2位进行分区,记录键列lo_custkey可以映射为00、01,10、11四个radix哈希分组。假设每个页面存储2条记录,页面内记录采用列存储,不同的radix哈希分组产生长度不同的页面链表。通过页面链表,在radix哈希连接操作执行时能够直接访问特定radix哈希分区的所有记录,消除radix join对连接键的实时物理分区代价。
如图3所示,radix哈希分区可以在创建表时根据查询负载特征进行设置。事实表按指定的键按n位基数逻辑划分为2n个哈希分区,在物理表结构中增加2n个radix哈希分区队列,队列中为该基数分区对应的物理页面地址链表。插入记录时首先根据记录中指定键值的radix值映射到radix哈希分区队列,如果队列为空或者队列中最末页面已满则申请一个新的页面并将页面地址加入该radix哈希分区队列,然后将记录插入到该页面中。数据库的表存储依然采用页面链表方式,区别是页面内只存储radix值相同的记录,radix哈希分区队列在物理页面链表基础上实现一个逻辑的radix哈希分区。新插入的记录通过radix映射找到对应的物理页面,然后再执行实际的记录写入操作。通过radix哈希分区队列将物理页面链表划分为2n个逻辑哈希分区链表,能够实现按radix哈希分区的访问。
如图4所示,当radix哈希分区需要缩减时,由4个分区缩减为2个分区,可以减少一个radix基数位,将最末一位基数相等的radix哈希分区队列进行合并。
如图5所示,当radix哈希分区需要扩展时,由2位变成3位,可以以radix值为00的哈希分区队列为例,当分区数量倍增时,首先对页面中存储的记录按键值基数位=3进行记录分组,划分为radix值为000和100的两组记录;然后分别从队列头和队列尾两个方向将对应页面中不同基数的记录进行交换,即将队列末尾页面中基数为000的记录与队列头页面中基数为100的记录进行交换,当页面中记录全部交换完毕后再处理下一个页面,直到将原始页面链表划分为两个链表分区。在划分过程中可能导致一个页面有部分基数为000的记录和部分基数为100的记录,这时申请一个新的页面,将基数为100的记录全部移到新页面中,然后将当前radix哈希分区队列拆分为基数为000和100两个队列。减少在哈希分区扩展时的存储空间开销。
上述各实施例仅用于说明本发明,其中各个步骤等都是可以有所变化的,凡是在本发明技术方案的基础上对本发明的个别步骤进行的等同变换和改进,均不应排除在本发明的保护范围之外。
Claims (7)
1.一种面向哈希连接的数据存储优化方法,其包括以下步骤:
1)根据数据库模式和OLAP查询负载特征选择事实表上用于radix哈希存储的外键属性,确定与事实表连接的维表;
2)对步骤1)中的事实表、维表进行radix哈希分区,并根据计算平台硬件并行计算能力设置n位的radix基数,确定2n个哈希分区存储;
3)对事实表和维表分别设置2n个radix哈希分区队列,记录每个radix哈希分区页面;
4)事实表和维表上的物理存储采用页面链表,在初始记录插入时初始化2n个页面,在radix哈希分区队列中记录每个radix哈希分区的页面地址;
5)页面内采用PAX列存储,采用原始数据列存储,对于低势集的字符型列采用轻量字典表压缩,各列均为等长连续数据;
6)事实表和维表中插入记录时,将记录的哈希分区属性值按低n位进行radix哈希,映射到对应的radix哈希分区队列,找到radix分区页面链表中的最末页面,将记录插入到该页面中;
7)当某个radix哈希分区页面被记录填满后动态地申请新的页面,增加到物理页面链表中,并记录在对应的radix哈希分区队列中;
8)当执行哈希连接操作时,按连接键的哈希值直接访问指定的radix哈希分区队列,按队列中存储的页面地址访问该radix哈希分区的所有记录;
9)当执行全表扫描时,按表的原始物理页面链接顺序访问,跳过radix哈希分区队列结构;
10)对于哈希连接操作中的维表R和事实表S进行以下处理,当R<<S时,只对较大的事实表S进行radix哈希分区存储,较小的维表R采用普通存储方式,在较小的维表R和较大的事实表S的哈希连接中,较小的维表R动态生成2n个radix哈希分区,与较大的事实表S预存储的2n个radix哈希分区进行并行哈希连接;当较小的维表R和较大的事实表S都比较大时,较小的维表R和较大的事实表S均采用radix哈希分区存储,哈希连接时在较小的维表R和较大的事实表S中选择对应的radix哈希分区进行并行连接;
11)在数据仓库中,较大的事实表在radix哈希分区时采用列存储,维表根据表中字段数量、查询中访问属性的数量查询负载特点选择采用列存储或行存储,在哈希连接时事实表采用列式连接方法,通过后物化策略降低连接代价;
12)当事实表和维表中的radix哈希分区数量需要调整时,增加或减少radix哈希分区的位数实现哈希分区的动态增减。
2.如权利要求1所述的一种面向哈希连接的数据存储优化方法,其特征在于:所述步骤4)中,所述事实表和维表存储采用与哈希连接相同的radix哈希分区存储方法,物理分区与radix哈希分区相对应,当物理分区与radix哈希执行时的分区数量不同时,通过radix基数在物理的2n个radix哈希分区的基础上按照radixjoin哈希分区所需要的数量动态扩展或缩减为2m个radix哈希分区。
3.如权利要求1所述的一种面向哈希连接的数据存储优化方法,其特征在于:所述步骤5)中,所述页面内部采用列存储,字段采用定长连续数据存储,支持按偏移地址对不同列中记录的随机访问,在哈希连接时通过后物化策略优化访问连接所需要的字段值。
4.如权利要求2所述的一种面向哈希连接的数据存储优化方法,其特征在于:所述步骤5)中,所述页面内部采用列存储,字段采用定长连续数据存储,支持按偏移地址对不同列中记录的随机访问,在哈希连接时通过后物化策略优化访问连接所需要的字段值。
5.如权利要求1或2或3或4所述的一种面向哈希连接的数据存储优化方法,其特征在于:所述步骤6)中,采用radix哈希分区的事实表或维表在全表扫描时直接访问页面链表;当需要执行radix哈希分区扫描时则按照radix哈希分区队列所记录的各分区页面地址链表进行页面访问。
6.如权利要求1或2或3或4所述的一种面向哈希连接的数据存储优化方法,其特征在于:所述步骤12)中,当所述事实表或所述维表的物理radix哈希分区存储需要减少时,减少m位radix的位数,将分区减少为原来的1/2m,在radix哈希分区队列中直接将(n-m)radix基数位相同的队列进行合并。
7.如权利要求1或2或3或4所述的一种面向哈希连接的数据存储优化方法,其特征在于:所述步骤12)中,当所述事实表或所述维表的物理radix哈希分区存储需要增加时,采用多趟分裂算法,首先在页面内部按新增的基数位进行划分,将页面记录重组为两个逻辑页面分区,以radix哈希分区队列的首页面和尾页面为新的分区起点,进行页面内记录交换,将新增基数为0的记录交换到页面队列的前端链表,新增基数为1的记录交换到页面队列后部的页面链表,然后将该radix哈希分区队列分裂为两个radix哈希分区队列。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410199090.1A CN103942343B (zh) | 2014-05-12 | 2014-05-12 | 一种面向哈希连接的数据存储优化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410199090.1A CN103942343B (zh) | 2014-05-12 | 2014-05-12 | 一种面向哈希连接的数据存储优化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103942343A true CN103942343A (zh) | 2014-07-23 |
CN103942343B CN103942343B (zh) | 2017-03-08 |
Family
ID=51190011
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410199090.1A Active CN103942343B (zh) | 2014-05-12 | 2014-05-12 | 一种面向哈希连接的数据存储优化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103942343B (zh) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104133661A (zh) * | 2014-07-30 | 2014-11-05 | 西安电子科技大学 | 基于列存储的多核并行哈希分区优化方法 |
CN104504114A (zh) * | 2014-12-30 | 2015-04-08 | 杭州华为数字技术有限公司 | 基于多哈希表的关系操作优化方法、装置和系统 |
WO2016206407A1 (en) * | 2015-06-24 | 2016-12-29 | Huawei Technologies Co., Ltd. | Systems and methods for parallelizing hash-based operators in smp databases |
CN107229692A (zh) * | 2017-05-19 | 2017-10-03 | 哈工大大数据产业有限公司 | 一种基于流水线的分布式多表连接方法及系统 |
CN107451271A (zh) * | 2017-08-03 | 2017-12-08 | 上海达梦数据库有限公司 | 一种哈希表处理方法、装置、设备及存储介质 |
CN108304499A (zh) * | 2018-01-15 | 2018-07-20 | 贵州易鲸捷信息技术有限公司 | 一种sql连接操作中谓词下推的方法、终端及介质 |
CN108600315A (zh) * | 2018-03-22 | 2018-09-28 | 深圳市网心科技有限公司 | 区块链路由处理方法、装置及存储介质 |
CN109117423A (zh) * | 2017-06-23 | 2019-01-01 | 阿里巴巴集团控股有限公司 | 数据库系统的表格分区配置方法、装置和系统 |
CN109345264A (zh) * | 2018-08-21 | 2019-02-15 | 太原理工大学 | 一种基于区块链的酒类产品溯源防伪系统和方法 |
CN109766341A (zh) * | 2018-12-27 | 2019-05-17 | 厦门市美亚柏科信息股份有限公司 | 一种建立哈希映射的方法、装置、存储介质 |
CN109902132A (zh) * | 2019-02-26 | 2019-06-18 | 维正知识产权服务有限公司 | 一种用于知识产权多维数据的关系模型建立方法及其系统 |
WO2019120240A1 (zh) * | 2017-12-20 | 2019-06-27 | 清华大学 | 一种时序数据列式存储、查询方法及系统 |
CN110109898A (zh) * | 2019-04-23 | 2019-08-09 | 山东超越数控电子股份有限公司 | 基于fpga片内bram的哈希连接加速方法及系统 |
CN110109894A (zh) * | 2019-03-22 | 2019-08-09 | 新奥特(北京)视频技术有限公司 | 非关系型数据库的实现方法、装置、存储介质和设备 |
US20220147503A1 (en) * | 2020-08-11 | 2022-05-12 | Massachusetts Mutual Life Insurance Company | Systems and methods to generate a database structure with a low-latency key architecture |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060031250A1 (en) * | 2004-08-06 | 2006-02-09 | Henigman Timothy J | Data mart generation and use in association with an operations intelligence platform |
CN101673307A (zh) * | 2009-10-21 | 2010-03-17 | 中国农业大学 | 空间数据索引方法及系统 |
CN102306187A (zh) * | 2011-08-31 | 2012-01-04 | 浙江大学 | 二维表hash排序方法 |
-
2014
- 2014-05-12 CN CN201410199090.1A patent/CN103942343B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060031250A1 (en) * | 2004-08-06 | 2006-02-09 | Henigman Timothy J | Data mart generation and use in association with an operations intelligence platform |
CN101673307A (zh) * | 2009-10-21 | 2010-03-17 | 中国农业大学 | 空间数据索引方法及系统 |
CN102306187A (zh) * | 2011-08-31 | 2012-01-04 | 浙江大学 | 二维表hash排序方法 |
Non-Patent Citations (2)
Title |
---|
张延松等: "海量数据分析的One-size-fits-all OLAP技术", 《计算机学报》 * |
王珊等: "内存数据库关键技术研究", 《计算机应用》 * |
Cited By (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104133661B (zh) * | 2014-07-30 | 2017-01-18 | 西安电子科技大学 | 基于列存储的多核并行哈希分区优化方法 |
CN104133661A (zh) * | 2014-07-30 | 2014-11-05 | 西安电子科技大学 | 基于列存储的多核并行哈希分区优化方法 |
CN104504114A (zh) * | 2014-12-30 | 2015-04-08 | 杭州华为数字技术有限公司 | 基于多哈希表的关系操作优化方法、装置和系统 |
CN104504114B (zh) * | 2014-12-30 | 2018-05-04 | 杭州华为数字技术有限公司 | 基于多哈希表的关系操作优化方法、装置和系统 |
WO2016206407A1 (en) * | 2015-06-24 | 2016-12-29 | Huawei Technologies Co., Ltd. | Systems and methods for parallelizing hash-based operators in smp databases |
CN107229692A (zh) * | 2017-05-19 | 2017-10-03 | 哈工大大数据产业有限公司 | 一种基于流水线的分布式多表连接方法及系统 |
CN107229692B (zh) * | 2017-05-19 | 2018-05-01 | 哈工大大数据产业有限公司 | 一种基于流水线的分布式多表连接方法及系统 |
CN109117423A (zh) * | 2017-06-23 | 2019-01-01 | 阿里巴巴集团控股有限公司 | 数据库系统的表格分区配置方法、装置和系统 |
CN107451271A (zh) * | 2017-08-03 | 2017-12-08 | 上海达梦数据库有限公司 | 一种哈希表处理方法、装置、设备及存储介质 |
WO2019120240A1 (zh) * | 2017-12-20 | 2019-06-27 | 清华大学 | 一种时序数据列式存储、查询方法及系统 |
US11704328B2 (en) | 2017-12-20 | 2023-07-18 | Tsinghua University | Columnar storage and query method and system for time series data |
CN108304499B (zh) * | 2018-01-15 | 2021-06-29 | 贵州易鲸捷信息技术有限公司 | 一种sql连接操作中谓词下推的方法、终端及介质 |
CN108304499A (zh) * | 2018-01-15 | 2018-07-20 | 贵州易鲸捷信息技术有限公司 | 一种sql连接操作中谓词下推的方法、终端及介质 |
CN108600315B (zh) * | 2018-03-22 | 2021-04-06 | 深圳市网心科技有限公司 | 区块链路由处理方法、装置及存储介质 |
CN108600315A (zh) * | 2018-03-22 | 2018-09-28 | 深圳市网心科技有限公司 | 区块链路由处理方法、装置及存储介质 |
CN109345264A (zh) * | 2018-08-21 | 2019-02-15 | 太原理工大学 | 一种基于区块链的酒类产品溯源防伪系统和方法 |
CN109766341A (zh) * | 2018-12-27 | 2019-05-17 | 厦门市美亚柏科信息股份有限公司 | 一种建立哈希映射的方法、装置、存储介质 |
CN109766341B (zh) * | 2018-12-27 | 2022-04-22 | 厦门市美亚柏科信息股份有限公司 | 一种建立哈希映射的方法、装置、存储介质 |
CN109902132A (zh) * | 2019-02-26 | 2019-06-18 | 维正知识产权服务有限公司 | 一种用于知识产权多维数据的关系模型建立方法及其系统 |
CN109902132B (zh) * | 2019-02-26 | 2023-03-03 | 维正知识产权科技有限公司 | 一种用于知识产权多维数据的关系模型建立方法及其系统 |
CN110109894A (zh) * | 2019-03-22 | 2019-08-09 | 新奥特(北京)视频技术有限公司 | 非关系型数据库的实现方法、装置、存储介质和设备 |
CN110109894B (zh) * | 2019-03-22 | 2021-08-20 | 新奥特(北京)视频技术有限公司 | 非关系型数据库的实现方法、装置、存储介质和设备 |
CN110109898A (zh) * | 2019-04-23 | 2019-08-09 | 山东超越数控电子股份有限公司 | 基于fpga片内bram的哈希连接加速方法及系统 |
US20220147503A1 (en) * | 2020-08-11 | 2022-05-12 | Massachusetts Mutual Life Insurance Company | Systems and methods to generate a database structure with a low-latency key architecture |
Also Published As
Publication number | Publication date |
---|---|
CN103942343B (zh) | 2017-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103942343A (zh) | 一种面向哈希连接的数据存储优化方法 | |
Jindal et al. | Trojan data layouts: right shoes for a running elephant | |
US8660985B2 (en) | Multi-dimensional OLAP query processing method oriented to column store data warehouse | |
CN101997918B (zh) | 异构san环境中的海量存储资源按需分配的实现方法 | |
CN102968503B (zh) | 数据库系统的数据处理方法以及数据库系统 | |
CN103942342B (zh) | 一种内存数据库oltp&olap并发查询优化方法 | |
US7899851B2 (en) | Indexing method of database management system | |
US20120011144A1 (en) | Aggregation in parallel computation environments with shared memory | |
CN102663116A (zh) | 面向列存储数据仓库的多维olap查询处理方法 | |
CN104361113A (zh) | 一种内存-闪存混合存储模式下的olap查询优化方法 | |
CN104866608A (zh) | 一种数据仓库中基于连接索引的查询优化方法 | |
CN102663117A (zh) | 面向数据库与Hadoop混合平台的OLAP查询处理方法 | |
EP2469423B1 (en) | Aggregation in parallel computation environments with shared memory | |
CN104765575A (zh) | 信息存储处理方法 | |
CN105159616A (zh) | 一种磁盘空间管理方法及装置 | |
CN106326387A (zh) | 一种分布式数据存储架构及数据存储方法和数据查询方法 | |
CN104765574A (zh) | 数据云端存储方法 | |
WO2013139379A1 (en) | Replicated data storage system and methods | |
Liroz-Gistau et al. | Dynamic workload-based partitioning for large-scale databases | |
CN104778100A (zh) | 一种安全备份数据的方法 | |
CN110008030A (zh) | 一种元数据访问的方法、系统及设备 | |
CN113779084A (zh) | 基于分布式的时序数据查询方法、设备、介质及产品 | |
Breß et al. | Exploring the design space of a GPU-aware database architecture | |
CN102521282B (zh) | 基于行指针的数据库垂直分区存储方法 | |
CN104216984A (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |