首页 > 其他分享 >基于二分混合空间曲线的HBase多维索引构建及查询优化问题研究

基于二分混合空间曲线的HBase多维索引构建及查询优化问题研究

时间:2024-09-09 09:51:46浏览次数:5  
标签:二分 填充 曲线 查询 索引 多维 HBase

目录
1 绪论 1
1.1 研究背景与意义 1
1.2 国内外研究现状 2
1.2.1 索引技术 2
1.2.2 空间填充曲线 5
1.3 论文主要工作 6
1.4 论文章节安排 7
2 相关理论基础与技术简介 8
2.1 大数据存储与计算技术 8
2.1.1 Hadoop生态圈 8
2.1.2 HDFS 8
2.1.3 HBase 9
2.1.4 Spark Streaming 10
2.3 索引相关技术 11
2.3.1 二级索引 11
2.3.2 聚簇索引 12
2.3.3 多维索引 13
2.3 空间填充曲线 14
2.4 本章小结 17
3 基于可变阶数的二分混合空间填充曲线 18
3.1 问题描述 18
3.2 二分混合空间填充曲线 18
3.2.1 基本概念 18
3.2.2 编码方法 19
3.2.3 解码方法 20
3.2.4 编解码时空复杂度 21
3.2.5 可变阶数设置 22
3.3 空间填充曲线评价指标定义和说明 22
3.3.1 局部性 22
3.3.2 聚集度 26
3.4 空间填充曲线实验对比与分析 26
3.5 本章小结 31
4 基于二分混合空间填充曲线的多维流式全量索引 32
4.1 问题描述 32
4.1.1 数据倾斜与齐夫分布 32
4.1.2 线性化技术索引方案存在的问题 33
4.2多维流式全量索引SFI-HBase 36
4.2.1 SFI-HBase索引结构 36
4.2.2 范围查询 40
4.2.3 KNN查询 46
4.3索引性能实验对比与分析 49
4.3.1 插入效率对比 50
4.3.2 范围查询效率对比 52
4.3.2 KNN查询效率对比 54
4.4 本章小结 56
5 基于SFI-HBase的海量数据分析平台设计与实现 57
5.1 系统需求分析 57
5.1.1 功能性需求分析 57
5.1.2 非功能性需求分析 58
5.2 系统设计 58
5.2.1 系统架构设计 58
5.2.2 功能模块设计 59
5.2.3 数据库设计 60
5.3系统实现 62
5.3.1 员工管理模块 62
5.3.2 数据同步模块 65
5.3.3 订单查询模块 66
5.3.4 统计信息模块 70
5.4 系统测试 71
5.4.1 功能测试 72
5.4.2 性能测试 73
5.5 本章小结 74
6 总结与展望 75
6.1 总结 75
6.2 展望 76
参考文献 77
1.3 论文主要工作
针对HBase在非主键多维查询的问题和不足,本文从空间填充曲线和索引结构上作出改进,在HBase之上建立了一个多维流式全量索引层,并设计了基于该索引层的数据插入、查询算法,搭建了相关实验环境,与其他经典系统进行了比对。主要工作如下:
(1)二分混合空间填充曲线:研究了Z、Hilbert、Gray、Onion等空间填充曲线的编码解码算法,并研究了这些曲线的局部性、聚集度等相关性质。在此基础上,以本文索引系统的实际需求为前提,基于可变阶数设计出了一种二分空间填充曲线曲线。在实验中以Z曲线为基础,混合了Hilbert、Gray、Onion曲线,测量了Z-Hilbert、Z-Gray、Z-Onion 曲线的理论性质,使得混合的曲线在具备Z曲线优秀裁剪能力的同时,增强了其在局部性、聚集度上的表现。
(2)多维流式全量索引:在桶索引的基础之上,针对桶分裂时需要扫描桶数据、无法支持并发插入的缺点,在索引层加入了可动态设置桶大小的全量索引层,并移除了冗余的桶索引层。在数据插入方面,采用Spark Streaming流式批处理计算提前在内存中进行预聚合,提供了对数据并发的支持、加快了插入的速度,大大减少了插入数据在索引层的时间损耗。在查询方面,设计了根据查询数据量动态计算桶大小的算法,以此为基础设计了高效的范围查询、KNN查询算法。
(3)交互系统代码实现
调研学习了Hadoop、HBase、Kakfa、Spark Streaming等大数据开源组件,在实验环境下搭建了由三台虚拟机构成的大数据集群。使用Java语言编写了多维流式全量索引的插入、查询代码,并以此为基础,设计编写了网约车离线分析平台,将本文提出的HBase多维索引结构运用到了真实的应用场景中。
1.4 论文章节安排
本文包含六个章节,每个章节阐述的内容如下:
第一章 绪论。首先概述了本文的研究背景、目的以及其意义,随后对国内外研究现状进行了综述,并简要介绍了本文的主要研究内容。最后,给出本文的整体结构和各章节的概述。
第二章 相关技术介绍。首先介绍本文所涉及到的大数据存储与计算组件,然后介绍常见的索引技术,最后介绍空间填充曲线。
第三章 二分混合空间填充曲线。首先从空间填充曲线理论性质出发,指出划分性质、局部性和聚集度等理论性质对多维索引的重要性。接着,介绍了二分混合空间填充曲线的概念、编解码方法、时空复杂度和可变阶的设置方法。接着给出了空间填充曲线的局部性、聚集度指标定义。最后通过实验测量了部分二分混合空间填充曲线及其组成曲线在局部性、聚集度上的性质。
第四章 多维流式全量索引。首先介绍了数据倾斜和齐夫分布,并指出在设计索引结构时需要注意的地方和一些解决方案的不足之处。接着提出了多维流式全量索引结构SFI-HBase,并针对该索引结构设计了插入、范围查询和KNN查询算法。最后,复现了多个经典的HBase非主键多维索引结构,并将其与本文所提出的索引结构进行了实验对比,以验证本文所提出索引结构的效率。
第五章 网约车离线分析平台设计与实现。根据第四章提出的模型和算法,在实验环境下搭建了集群,并实现了一个简单的交互系统。
第六章 总结与展望。总结全文的研究内容,提出下一步的研究重点和工作内容。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

标签:二分,填充,曲线,查询,索引,多维,HBase
From: https://blog.csdn.net/sheziqiong/article/details/142042362

相关文章

  • wqs 二分
    wqs二分可以优化一些dp,最常见的是”选一些物品,次数有限制,使总价值最大“,有以下限制:定义\(g(k)\)为恰好用\(k\)此操作能获得的最大收益,那么\(g(k)\)要满足上凸。如果不考虑限制,可以比较快地求出答案。前置股票买卖Ⅰ有\(n\)天,每天股票有一个价值\(a_i\),但是......
  • 4.二分查找
    classSolution{publicintsearch(int[]nums,inttarget){intleft=0,right=nums.length-1;returnres(nums,target,left,right);}intres(int[]nums,inttarget,intleft,intright){intmid=(left+right)/2;if(mi......
  • 全栈性能优化秘籍--Linux 系统性能调优全攻略:多维度优化技巧大揭秘
           ......
  • 第二周9.7周六学习总结——二分
    while(l<r){intmid=l+r>>1; //(l+r)/2if(check(mid))r=mid;//check()判断mid是否满足性质elsel=mid+1;} while(l<r){intmid=l+r+1>>1; //(l+r+1)/2,往右找答案要加1......
  • 信息学奥赛初赛天天练-85-NOIP2014普及组-基础题4-链表、随机存取、顺序存取、二分查
    信息学奥赛初赛天天练-85-NOIP2014普及组-基础题4-链表、随机存取、顺序存取、二分查找、二分比较、循环结构、图领奖PDF文档公众号回复关键字:202409071NOIP2014普及组基础题49下列选项中不属于图像格式的是()AJPEG格式BTXT格式CGIF格式DPNG格式1......
  • 算法-二分查找
    二分查找是在一个有序的数组中查找目标值target,需要将target和数组中间元素做比较:1)如果target=mid,查找成功,返回mid的下标。2)如果target>mid,目标在数组右半部分,low=mid+13)target<mid,目标在数组左半部分,high=mid-1如下数组:1、首先,指定数组的左指针和右指针,根据公式mid......
  • 搜索算法之二分搜索详细解读(附带Java代码解读)
    1.基本概念二分搜索(BinarySearch)是一种高效的查找算法,用于在一个已排序的数组中查找特定元素。它通过逐步将搜索范围减少一半来实现搜索,从而比线性搜索更快。由于它利用了数组的有序性,能够在对数时间内完成搜索操作。2.工作原理二分搜索的基本思想是:初始化:设置两个指针......
  • 1.3二分算法
    算法理解二分用于解决答案具有单调性问题(经典最大值最小问题),是一个好的入手点,用一个log的复杂度,将求解答案转化成了判断答案是否合法实数域上的二分两种方法:确定精度eps,固定枚举次数,一般后者精度大于前者T1:二分最大值,注:如果有一个数本身就大于二分答案,则答案肯定错误,证明:考虑......
  • DP优化——wqs二分
    在看wqs二分前建议先去看另一篇博客——斜率优化,对凸包等知识点有所了解。介绍wqs二分最初由王钦石在他的2012年国家集训队论文中提出,也叫"带权二分",或者"dp凸优化",而从IOI2016的Aliens题目开始,这种方法开始逐步在竞赛圈中有了一定的地位。在国内我们一般称为「wqs二......
  • 轻松应对亿级数据,HBase Scan读取速度翻倍
    轻松应对亿级数据,HBaseScan读取速度翻倍HBase是一种基于Hadoop的分布式列存储数据库,它支持大规模结构化数据的存储和随机访问。在HBase中,扫描(Scan)是一种读取表中数据的方式,它可以返回表中满足条件的一部分或全部数据。本文将介绍HBase中扫描的概念、使用方法和性能优化。1扫描......