一种大数据分布式存储方法和系统与流程

文档序号:12063268阅读:来源:国知局

技术特征:

1.一种大数据分布式存储方法,用于在云存储系统中实现大数据的存储和查询,所述云存储系统包括主节点,分布式计算节点和数据节点,其特征在于,包括:将数据管理引擎运行在主节点上,接收用户查询,对查询进行编译、转换和优化、生成查询执行计划并执行查询,同时进行元数据管理和节点监控;在分布式计算节点上运行服务器进程,执行分布式计算任务;将分布式计算的工作进程以及单节点数据库部署在数据节点,将数据表存储在数据节点的数据库中;将由用户查询转换成的子查询在数据库中执行,或者在分布式计算框架中执行。

2.根据权利要求1所述的方法,其特征在于,所述数据表使用二维关系表结构,数据表的存储采用独立划分存储和组合划分存储,其中:在对表进行独立划分时,指定划分数n、划分所依据的划分键属性列AP以及冗余系数k。对于需要划分的表的每一条元组,根据划分键AP的值计算出该元组所属的划分ID,然后将该元组存储到该划分对应的一个或者多个节点的数据库中;如果事实表A的划分键AP上是表A的外码,指向维表B的主码BP即表A的划分键AP也是表A与表B连接时使用的连接键,则将跨节点的连接操作转化为本地的连接操作并下推到数据库中执行,此时将两个表的数据组合划分;在对表进行组合划分时,使用基于散列的划分或者基于范围的划分,将数据划分为p个独立的划分,每个划分的数据存储在k个不同节点上;若表B依赖于表A进行组合划分,则表B的划分数等于表A的划分数,且:如果表B的冗余系数kB等于表A的冗余系数kA,则表B的每个划分的存储节点就是表A相应划分的存储节点;如果表B的冗余系数kB小于表A的冗余系数kA,则表B的每个划分的存储节点是表B相应划分的存储节点中取前kB个节点;如果表B的冗余系数kB大于表A的冗余系数kA,则表B的每个划分的存储节点除了包含表A的相应划分的存储节点之外再进行扩展,扩展的 (kB-kA)个节点是紧接在原来的节点链之后的节点。

3.根据权利要求2所述的方法,其特征在于:在将表的元组进行独立划分时,利用基于散列的划分或基于范围的划分,基于散列的划分在元组划分键AP上应用合适的散列函数,得到的散列值再对划分数n取模,即得到元组的划分ID;针对不同的数据类型,应用不同的散列函数;基于范围的划分预先将属性列AP的候选值区间划分成多个连续的范围,每个范围对应一个划分,将元组属性列AP的值所在范围作为元组所述的划分。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1