【技术实现步骤摘要】
范围化数据库连接
本申请涉及范围化数据库连接。
技术介绍
1.背景和相关技术计算机系统和相关技术影响社会的许多方面。的确,计算机系统处理信息的能力已转变了人们生活和工作的方式。计算机系统现在通常执行在计算机系统出现以前手动执行的许多任务(例如,文字处理、日程安排和会计等)。最近,计算机系统彼此耦合并耦合到其他电子设备以形成计算机系统和其他电子设备可以在其上传输电子数据的有线和无线计算机网络。因此,许多计算任务的执行跨多个不同的计算机系统和/或多个不同的计算环境分布。在一些计算环境中,使用数据库来管理一个或多个数据库承租人(例如用户、组织等)的数据集。当管理多个承租人的数据时,可以使用隔离边界来将不同数据库承租人的数据分隔开来并提升安全性。隔离边界通常是通过对每个承租人使用单独数据库来形成的。例如,通过将来自一个用户的数据存储在单独的数据库中,可以将该用户的数据与来自所有其他用户的数据分隔开来。然而,一些应用管理非常大量的承租人。例如,社交网络站点可以具有数亿用户。为每个承租人(用户)维护单独的数据会变得很麻烦并且资源密集的。在一些环境中,通过碎片化(sharding)来形成隔离边界。碎片化是一种通过将不同的行分离到不同的表格中来拆分(分区)一个或多个表格的水平分区形式。水平分区减少了每个表格中的行的总数,减少了跨单个方案的实例(或同一逻辑服务器)的索引大小。通过跨多个服务器(逻辑的或物理的)拆分(分区)一个或多个表格来进一步碎片化。这样,碎片化能够将较大的数据库在多个机器上分布,改进了性能。然而,碎片化难以实现,并且通常需要手动编码和在应用层和数据库之间的 ...
【技术保护点】
【技术特征摘要】
2010.10.28 US 61/407,796;2011.06.21 US 13/165,5111.在包括一个或多个处理器和系统存储器的分布式数据库系统处,所述分布式数据库还包括联合分区,所述联合分区指在联合(102)中的多个数据库分区(103A、103B、103C),所述联合(102)配置为存储多个数据行(115A-115E),每个数据行由联合键值(116A-116E)标识,使得所述联合存储了联合键值集的数据,所述多个数据库分区(103A、103B、103C)中的每一个被配置为物理地存储具有在集中的联合键值的指定部分中的一个联合键值的数据的任意行,一种用于对用于访问数据库分区的上下文进行范围化的方法,所述方法包括:接收当在所述分布式数据库系统中执行数据库访问操作时要使用的上下文(108)的动作,所述上下文标识了所指定的相关的联合部分,所述上下文已由命令提供,所述命令包括对应于所述分布式数据库系统的被请求的数据库联合的联合名字、包括联合键值的范围、和过滤选项的每一个,所述过滤选项指示:当所述过滤选项是开启时是否将连接范围限制到仅为对应于所述联合键值的所述联合分区中的特定行,或者当所述过滤选项是关闭时是否将连接范围限制到通常为所述联合分区中的所有行;基于所接收到的上下文,建立到所述分布式数据库系统的范围化连接;接收与所述上下文(108)相关联的数据库访问操作(113)的动作;根据所关联的上下文(108)对所述数据库访问操作(113)的语义进行修改以将所述数据库访问操作的应用指引到所述所指定的相关的联合部分的动作;以及将经修改的数据库访问操作通过所述范围化连接发送到所述分布式数据库系统。2.如权利要求1所述的方法,其特征在于,所述接收当执行数据库访问操作时要使用的上下文的动作包括接收标识所述联合中的相关数据库分区的上下文的动作。3.如权利要求2所述的方法,其特征在于,所述根据上下文对所述数据库访问操作的语义进行修改的动作包括修改所述数据库访问操作的语义以将所述数据库访问操作的应用指引到所述相关的数据库分区的动作。4.如权利要求2所述的方法,其特征在于,所述接收当执行数据库访问操作时要使用的上下文的动作包括接收一上下文的动作,所述上下文包括包含在所述相关的数据库分区中的指定值。5.如权利要求4所述的方法,其特征在于,所述根据上下文对所述数据库访问操作的语义进行修改的动作包括修改所述数据库访问操作的语义以将所述数据库访问操作的应用指引到具有所述指定值的行的动作。6.如权利要求1所述的方法,其特征在于,所述接收数据库访问操作的动作包括接收SQL命令的动作。7.如权利要求1所述的方法,其特征在于,所述接收数据库访问操作的动作包括接收对所述联合中所存储的数据的一个或多个行的查询的动作。8.如权利要求1所述的方法,其特征在于,进一步包括接收过滤选项的动作。9.如权利要求8所述的方法,其特征在于,所述过滤选项包括开启过滤,所述修改数据库访问操作的语义的动作包括修改数据库访问操作的语义以仅允许访问所述所指定的相关的联合部分中对应于特定联合键值的行的动作。10.如权利要求8所述的方法,其特征在于,所述过滤选项包括关闭过滤,所述修改数据库访问操作的语义的动作包括修改数据库访问操作的语义以允许访问整个所述所指定的相关的联合部分的动作,所述整个所指定的相关的联合部分包括所述所指定的相关的联合部分中对应于特定联合键值的行以及所述所指定的相关的联合部分中的其他行。11.一种包括分布式数据库系统的计算机系统,所述分布式数据库包括联合分区,所述联合分区指联合(102)中的多个数据库分区(103A、103B、103C),所述联合(102)配置为存储多个数据行(115A-115E),每个数据行由联合键值(116A-116E)标识,使得所述联合存储了联合键值集的数据,所述多个数据库分区(103A、103B、103C)中的每一个被配置为物理地存储具有在集中的联合键值的指定部分中的一个联合键值的数据的任意行,在所述计算机系统处实现并执行一种...
【专利技术属性】
技术研发人员:L·诺维克,J·D·克拉克,M·T·弗里德曼,A·金博尔,C·比伊扣格鲁,J·哈默,T·J·B·特恩斯特伦,A·卡尔汉,
申请(专利权)人:微软公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。