【技术实现步骤摘要】
【国外来华专利技术】
技术介绍
数据库的模式是规定义如何构建数据库的数据的组织。例如,在关系数据库中,模式规定如何通过定义表、字段、关系、视图、索引、函数、队列、触发器、类型和其他方面来存储和管理数据。对于半结构化数据、多租户数据库以及许多其他情形期望管理具有灵活模式的数据。目前,具有灵活模式的各种应用遭遇模式常常未被良好定义并且可能随时间演变的问题。诸如结构化查询语言(SQL)数据库的传统数据库具有支持有效模式演变的困难。如已知的,模式演变可以例如当将一对一关系演变为多对一关系时要求重新规范化和表重新分区。由于从旧表到新表的数据迁移,表重新分区是耗时的。额外地,该过程由于在旧表和新表上的互斥锁,常常需要阻断事务。为了避免这些问题,应用通常不允许在线重新规范化和表重新分区,由此在存在模式演变时引入相当多的停机时间。针对灵活模式的传统解决方案常常在键值对的基础上进行工作,以避免在模式演变时的重新规范化和表重新分区。例如,已经提出了用于灵活模式的关联数组。关联数组是表示实体的原子字段以及稍后用于重新构建数据的内部/外部关系的键值对的集合。关联数组可以将数据引擎从重新规范化和表重新分区解除。然而,在没有数据规范化的情况下,将任何两个实体或属性进行连接必须要求连接操作。作为结果,对关联数组的使用将引入过多的连接操作,并且因此降低数据库的查询性能。具体地,已发现当查询超出简单谓词选择时查询性能动态地下降,并且它们的运行计划涉及在键值存储上的大量连接。另外,键值对在数据规范化不能够被省略的情况下不适用于那些应用。
技术实现思路
本文中描述的主题的实施例大体涉及管理具有用于使模式演变中的数据迁移最小 ...
【技术保护点】
一种至少部分地由计算机实现的方法,包括:提供针对数据库的逻辑表的逻辑视图;以及根据预定义映射约束来管理在所述逻辑表与物理表之间的映射,所述逻辑表中的每个逻辑表被映射到所述物理表的一部分,所述映射约束至少规定:(i)所述逻辑表中的逻辑列被映射到所述物理表中的至少一个物理列,并且(ii)所述逻辑表中的一个逻辑表中的不同逻辑列被映射到所述物理表中的不同物理列。
【技术特征摘要】
【国外来华专利技术】1.一种至少部分地由计算机实现的方法,包括:提供针对数据库的逻辑表的逻辑视图;以及根据预定义映射约束来管理在所述逻辑表与物理表之间的映射,所述逻辑表中的每个逻辑表被映射到所述物理表的一部分,所述映射约束至少规定:(i)所述逻辑表中的逻辑列被映射到所述物理表中的至少一个物理列,并且(ii)所述逻辑表中的一个逻辑表中的不同逻辑列被映射到所述物理表中的不同物理列。2.根据权利要求1所述的方法,其中管理所述映射包括:基于所述逻辑表的标识符来管理在所述物理表中的记录与所述逻辑表之间的关联,所述关联允许以下至少一项:逻辑表具有不止一个标识符,以及不止一个逻辑表共享一个标识符。3.根据权利要求1所述的方法,还包括:至少部分地基于所述逻辑表中的逻辑列的数目与所述逻辑列的不同数据类型的数目,来确定所述物理表的宽度。4.根据权利要求1所述的方法,还包括管理所述物理表,包括以下至少一项:响应于确定所述物理表中的物理列的密度在预定义阈值以下,减少用于所述物理列的存储空间;以及当所述逻辑表的逻辑列被映射到所述物理表中时,复用所述物理列。5.根据权利要求1所述的方法,还包括:通过所述逻辑视图来接收对所述逻辑表中的至少一个逻辑表的查询;以及至少部分地基于所述映射来将接收到的所述查询转化为对所述物理表的查询。6.根据权利要求1所述的方法,还包括:通过所述逻辑视图来接收包括针对模式的演变的请求的第一事务,所述模式针对所述逻辑表中的至少一个逻辑表;以及至少部分地基于所述映射来使所述模式演变,使得所述至少一个逻辑表中的数据的迁移在所述演变期间被最小化。7.根据权利要求6所述的方法,其中针对所述演变的所述请求包括针对所述演变的原语,并且其中使所述模式演变包括:将所述原语转化为更新所述映射的至少一个语句。8.根据权利要求6所述的方法,还包括:确定所述至少一个逻辑表是否由第二事务访问,所述第二事务在所述第一事务之前被启动并且与所述第一事务重叠;以及响应于确定所述至少一个逻辑表由所述第二事务访问,取决于所述模式的所述演变是否引起所述至少一个逻辑表中的所述数据的迁移,来控制在所述第一事务与所述第二事务之间的并发性。9.根据权利要求8所述的方法,其中控制在所述第一事务与所述第二事务之间的所述并发性包括:响应于确定所述模式的所述演变引起所述数据的所述迁移,防止所述至少一个逻辑表中的所述数据由所述第二事务在所述数据的所述迁移期间修改或迁移。10.一种在计算环境中的系统,包括:逻辑视图管理器,其被配置为提供针对数据库的逻辑表的逻辑视图;以及映射管理器,其被配置为根据预定义映射约束来管理在所述逻辑表与物理表之间的映射,所述逻辑表中的每个逻辑表被映射为所述物理表的一部分,所述映射约束至少规定:(i)所述逻辑表中的逻辑列被映射到所述物理表中的至少一个物理列,并且(ii)所述逻辑表中的一个逻辑表中的不同逻辑列被映射到所述物...
【专利技术属性】
技术研发人员:陈亮,P·A·贝恩斯泰因,
申请(专利权)人:微软技术许可有限责任公司,
类型:发明
国别省市:美国;US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。