CN108563923B - 一种基因变异数据分布式存储方法及系统 - Google Patents
一种基因变异数据分布式存储方法及系统 Download PDFInfo
- Publication number
- CN108563923B CN108563923B CN201711267170.6A CN201711267170A CN108563923B CN 108563923 B CN108563923 B CN 108563923B CN 201711267170 A CN201711267170 A CN 201711267170A CN 108563923 B CN108563923 B CN 108563923B
- Authority
- CN
- China
- Prior art keywords
- bitmap
- data
- query
- distributed
- index
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16B—BIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
- G16B40/00—ICT specially adapted for biostatistics; ICT specially adapted for bioinformatics-related machine learning or data mining, e.g. knowledge discovery or pattern finding
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16B—BIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
- G16B50/00—ICT programming tools or database systems specially adapted for bioinformatics
Abstract
本发明公开了一种基因变异数据分布式存储方法及系统,该方法包括分布式数据存储过程、分布式位图索引创建过程和分布式查询检索过程;该系统包括分布式列式存储模块、分布式位图索引模块和查询检索模块。本发明通过采用新的列式存储引擎kudu进行数据分布式存储,并针对各样本列建立分布式局部位图索引,有效解决现有的HDFS方案随机数据访问性能低的问题;解决HBase方案批量分析性能不佳的问题;简化存储架构模型;解决基因型查询工具对多个工具依赖的限制问题;同时本发明通过分布式的局部位图索引方案,实现了高并发,并提高了可拓展性。
Description
技术领域
本发明涉及大数据存储领域,尤其是指一种基于列式存储和位图索引的基因变异数据分布式存储方法及系统。
背景技术
随着基因测序技术的长足发展以及人们对个性化医疗的迫切需要,全基因组关联分析成为当下越来越热门的一个研究领域。全基因组关联分析依赖于大规模的基因变异检测数据,这些数据属于典型的大数据范畴,不同存储架构的数据组织方式、索引方式、拓展方式等会对数据的检索分析产生很大的影响。全基因组关联分析场景既需要低时延的随机读取性能,又需要高效的批量读写性能,不合适的存储架构可能会导致效率低下、模型复杂、可拓展性低等问题,需要设计合适的存储架构来提高全基因组关联分析的效率。
基于Hadoop分布式文件系统(HDFS)的存储方案将变异检测文件(VCF文件)以Block块的形式存储在多个节点上,可扩展性强,可以高效地响应批量分析任务,但是它不能提供低延迟的随机数据访问,也无法提供数据更新操作。基于HBase的存储方案采用键值对的形式存储VCF文件,HBase是一个分布式数据库,可以方便的拓展到多个节点上,基于HBase可以实现低延迟的随机读写,但是因为HBase是列簇式存储,且存储的是键值对,它的scan开销比较大,无法实现高效的批量分析操作。基于HDFS+HBase的混合架构可以实现低延迟的随机读写及高效的批量分析,但是这种架构的模型复杂,数据维护成本大,且数据从生成到能够被批量分析的数据流延迟大。此外,还有一些基因型查询工具,如gqt,它在VCF文件的基础上创建位图索引来加速检索,但是这种工具仅能完成场景需要的部分功能,更复杂的查询需要组合多个工具,而且这些工具多是单节点处理的,可拓展性差。
发明内容
本发明的目的在于克服现有技术的缺点与不足,提出了一种基于列式存储和位图索引的基因变异数据分布式存储方法及系统,通过采用新的列式存储引擎kudu进行数据分布式存储,并针对各样本列建立分布式局部位图索引,有效解决现有的HDFS方案随机数据访问性能低的问题;解决HBase方案批量分析性能不佳的问题;简化存储架构模型;解决基因型查询工具对多个工具依赖的限制问题;同时本发明通过分布式的局部位图索引方案,实现了高并发,并提高了可拓展性。
为实现上述目的,本发明所提供的技术方案为:
一种基因变异数据分布式存储方法,包括分布式数据存储过程、分布式位图索引创建过程和分布式查询检索过程;
所述分布式数据存储过程包括以下步骤:
S1、对VCF文件进行预处理,将VCF头部切除,将VCF文件纵向切分成元数据信息和样本基因型信息两部分,并将样本基因型数据进一步纵向切分成所需大小的数据集;
S2、对步骤S1中的各份数据,在列式存储kudu中创建对应的元数据表及样本表,根据VCF文件中的表头信息,指定各表的列名、列属性、主键列,并采用键值对保存样本与样本所属表格的对应关系;
S3、为步骤S2中各个表指定统一的分区方式,即将表水平切分成多个tablet 分片;
S4、将步骤S1预处理后的数据加载到前述步骤所创建的kudu表格中;
所述分布式位图索引创建过程包括以下步骤:
S5、扫描kudu中样本表各数据列,统计各列的属性基数并记录属性值;
S6、并发从多个节点上扫描样本表各tablet分片的数据列,对步骤S5中得到的列的各个属性值分别建立位图索引,若数据值等于属性值,则置该属性位图的位为1,否则置为0;
S7、对步骤S6中得到的位图索引进行压缩;
S8、将步骤S7中得到的压缩后的局部位图索引保存在当前节点上;
S9、在主节点上生成位图索引的元数据信息,保存索引对应的表名、tablet 序号、索引范围及所在节点位置信息;
所述分布式查询检索过程包括以下步骤:
S10、解析查询语句,根据查询语句中的样本名确定查询所涉及的表,根据范围过滤词确定对应的tablet分片,根据关键词确定查询类型,对查询进行分发,若查询为行记录读取,则执行步骤S11,否则执行步骤S12;
S11、通过impala提交查询,impala生成执行树从对应tablet中读取数据并组装成行返回;
S12、访问主节点,读取步骤S9中的索引元数据信息,并发从查询所涉及的tablet分片所在节点读取局部位图索引,根据查询类型进行bitwise操作,并将各节点结果汇合,得到最终的位信息,将位信息解析成VCF位点信息并返回。
作为上述方案的改进,所述步骤S1中切分依据可以为样本的表型或族系信息,将具有相同表型或族系的样本划分为一个数据集。
作为上述方案的改进,所述步骤S2中各表应指定相同的主键列,优选为基因位点pos列,方便后续表间的联结操作。
作为上述方案的进一步改进,所述步骤S3中的分区目的是使得查询均匀分布在各个分区上,以提高查询的并发性,优选为range partition,此外分区数量与分区大小应该取得平衡,分区过小会导致吞吐量不佳进而影响性能,优选的分区大小应不小于1GB。
作为上述方案的进一步改进,所述步骤S4中可使用impala批量导入加载数据,提高数据加载速度。
作为上述方案的进一步改进,所述步骤S6中多节点的选择可以为各tablet 分片所在的leader节点,采用MapReduce框架加速创建过程。
作为上述方案的更进一步改进,所述步骤S7中位图压缩的原则是使得位图占用的存储空间小同时不损失查询时的速度,即压缩的同时使得可以不进行解压缩就直接查询,优选为WAH压缩方法。
作为上述方案的更进一步改进,所述步骤S8中位图保存原则是使得局部位图索引在节点上持久化并能快速定位到所需的位图,采用文件进行位图保存,文件包含头部区及数据区,头部区应为各位图在文件中的偏移值,数据区保存位图的实际数据,数据区按数据列、属性值的顺序保存各位图,即先保存第一列各属性的位图,再保存第二列各属性的位图,以此类推。
作为上述方案的更进一步改进,所述步骤S12中在第一次访问主节点后应将元数据信息缓存到内存,减小主节点的压力同时提高元数据访问效率,位图索引读取的原则为尽可能提高并发度,优选使用mapreduce框架进行分布式处理,及采用AVX2指令集进行SIMD操作。
一种基因变异数据分布式存储系统,包括分布式列式存储模块、分布式位图索引模块和查询检索模块,其中:
所述分布式列式存储模块包括预处理器和kudu列式存储引擎;
所述预处理器用于对VCF文件进行预处理,切除VCF头部信息,将VCF 文件进行纵向切分,生成元数据信息和样本基因型信息两部分,并将样本基因型数据按表型或族系进一步纵向切分成所需大小的数据集;
所述kudu列式存储引擎用于分布式存储基因变异数据,作为检索分析操作的基础数据及索引的源数据,kudu提供高可扩展性、强一致性,并提供低延迟的随机读写和高效率的批量读写能力;
所述分布式位图索引模块包括位图创建子模块和位图分布式存储子模块;
所述位图创建子模块读取各表各tablet分片数据,对各列建立位图,并采用 WAH方法进行压缩;
所述位图分布式存储子模块将压缩后的位图保存在文件中,同时在文件头部保存位图在文件内的偏移值,将位图文件分布式存储在节点上,能够选择存储在tablet对应的leader节点;
所述查询检索模块包括查询解析器、impala和位图查询子模块;
所述查询解析器对查询语句进行解析,根据样本名与表的键值对确定所涉及的表,根据给定的范围限定结合tablet元数据确定所涉及的tablet分片,根据查询类型对查询进行分发;
所述impala用于执行对kudu表的行级查询;
所述位图查询子模块用于读取索引元数据信息,获得索引所在的节点位置,并发从查询所涉及的tablet分片所在节点读取局部位图索引,根据查询类型进行 bitwise操作并返回结果。
本发明与现有技术相比,具有如下优点与有益效果:
1、与仅基于HDFS或仅基于HBase的存储方案相比,本发明采用kudu列式存储引擎存储基因变异数据,相比HDFS拥有更好的随机读取能力,相比HBase具有更高的批量处理效率。
2、与基于HDFS+HBase的混合模型相比,本发明采用kudu列式存储,简化了存储架构,降低了数据维护的难度,减少了数据的冗余。
3、与不结合位图索引的列式存储方案相比,本发明通过分布式位图计算,可以大幅提高行级基因频率统计等任务的效率。
4、与基因型查询功能相比,本发明以列式存储kudu为基础生成索引,减少了对其它工具的依赖,降低了使用学习成本;并且本发明针对列的每个属性均建立索引,解决了一些基因查询工具将变异简单划分为“0/0”、“0/1”、“1/1”、“./.”四种情况造成的查询问题;同时本发明通过分布式的位图索引,增强了架构的可拓展性,利用并行计算提高了位图检索的效率。
附图说明
图1为本发明的基因变异数据分布式存储方法的流程图。
图2为本发明的基因变异数据分布式存储系统图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
如图1所示,本发明所提供的基因变异数据分布式存储方法,包括以下步骤:
S1、对VCF文件进行预处理,将VCF头部切除,将VCF文件纵向切分成元数据信息和样本基因型信息两部分,并将样本基因型数据按照表型或族系信息进一步纵向切分成更小的数据集;
元数据信息包括变异位点ID、参考序列、等位序列、质量分数、过滤结果、测序深度等信息,样本基因型信息包括样本在变异位点上的变异情况信息;
S2、对步骤S1中的各份数据,在列式存储kudu中创建一个元数据表及多个样本表,根据VCF文件中的表头信息,指定各表的列名、列属性(INT、 STRING等)、主键列等,各表均指定基因位点pos列为主键列,同时采用键值对保存样本与样本所属表格的对应关系;
S3、为步骤S2中各个表指定统一的range分区,将表水平切分成多个tablet 分片,应保证range分区后各tablet分片大小不小于1GB;
S4、使用impala将步骤S1预处理后的数据批量导入到前述步骤所创建的 kudu表格中;
S5、扫描kudu中样本表各数据列,统计各列的属性基数并记录属性值;
S6、并发从样本表各tablet分片所在的leader节点上扫描tablet的各数据列,使用MapReduce框架对步骤S5中得到的列的各个属性值分别建立位图索引,若数据值等于属性值,则置该属性位图的位为1,否则置为0;
S7、对步骤S6中得到的位图索引采用WAH方法进行压缩;
S8、将步骤S7中得到的压缩后的局部位图索引保存在当前节点上,即将 tablet对应的局部位图索引保存在该tablet的leader节点上,位图采用文件形式进行保存,文件包含头部区及数据区,头部区应为各位图在文件中的偏移值,数据区保存位图的实际数据,数据区按数据列、属性值的顺序保存各位图,即先保存第一列各属性的位图,再保存第二列各属性的位图,以此类推;
S9、在主节点上生成位图索引的元数据信息,保存索引对应的表名、tablet 序号、索引范围(主键列min和max值)及所在节点位置信息;
S10、解析查询语句,根据查询语句中的样本名确定查询所涉及的表,根据范围过滤词确定对应的tablet分片,根据关键词确定查询类型,对查询进行分发,若查询为行记录读取,则执行步骤S11,否则执行步骤S12;
S11、通过impala提交查询,impala生成执行树从对应tablet中读取数据并组装成行返回;
S12、访问主节点,读取步骤S9中的索引元数据信息并缓存在内存,获得索引所在的节点位置,并发从查询所涉及的tablet分片所在节点读取局部位图索引,根据查询类型进行bitwise操作,bitwise操作使用AVX2指令集实现指令级并行,并将各节点结果汇合,得到最终的位信息,将位信息解析成VCF位点信息并返回。
具体案例:
以一个6节点的Hadoop集群(1个kudu master server,5个kudu tablet server,5个impala deamon),一个包含400个样本、1200万条变异记录的VCF文件为例,说明本发明方法的实施过程。具体包括以下步骤:
步骤1:对VCF文件进行预处理,将以“##”开头的VCF头部切除,将 VCF文件纵向切分成元数据信息和样本基因型信息两部分,元数据信息为VCF 文件前9列,包括POS、ALT、REF、QUAL、FILTER、INFO等信息,然后将样本基因型数据按照表型或族系信息进一步纵向切分成更小的数据集,假设样本1~样本200为一个数据集,样本201~样本400为另一个数据集,预处理后切分得到元数据文件、样本集1、样本集2等3个数据文件;
步骤2:在列式存储kudu中创建一个元数据表meta及两个样本表 sampletable1、sampletable2,元数据表meta各列分别为POS、ID、ALT、REF、 QUAL、FILTER、INFO、FORMAT,样本表sampletable1各列分别为POS、样本1~样本200,样本表sampletable2各列分别为POS、样本201~样本400,三个表均指定POS列为主键列,同时采用键值对保存样本与样本所属表格的对应关系,如(样本1,sampletable1),(样本201,sampletable2);
步骤3:为上述三个表指定range partition分区,假设1~400万记录为第一个tablet分片,400万~800万为第二个tablet分片,800万~1200万为第三个tablet 分片,该步骤结束后,每个表对应三个数据分片;
步骤4:启动impala shell,将步骤1中预处理后的3个数据文件分别导入到对应的kudu表格中;
步骤5:扫描sampletable1和sampletable2两个表的各数据列,统计各列的属性基数并记录属性值,假设各列均为“0/0”、“0/1”、“1/1”、“./.”四个属性;
步骤6:假设sampletable1三个tablet分片的leader分别在Node1、Node2、 Node3上,则并发从Node1、Node2、Node3节点上扫描这三个tablet分片,在每个节点上使用MapReduce框架对各分片进行处理,建立列的各个属性值的位图索引,每一列均会生成“0/0”、“0/1”、“1/1”、“./.”四个位图,对sampletable2 进行相同操作;
步骤7:对步骤6中得到的位图索引采用WAH方法进行压缩;
步骤8:将压缩后的局部位图索引保存在当前节点上,如sampletable1三个tablet分片对应的局部位图索引分别位于Node1、Node2、Node3上,位图采用文件形式进行保存,文件包含头部区及数据区,头部区应为各位图在文件中的偏移值,数据区保存位图的实际数据,数据区按数据列、属性值的顺序保存各位图,即先保存第一列各属性的位图,再保存第二列各属性的位图,以此类推,根据偏移值可以快速定位到位图在文件中的位置,如第二列的“0/0”索引应该在第五个偏移值对应处(前4个偏移分别对应第一列的4个位图索引);
步骤9:在kudu master节点上生成位图索引的元数据信息,保存索引对应的表名、tablet序号、索引范围(主键列min和max值)及所在节点位置信息,该例对应的索引元数据信息如下所示:
步骤10:解析查询语句,根据查询语句中的样本名确定查询所涉及的表,根据范围过滤词确定对应的tablet分片,根据关键词确定查询类型,对查询进行分发;
步骤11:若查询为行级,则通过impala接口提交查询至impala,impala生成执行树从对应tablet中读取数据组装返回;
步骤12:若查询为列级统计或每行的AlleleCount统计,则访问主节点,读取索引元数据信息缓存在内存,获得索引所在的节点位置,并发从查询所涉及的tablet分片所在节点读取局部位图索引,根据查询类型进行bitwise操作。假设查询样本1和样本2基因型均为“1/1”的位点,则分别在Node1、Node2、 Node3上读取样本1和样本2的“1/1”局部位图索引,在各节点对位图通过AVX2 指令集进行AND操作,将3个节点上的局部结果进行合并返回。
如图2所示,本发明所提供的基于列式存储和位图索引的基因变异数据分布式存储系统,包括分布式列式存储模块,分布式位图索引模块和查询检索模块,其中:
分布式列式存储模块包括预处理器和kudu列式存储引擎;
预处理器用于对VCF文件进行预处理,切除VCF头部信息,将VCF文件进行纵向切分,生成元数据信息和样本基因型信息两部分,并将样本基因型数据按表型或族系进一步纵向切分成更小的数据集;
kudu列式存储用于分布式存储基因变异数据,作为检索分析操作的基础数据及索引的源数据,kudu提供高可扩展性、强一致性,并提供低延迟的随机读写和高效率的批量读写能力;
分布式局部位图索引模块包括位图创建子模块和位图分布式存储子模块;
位图创建子模块读取各表各tablet分片数据,对各列建立位图,并采用WAH 方法进行压缩;
位图分布式存储子模块将压缩后的位图保存在文件中,同时在文件头部保存位图在文件内的偏移值,将位图文件分布式存储在节点上,可以选择存储在 tablet对应的leader节点;
查询检索模块包括查询解析器、impala和位图查询子模块;
查询解析器对查询语句进行解析,根据样本名与表的键值对确定所涉及的表,根据给定的范围限定结合tablet元数据确定所涉及的tablet分片,根据查询类型对查询进行分发;
impala用于执行对kudu表的行级查询;
位图查询子模块用于读取索引元数据信息,获得索引所在的节点位置,并发从查询所涉及的tablet分片所在节点读取局部位图索引,根据查询类型进行bitwise操作并返回结果。
总之,针对基因变异数据检索场景的要求,本发明利用一种基于列式存储和位图索引的基因变异数据分布式存储架构进行数据的有效存储,进而优化查询检索的性能。
以上所述实施例只为本发明之较佳实施例,并非以此限制本发明的实施范围,故凡依本发明之形状、原理所作的变化,均应涵盖在本发明的保护范围内。
Claims (10)
1.一种基因变异数据分布式存储方法,其特征在于:该方法包括分布式数据存储过程、分布式位图索引创建过程和分布式查询检索过程;
所述分布式数据存储过程包括以下步骤:
S1、对VCF文件进行预处理,将VCF头部切除,将VCF文件纵向切分成元数据信息和样本基因型信息两部分,并将样本基因型数据进一步纵向切分成所需大小的数据集;其中,所述VCF文件为变异检测文件;
S2、对步骤S1中的各份数据,在列式存储kudu中创建对应的元数据表及样本表,根据VCF文件中的表头信息,指定各表的列名、列属性、主键列,并采用键值对保存样本与样本所属表格的对应关系;
S3、为步骤S2中各个表指定统一的分区方式,即将表水平切分成多个tablet分片;
S4、将步骤S1预处理后的数据加载到前述步骤所创建的kudu表格中;
所述分布式位图索引创建过程包括以下步骤:
S5、扫描kudu中样本表各数据列,统计各列的属性基数并记录属性值;
S6、并发从多个节点上扫描样本表各tablet分片的数据列,对步骤S5中得到的列的各个属性值分别建立位图索引,若数据值等于属性值,则置该属性位图的位为1,否则置为0;
S7、对步骤S6中得到的位图索引进行压缩;
S8、将步骤S7中得到的压缩后的局部位图索引保存在当前节点上;
S9、在主节点上生成位图索引的元数据信息,保存索引对应的表名、tablet序号、索引范围及所在节点位置信息;
所述分布式查询检索过程包括以下步骤:
S10、解析查询语句,根据查询语句中的样本名确定查询所涉及的表,根据范围过滤词确定对应的tablet分片,根据关键词确定查询类型,对查询进行分发,若查询为行记录读取,则执行步骤S11,否则执行步骤S12;
S11、通过impala提交查询,impala生成执行树从对应tablet中读取数据并组装成行返回;
S12、访问主节点,读取步骤S9中的索引元数据信息,并发从查询所涉及的tablet分片所在节点读取局部位图索引,根据查询类型进行bitwise操作,并将各节点结果汇合,得到最终的位信息,将位信息解析成VCF位点信息并返回。
2.根据权利要求1所述的一种基因变异数据分布式存储方法,其特征在于:所述步骤S1中切分依据为样本的表型或族系信息,将具有相同表型或族系的样本划分为一个数据集。
3.根据权利要求1所述的一种基因变异数据分布式存储方法,其特征在于:所述步骤S2中各表应指定相同的主键列为基因位点pos列,方便后续表间的联结操作。
4.根据权利要求1所述的一种基因变异数据分布式存储方法,其特征在于:所述步骤S3中的分区目的是使得查询均匀分布在各个分区上,以提高查询的并发性,选择为rangepartition,此外分区数量与分区大小应该取得平衡,分区过小会导致吞吐量不佳进而影响性能,选择的分区大小应不小于1GB。
5.根据权利要求1所述的一种基因变异数据分布式存储方法,其特征在于:所述步骤S4中使用impala批量导入加载数据,提高数据加载速度。
6.根据权利要求1所述的一种基因变异数据分布式存储方法,其特征在于:所述步骤S6中多节点的选择为各tablet分片所在的leader节点,采用MapReduce框架加速创建过程。
7.根据权利要求1所述的一种基因变异数据分布式存储方法,其特征在于:所述步骤S7中位图压缩的原则是使得位图占用的存储空间小同时不损失查询时的速度,即压缩的同时使得能够不进行解压缩就直接查询,选择WAH压缩方法。
8.根据权利要求1所述的一种基因变异数据分布式存储方法,其特征在于:所述步骤S8中位图保存原则是使得局部位图索引在节点上持久化并能快速定位到所需的位图,采用文件进行位图保存,文件包含头部区及数据区,头部区应为各位图在文件中的偏移值,数据区保存位图的实际数据,数据区按数据列、属性值的顺序保存各位图,即先保存第一列各属性的位图,再保存第二列各属性的位图,以此类推。
9.根据权利要求1所述的一种基因变异数据分布式存储方法,其特征在于:所述步骤S12中在第一次访问主节点后应将元数据信息缓存到内存,减小主节点的压力同时提高元数据访问效率,位图索引读取的原则为提高并发度,使用mapreduce框架进行分布式处理,及采用AVX2指令集进行SIMD操作。
10.一种基因变异数据分布式存储系统,其特征在于:包括分布式列式存储模块、分布式位图索引模块和查询检索模块,其中:
所述分布式列式存储模块包括预处理器和kudu列式存储引擎;
所述预处理器用于对VCF文件进行预处理,切除VCF头部信息,将VCF文件进行纵向切分,生成元数据信息和样本基因型信息两部分,并将样本基因型数据按表型或族系进一步纵向切分成所需大小的数据集;
所述kudu列式存储引擎用于分布式存储基因变异数据,作为检索分析操作的基础数据及索引的源数据,kudu提供高可扩展性、强一致性,并提供低延迟的随机读写和高效率的批量读写能力;
所述分布式位图索引模块包括位图创建子模块和位图分布式存储子模块;
所述位图创建子模块读取各表各tablet分片数据,对各列建立位图,并采用WAH方法进行压缩;
所述位图分布式存储子模块将压缩后的位图保存在文件中,同时在文件头部保存位图在文件内的偏移值,将位图文件分布式存储在节点上,能够选择存储在tablet对应的leader节点;
所述查询检索模块包括查询解析器、impala和位图查询子模块;
所述查询解析器对查询语句进行解析,根据样本名与表的键值对确定所涉及的表,根据给定的范围限定结合tablet元数据确定所涉及的tablet分片,根据查询类型对查询进行分发;
所述impala用于执行对kudu表的行级查询;
所述位图查询子模块用于读取索引元数据信息,获得索引所在的节点位置,并发从查询所涉及的tablet分片所在节点读取局部位图索引,根据查询类型进行bitwise操作并返回结果。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711267170.6A CN108563923B (zh) | 2017-12-05 | 2017-12-05 | 一种基因变异数据分布式存储方法及系统 |
PCT/CN2018/110451 WO2019109732A1 (zh) | 2017-12-05 | 2018-10-16 | 一种基因变异数据分布式存储方法及架构 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711267170.6A CN108563923B (zh) | 2017-12-05 | 2017-12-05 | 一种基因变异数据分布式存储方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108563923A CN108563923A (zh) | 2018-09-21 |
CN108563923B true CN108563923B (zh) | 2020-08-18 |
Family
ID=63530236
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711267170.6A Active CN108563923B (zh) | 2017-12-05 | 2017-12-05 | 一种基因变异数据分布式存储方法及系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN108563923B (zh) |
WO (1) | WO2019109732A1 (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108563923B (zh) * | 2017-12-05 | 2020-08-18 | 华南理工大学 | 一种基因变异数据分布式存储方法及系统 |
CN109684331A (zh) * | 2018-12-20 | 2019-04-26 | 浪潮软件股份有限公司 | 一种基于Kudu的对象存储元数据管理装置及方法 |
CN109857814A (zh) * | 2018-12-28 | 2019-06-07 | 北京东方国信科技股份有限公司 | 一种内存数据处理方法及存储介质 |
CN111400342A (zh) * | 2019-01-03 | 2020-07-10 | 百度在线网络技术(北京)有限公司 | 数据库更新方法、装置、设备及存储介质 |
CN109918366B (zh) * | 2019-03-11 | 2020-05-12 | 黑龙江中医药大学 | 一种基于大数据的数据安全处理方法 |
CN114254057A (zh) * | 2019-06-17 | 2022-03-29 | 百度在线网络技术(北京)有限公司 | 基于分布式表格存储高精度地图数据的方法及其相关设备 |
CN111199777B (zh) * | 2019-12-24 | 2023-09-29 | 西安交通大学 | 面向生物大数据的流式传输与变异实时挖掘系统及方法 |
CN111984696B (zh) * | 2020-07-23 | 2023-11-10 | 深圳市赢时胜信息技术股份有限公司 | 一种新型数据库和方法 |
CN112233727B (zh) * | 2020-10-29 | 2024-01-26 | 北京诺禾致源科技股份有限公司 | 数据分区存储方法及装置 |
CN112380205B (zh) * | 2020-11-17 | 2024-04-02 | 北京融七牛信息技术有限公司 | 一种分布式架构的特征自动生成方法和系统 |
CN112489729A (zh) * | 2020-12-04 | 2021-03-12 | 北京诺禾致源科技股份有限公司 | 基因数据查询方法及装置、非易失性存储介质 |
CN113254104B (zh) * | 2021-06-07 | 2022-06-21 | 中科计算技术西部研究院 | 一种用于基因分析的加速器及加速方法 |
CN113626430A (zh) * | 2021-07-27 | 2021-11-09 | 山东健康医疗大数据有限公司 | 一种为kudu中医疗数据添加自增列的方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104361099A (zh) * | 2014-11-21 | 2015-02-18 | 北京邮电大学 | 一种面向异构存储的适配装置 |
CN105512142A (zh) * | 2014-09-26 | 2016-04-20 | 深圳华大基因股份有限公司 | 基因变异与药物关系数据库和数据库系统 |
CN105760712A (zh) * | 2016-03-01 | 2016-07-13 | 西安电子科技大学 | 一种基于新一代测序的拷贝数变异检测方法 |
CN107122443A (zh) * | 2017-04-24 | 2017-09-01 | 中国科学院软件研究所 | 一种基于Spark SQL的分布式全文检索系统及方法 |
CN107329982A (zh) * | 2017-06-01 | 2017-11-07 | 华南理工大学 | 一种基于分布式列式存储的大数据并行计算方法及系统 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7212951B1 (en) * | 2004-08-25 | 2007-05-01 | Tripos, Inc. | Method for characterizing and analyzing 3-D shapes of molecules utilizing steric multiplets |
CN103678556B (zh) * | 2013-12-06 | 2017-10-10 | 华为技术有限公司 | 列式数据库处理的方法和处理设备 |
CN107004068B (zh) * | 2014-11-25 | 2021-08-24 | 皇家飞利浦有限公司 | 基因组数据的安全传输 |
US9489410B1 (en) * | 2016-04-29 | 2016-11-08 | Umbel Corporation | Bitmap index including internal metadata storage |
CN106156538A (zh) * | 2016-06-29 | 2016-11-23 | 天津诺禾医学检验所有限公司 | 一种全基因组变异数据的注释方法和注释系统 |
CN106611106B (zh) * | 2016-12-06 | 2019-05-03 | 北京荣之联科技股份有限公司 | 基因变异检测方法及装置 |
CN108563923B (zh) * | 2017-12-05 | 2020-08-18 | 华南理工大学 | 一种基因变异数据分布式存储方法及系统 |
-
2017
- 2017-12-05 CN CN201711267170.6A patent/CN108563923B/zh active Active
-
2018
- 2018-10-16 WO PCT/CN2018/110451 patent/WO2019109732A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105512142A (zh) * | 2014-09-26 | 2016-04-20 | 深圳华大基因股份有限公司 | 基因变异与药物关系数据库和数据库系统 |
CN104361099A (zh) * | 2014-11-21 | 2015-02-18 | 北京邮电大学 | 一种面向异构存储的适配装置 |
CN105760712A (zh) * | 2016-03-01 | 2016-07-13 | 西安电子科技大学 | 一种基于新一代测序的拷贝数变异检测方法 |
CN107122443A (zh) * | 2017-04-24 | 2017-09-01 | 中国科学院软件研究所 | 一种基于Spark SQL的分布式全文检索系统及方法 |
CN107329982A (zh) * | 2017-06-01 | 2017-11-07 | 华南理工大学 | 一种基于分布式列式存储的大数据并行计算方法及系统 |
Non-Patent Citations (1)
Title |
---|
Efficient genotype compression and analysis of large genetic variation datasets;Ryan M.Layer.et;《Nat Methods》;20160131;第13卷(第1期);第63-65页 * |
Also Published As
Publication number | Publication date |
---|---|
WO2019109732A1 (zh) | 2019-06-13 |
CN108563923A (zh) | 2018-09-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108563923B (zh) | 一种基因变异数据分布式存储方法及系统 | |
US10846285B2 (en) | Materialization for data edge platform | |
US10789231B2 (en) | Spatial indexing for distributed storage using local indexes | |
CN110019218B (zh) | 数据存储与查询方法及设备 | |
US20120323867A1 (en) | Systems and methods for querying column oriented databases | |
CN108197296B (zh) | 基于Elasticsearch索引的数据存储方法 | |
US10621174B2 (en) | Partitioned joins in analytical databases | |
CN106471501B (zh) | 数据查询的方法、数据对象的存储方法和数据系统 | |
US10296497B2 (en) | Storing a key value to a deleted row based on key range density | |
US20140101132A1 (en) | Swapping expected and candidate affinities in a query plan cache | |
US11194762B2 (en) | Spatial indexing using resilient distributed datasets | |
CN101963977A (zh) | 无城市搜索方法及移动终端 | |
CN101587484B (zh) | 一种基于T-lt树的主存数据库的索引方法 | |
US8396858B2 (en) | Adding entries to an index based on use of the index | |
CN106844541B (zh) | 一种联机分析处理方法及装置 | |
CN113849478A (zh) | 一种云原生大数据分析引擎 | |
CN110019192B (zh) | 数据库的检索方法及装置 | |
US20180203896A1 (en) | Method and apparatus for processing query | |
CN112463904B (zh) | 一种分布式空间矢量数据与单点空间数据混合分析方法 | |
CN111221814A (zh) | 二级索引的构建方法、装置及设备 | |
CN116010345A (zh) | 一种实现流批一体数据湖的表服务方案的方法、装置及设备 | |
CN112000666B (zh) | 一种面向列的数据库管理系统 | |
US20180181616A1 (en) | Meta-join and meta-group-by indexes for big data | |
CN113312312B (zh) | 一种基于lsm高效查询流数据的分布式索引方法及系统 | |
CN115809268B (zh) | 一种基于分片索引的自适应查询方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |