This application is intended to provide a method and a device for creating the index table structure, meta information of this application by creating a data source to obtain corresponding data table; then, create a data structure to create the index table, according to the user's request to determine the data table in the table to create index index column and, according to the structure information to create the index table to be created corresponding to the index column; the current data for generating the data source in the data file assigned to the slave node; the information distribution index file to create index table to the index file from the node, and then optimization of the underlying storage structure, when applied to data query, index file provides information, according to the index file to quickly locate the information to meet the conditions of the data file, greatly reducing the data The access volume improves the query performance.
【技术实现步骤摘要】
一种创建索引表的方法及设备
本申请涉及计算机领域,尤其涉及一种创建索引表的方法及设备。
技术介绍
随着数据库技术的发展和应用,数据库存储的数据量与日俱增,同时快速、灵活地进行大数据量的复杂查询处理也成为新的需求。OLAP(On-LineAnalyticalProcessing,联机分析处理),专门用于支持复杂的分析操作,侧重对决策人员和高层管理人员的决策支持。通常状况下,OLAP用户只需要查询少数的几个数据列,利用行式存储会加载很多无用的数据列,导致查询性能下降。分布式列式存储的基本查询方法首先从zookeeper中读取元信息,进而去集群中各个机器读取所有的数据文件,进而从每个数据文件中读取满足条件的记录,此方式直接导致数据访问量过大,影响了OLAP的查询性能。申请内容本申请的一个目的是提供一种创建索引表的方法及设备,优化底层存储结构,从而为数据查询提供方便。根据本申请的一个方面,提供了一种创建索引表的方法,所述方法包括:创建获取到的数据源对应数据表的元信息的结构,其中,所述数据表的元信息包括所述数据表中所有数据文件的位置信息,所述数据文件以列的形式存储;创建待创 ...
【技术保护点】
一种创建索引表的方法,其中,所述方法包括:创建获取到的数据源对应数据表的元信息的结构,其中,所述数据表的元信息包括所述数据表中所有数据文件的位置信息,所述数据文件以列的形式存储;创建待创建索引表的数据结构,根据用户的请求确定所述数据表中所述待创建索引表的索引列,所述索引列为所述数据表中的部分列,并根据所述索引列创建所述待创建索引表对应的元信息的结构,其中,所述待创建索引表对应的元信息包括所述待创建索引表中索引文件的位置信息;将所述数据源中当前数据行生成的数据文件分配至从节点,并根据所述数据表的元信息的结构及所述数据文件的已分配的位置信息,更新所述数据文件对应数据表的元信息; ...
【技术特征摘要】
1.一种创建索引表的方法,其中,所述方法包括:创建获取到的数据源对应数据表的元信息的结构,其中,所述数据表的元信息包括所述数据表中所有数据文件的位置信息,所述数据文件以列的形式存储;创建待创建索引表的数据结构,根据用户的请求确定所述数据表中所述待创建索引表的索引列,所述索引列为所述数据表中的部分列,并根据所述索引列创建所述待创建索引表对应的元信息的结构,其中,所述待创建索引表对应的元信息包括所述待创建索引表中索引文件的位置信息;将所述数据源中当前数据行生成的数据文件分配至从节点,并根据所述数据表的元信息的结构及所述数据文件的已分配的位置信息,更新所述数据文件对应数据表的元信息;将所述待创建索引表的索引文件的信息分配至对应的从节点的索引文件中,并更新所述待创建索引表对应的元信息。2.根据权利要1所述的方法,其中,所述待创建索引表的数据结构中索引文件的结构包括BPlusTree结构,其中,所述BPlusTree结构的叶子节点包括键值和位置信息值。3.根据权利要求2所述的方法,创建所述待创建索引表的数据结构,包括:根据所述待创建索引表的索引列的值确定所述叶子节点的键值;根据所述索引列所属数据文件的文件名及所述索引列所在的行在所述数据文件中的偏移量确定所述叶子节点的位置信息值。4.根据权利要求1至3中任一项所述的方法,其中,所述待创建索引表包括哈希类全局索引表和/或范围类全局索引表。5.根据权利要求4所述的方法,其中,当所述待创建索引表为哈希类全局索引表时,将所述待创建索引表中索引列对应的索引文件的信息分配至所述待创建索引表对应的从节点的索引文件中,包括:根据所述哈希类全局索引表的索引列的值确定的哈希值,将所述哈希类全局索引表的索引文件对应的键值和位置信息值分配至对应的从节点的索引文件中。6.根据权利要求5所述的方法,其中,根据所述哈希类全局索引表的索引列确定的哈希值,将所述哈希类全局索引表的索引文件对应的键值和位置信息值分配至所述哈希类全局索引表对应的从节点的索引文件中,包括:根据所述哈希类全局索引表的索引列的值及所述从节点的个数确定所述索引列的哈希值;将所述索引列的哈希值为i对应的BPlusTree结构中叶子节点的键值及位置信息值分配至第i+1个从节点的索引文件中,其中,i为自然数。7.根据权利4所述的方法,其中,当所述待创建索引表为范围类全局索引表时,将所述待创建索引表中索引列对应的索引文件的信息分配至所述待创建索引表对应的从节点的索引文件中,包括:根据对所述索引列的值进行采样的采样结果确定分配范围区间,并记录每个从节点以及其对应的索引列的分配范围区间;根据所述分配范围区间将所述范围类全局索引表的索引文件的信息分配至对应的从节点的索引文件中。8.根据权利要求7所述的方法,其中,根据所述分配范围区间将所述范围类全局索引表的索引文件的信息分配至所述范围类全局索引表对应的从节点的索引文件中,包括:将所述范围类全局索引表的索引列的值与所述记录的分配范围区间进行比较,确定所述索引列的值所在的分配范围区间;根据所述索引列的值所在的分配范围区间,将所述索引列的值对应的BPlusTree结构中叶子节点的键值及位置信息值分配至所述分配范围区间对应的从节点的索引文件。9.根据权利要求6或8所述的方法,其中,将所述待创建索引表中索引列对应的索引文件的信息分配至所述待创建索引表对应的从节点的索引文件中时,还包括:若所述索引文件中已存在所述键值;则将新的位置信息值与旧的位置信息值融合至所述键值对应的叶子节点。10.根据权利要求6或8所述的方法,其中,将所述待创建索引表中索引列对应的索引文件的信息分配至所述待创建索引表对应的从节点的索引文件中时,还包括:若所述索引文件中不存在所述键值,则在所述BPlusTree结构中插入新的叶子节点,将所述键值及位置信息值存储至所述新的叶子节点。11.根据权利要求1所述的方法,其中,将所述数据源中当前数据行生成的数据文件分配至所述数据表对应的从节点之前,还包括:当所述数据源的行数达到预设的数据文件的大小阈值时,则将当前数据行新生成为一个数据文件,将新生成的数据文分配至所述数据表对应的从节点,并更新所述数据文件对应的数据表的元信息。12...
【专利技术属性】
技术研发人员:张常淳,吕程,周立,周翠翠,
申请(专利权)人:星环信息科技上海有限公司,
类型:发明
国别省市:上海,31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。