【技术实现步骤摘要】
【国外来华专利技术】数据库管理系统
本专利技术总体上涉及数据库管理系统。更具体地,本专利技术涉及一种方法和设备,用于 实现多用户、弹性的、按需的分布式关系数据库管理系统,其特征在于原子性、性能和可扩 展性。
技术介绍
在过去这些年中,用于存储和检索消息的数据库的使用已经在大量的商业应用中 显现为重要的工具。初始,许多数据库系统在具有多个用户的单个服务器装置上操作。然 而,在过去这些年中,各种因素已经产生,它们要求数据库架构的基本特性改变。作为第一 因素,数据库存储要求已经变得极大。其次,试图访问这样的数据库的用户的数量也已经变 大。第三,用于检索具有最小的更新的相对稳定的数据的数据库的使用已经被替换为事务 处理。事务是必须整体完成的工作的单位。单个事务可以包括多个数据操纵。例如,单 个事务可以包括读取操作,随后是写入操作。近年来,大量的努力已经针对使得关系数据库 能够支持日益增长的事务处理的速率。现在通过限定ACID属性的标准来判断数据库,该ACID属性即原子性、一致性、隔 离性和持久性。原子性确保以其整体来完成所有的事务任务。一致性保证仅有效的数据被 写入数据库。隔离性保证其他操作在事务期间不能访问或“观看”在中间状态中的数据。持 久性保证一旦已经成功地处理了事务,则它不能被复原。一致性在多用户系统中特别重要,在多用户系统中,两个或更多的用户可能寻求 对于共享的易失性数据的同时访问。早期的多用户系统使用锁定操作来保证一致性。锁定 可以是排他的或写入的锁定或者是非排他的或读取的锁定,并且可以被应用到单独的记录 或被应用到页面。然而,当数据库在大小上已经增大时并且当事务速率已经 ...
【技术保护点】
【技术特征摘要】
【国外来华专利技术】2010.03.18 US 61/315,3511.一种使得用户能够与由数据和元数据构成的数据库交互的数据库管理系统,所述系统包括A)多个节点,每一个节点包括i)在用户级处的高级输入和输出命令和在系统级处的输入和输出命令之间的接口,在系统级处的输入和输出命令控制用于与所述数据库交互的操作序列,其中,响应于特定的系统级命令,原子对象生成原子,每一个原子包含数据或元数据的指定片断,据此,原子的所有实例集集体地限定在所述数据库中的所有所述元数据和数据;ii)用于在所述系统中与每一个其他节点建立通信路径的通信控制;iii )响应于来自所述接口的系统命令而从选择的节点请求与查询相关但是在该节点中不存在的原子的副本的方法;iv)响应于来自另一个节点的对于原子的请求而复制所请求的原子以传送到该请求节点的方法,据此,仅完成查询所需的原子需要在任何给定的时间位于任何事务节点中;以及V)响应于在该节点处的原子中的改变而复制该原子以传送到在该原子所驻留的系统中的每一个其他节点的方法,B)连接到所述多个节点以在所有所述节点之间提供通信路径的装置,以及C)连接到所述通信装置以对于在原子中的信息提供永久存储器的装置,据此,在永久存储器中的原子的集合集体地包含在所述数据库中的所有所述数据和元数据。2.根据权利要求1所述的数据库管理系统,其中,所述原子对象的特定原子对象产生目录原子,所述目录原子跟踪在该节点处驻留的所有原子和具有所述驻留原子的每一个的副本的每一个节点的位置。3.根据权利要求2所述的数据库管理系统,其中,所述目录原子中的一个是在连接到所述系统的每一个节点中复制的主目录原子,其中,所述原子中的另一个是用于所述数据库的单个事务管理器原子,用于跟踪由所述接口启动的事务的进展,并且其中,所述主目录识别所述事务管理器原子的位置。4.根据权利要求3所述的数据库管理系统,其中,在所述用户级处的数据库包括具有记录和字段的命名的表格,并且根据至少一个命名的图式来操作,并且所述原子对象的其他原子对象产生i)用于包含字段的列表的每一个表格的表格原子,ii)图式原子,所述图式原子在图式和与该图式相关的命名的表格之间建立对应性,以及iii)数据库原子,所述数据库原子在所述数据库和所述命名的图式之间建立对应性。5.根据权利要求4所述的数据库管理系统,其中,在所述用户级处的所述数据库表格包括识别的记录,所述识别的记录包含字段和数据,其中,其他原子对象产生数据原子和记录状态原子,所述数据原子包含预定数量的数据记录,所述记录状态原子管理记录版本,并且其中,所述记录状态原子包括识别向该记录状态原子分配的所管理的数据原子的阵列、每一个记录版本的标识、以及对于每一个记录版本而言关于该版本和包含该版本的数据原子的位置的信息。6.根据权利要求5所述的数据库管理系统,其中,每一个数据原子另外包括在所述数据原子内的每一个记录的地址和长度以及所述数据记录。7.根据权利要求4所述的数据库管理系统,其中,在所述用户级处的数据库表格包括识别的大二进制对象,其中,其他原子对象产生包含大二进制对象的大二进制对象原子和大二进制对象记录状态原子,所述大二进制对象记录状态原子包括所有相关联的大二进制对象原子的列表和在所述大二进制对象原子中的大二进制对象的位置。8.根据权利要求7中所述的数据流管理系统,其中,每一个大二进制对象原子包括每一个大二进制对象的地址和长度以及所述大二进制对象。9.根据权利要求1所述的数据库管理系统,其中,每一个节点另外包括i)消息传送装置,用于响应于系统级命令而生成和接收预定义的消息,以及i i )用于选择所述通信路径中的一个来发送所述消息的装置。10.根据权利要求9所述的数据库管理系统,其中,每一个节点包括用于异步地测试每一个通信路径的效率的装置。11.根据权利要求10所述的数据库管理系统,其中,所述测试装置包括用于生成Ping消息并且接收ping确认消息以确定每一个通信路径的ping时间的装置。12.根据权利要求9所述的数据库管理系统,其中,所述消息传送装置包括用于将原子串行化为消息并且将消息去串行化为原子的装置,并且其中,在所选择的通信路径上异步地发送每一个消息。13.根据权利要求12所述的数据库管理系统,其中,在具有维持消息序列的控制的协议下发送消息。14.根据权利要求1所述的数据库管理系统,其中,单独的节点可以是活动的并且连接到所述系统,并且可以从所述系统断开,并且所述原子中的一个是主目录原子,所述主目录原子识别在所述系统中的每一个活动节点,并且在连接到所述系统的每一个节点中被复制,所述系统包括用于使得节点能够加入所述系统的装置,所述系统包括i )用于在加入的节点和所述活动的节点中的所选择的一个活动节点之间建立连接的装置,ii)在所述加入节点中的用于向所选择的节点请求连接的装置,iii)在所选择的节点中的用于更新其主目录原子以将所述加入的节点指示为活动的节点的装置,iv)在所选择的节点中的用于向所述加入的节点传送包括所选择的节点的标识的消息以及用于向在所述系统中的所有其他节点和永久存储器广播指示所述加入的节点的可用性的消息的装置,V)在所述加入节点中的用于通过从所选择的节点请求所述主目录原子的副本来响应于所述消息的装置,以及vi)在所选择的节点中的用于向所述加入的节点传送其更新的主目录原子的装置。15.根据权利要求14所述的数据库管理系统,其中,所述加入的节点包括用于响应于接收到所更新的主目录原子而响应于来自所述接口的请求来请求另外的原子的副本的装置。16.根据权利要求14所述的数据库管理系统,其中,所选择的节点向所有其他节点和向永久存储器广播所更新的主目录的可用性,并且每一个其他节点和永久存储器包括用于向所选择的节点确认其接收到所更新的主目录的装置。17.根据权利要求1所述的数据库管理系统,其中,在所述节点中的一个中的接口作出请求,所述请求要求新原子的产生,其中,所述原子对象的特定原子对象产生目录原子,所述目录原子跟踪在该节点处驻留的原子,所述节点中的所述一个另外包括i )在所述目录原子中,将响应于所述接口请求而跟踪所述新的原子,以使得所述目录原子创建没有内容的该新的原子并且将所述新的原子指定为用于该原子的主席的装置,ii)在所述目录原子中的向所述新的原子分配对象标识的装置,iii)在所述目录原子中的用于建立所述新的原子的状态的装置,所述状态指示没有所述新的原子的冗余的副本,并且所述新的原子不可用于其他节点,iv)在所述目录原子中的用于向在所述系统中的所有其他对应的目录原子广播所述新的原子的存在的装置,V)用于填充所述新的原子并且用于使得所述新的原子在所述系统上可用的装置。18.根据权利要求17所述的数据库管理系统,其中,永久存储器包括响应于所述新的原子的存储而向节点发送消息的装置,所述新的原子更新其状态以指示冗余副本的存在。19.根据权利要求1所述的数据库管理系统,其中,在所述节点中的一个中的接口对于仅在其他节点中存在的原子作出请求,并且其中,所述原子对象中的特定原子对象产生目录原子,所述目录原子跟踪在该节点和其他节点处驻留的原子,所述系统包括i)在所述请求目录原子中的响应于将响应于创建空的原子的接口请求而跟踪所请求的原子的接口请求的装置,ii)在所述请求目录原子中的用于建立选择最具响应性的节点并且从所述最具响应性的节点请求所述原子的副本的装置,iii)在所选择的节点中,用于向所述请求节点发送在对象消息中的所请求的原子的副本、以及用于向所述原子所在的其他节点广播所述原子的可用性的装置,iv)用于评估所接收到的对象消息的有效性、用于填充所述空原子以及用于向所选择的节点转发对象确认消息的装置。20.根据权利要求19所述的数据库管理系统,其中,所述选择的节点生成所有节点的中继器列表,所述中继器列表包含所请求的原子,所选择的节点将向所请求的原子转发从与该原子相关的其他节点到所述请求节点的消息。21.根据权利要求20所述的数据库管理系统,其中,接收所广播的对象可用消息的所述其他节点中的每一个包括用于向所选择的节点发送对象确认消息的装置,所述选择的节点包括用于响应于从另一个节点接收到每一个对象确认消息而更新所述中继器列表,以结束向所述请求节点的任何随后消息的中继。22.根据权利要求1所述的数据库管理系统,适于用以保证所述数据库的一致性的事务处理,其中,所述系统包括包含要提交的原子的第一节点、包括该原子的副本的至少一个其他节点和在永久存储器中包括的该原子的副本,所述系统包括i)在所述第一节点中的用于生成具有事务标识的提交前消息以传送到永久存储器的装置,ii)与永久存储器相关联的、用于响应于所述提交前消息而提交所述事务以及其后向所有的所述节点广播具有所述事务标识的提交消息的装置,iii)在所述第一和至少一个其他节点中的用于响应于接收到所述提交消息而更新所标识的事务的装置。23.一种使得用户能够与由数据和元数据构成的数据库交互的数据库管理系统,所述系统包括A)向用户提供对于所述数据库的访问的至少一个事务节点和维持所述整个数据库的档案的至少一个档案节点,每一个事务节点包括数据库请求引擎,所述数据库请求引擎提供在用户级处的高级输入和输出查询命令和在系统级处的输入和输出命令之间的接口,在系统级处的输入和输出命令控制用于与所述数据库交互的操作序列,其中,响应于特定的系统级命令,原子对象生成原子,每一个原子包含数据或元数据的指定片断,据此,原子的所有实例集集体地限定在所述数据库中的所有所述元数据和数据,B)...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。