【技术实现步骤摘要】
用于存储编码三元组的数据库控制器、方法及系统
本专利技术涉及数据存储领域。具体地,本专利技术的实施例涉及用于描述图形数据的三元组在分布式存储环境内的存储。
技术介绍
关系数据库按照行与列来存储数据。行与列组成了需要在存储数据之前被限定的表。对这些表以及对包含在这些表上的数据之间的关系的限定被称为模式。关系数据库使用固定的模式。通过以节点和弧的形式存储数据,图形数据库表现出对关系数据库的显著扩展,其中节点表示实体或实例,弧表示任意两个节点之间的某种类型的关系。在无向图中,认为从节点A至节点B的弧与从节点B至节点A的弧相同。而在有向图中,这两个方向被处理为不同的弧。图形数据库用于各种不同的应用,这些应用一般可以分为两种主要类型。第一种类型由具有较大的类描述集的复杂的基于知识的系统组成(称为“基于知识的应用”),如智能决策支持及自学习。第二种类型包括涉及对交易数据进行图形搜索的应用(称为“交易数据应用”),如社交数据及商业智能。很多应用可以同时表现出这两个类型。但是,大多数应用可以主要地表征为基于知识的应用或交易数据应用。图形数据库可以用于维护能够将大量的结构化或非结构化数据存储在各种字段中的大型“语义网络”。语义网络以知识表示的形式被使用,并且是由表示概念的节点和表示这些概念之间的语义关系的弧组成的有向图。有多种类型的图形表示。图形数据可以作为多维数组或作为链接至其他符号的符号来存储在存储器中。另一种形式的图形表示是“元组”的使用,“元组”是由每个都具有特定类型的对象组成的有限序列或有序列表。已知包含n个对象的元组为“n元组”,其中n可以是大于0的任意非负整数 ...
【技术保护点】
一种用于存储被编码为三元组的图形数据的数据库的数据库控制器,每个三元组包括主语、谓语和宾语,并且每个三元组存储在数据项集合中的数据项内,所述数据项集合是按照存储在数据项内的三元组来排序的,每个数据项存储在分布于网络中的多个存储节点中的存储节点上;所述数据库控制器包括:存储请求接收器,其被配置成接收在所述数据库中存储三元组的请求;数据项生成模块,其被配置成生成两个或更多个数据项,每个数据项具有所述三元组的以下不同版本:第一版本,其中在所述数据项中主语在谓语和宾语之前;第二版本,其中在所述数据项中谓语在主语和宾语之前;以及第三版本,其中在所述数据项中宾语在主语和谓语之前;并且所述数据库控制器还包括:指令分配器,其被配置成针对所述两个或更多个数据项中的每一个数据项,从所述多个存储节点中选择存储节点以指示存储所述数据项,所述选择是依靠所述数据项在所述经排序的集合内的位置来做出的,所述指令分配器包括冗余模块,所述冗余模块被配置成确保指示所述多个存储节点中的至少两个不同存储节点存储包括所述三元组的版本的数据项。
【技术特征摘要】
2012.05.24 EP 12169354.31.一种用于存储被编码为三元组的图形数据的数据库的数据库控制器,每个三元组包括主语、谓语和宾语,并且每个三元组存储在数据项集合中的数据项内,所述数据项集合是按照存储在数据项内的三元组来排序的,每个数据项存储在分布于网络中的多个存储节点中的存储节点上;所述数据库控制器包括:存储请求接收器,其被配置成接收在所述数据库中存储三元组的请求;数据项生成模块,其被配置成生成两个或更多个数据项,每个数据项具有所述三元组的以下不同版本:第一版本,其中在所述数据项中主语在谓语和宾语之前;第二版本,其中在所述数据项中谓语在主语和宾语之前;以及第三版本,其中在所述数据项中宾语在主语和谓语之前;并且所述数据库控制器还包括:指令分配器,其被配置成针对所述两个或更多个数据项中的每一个数据项,从所述多个存储节点中选择存储节点以指示存储所述数据项,所述选择是依靠所述数据项在所述经排序的集合内的位置来做出的,所述指令分配器包括冗余模块,所述冗余模块被配置成确保指示所述多个存储节点中的至少两个不同存储节点存储包括所述三元组的版本的数据项,其中所述指令分配器被配置成以确定性方式从所述多个存储节点中选择存储节点以指示存储所述数据项,并且所述冗余模块被配置成在选择所述两个或更多个数据项的存储节点之后,获取被选择用于存储所述两个或更多个数据项的所述存储节点中的不同存储节点的数量的计数,并且如果所述计数小于所述冗余模块被配置成确保其被指示存储包括所述三元组的版本的数据项的不同存储节点的数量,则所述冗余模块被配置成指示所述多个存储节点中的特定数量的附加存储节点存储包括所述三元组的版本的另外数据项,所述特定数量等于所述计数与所述冗余模块被配置成确保其被指示存储包括所述三元组的版本的数据项的不同存储节点的数量之间的差,以及其中由所述附加存储节点存储的所述另外数据项存储在所述经排序的数据项集合之外。2.根据权利要求1所述的数据库控制器,其中所述数据项生成模块被配置成生成三个数据项,每个数据项具有所述三元组的所述第一版本、所述第二版本和所述第三版本中的不同版本。3.根据上述权利要求中任一项所述的数据库控制器,其中所述冗余模块被配置成确保指示所述至少两个不同存储节点中的每一个存储节点存储包括所述三元组的不同版本的数据项。4.根据权利要求1或2所述的数据库控制器,其中所述多个存储节点中有三个或更多个存储节点,并且所述冗余模块被配置成确保指示所述多个存储节点中的三个不同存储节点中的每一个存储节点存储包括所述三元组的版本的数据项。5.根据权利要求1所述的数据库控制器,其中每个所述数据项包括字符串对象,所述字符串对象包括所述数据项中存储的三元组的主语、谓语和宾语;并且所述数据项是根据对所述字符串对象的按字母顺序的比较来排序的。6.根据权利要求1或2所述的数据库控制...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。