CN101436192A - 用于优化针对垂直存储式数据库的查询的方法和设备 - Google Patents
用于优化针对垂直存储式数据库的查询的方法和设备 Download PDFInfo
- Publication number
- CN101436192A CN101436192A CNA2007101927382A CN200710192738A CN101436192A CN 101436192 A CN101436192 A CN 101436192A CN A2007101927382 A CNA2007101927382 A CN A2007101927382A CN 200710192738 A CN200710192738 A CN 200710192738A CN 101436192 A CN101436192 A CN 101436192A
- Authority
- CN
- China
- Prior art keywords
- subregion
- signature
- rdf
- subquery
- tlv triple
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
- G06F16/24534—Query rewriting; Transformation
- G06F16/24535—Query rewriting; Transformation of sub-queries or views
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种用于优化针对垂直存储式数据库的查询的方法和设备。数据库中的条目被分成若干分区,每个分区具有表示所述分区中的条目的分区签名。该方法包括:将从用户接收的第一查询分解为多个第一子查询;按照与产生所述分区签名的方式相对应的方式,为每个第一子查询产生签名;通过将每个第一子查询的签名分别与所有分区的分区签名进行比较,获得与该第一子查询匹配的所有分区;基于所述匹配的分区,重写由第一子查询转换而来的第二子查询,以得到重写的第二子查询;以及组合针对所有第一子查询的重写的第二子查询来形成第二查询,以便利用该第二查询执行对所述数据库的查询。利用本发明,可以极大地提高数据库的查询效率。
Description
技术领域
本发明总体涉及数据库管理领域,并且具体地,本发明涉及一种用于优化针对垂直存储式数据库的查询的方法和设备。
背景技术
已经提出了资源描述框架(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”。相反,传统的关系数据库是一种水平式数据存储结构,即每个条目表示主语的所有关系,例如,条目“SXZ是一个教授,并且教授课程1”。
RDF三元组也可以被表示为一张图,其中主语可以被表示为图中的源节点,表示统一资源描述符的宾语可以被表示为图中的宿节点,以及谓词可以被表示为连接源节点和宿节点的有向连接。当然,主语可以与多个宾语相关联。例如,图1中的三元组可以被表示为如图2所示的有向图。关于RDF的完整描述,可参见Frank Manola和Eric Miller的“RDF primer.W3C recommendation,Feb 2004”,该文件可以通过网址www.w3.org/TR/rdf-primer/获得。在此引入该文件作为参考。
无疑,RDF正在成为语义网络的里程碑。为了在企业的广泛异质数据源之上执行语义查询,需要将现有数据转换成为RDF三元组数据。同时,针对RDF三元组数据,已经开发了例如SPARQL的语义网络查询语言,用以描述用户的查询条件。关于SPARQL的详细描述,可参见E.Prud’hommeaux和A.Seaborne的“SPARQL querylanguage for RDF.W3C candidate recommendation,April 2006”,在此引入该文件作为参考。
经过数十年,已经广泛接受了成熟的关系数据库(RDB:Relational Database)技术来管理各种应用数据。当前,存在两种常规方法来使用成熟的关系数据库技术管理RDF数据。一种方法是使用抽取-转换-装载(ETL:Extract-transform-load)方法将现有数据移植到特定的基于RDB的RDF三元组存储库中,其中用户可以查询和管理按照RDF三元组形式存储的数据。另一种方法是在传统的关系数据库上创建虚拟RDF视图,由此将RDF查询转换成为在传统系统中可执行的结构化查询语言(SQL:Structured Query Language)。本发明关注于第一种方式,即管理和优化在关系数据库上建立的RDF三元组存储库中的RDF数据。
根据基于RDB的RDF三元组存储库的存储设计,可以进一步将三元组存储库划分成为3个类型:即:1)通用RDF三元组存储库,2)改进的RDF三元组存储库;3)水平/二元表存储库。
对于通用RDF三元组存储库,直接以具有主语、谓词和宾语三个列的通用表存储三元组,其中创建多个组合索引来改进其查询性能。例如,Oracle 10gR2空间数据库和Jana2,两者都采用了典型的通用三元组存储。
相对于通用三元组存储库,改进的三元组存储库可以管理更富于表达的RDFS(RDF Schema)/OWL(Web本体语言)及其相应的实例。类似于RDF,W3C建议RDFS和OWL支持本体表示。通过扩展RDF,RDFS提供定义域/范围的基本设施和类继承的能力。OWL允许定义更丰富的属性和关系,并相对于RDFS提供更多的约束。除了三元组表,改进的三元组存储还提供附加的方案(schema),例如“类/属性表”以及“someValueFrom/allValueFrom表”,来保持富于表达的RDFS/OWL本体,相应地,可将存储在三元组表中的实例移植到RDFS/OWL本体中。考虑这些附加表以进一步促进RDF数据上的本体的推理。改进的RDF三元组存储的特定例子包括:IBMWebify、IBM SOR以及MySQL上的Sesame。
不同于上述这两类三元组存储库,水平/二元表存储库将RDF数据分成多个水平/二元表,其中谓词可以看作为表名,而每个列分别是三元组的主语和宾语。代表性例子是DLDB-OWL和PosteGre上的Sesame。水平/二元表存储库的方案总是与存储的本体模型一致。一旦本体变化,则方案必须相应地改变。这是代价昂贵的。因而,关于RDF存储库的多数研究兴趣已经转移到三元组存储库。本发明适合于通用三元组存储库和改进三元组存储库两者。
当前,在三元组存储库上已经实现了许多优化以改进查询性能。例如,为了节省空间开销,大多数三元组存储库在内部给URI和文字值赋予唯一ID(唯一标识符),并且将其单独存储在一个映射表中,其中将从三元组表中进一步参考该映射表。为了提高在文字值上建立的索引有效性,某些三元组存储库将文字值映射表物理地划分成为具有不同数据类型的多个表。为了使查询范围变窄,某些三元组存储库区分关系谓词和数据类型谓词,并且在不同的表中保存它们。此外,利用在IBM DB2中支持的例如多维集群(MDC:Multi-Dimensional Clustering)表的某些特定数据库特征,某些三元组存储库根据它们的谓词将三元组本地化,这有助于对满足查询条件的三元组进行快速定位和高速缓存。
尽管在三元组存储库中已经使用了许多优化,但是查询性能都不甚理想。为此,本领域特别需要一种能够提高针对垂直存储式数据库的查询性能的方案。
发明内容
本发明的目的在于提供一种用于优化针对垂直存储式数据库的查询的方法和设备,其可以针对垂直存储式数据库结构的查询进行优化,以实现更高的查询效率。
根据本发明的一方面,提供一种用于优化针对垂直存储式数据库的查询的方法。所述数据库中的条目可以被分成若干分区,每个分区具有表示所述分区中的条目的分区签名。该方法可以包括:将从用户接收的第一查询分解为多个第一子查询;按照与产生所述分区签名的方式相对应的方式,为每个第一子查询产生签名;通过将每个第一子查询的签名分别与所有分区的分区签名进行比较,获得与该第一子查询匹配的所有分区;基于所述匹配的分区,重写由第一子查询转换而来的第二子查询,以得到重写的第二子查询;以及组合针对所有第一子查询的重写的第二子查询来形成第二查询,以便利用该第二查询执行对所述数据库的查询。
根据本发明的另一方面,提供一种用于处理垂直存储式数据库的方法。该方法可以包括:将该数据库中的所有条目分割成若干分区,为每个分区赋予唯一标识符,以及为每个分区生成签名。
根据本发明的另一方面,提供一种用于优化针对垂直存储式数据库的查询的设备。所述数据库中的条目被分成若干分区,每个分区具有表示所述分区中的条目的分区签名。该设备可以包括:分解装置,用于将从用户接收的第一查询分解为多个第一子查询;查询签名产生装置,用于按照与产生所述分区签名的方式相对应的方式,为每个第一子查询产生签名;分区获得装置,用于通过将每个第一子查询的签名分别与所有分区的分区签名进行比较,获得与该第一子查询匹配的所有分区;查询重写装置,用于基于所述匹配的分区,重写由第一子查询转换而来的第二子查询,以得到重写的第二子查询;以及查询组合装置,用于组合针对所有第一子查询的重写的第二子查询来形成第二查询,以便利用该第二查询执行对所述数据库的查询。
根据本发明的另一方面,提供一种用于处理垂直存储式数据库的设备。该设备可以包括:分割装置,用于将该数据库中的条目分成若干分区;分配装置,用于为每个分区分配唯一标识符;以及分区签名生成装置,用于为每个分区生成签名
附图说明
参考以下结合附图的详细说明,本发明的特征、优点以及其它方面将变得更加明显,在附图中:
图1是现有技术的RDF三元组存储表的示意图;
图2是现有技术的RDF三元组映射图的示意图;
图3是根据本发明的对RDF三元组进行图划分的示意图;
图4是根据本发明的RDF数据存储表的示意图;
图5示出了使用布隆过滤器(Bloom Filter)方法创建签名的例子;
图6示出了使用布隆过滤器方法测试成员资格的例子;
图7示出了使用相应参数的假阳性概率;
图8示出了根据URI的划分来创建签名的例子;
图9示出了根据本发明的用于处理垂直存储式数据库的设备的示意图;
图10示出了根据本发明的用于处理垂直存储式数据库的方法的流程的示意图;
图11示出了根据本发明的用于优化针对垂直存储式数据库的查询的设备的示意图;
图12示出了根据本发明的用于优化针对垂直存储式数据库的查询的方法的流程的示意图;以及
图13示出了其中可以应用本发明的计算机系统的示意图。
具体实施方式
本发明的基本原理在于,对传统的垂直存储式数据库进行分区,然后仅仅在相关的分区上执行查询,从而可以提高查询效率。
为了描述起见,在以下本发明的实施方式的描述中,以RDF三元组存储结构作为垂直存储式数据库结构的例子。然而,本领域技术人员应该理解,本发明并不局限于RDF三元组存储结构,本发明可适用于其他垂直存储式数据库结构,例如电子商务数据库中所应用的数据存储结构。
另外,在以下的描述中,将SPARQL查询作为从用户接收的第一查询的一个例子。应当理解,从用户接收的第一查询并不局限于SPARQL查询,而可以是任何其他合适的查询。
数据准备过程
下面首先详细描述本发明的数据准备过程。根据本发明,首先将RDF存储库中的三元组划分成为若干分区,并且对各个分区创建签名。
在根据本发明的一个实施方式中,使用图划分技术来将RDF存储库中的三元组划分成为若干分区,其中划分的原则是:在分区内连接是较密的,而在分区之间连接是较稀疏的,并且对跨越分区的连接分别在相应的分区中进行备份。
图划分技术是用于将一张图划分为若干分区(子图)的传统技术,其在并行计算和VLSI设计领域中经常使用,在此对其不作赘述。目前,最常用的图划分技术例如是METIS图划分工具。应该理解,除了METIS图划分工具之外,本发明也可以采用任何其他图划分工具。
具体地,如图3所示,可以首先将RDF存储库中的三元组映射成一张图。RDF三元组主语可以被表示为图中的源节点,RDF三元组宾语可以被表示为图中的宿节点,以及RDF谓词可以被表示为从源节点到宿节点的有向连接。然后,利用例如METIS的常用图划分工具,对所形成的图任意进行划分,以形成若干子图,其中每个子图对应于一个分区。为了保证数据关系的完整性,针对跨越分区之间的连接,可以在每个相关分区内制作与该连接对应的三元组的副本。
根据本发明的一个实施方式,可以对所形成的图进行划分,使得分区内的连接是较密,而分区之间的连接是较稀疏的。同时,针对跨越分区之间的连接,可以在每个相关分区内制作与该连接对应的三元组的副本,以保持分区后数据关系的完整性。
传统地,RDF数据存储在三元组表中,其中该三元组表包括:其值为RDF三元组主语的RDF主语列、其值为RDF三元组谓词的RDF谓词列、以及其值为RDF三元组宾语的宾语列。在本发明中,为每个分区分配一个标识该分区的唯一标识符。为了保持分区的标识符,进一步在三元组表中添加一个新的列,即其值表示对应的RDF三元组所在分区的唯一标识符列。这样,三元组表{主语、谓词、宾语}变成{主语、谓词、宾语、所在分区的标识符}的四元形式。图4示出根据本发明进行分区后的RDF数据存储表。
进一步,在本发明中,还针对各个分区创建签名(signature)。签名最初起源于文本检索和对象检索。其优点是有助于通过过滤“指纹”来极大地缩小搜索空间,并且在相对较小的数据集中执行精确查询。
在本发明的一个实施方式中,使用布隆过滤器的经典方法来为各个分区生成签名。布隆过滤器方法可以用以针对对象集创建位矢量(Bit Vector),并且测试其成员资格。例如,当用户希望将x元素插入对应于集合S的过滤器中时,需要利用k个独立的哈希函数来得到k个数字或者k项,然后将位矢量中的相应元素设置为1。图5示出了使用布隆过滤器(Bloom Filter)方法创建签名的例子,其中使用了4个哈希函数。
类似地,当用户希望针对集合S内部的元素y来测试成员资格时,还应利用相同的k个哈希函数来获得k项,然后测试所有k个相应项在集合S的位矢量中是否都是1。如果是,则y可能是集合S的成员并且进一步使用精确查询来验证。图6示出了使用布隆过滤器方法测试成员资格的例子,其中也使用了三个相同的哈希函数。
布隆过滤器方法是创建签名的有用方式,其中理论上存在假阳性(false positives)。图7示出了使用相应参数的假阳性概率。请注意:k是使用的哈希函数的数目,n是在RDF数据中特定划分的URI的数目,而m是位矢量的长度。在实验中,选择k=4以及m/n=5作为默认参数。从图7中可以看出,此时假阳性概率为9.2%。
为了确保哈希函数的独立性,可以采用著名的密码学消息摘要算法(MD5方法)来针对各个数据库的每项中的URI生成哈希值。应当注意,本发明也可以使用其他算法来针对各个URI生成哈希值。
图8示出了根据URI的划分来创建签名的例子。在此例子中,使用了2个哈希函数将每个URI哈希转换成为2项。接着,针对每个三元组,对位矢量执行或(OR)操作,以得到每个三元组的签名。同时进一步来对分区内所有三元组的签名矢量进行OR操作,以得到该分区的签名。
例如,在图8的下面的表中的第一行表示:主语“dc:me”的哈希值为从右向左第2和5位被置“1”的签名矢量,谓词“rdf:type”的哈希值为第6和8位被置“1”的签名矢量,以及宾语“dc:persion”的哈希值为第1和2位被置“1”的签名矢量。然后,对三元组中每个元数据的签名执行OR操作,就得到了第一行的三元组的签名矢量“10110011”。依次类推,可以得到该分区中所有三元组的签名矢量。最后,对该分区中所有三元组的签名矢量执行OR操作,就得到了该分区的签名值。
应该理解,本发明可以采用各种为分区产生签名的机制,只要所产生的签名能够反映分区所包括的三元组即可。
下面,结合图9将详细描述根据本发明的用于处理垂直存储式数据库的设备。
如图9所示,根据本发明的用于处理垂直存储式数据库的设备10可以包括:分割装置101,用于将该数据库中的条目分割成若干分区;分配装置102,用于为每个分区分配唯一标识符;以及分区签名生成装置103,用于为每个分区生成签名。
下面结合图10的流程图,对根据本发明的用于处理垂直存储式数据库11的设备10中的各个部件的操作进行详细描述。图10描述了根据本发明的用于处理垂直存储式数据库的方法的流程。
如图10所示,首先,在步骤S201中,分割装置101可以将RDF数据库中的所有条目分割成若干分区。具体地,分割装置101将所述RDF存储库11中的所有条目映射为一张表示所有RDF三元组的图,其中RDF三元组的主语可以被表示为图中的源节点,RDF三元组的宾语可以被表示为图中的宿节点,RDF三元组的谓词可以被表示为从源节点到宿节点的有向连接。然后,分割装置101采用如上所述的图划分方法来该图分割成若干子图,每个子图对应于一个分区。
在本发明的一个实施方式中,该图被划分为若干子图,使得子图内的连接是较密的,跨越子图之间的连接是较稀疏的,以及其中对于跨越子图之间的连接,在每一个相关子图内制作该连接的副本,以使得分割后的子图能够反映所述RDF存储库中的所有数据关系。
然后,在步骤S202处,分配装置102为每个分区赋予唯一标识符,例如图4中所示的分区标识符1、2、3。
接下来,在步骤S203处,分区签名生成装置103按照如上所述的创建签名的方法为每个分区生成签名。
这样,就可以得到如图8所示结构的RDF存储库。该RDF存储库可以包含其值表示RDF主语的主语列、其值表示RDF谓词的谓词列、其值表示RDF宾语的宾语列、以及其值表示对应的RDF三元组所在分区的唯一标识符列。另外,可以得到每个三元组以及每个分区的签名。
根据本发明,当有新的RDF三元组加入RDF存储库时,可以得到新的三元组所在的分区,并且为所在分区生成新的签名。根据本发明,可以将分区标识符及该分区的签名值相关联地存储在一个映射表中。优选地,该映射表可以置于内存中,以提高查询效率。
在三元组表和相关签名的位中通过添加、更新和删除响应的记录,可以很容易地对数据库进行维护。例如,当将三元组添加到RDF存储库之中时,首先检查三元组的主语和宾语定位在哪个分区,并且由此将具有相应划分标识的记录序列插入三元组表之中。最后,通过将位设置为1来更新这些分区的签名,所述位的定位由所插入三元组的URI的哈希函数进行计算。
查询优化过程
下面描述根据本发明的数据库查询优化过程。图11示出了根据本发明的用于优化针对垂直存储式数据库11的查询的设备12的示意图。
如图11所示,根据本发明的用于优化针对垂直存储式数据库11的查询的设备12可以包括:分解装置131,用于将用户接收的SPARQL查询分解为多个子SPARQL查询;查询签名产生装置132,用于按照与上述产生分区签名的方式相对应的方式,为每个子SPARQL查询产生签名;分区获得装置133,用于通过将每个子SPARQL查询的签名分别与所有分区的签名进行比较,来获得与该子SPARQL查询匹配的所有分区;查询重写装置134,用于基于匹配的分区,重写由该子SPARQL查询转换而来的子SQL查询,以得到重写后的子SQL查询;以及查询组合装置135,用于组合针对所有子SPARQL查询的重写后的子SQL查询来形成重写后的SQL查询,以便利用该重写后的SOL查询执行对数据库11的查询。
下面结合图12对根据本发明的用于优化针对垂直存储式数据库的查询的设备12中的各个部件的操作以详细描述。
在步骤S301处,分解装置131将用户接收的SPARQL查询分解为多个子SPARQL查询。具体地,将所述SPARQL查询映射为查询图,并且枚举所述查询图中的2可达子图,其中每个2可达子图对应于一个子SPARQL查询。这里,2可达图是这样的图,其中任何顶点是由至多2个连接或者边可达的。具体地,在分区签名中,根据匹配的分区的数目,需要从查询图中递归地找到具有最高选择性的2可达子图,直到图中所有查询节点都被包含在各2可达子图中为止。
接下来,在步骤S302处,判断子查询是否已经被完全处理。如果所有的子查询已经被完全处理,则进行到步骤S311。如果还有没处理的子查询,则进行到步骤S303。
在步骤S303处,查询签名产生装置132为每个子SPARQL查询产生签名。在此,按照与产生所述分区签名的方式相对应的方式,为每个子SPARQL查询产生签名。例如,通过与产生分区的签名相同的哈希函数来产生针对每个子SPARQL查询的签名。
在步骤S304处,分区获得装置133通过将每个子SPARQL查询的签名分别与所有分区的签名进行比较,来获得与该子SPARQL查询匹配的所有分区。具体地,例如,当在针对子SPARQL查询产生的签名向量中为1的位置上,分区的签名向量中对应位置也都置1时,则该子SPARQL查询与该分区相匹配。假设,针对子SPARQL查询产生的签名向量为10010001,而图8中所示的分区的签名为10111011,由于子SPARQL查询的签名中的三个“1”的位置在上述分区的签名中也对应为“1”,因此可以判断该子SPARQL查询与上述分区相匹配。
在步骤S305处,判断在步骤S304处是否得到与该子SPARQL查询匹配的分区。如果在步骤S304处没有得到与该第一子查询匹配的分区,则提前结束查询处理。也就是,在本发明中,如果判断没有与该子SPARQL查询对应的分区,则可以直接提早结束查询,而不需要等到执行查询后才知道没有与用户查询相匹配的数据。如果判断在步骤S304处得到与该子SPARQL查询匹配的分区,则处理进行到步骤S306。
在步骤S306处,调用三元组存储库的SPARQL转换器,将子SPARQL查询转换为子SOL查询。然后处理前进到步骤S307。
在步骤S307处,判断匹配的分区的数量是否小于预定数,例如,小于总分区的1%。如果判断匹配的分区的数量小于预定数,则处理前进到步骤S308。如果判断匹配的分区的数量大于预定数,则处理前进到步骤S309。
在步骤S308处,查询重写装置134重写由子SPARQL查询转换而来的子SOL查询,以得到重写后的子SOL查询。具体地,利用关于与该子查询匹配的分区的附加限制来重写子SOL查询,以形成重写后的子SOL查询。例如,直接将它们写入在划分标识符上具有约束的where子句之中。然后处理返回到步骤S302,以对下一个子SPARQL查询进行处理。
在步骤S309处,可以创建一个临时表,用于存储与该子SPARQL查询相匹配的所有分区的唯一标识符,然后,处理前进到步骤S310。
在步骤S310处,查询重写装置134可以利用与存储有唯一标识符的该临时表相关的附加连接条件,以形成重写后的子SQL查询。具体地,将包括匹配分区唯一标识符的临时表与该子查询相连接(join),以形成重写后的子SQL查询。然后,处理返回到步骤S302,以对下一个子SPARQL查询进行处理。连接操作(join)是本领域公知的操作,在此不作过多赘述。
最后,在步骤S311处,查询组合装置135组合针对所有子SPARQL查询的多个重写后的子SQL查询,来形成重写后的SQL查询,以便利用该重写后的SQL查询执行对数据库11的查询。
下面是根据本发明的优化过程的一个例子。例如,用户发送如下的查询:
通常,使用传统的RDF至SQL的转换方法将该查询将转换成为以下SQL:
通过本发明的优化方法和设备,可以将其进一步优化成为以下SQL:
上述代码中下划线部分代表优化后增加的代码。然后利用优化的代码对数据库执行查询。
与现有技术相比,由于本发明仅仅在与子查询相匹配的分区进行查找,所以可以提高查询效率。
另外,与现有技术相比,当不存在与子查询相匹配的分区时,本发明可以提前结束查询,而不需要在数据库执行查询之后才知道没有相匹配的查询数据。因此,可以大幅度提高查询效率。
图13示出了其中可以应用本发明的计算机系统100的示意图。参考图13,计算机系统100是计算机系统的一个适当的实现,并且包括根据本发明的优化设备。计算机系统100可以是IBM e Server System i计算机系统。但是,本领域的技术人员可以理解,本发明可以同样地用于任意计算机系统,无论计算机系统是复杂的多用户计算机装置、单用户工作站、嵌入式控制系统,还是或大型并行计算机系统,如IBM开发的BlueGene计算机系统。
如图13所示,计算机系统100包括一个或多个处理器110、主存储器120、大型数据库接口130、显示器接口140以及多个网络接口150A、150B和150N。这些系统组件通过使用系统总线160互连。大型数据库接口130用于将大型数据库155连接到计算机系统100。图13中的数据库对应于图11的数据库11。
主存储器120优选地包含数据121、操作系统122、和根据本发明的数据库处理设备123和查询优化设备124。数据121代表任何作为计算机系统100中任何程序的输入或输出的数据。操作系统122可以是任何合合适的操作系统。数据库处理设备123和查询优化设备124分别执行图10和图12的操作流程。
虽然数据121、操作系统122、数据库处理设备123和查询优化设备124在图中所示为位于主存储器120中,本领域的普通技术人员将可以认识到,这些项目并非必需地同时完全包含于主存储器120中。
处理器110可以由一个或多个微处理器和/或集成电路构成。处理器110执行存储于主存储器120中的程序指令。主存储器120存储处理器110可访问的程序和数据。当计算机系统100启动时,处理器110最初执行构成操作系统122的程序指令。
尽管所示的计算机系统100只包括一个处理器和一个系统总线,本领域的普遍技术人员将可以理解,可以使用具有多个处理器和/或多个总线的计算机系统来实施。
显示器接口140用于直接地将一个或多个显示器165连接到计算机系统100。这些显示器165可以是非智能的(即哑的)终端或者完全可编程的工作站,其用于向系统管理员和用户提供与计算机系统100通信的能力。然而,请注意,虽然提供显示器接口140以支持与一个或多个显示器165的通信,计算机系统并非必需地需要显示器165,因为所有所需的与用户的交互以及其它处理可以通过一个或多个网络接口实现。
图13中示为150A,150B,...,150N的网络接口用于通过独立网络(例如170A,170B,...,170N)将计算机系统100连接到其它计算机系统或工作站,在此示为节点175A,175B,...,175N)。网络接口150A,150B,...,150N和网络170A,170B,...,170N广义地代表互连电子设备的任何适当的方式,而无论所述网络是否包括当前模拟和/或数字技术或通过未来的某些联网机制。另外,可使用很多不同网络协议实现网络。这些协议是专门的计算机程序,其允许计算机通过网络进行通信。TCP/IP(传输控制协议/网际协议)是适当的网络协议的一个例子。
在此应重点注意,上文描述是完全功能性的计算机系统环境下的情况,本领域技术人员应该认识到,也可以在供任何合适数据处理系统使用的信号承载介质上所设置的计算机程序产品中体现本发明。这种信号承载介质可以是传输介质或用于机器可读信息的可记录介质,包括磁介质、光介质或其它合适介质。可记录介质的例子包括:硬盘驱动器中的磁盘或软盘、用于光驱的光盘、磁带,以及本领域技术人员所能想到的其它介质。本领域技术人员应该认识到,具有合适编程装置的任何通信终端都将能够执行如程序产品中体现的本发明方法的步骤。
从上述描述应该理解,在不脱离本发明精神的情况下,可以对本发明各实施方式进行修改和变更。本说明书中的描述仅仅是用于说明性的,而不应被认为是限制性的。本发明的范围仅受权利要求书的限制。
Claims (21)
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.根据权利要求1所述的方法,其中所述分区具有唯一标识符,以及其中,
当与该第一子查询相匹配的分区的数量大于预定数值时,所述重写步骤包括:
创建一个临时表,用于存储与该第一子查询相匹配的所有分区的唯一标识符,以及
利用与存储有唯一标识符的该临时表相关的附加连接条件,来重写该第二子查询,
当与该第一子查询相匹配的分区的数量小于预定数值时,所述重写步骤包括:
利用关于与该子查询匹配的分区的附加限制,来重写该第二子查询。
14.一种用于处理垂直存储式数据库的方法,该方法包括:
将该数据库中的所有条目分割成若干分区,
为每个分区赋予唯一标识符,以及
为每个分区生成签名。
15.根据权利要求14所述的方法,其中所述数据库是RDF存储库,所述RDF存储库中的每个条目包含RDF三元组,该RDF存储库包含其值表示RDF三元组主语的主语列、其值表示RDF三元组谓词的谓词列以及其值表示RDF三元组宾语的宾语列,以及其中该RDF存储库还包含其值表示对应的RDF三元组所在分区的唯一标识符列。
16.根据权利要求15所述的方法,其中所述分割步骤包括:
将所述RDF存储库中的所有条目映射为一张表示所有RDF三元组的图,其中RDF三元组主语被表示为图中的源节点,RDF三元组宾语被表示为图中的宿节点,RDF三元组谓词被表示为从源节点到宿节点的有向连接,以及
将该图分割成若干子图,每个子图对应于一个分区。
17.根据权利要求16所述的方法,其中子图内的连接是较密的,跨越子图之间的连接是较稀疏的,以及其中对于跨越子图之间的连接,在相关子图的每一个内制作该连接的副本,以使得分割后的子图能够反映所述RDF存储库中的所有数据关系。
18.根据权利要求14所述的方法,其中所述分区的签名是通过利用哈希函数为分区中的每个条目生成签名并且对每个条目的签名进行“或”操作来得到的。
19.根据权利要求18所述的方法,其中所述哈希函数为MD5哈希函数。
20.一种用于优化针对垂直存储式数据库的查询的设备,其中所述数据库中的条目被分成若干分区,每个分区具有表示所述分区中的条目的分区签名,该设备包括:
分解装置,用于将从用户接收的第一查询分解为多个第一子查询;
查询签名产生装置,用于按照与产生所述分区签名的方式相对应的方式,为每个第一子查询产生签名;
分区获得装置,用于通过将每个第一子查询的签名分别与所有分区的分区签名进行比较,获得与该第一子查询匹配的所有分区;
查询重写装置,用于基于所述匹配的分区,重写由第一子查询转换而来的第二子查询,以得到重写的第二子查询;以及
查询组合装置,用于组合针对所有第一子查询的重写的第二子查询来形成第二查询,以便利用该第二查询执行对所述数据库的查询。
21.一种用于处理垂直存储式数据库的设备,该设备包括:
分割装置,用于将该数据库中的条目分成若干分区;
分配装置,用于为每个分区分配唯一标识符;以及
分区签名生成装置,用于为每个分区生成签名。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101927382A CN101436192B (zh) | 2007-11-16 | 2007-11-16 | 用于优化针对垂直存储式数据库的查询的方法和设备 |
US12/271,038 US7987179B2 (en) | 2007-11-16 | 2008-11-14 | Method and apparatus for optimizing queries over vertically stored database |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101927382A CN101436192B (zh) | 2007-11-16 | 2007-11-16 | 用于优化针对垂直存储式数据库的查询的方法和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101436192A true CN101436192A (zh) | 2009-05-20 |
CN101436192B CN101436192B (zh) | 2011-03-16 |
Family
ID=40643015
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007101927382A Expired - Fee Related CN101436192B (zh) | 2007-11-16 | 2007-11-16 | 用于优化针对垂直存储式数据库的查询的方法和设备 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7987179B2 (zh) |
CN (1) | CN101436192B (zh) |
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102479255A (zh) * | 2010-11-19 | 2012-05-30 | 国际商业机器公司 | 用于优化数据库查询的方法和系统 |
CN102541884A (zh) * | 2010-12-10 | 2012-07-04 | 中国移动通信集团贵州有限公司 | 数据库优化方法和装置 |
CN102722542A (zh) * | 2012-05-23 | 2012-10-10 | 无锡成电科大科技发展有限公司 | 一种资源描述框架图模式匹配方法 |
CN103262062A (zh) * | 2010-12-03 | 2013-08-21 | 惠普发展公司,有限责任合伙企业 | 用于执行嵌套连接操作的系统和方法 |
CN103390066A (zh) * | 2013-08-08 | 2013-11-13 | 上海新炬网络技术有限公司 | 一种数据库全局性自动化优化预警装置及其处理方法 |
CN103425734A (zh) * | 2012-02-23 | 2013-12-04 | 富士通株式会社 | 用于存储编码三元组的数据库控制器、方法及系统 |
CN103729379A (zh) * | 2012-10-16 | 2014-04-16 | 阿里巴巴集团控股有限公司 | 结构化查询语言程序的计算方法、调整方法和服务器 |
CN104111924A (zh) * | 2013-04-16 | 2014-10-22 | 中国移动通信集团广东有限公司 | 一种数据库系统 |
CN105224536A (zh) * | 2014-05-29 | 2016-01-06 | 国际商业机器公司 | 划分数据库的方法和装置 |
CN105630789A (zh) * | 2014-10-28 | 2016-06-01 | 华为技术有限公司 | 一种查询计划转化方法及装置 |
CN105975617A (zh) * | 2016-05-20 | 2016-09-28 | 北京京东尚科信息技术有限公司 | 一种多分区表查询处理的方法和装置 |
CN106294573A (zh) * | 2016-07-28 | 2017-01-04 | Tcl集团股份有限公司 | 一种海量数据实时查询方法及系统 |
CN107451204A (zh) * | 2017-07-10 | 2017-12-08 | 阿里巴巴集团控股有限公司 | 一种数据查询方法、装置及设备 |
WO2019085778A1 (zh) * | 2017-11-02 | 2019-05-09 | 阿里巴巴集团控股有限公司 | 确定数据库中有效分区的方法、装置和系统 |
CN110134335A (zh) * | 2019-05-10 | 2019-08-16 | 天津大学深圳研究院 | 一种基于键值对的rdf数据管理方法、装置及存储介质 |
CN110222110A (zh) * | 2019-06-13 | 2019-09-10 | 中国农业科学院农业信息研究所 | 一种基于etl工具的资源描述框架数据转换存储一体化方法 |
CN111339334A (zh) * | 2020-02-11 | 2020-06-26 | 支付宝(杭州)信息技术有限公司 | 异构图数据库的数据查询方法及其系统 |
CN111581237A (zh) * | 2019-02-15 | 2020-08-25 | 阿里巴巴集团控股有限公司 | 数据查询方法、装置、系统及电子设备 |
WO2021044246A1 (en) * | 2019-09-03 | 2021-03-11 | International Business Machines Corporation | Resolving queries using structured and unstructured data |
CN112823332A (zh) * | 2018-10-10 | 2021-05-18 | N3有限责任公司 | 语义行业术语 |
CN113297266A (zh) * | 2020-07-08 | 2021-08-24 | 阿里巴巴集团控股有限公司 | 数据处理方法、装置、设备及计算机存储介质 |
WO2024055153A1 (en) * | 2022-09-13 | 2024-03-21 | Paypal, Inc. | Dual write and dual read access to graph databases |
Families Citing this family (115)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8285748B2 (en) * | 2008-05-28 | 2012-10-09 | Oracle International Corporation | Proactive information security management |
US8078646B2 (en) | 2008-08-08 | 2011-12-13 | Oracle International Corporation | Representing and manipulating RDF data in a relational database management system |
US9361347B2 (en) * | 2008-12-31 | 2016-06-07 | Nokia Technologies Oy | Method, apparatus, and computer program product for determining data signatures in a dynamic distributed device network |
US8214350B1 (en) * | 2009-01-02 | 2012-07-03 | Google Inc. | Pre-computed impression lists |
US20100241644A1 (en) * | 2009-03-19 | 2010-09-23 | Microsoft Corporation | Graph queries of information in relational database |
US8533181B2 (en) * | 2009-04-29 | 2013-09-10 | Oracle International Corporation | Partition pruning via query rewrite |
US8458229B2 (en) * | 2009-10-21 | 2013-06-04 | Nokia Corporation | Method and system for projecting and injecting information spaces |
US9665620B2 (en) | 2010-01-15 | 2017-05-30 | Ab Initio Technology Llc | Managing data queries |
US8359316B2 (en) * | 2010-03-01 | 2013-01-22 | International Business Machines Corporation | Database table look-up |
US20120066205A1 (en) * | 2010-03-14 | 2012-03-15 | Intellidimension, Inc. | Query Compilation Optimization System and Method |
US8458191B2 (en) | 2010-03-15 | 2013-06-04 | International Business Machines Corporation | Method and system to store RDF data in a relational store |
US9495427B2 (en) | 2010-06-04 | 2016-11-15 | Yale University | Processing of data using a database system in communication with a data processing framework |
US8886631B2 (en) | 2010-06-04 | 2014-11-11 | Yale University | Query execution systems and methods |
US8935232B2 (en) | 2010-06-04 | 2015-01-13 | Yale University | Query execution systems and methods |
US8983990B2 (en) | 2010-08-17 | 2015-03-17 | International Business Machines Corporation | Enforcing query policies over resource description framework data |
US9396283B2 (en) | 2010-10-22 | 2016-07-19 | Daniel Paul Miranker | System for accessing a relational database using semantic queries |
CN102456024A (zh) * | 2010-10-26 | 2012-05-16 | 深圳市金蝶友商电子商务服务有限公司 | 异步处理大数据量新增的方法及装置 |
US9116955B2 (en) | 2011-05-02 | 2015-08-25 | Ab Initio Technology Llc | Managing data queries |
US8756246B2 (en) * | 2011-05-26 | 2014-06-17 | Oracle International Corporation | Method and system for caching lexical mappings for RDF data |
US8874935B2 (en) * | 2011-08-30 | 2014-10-28 | Microsoft Corporation | Sector map-based rapid data encryption policy compliance |
US8689279B2 (en) | 2011-08-30 | 2014-04-01 | Microsoft Corporation | Encrypted chunk-based rapid data encryption policy compliance |
JP5844824B2 (ja) * | 2012-01-25 | 2016-01-20 | 株式会社日立製作所 | Sparqlクエリ最適化方法 |
US8918434B2 (en) | 2012-04-24 | 2014-12-23 | International Business Machines Corporation | Optimizing sparse schema-less data in relational stores |
US9715560B2 (en) | 2012-04-24 | 2017-07-25 | International Business Machines Corporation | Optimizing sparse schema-less data in data stores |
US9183254B1 (en) * | 2012-05-04 | 2015-11-10 | Paraccel Llc | Optimizing database queries using subquery composition |
US8533182B1 (en) * | 2012-05-31 | 2013-09-10 | David P. Charboneau | Apparatuses, systems, and methods for efficient graph pattern matching and querying |
CN102799628B (zh) * | 2012-06-21 | 2015-10-07 | 新浪网技术(中国)有限公司 | 在key-value数据库中进行数据分区的方法和装置 |
US10552406B2 (en) | 2012-07-17 | 2020-02-04 | International Business Machines Corporation | Maintaining object and query result consistency in a triplestore database |
US8983993B2 (en) * | 2012-12-18 | 2015-03-17 | Sap Se | Data warehouse queries using SPARQL |
US9639577B1 (en) * | 2013-03-27 | 2017-05-02 | Symantec Corporation | Systems and methods for determining membership of an element within a set using a minimum of resources |
US9798772B2 (en) | 2013-04-12 | 2017-10-24 | Oracle International Corporation | Using persistent data samples and query-time statistics for query optimization |
US20140344570A1 (en) | 2013-05-20 | 2014-11-20 | Microsoft Corporation | Data Protection For Organizations On Computing Devices |
CN104298687B (zh) * | 2013-07-18 | 2018-04-03 | 阿里巴巴集团控股有限公司 | 一种哈希分区管理方法及装置 |
US9323864B2 (en) * | 2013-08-14 | 2016-04-26 | International Business Machines Corporation | Method and apparatus for identifying the optimal schema to store graph data in a relational store |
US9323825B2 (en) * | 2013-08-14 | 2016-04-26 | International Business Machines Corporation | Method and apparatus for storing sparse graph data as multi-dimensional cluster |
US9218169B2 (en) * | 2013-11-19 | 2015-12-22 | Google Inc. | Callpath finder |
WO2015085291A1 (en) | 2013-12-06 | 2015-06-11 | Ab Initio Technology Llc | Source code translation |
US10615967B2 (en) | 2014-03-20 | 2020-04-07 | Microsoft Technology Licensing, Llc | Rapid data protection for storage devices |
CN105138526B (zh) * | 2014-05-30 | 2019-02-22 | 国际商业机器公司 | 用于为关系型数据库自动生成语义映射的方法和系统 |
CN104199881B (zh) * | 2014-08-21 | 2018-07-06 | 广州华多网络科技有限公司 | 数据库集群、数据查询方法、数据同步方法和装置 |
US9690792B2 (en) * | 2014-08-26 | 2017-06-27 | International Business Machines Corporation | Access control for unprotected data storage system endpoints |
US9825945B2 (en) | 2014-09-09 | 2017-11-21 | Microsoft Technology Licensing, Llc | Preserving data protection with policy |
US9853812B2 (en) | 2014-09-17 | 2017-12-26 | Microsoft Technology Licensing, Llc | Secure key management for roaming protected content |
US9703830B2 (en) * | 2014-10-09 | 2017-07-11 | International Business Machines Corporation | Translation of a SPARQL query to a SQL query |
US9900295B2 (en) | 2014-11-05 | 2018-02-20 | Microsoft Technology Licensing, Llc | Roaming content wipe actions across devices |
US10437819B2 (en) | 2014-11-14 | 2019-10-08 | Ab Initio Technology Llc | Processing queries containing a union-type operation |
US10417281B2 (en) | 2015-02-18 | 2019-09-17 | Ab Initio Technology Llc | Querying a data source on a network |
US9853820B2 (en) | 2015-06-30 | 2017-12-26 | Microsoft Technology Licensing, Llc | Intelligent deletion of revoked data |
US10248694B2 (en) | 2015-08-31 | 2019-04-02 | International Business Machines Corporation | Bloom filter utilization for join processing |
US9900325B2 (en) | 2015-10-09 | 2018-02-20 | Microsoft Technology Licensing, Llc | Passive encryption of organization data |
US11256746B2 (en) | 2016-04-25 | 2022-02-22 | Oracle International Corporation | Hash-based efficient secondary indexing for graph data stored in non-relational data stores |
US10853376B2 (en) | 2016-06-19 | 2020-12-01 | Data.World, Inc. | Collaborative dataset consolidation via distributed computer networks |
US11675808B2 (en) | 2016-06-19 | 2023-06-13 | Data.World, Inc. | Dataset analysis and dataset attribute inferencing to form collaborative datasets |
US11334625B2 (en) | 2016-06-19 | 2022-05-17 | Data.World, Inc. | Loading collaborative datasets into data stores for queries via distributed computer networks |
US11941140B2 (en) | 2016-06-19 | 2024-03-26 | Data.World, Inc. | Platform management of integrated access of public and privately-accessible datasets utilizing federated query generation and query schema rewriting optimization |
US10353911B2 (en) | 2016-06-19 | 2019-07-16 | Data.World, Inc. | Computerized tools to discover, form, and analyze dataset interrelations among a system of networked collaborative datasets |
US11042537B2 (en) | 2016-06-19 | 2021-06-22 | Data.World, Inc. | Link-formative auxiliary queries applied at data ingestion to facilitate data operations in a system of networked collaborative datasets |
US11042560B2 (en) | 2016-06-19 | 2021-06-22 | data. world, Inc. | Extended computerized query language syntax for analyzing multiple tabular data arrangements in data-driven collaborative projects |
US11016931B2 (en) | 2016-06-19 | 2021-05-25 | Data.World, Inc. | Data ingestion to generate layered dataset interrelations to form a system of networked collaborative datasets |
US11036697B2 (en) | 2016-06-19 | 2021-06-15 | Data.World, Inc. | Transmuting data associations among data arrangements to facilitate data operations in a system of networked collaborative datasets |
US10438013B2 (en) | 2016-06-19 | 2019-10-08 | Data.World, Inc. | Platform management of integrated access of public and privately-accessible datasets utilizing federated query generation and query schema rewriting optimization |
US11755602B2 (en) | 2016-06-19 | 2023-09-12 | Data.World, Inc. | Correlating parallelized data from disparate data sources to aggregate graph data portions to predictively identify entity data |
US10324925B2 (en) | 2016-06-19 | 2019-06-18 | Data.World, Inc. | Query generation for collaborative datasets |
US10691710B2 (en) | 2016-06-19 | 2020-06-23 | Data.World, Inc. | Interactive interfaces as computerized tools to present summarization data of dataset attributes for collaborative datasets |
US11023104B2 (en) | 2016-06-19 | 2021-06-01 | data.world,Inc. | Interactive interfaces as computerized tools to present summarization data of dataset attributes for collaborative datasets |
US10452677B2 (en) | 2016-06-19 | 2019-10-22 | Data.World, Inc. | Dataset analysis and dataset attribute inferencing to form collaborative datasets |
US10452975B2 (en) | 2016-06-19 | 2019-10-22 | Data.World, Inc. | Platform management of integrated access of public and privately-accessible datasets utilizing federated query generation and query schema rewriting optimization |
US10346429B2 (en) | 2016-06-19 | 2019-07-09 | Data.World, Inc. | Management of collaborative datasets via distributed computer networks |
US10645548B2 (en) | 2016-06-19 | 2020-05-05 | Data.World, Inc. | Computerized tool implementation of layered data files to discover, form, or analyze dataset interrelations of networked collaborative datasets |
US10747774B2 (en) | 2016-06-19 | 2020-08-18 | Data.World, Inc. | Interactive interfaces to present data arrangement overviews and summarized dataset attributes for collaborative datasets |
US11068847B2 (en) | 2016-06-19 | 2021-07-20 | Data.World, Inc. | Computerized tools to facilitate data project development via data access layering logic in a networked computing platform including collaborative datasets |
US11086896B2 (en) | 2016-06-19 | 2021-08-10 | Data.World, Inc. | Dynamic composite data dictionary to facilitate data operations via computerized tools configured to access collaborative datasets in a networked computing platform |
US10984008B2 (en) | 2016-06-19 | 2021-04-20 | Data.World, Inc. | Collaborative dataset consolidation via distributed computer networks |
US10102258B2 (en) | 2016-06-19 | 2018-10-16 | Data.World, Inc. | Collaborative dataset consolidation via distributed computer networks |
US11947554B2 (en) | 2016-06-19 | 2024-04-02 | Data.World, Inc. | Loading collaborative datasets into data stores for queries via distributed computer networks |
US11036716B2 (en) | 2016-06-19 | 2021-06-15 | Data World, Inc. | Layered data generation and data remediation to facilitate formation of interrelated data in a system of networked collaborative datasets |
US11042556B2 (en) | 2016-06-19 | 2021-06-22 | Data.World, Inc. | Localized link formation to perform implicitly federated queries using extended computerized query language syntax |
US11068475B2 (en) | 2016-06-19 | 2021-07-20 | Data.World, Inc. | Computerized tools to develop and manage data-driven projects collaboratively via a networked computing platform and collaborative datasets |
US10824637B2 (en) | 2017-03-09 | 2020-11-03 | Data.World, Inc. | Matching subsets of tabular data arrangements to subsets of graphical data arrangements at ingestion into data driven collaborative datasets |
US11042548B2 (en) | 2016-06-19 | 2021-06-22 | Data World, Inc. | Aggregation of ancillary data associated with source data in a system of networked collaborative datasets |
US10515085B2 (en) | 2016-06-19 | 2019-12-24 | Data.World, Inc. | Consolidator platform to implement collaborative datasets via distributed computer networks |
US11468049B2 (en) | 2016-06-19 | 2022-10-11 | Data.World, Inc. | Data ingestion to generate layered dataset interrelations to form a system of networked collaborative datasets |
US10699027B2 (en) | 2016-06-19 | 2020-06-30 | Data.World, Inc. | Loading collaborative datasets into data stores for queries via distributed computer networks |
CN106708993B (zh) * | 2016-12-16 | 2021-06-08 | 武汉中地数码科技有限公司 | 基于大数据技术的空间数据存储处理中间件框架实现方法 |
EP3586247A4 (en) * | 2017-02-22 | 2020-11-18 | Data.World, Inc. | PLATFORM MANAGEMENT OF INTEGRATED ACCESS RECORDS USING FEDERATED QUERY GENERATION AND SCHEME WRITING OPTIMIZATION |
US12008050B2 (en) | 2017-03-09 | 2024-06-11 | Data.World, Inc. | Computerized tools configured to determine subsets of graph data arrangements for linking relevant data to enrich datasets associated with a data-driven collaborative dataset platform |
US11068453B2 (en) | 2017-03-09 | 2021-07-20 | data.world, Inc | Determining a degree of similarity of a subset of tabular data arrangements to subsets of graph data arrangements at ingestion into a data-driven collaborative dataset platform |
US11238109B2 (en) | 2017-03-09 | 2022-02-01 | Data.World, Inc. | Computerized tools configured to determine subsets of graph data arrangements for linking relevant data to enrich datasets associated with a data-driven collaborative dataset platform |
US11016974B2 (en) * | 2017-12-22 | 2021-05-25 | Microsoft Technology Licensing, Llc | Program synthesis for query optimization |
CN110019911A (zh) * | 2017-12-29 | 2019-07-16 | 苏州工业职业技术学院 | 支持知识演化的知识图谱的查询方法和装置 |
CN108256080A (zh) * | 2018-01-19 | 2018-07-06 | 深圳市富途网络科技有限公司 | 一种利用python语法语义构建复杂sql语句的方法及系统 |
JP6855401B2 (ja) * | 2018-02-08 | 2021-04-07 | ヤフー株式会社 | 生成装置、生成方法、及び生成プログラム |
US11243960B2 (en) | 2018-03-20 | 2022-02-08 | Data.World, Inc. | Content addressable caching and federation in linked data projects in a data-driven collaborative dataset platform using disparate database architectures |
US10922308B2 (en) | 2018-03-20 | 2021-02-16 | Data.World, Inc. | Predictive determination of constraint data for application with linked data in graph-based datasets associated with a data-driven collaborative dataset platform |
US11068482B2 (en) * | 2018-04-13 | 2021-07-20 | Microsoft Technology Licensing, Llc | Computation reuse in analytics job service |
USD920353S1 (en) | 2018-05-22 | 2021-05-25 | Data.World, Inc. | Display screen or portion thereof with graphical user interface |
US11327991B2 (en) | 2018-05-22 | 2022-05-10 | Data.World, Inc. | Auxiliary query commands to deploy predictive data models for queries in a networked computing platform |
USD940169S1 (en) | 2018-05-22 | 2022-01-04 | Data.World, Inc. | Display screen or portion thereof with a graphical user interface |
US11947529B2 (en) | 2018-05-22 | 2024-04-02 | Data.World, Inc. | Generating and analyzing a data model to identify relevant data catalog data derived from graph-based data arrangements to perform an action |
USD940732S1 (en) | 2018-05-22 | 2022-01-11 | Data.World, Inc. | Display screen or portion thereof with a graphical user interface |
US11537990B2 (en) | 2018-05-22 | 2022-12-27 | Data.World, Inc. | Computerized tools to collaboratively generate queries to access in-situ predictive data models in a networked computing platform |
US11442988B2 (en) | 2018-06-07 | 2022-09-13 | Data.World, Inc. | Method and system for editing and maintaining a graph schema |
CN109241101B (zh) * | 2018-08-31 | 2020-06-30 | 阿里巴巴集团控股有限公司 | 一种数据库查询优化方法、装置、及计算机设备 |
US11468882B2 (en) | 2018-10-09 | 2022-10-11 | Accenture Global Solutions Limited | Semantic call notes |
US10972608B2 (en) | 2018-11-08 | 2021-04-06 | N3, Llc | Asynchronous multi-dimensional platform for customer and tele-agent communications |
US11093223B2 (en) | 2019-07-18 | 2021-08-17 | Ab Initio Technology Llc | Automatically converting a program written in a procedural programming language into a dataflow graph and related systems and methods |
US11443264B2 (en) | 2020-01-29 | 2022-09-13 | Accenture Global Solutions Limited | Agnostic augmentation of a customer relationship management application |
US11481785B2 (en) | 2020-04-24 | 2022-10-25 | Accenture Global Solutions Limited | Agnostic customer relationship management with browser overlay and campaign management portal |
US11392960B2 (en) | 2020-04-24 | 2022-07-19 | Accenture Global Solutions Limited | Agnostic customer relationship management with agent hub and browser overlay |
US11216456B1 (en) * | 2020-08-26 | 2022-01-04 | Oxford Semantic Technologies Limited | Complex query evaluation using sideways information passing |
US11507903B2 (en) | 2020-10-01 | 2022-11-22 | Accenture Global Solutions Limited | Dynamic formation of inside sales team or expert support team |
US11797586B2 (en) | 2021-01-19 | 2023-10-24 | Accenture Global Solutions Limited | Product presentation for customer relationship management |
US11816677B2 (en) | 2021-05-03 | 2023-11-14 | Accenture Global Solutions Limited | Call preparation engine for customer relationship management |
US11947600B2 (en) | 2021-11-30 | 2024-04-02 | Data.World, Inc. | Content addressable caching and federation in linked data projects in a data-driven collaborative dataset platform using disparate database architectures |
EP4383090A1 (en) * | 2022-12-06 | 2024-06-12 | Dassault Systèmes | Summary generation for a distributed graph database |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20030047889A (ko) * | 2000-05-26 | 2003-06-18 | 컴퓨터 어소시에이츠 싱크, 인코포레이티드 | 데이터베이스 질의를 자동으로 생성하는 시스템 및 방법 |
US6757675B2 (en) * | 2000-07-24 | 2004-06-29 | The Regents Of The University Of California | Method and apparatus for indexing document content and content comparison with World Wide Web search service |
US6925457B2 (en) | 2001-07-27 | 2005-08-02 | Metatomix, Inc. | Methods and apparatus for querying a relational data store using schema-less queries |
US20030208499A1 (en) | 2002-05-03 | 2003-11-06 | David Bigwood | Methods and apparatus for visualizing relationships among triples of resource description framework (RDF) data sets |
US8719250B2 (en) * | 2005-04-18 | 2014-05-06 | Oracle International Corporation | Integrating RDF data into a relational database system |
KR20080066790A (ko) * | 2005-10-12 | 2008-07-16 | 데이터캐슬 코퍼레이션 | 데이터 백업 시스템 및 방법 |
CN100583094C (zh) * | 2006-04-19 | 2010-01-20 | 维豪信息技术有限公司 | 一种数据描述和数据显示分离的处理方法 |
US7725704B1 (en) * | 2006-09-22 | 2010-05-25 | Emc Corporation | Techniques for performing a prioritized data restoration operation |
US7636712B2 (en) * | 2006-11-14 | 2009-12-22 | Microsoft Corporation | Batching document identifiers for result trimming |
-
2007
- 2007-11-16 CN CN2007101927382A patent/CN101436192B/zh not_active Expired - Fee Related
-
2008
- 2008-11-14 US US12/271,038 patent/US7987179B2/en not_active Expired - Fee Related
Cited By (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102479255B (zh) * | 2010-11-19 | 2014-08-20 | 国际商业机器公司 | 用于优化数据库查询的方法和系统 |
CN102479255A (zh) * | 2010-11-19 | 2012-05-30 | 国际商业机器公司 | 用于优化数据库查询的方法和系统 |
US9569485B2 (en) | 2010-11-19 | 2017-02-14 | International Business Machines Corporation | Optimizing database query |
CN103262062A (zh) * | 2010-12-03 | 2013-08-21 | 惠普发展公司,有限责任合伙企业 | 用于执行嵌套连接操作的系统和方法 |
CN102541884A (zh) * | 2010-12-10 | 2012-07-04 | 中国移动通信集团贵州有限公司 | 数据库优化方法和装置 |
CN102541884B (zh) * | 2010-12-10 | 2014-07-02 | 中国移动通信集团贵州有限公司 | 数据库优化方法和装置 |
CN103425734A (zh) * | 2012-02-23 | 2013-12-04 | 富士通株式会社 | 用于存储编码三元组的数据库控制器、方法及系统 |
CN103425734B (zh) * | 2012-02-23 | 2017-06-27 | 富士通株式会社 | 用于存储编码三元组的数据库控制器、方法及系统 |
CN102722542B (zh) * | 2012-05-23 | 2016-07-27 | 无锡成电科大科技发展有限公司 | 一种资源描述框架图模式匹配方法 |
CN102722542A (zh) * | 2012-05-23 | 2012-10-10 | 无锡成电科大科技发展有限公司 | 一种资源描述框架图模式匹配方法 |
CN103729379B (zh) * | 2012-10-16 | 2017-08-25 | 阿里巴巴集团控股有限公司 | 结构化查询语言程序的计算方法、调整方法和服务器 |
CN103729379A (zh) * | 2012-10-16 | 2014-04-16 | 阿里巴巴集团控股有限公司 | 结构化查询语言程序的计算方法、调整方法和服务器 |
CN104111924A (zh) * | 2013-04-16 | 2014-10-22 | 中国移动通信集团广东有限公司 | 一种数据库系统 |
CN104111924B (zh) * | 2013-04-16 | 2018-05-11 | 中国移动通信集团广东有限公司 | 一种数据库系统 |
CN103390066B (zh) * | 2013-08-08 | 2016-02-17 | 上海新炬网络信息技术有限公司 | 一种数据库全局性自动化优化预警装置及其处理方法 |
CN103390066A (zh) * | 2013-08-08 | 2013-11-13 | 上海新炬网络技术有限公司 | 一种数据库全局性自动化优化预警装置及其处理方法 |
CN105224536A (zh) * | 2014-05-29 | 2016-01-06 | 国际商业机器公司 | 划分数据库的方法和装置 |
CN105630789A (zh) * | 2014-10-28 | 2016-06-01 | 华为技术有限公司 | 一种查询计划转化方法及装置 |
CN105630789B (zh) * | 2014-10-28 | 2019-07-12 | 华为技术有限公司 | 一种查询计划转化方法及装置 |
CN105975617A (zh) * | 2016-05-20 | 2016-09-28 | 北京京东尚科信息技术有限公司 | 一种多分区表查询处理的方法和装置 |
CN106294573A (zh) * | 2016-07-28 | 2017-01-04 | Tcl集团股份有限公司 | 一种海量数据实时查询方法及系统 |
CN107451204A (zh) * | 2017-07-10 | 2017-12-08 | 阿里巴巴集团控股有限公司 | 一种数据查询方法、装置及设备 |
WO2019085778A1 (zh) * | 2017-11-02 | 2019-05-09 | 阿里巴巴集团控股有限公司 | 确定数据库中有效分区的方法、装置和系统 |
CN112823332A (zh) * | 2018-10-10 | 2021-05-18 | N3有限责任公司 | 语义行业术语 |
CN111581237A (zh) * | 2019-02-15 | 2020-08-25 | 阿里巴巴集团控股有限公司 | 数据查询方法、装置、系统及电子设备 |
CN111581237B (zh) * | 2019-02-15 | 2023-06-09 | 阿里巴巴集团控股有限公司 | 数据查询方法、装置、系统及电子设备 |
CN110134335A (zh) * | 2019-05-10 | 2019-08-16 | 天津大学深圳研究院 | 一种基于键值对的rdf数据管理方法、装置及存储介质 |
CN110134335B (zh) * | 2019-05-10 | 2022-08-12 | 天津大学深圳研究院 | 一种基于键值对的rdf数据管理方法、装置及存储介质 |
CN110222110A (zh) * | 2019-06-13 | 2019-09-10 | 中国农业科学院农业信息研究所 | 一种基于etl工具的资源描述框架数据转换存储一体化方法 |
WO2021044246A1 (en) * | 2019-09-03 | 2021-03-11 | International Business Machines Corporation | Resolving queries using structured and unstructured data |
GB2603323A (en) * | 2019-09-03 | 2022-08-03 | Ibm | Resolving queries using structured and unstructured data |
US11841883B2 (en) | 2019-09-03 | 2023-12-12 | International Business Machines Corporation | Resolving queries using structured and unstructured data |
CN111339334A (zh) * | 2020-02-11 | 2020-06-26 | 支付宝(杭州)信息技术有限公司 | 异构图数据库的数据查询方法及其系统 |
CN111339334B (zh) * | 2020-02-11 | 2023-04-07 | 支付宝(杭州)信息技术有限公司 | 异构图数据库的数据查询方法及其系统 |
CN113297266A (zh) * | 2020-07-08 | 2021-08-24 | 阿里巴巴集团控股有限公司 | 数据处理方法、装置、设备及计算机存储介质 |
WO2024055153A1 (en) * | 2022-09-13 | 2024-03-21 | Paypal, Inc. | Dual write and dual read access to graph databases |
Also Published As
Publication number | Publication date |
---|---|
US20090132474A1 (en) | 2009-05-21 |
US7987179B2 (en) | 2011-07-26 |
CN101436192B (zh) | 2011-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101436192B (zh) | 用于优化针对垂直存储式数据库的查询的方法和设备 | |
Wu et al. | An interactive clustering-based approach to integrating source query interfaces on the deep web | |
US7693812B2 (en) | Querying data and an associated ontology in a database management system | |
Das et al. | A Tale of Two Graphs: Property Graphs as RDF in Oracle. | |
US7487174B2 (en) | Method for storing text annotations with associated type information in a structured data store | |
US20080172360A1 (en) | Querying data and an associated ontology in a database management system | |
US20130006968A1 (en) | Data integration system | |
JP2005521954A (ja) | リレーショナルデータベースをクエリーする方法および装置 | |
EP2932412A2 (en) | Graph query processing using plurality of engines | |
US11449477B2 (en) | Systems and methods for context-independent database search paths | |
US20180004813A1 (en) | Querying across a composite join of multiple database tables using a search engine index | |
US8756246B2 (en) | Method and system for caching lexical mappings for RDF data | |
JP2005521953A (ja) | リレーショナルデータベースをクエリーする方法および装置 | |
CN108241709A (zh) | 一种数据集成方法、装置和系统 | |
Ge et al. | A cost-driven top-K queries optimization approach on federated RDF systems | |
Schroeder et al. | A data distribution model for RDF | |
Gupta et al. | BioDB: An ontology-enhanced information system for heterogeneous biological information | |
CN108804580B (zh) | 一种在联邦型rdf数据库中查询关键字的方法 | |
Ramanathan et al. | Reverse engineering relational schemas to object-oriented schemas | |
Vasilyeva et al. | Leveraging flexible data management with graph databases | |
Nicklas et al. | A schema-based approach to enable data integration on the fly | |
CN105183736A (zh) | 网络设备配置及状态信息的整合搜索系统及方法 | |
Zhong et al. | 3SEPIAS: A semi-structured search engine for personal information in dataspace system | |
Langegger | Virtual data integration on the web: novel methods for accessing heterogeneous and distributed data with rich semantics | |
Kaplan | A semantic graph query language |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110316 Termination date: 20111116 |