【技术实现步骤摘要】
本专利技术总体涉及数据库管理领域,并且具体地,本专利技术涉及一种用于优化针对垂直存储式数据库的查询的方法和设备。
技术介绍
已经提出了资源描述框架(RDF:Resources DescriptionFramework)作为一种用于描述元数据(信息)的语言,尤其是用于描述针对万维网页上的资源的元数据。通常,可使用统一资源描述符(URI:Universal Resource Identifier)来标识万维网页上的资源。随着语义网络技术的发展,W3C(万维网联盟)已经推荐将RDF作为一种用于在语义网络应用中的多种资源之间交换信息的标准。图1示出了RDF数据存储表的一个例子。如图1所示,在RDF数据存储结构中,RDF数据通常是三元组,包括主语、谓词(也称为属性)和宾语。例如,在图1所示的存储表中的第二行的三元组表示了这样一个事实,即“SXZ是一个教授”,其中“SXZ”是主语,“typeOf(是)”是谓词,以及“Professor(教授)”是宾语。在图1所示的存储表中的第五行的三元组表示了另一个事实,即“SXZ教课程1”,其中“SXZ”是主语,“Teach(教)”是谓词,以及“Course1(课程1)”是宾语。在当前的RDF中,主语和谓词的值都应该最终解析为统一资源描述符(URI),而宾语的值既可以是统一资源描述符又可以是文字(literal)值,例如数字或者字符串。这种RDF数据存储结构实质上是一种垂直式数据存储结构,即,每个条目只表示一个简单的事实,例如,条目“SXZ是一个教授”,以及条目“SXZ教课程1”。相反,传统的关系数据库是一种水平式数-->据存储结 ...
【技术保护点】
一种用于优化针对垂直存储式数据库的查询的方法,其中所述数据库中的条目被分成若干分区,每个分区具有表示所述分区中的条目的分区签名,该方法包括: 将从用户接收的第一查询分解为多个第一子查询; 按照与产生所述分区签名的方式相对应的方式,为每个第一子查询产生签名; 通过将每个第一子查询的签名分别与所有分区的分区签名进行比较,获得与该第一子查询匹配的所有分区; 基于所述匹配的分区,重写由第一子查询转换而来的第二子查询,以得到重写的第二子查询;以及 组合针对所有第一子查询的重写的第二子查询来形成第二查询,以便利用该第二查询执行对所述数据库的查询。
【技术特征摘要】
1.一种用于优化针对垂直存储式数据库的查询的方法,其中所述数据库中的条目被分成若干分区,每个分区具有表示所述分区中的条目的分区签名,该方法包括:将从用户接收的第一查询分解为多个第一子查询;按照与产生所述分区签名的方式相对应的方式,为每个第一子查询产生签名;通过将每个第一子查询的签名分别与所有分区的分区签名进行比较,获得与该第一子查询匹配的所有分区;基于所述匹配的分区,重写由第一子查询转换而来的第二子查询,以得到重写的第二子查询;以及组合针对所有第一子查询的重写的第二子查询来形成第二查询,以便利用该第二查询执行对所述数据库的查询。2.根据权利要求1所述的方法,其中所述第一查询和第一子查询是SPARQL查询,以及第二子查询和第二查询是SQL查询。3.根据权利要求1所述的方法,其中所述数据库是RDF存储库,所述RDF存储库中的每个条目包含RDF三元组,该RDF存储库包含其值表示RDF三元组主语的主语列、其值表示RDF三元组谓词的谓词列以及其值表示RDF三元组宾语的宾语列,以及其中该RDF存储库还包含其值表示对应的RDF三元组所在分区的唯一标识符列。4.根据权利要求3所述的方法,其中所述RDF存储库中的所有条目被映射为一张表示所有RDF三元组的图,RDF三元组主语被表示为图中的源节点,RDF三元组宾语被表示为图中的宿节点,RDF三元组谓词被表示为从源节点到宿节点的有向连接,以及其中该图被分成若干子图,每个子图对应于一个分区。5.根据权利要求4所述的方法,其中子图内的连接是较密的,跨越子图之间的连接是较稀疏的,以及其中对于跨越子图之间的连接,在相关子图的每一个子图内制作该连接的副本,以使得分割后的子图能够反映所述RDF存储库中的所有数据关系。6.根据权利要求1所述的方法,其中所述分区的签名是通过利用哈希函数为分区中的每个条目生成签名并且对每个条目的签名进行“或”操作得到的。7.根据权利要求1所述的方法,所述分解步骤进一步包括:将所述第一查询映射为一个查询图,以及枚举所述查询图中的2可达子图,其中每个2可达子图对应于一个第一子查询。8.根据权利要求1所述的方法,通过与产生分区的签名相同的哈希函数来产生针对每个第一子查询的签名。9.根据权利要求6或8所述的方法,其中所述哈希函数为MD5哈希函数。10.根据权利要求9所述的方法,其中当在针对第一子查询产生的签名中为1的位置在分区的签名中也都被置1时,则该第一子查询与该分块相匹配。11.根据权利要求1所述的方法,其中如果在所述获得步骤没有得到与该子第一查询匹配的分区,则提前结束查询处理。12.根据权利要求1所述的方法,其中所述分区具有唯一标识符,以及所述重写步骤进一步包括:创建一个临时表,用于存储与该第一子查询相匹配的所有分区的唯一标识符,以及利用与存储有唯一标识符的该临时表相关的附加连接条件,来重写该第二子查询。13.根...
【专利技术属性】
技术研发人员:王晨,闫莺,马力,潘越,
申请(专利权)人:国际商业机器公司,
类型:发明
国别省市:US[美国]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。