文献综述(或调研报告):
HBase是Hadoop体系的子项目之一,是目前十分流行的面向列式存储的NoSQL数据库,并能为MapReduce、Spark等分布式计算框架提供无缝的数据集成,能提供强大的数据随机访问能力和并行复杂查询能力。已有不少学者开始着手研究基于HBase的空间数据存储与检索方案,其中大多数围绕空间索引设计展开。
范建永等[1]根据不同比例尺和图层创建了不同的矢量数据存储表,每个存储表对应一套按特定规则划分的格网,格网索引的row key值由Hilbert空间曲线编码确定,并利用MapReduce提高索引构建速度,但将空间数据分开存储不利于数据组织,且规则格网不适合分布不均的数据索引。
Dan Han等[2]提出了基于HBase实现的空间数据模型HGrid—一种结合四叉树和规则格网的混合索引结构,先将空间数据按四叉树结构划分,再将四叉树格网规则划分,实验表明在范围查询和邻近查询操作上,该模型总体性能优于四叉树索引,不如规则格网索引。
Chen等[3]认为以往将空间数据存储于HBase中时只专注于行键和列的设计,没有从根本上提高空间数据组织效率,因此设计了一种HBase内置的时空数据索引STEHIX。该索引为二级架构索引,在第一层级中用Hilbert曲线将整个查询空间划分为子单元存储于HBase内置的meta表中,第二层级利用四叉树和z曲线将子单元进一步划分,分别存储空间索引和时间索引于StoreFile中,然后提出了相应的负载均衡策略、范围查询和邻近查询优化算法。
空间索引是指通过建立数据逻辑与物理记录间的对应关系,来描述空间数据在存储介质上的位置的一种数据结构。
支晓栋等[4]针对海量点云数据对常用的构建四叉树方法进行了改进,采用了自定义堆栈数据结构来模拟递归更有效的完成数据的四叉树划分,自上而下生成所有节点。另外,四叉树生成后,逆求每个节点的最小外包矩形使得该节点与搜索多边形的拓扑关系判断更精确。为了直接定位叶子节点,将四叉树中所有节点按照满四叉树的节点顺序进行编码,构成线索四叉树,每个节点存储所在的层号和该层号的编号,建立数组P保存所有叶子节点指针,以便提高查询速度,不必一层层深入叶子结点提取点数据。
基于z曲线的GeoHash编码方法具有唯一性、多层次递归性和一维的特性,已被广泛应用。相关研究如下,金安等[5]将面数据关联到若干Geohash单元网格,并在数据库中保存网格的Geohash编码与面数据的对应关系,查询时将查询区域根据规则对应到最多4个Geohash编码,再根据编码查询与区域相交的面数据。实验表明,在数据量较大且查询区域较小的情况下,基于Geohash编码的面数据查询效率较基于经纬度和R树的查询效率高。孟鑫淼[6]对GeoHash算法进行改进对线、面数据进行空间降维,在Hbase数据库中存储管理,设计多边形区域查询和线相交查询,通过实验验证了其基于MapReduce的并行化查询在处理大规模空间数据的高效性。向隆刚等[7]结合Geohash编码和B 树索引,设计了适应不同尺度范围查询的大规模轨迹数据的关系组织模式,并给出了相应的两阶段查询处理算法,同时提出了一种Z合并优化,以进一步提高范围查询的处理效率。结果表明,此方法适合于组合管理与查询分析大规模的轨迹数据,其性能高于R树索引。
以上是毕业论文文献综述,课题毕业论文、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。