当前位置: 首页 > 专利查询>西山修平专利>正文

虚拟单一存储装置上的元信息共享型分布式数据库系统制造方法及图纸

技术编号:7841815 阅读:243 留言:0更新日期:2012-10-12 22:59
本发明专利技术的课题在于,针对通过将以实时更新为重要条件的数据库系统分割为多个数据库域来实现的分布式数据库系统的横向扩展,能够应对进一步的复杂化,并能够实现进一步的高性能化。本发明专利技术通过如下方式解决课题:将大规模数据库系统分割为上述多个数据库域,在伴随着对跨上述多个数据库域的数据库对象的实时更新的多重事务处理中,关于其状态信息等元信息的交换及同步,对数据库元信息管理库装置内的数据库元信息存储管理部应用分区拓扑技术或复制拓扑技术,从而能够更加高速地实施上述多重事务处理。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及ー种分布式数据库系统以及利用该分布式数据库系统的格网计算系统(grid computing system)。
技术介绍
现有的分布式数据库技术,是在与分布式事务(distributed transaction)处理及排他处理相关的一致性以及与參照完整性约束相关的完整性的确保和处理的呑吐量(throughput)之间的权衡关系的基础上成立的。在现有技术中,为了确保上述一致性及上述參照完整性而采用着两阶段提交技术(two-phase commit technology)及复制技术(Replication technology),但这些得不到实用的吞吐量,所以在实际应用中能够得到令人满意的结果的情形极少。另ー方面,在不采用两阶段提交技术或复制技术的情况下,在现有技术中,能够进行实时更新的分布式数据库系统没有得到实际应用,所谓能够进行实时 更新的分布式数据库系统,实际上只不过是在分散式辅助存储介质上实现的虚拟单ー数据库系统等。另外,就因特网上的检索网站或虚拟店铺网站而言,更新系统可以是批处理的、分散式读取专业化的分布式数据库系统。近年来,针对包括数据库管理系统的数据库域,将上述多个数据库域进行点对点连接,并将配置在数据库域内的数据库的结构以及排他控制、与參照完整性等状态相关的信息作为元数据来与本体数据相独立地进行管理,通过以该元信息为单位在上述各数据库域之间进行交換来实现上述元信息的同步,由此使分布式数据库系统的可扩展性(scalability)变得优异,并通过对数据库对象以任意的粒度进行极小化,来使分布式数据库系统的故障时的故障部位局部化和恢复时间的缩短变得最小,关于这样的分布式数据库系统,已在如图I所示的专利文献I中有记载。在上述专利文献I中,根本没有提及交換上述元信息的具体的方法,而且在专利技术了上述专利文献I所记载的技术的时间点(本申请的专利技术人构思出本申请专利技术的时间点为平成13年12月左右),非专利文献I所记载的分区拓扑技术及复制拓扑技术刚刚在美国得到实际应用(非专利文献I所记载的该非专利技术出现在美国市场并公开实施的时间点为平成14年6月左右),在该时间点,在除了美国以外的其他国家还未得到普及(在日本,局部地区接触到该技术的详细内容的时间点为平成19年7月左右),所以在上述非专利文献I所记载的分区拓扑技术及复制拓扑技术的基础上没有想到如下方法不是每次个别地交換上述元信息来实现同歩,而是通过交换搭载有元信息的整个存储器片来实现上述元信息的同歩。要通过每次个别地交換上述元信息来实现同步,则软件的结构会变得复杂,这会给安装、维护带来困难,因此,近年来,希望其结构变得简单的需求变高,而且变得庞大的数据也成为要解决的课题,因此对进一歩高速化的需求愈来愈高。另外,如图2所示,上述非专利文献I所记载的分区拓扑技术作为如下技术而为人们所知在包括虚拟计算机的多台计算机的主记忆装置上构建缓存拓扑系统(cachetopology system),并在各计算机上的主记忆装置中,以所谓内存缓存(memory cache)的単位由多台计算机共享各个内存缓存,由此在连接多台相对不大的计算机来构成的规模相对大的虚拟计算机的系统中,实现规模相对大的虚拟内存数据库系统(In-MemoryDatabase system)。但是,并不能认为这是用于实现分布式数据库系统的方法,而只不过是规模相对大的虚拟单ー数据库系统的实现方法而已,在发生故障时,即使能够做到存储器级的故障部位局部化,但不能做到数据库系统级的故障部位局部化,因此,在保持上述一致性、上述參照完整性的状态下的用于备份的快照(snapshot)的生成以及用于前滚(rollforward)的更新日志的收集会遍及整个数据库区域,还有复原(recovery)也涉及整个数据库系统,所以在短时间内的复原不容易实现。另外,非专利文献I的该页面所记载的技术作为复制拓扑技术而为人们所知,上述非专利文献I的该页面所记载的技术为如下技术,即,在包括虚拟计算机在内的多台计算机的主记忆装置上构建缓存拓扑系统,并通过相互复制各计算机的主记忆装置上的内存缓存来实现同歩,由此在要对其他计算机上的主记忆装置上存取数据的情况下,也只要对自身计算机的主记忆装置上存取数据即可的技木。但是,在这样的情况下,即使计算机的台数增多,共享的内存缓存量也不会增加,所以对横向扩展(scale out)不会有贡献。 还有,在专利文献4的第0002段公开了一般的事务系统(transaction system)的结构,在该事务系统的结构中,在所有更新成功的情况下执行提交(COMMIT)提交,而哪怕是I次更新失败也会执行回滚(ROLLBACK)回滚。进而,在第0013段,作为使多个事务相关联的技术而公开了“嵌套事务(Nested Transaction) ”和“链事务(chainedtransaction)”。在第0014段及第0015段,公开了关干“嵌套事务”的详细说明。另外,在0016段及第0017段,公开了关于“链事务”的详细说明。现有技术文献专利文献专利文献I JP特许第4158534号公报专利文献2 JP特开第2006-92503号公报专利文献3 JP特表第2007-501456号公报专利文献4 JP特许第3732113号公报非专利文献非专利文献I 分散内存缓存和数据网格(data grid) ”,[季刊]UNIXMAGAZI NE,(株)ASCII MEDIA WORKS 公司,2009 年 4 月号,p. 72-77非专利文献2 横向扩展(scale out)的技木”,[季刊]UNIXMAGAZINE,(株)ASCII MEDIA WORKS 公司,2009 年 4 月号,p. 78-9
技术实现思路
专利技术要解决的课题在专利文献I中记载了如下方法将多个数据库管理装置划分为多个数据库域,并使各个数据库域彼此以各个数据库域为单位分别具有对该数据库域内的数据库管理装置上的各数据库对象的状态等元信息进行交換的结构,由此在未应用上述两阶段提交技术及上述复制技术的情况下,实现了能够执行确保实用呑吐量的实时更新处理的分布式数据库系统。但是,要通过每次个别交換上述元信息来实现同步,则软件的结构会变得复杂,这会给安装及维护带来困难,因此,近年来,希望其结构变得简单的需求变高,而且变得庞大的数据也成为要解决的课题,因此对进ー步高速化的需要愈来愈高。在非专利文献2中记载了作为用于横向扩展的方法的如下技术当单ー表(下面,称之为“关系(Reration)”)所具有的行(下面,称之为“元组(Tuple)”)变为大量时,通过将元组中的一部分数据作为自变量的一致性哈希法(Consistent hashing),对元组集进行水平分割。于是,与作为数据库对象的物理配置目标位置的物理节点的追加、分离相关的灵活的应对方法将会成为今后的课题。另ー方面,针对上述横向扩展,作为非专利文献2所记载的利用一致性哈希法之前的现有技术,在专利文献2中记载有与通过哈希法和映射法的混合方式来实现的上述物理节点的追加、分离相关的关于灵活性的确保的技术,该哈希法和映射法的混合方式是指,在通过哈希法来对元组集进行水平分割时,不是直接将物理节点与所分割的元组集相对应,而是本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】2009.05.18 JP 2009-119363;2009.09.23 JP 2009-218331.一种元信息共享型分散数据库系统,位于配置在网络上的多个数据库域各自的上述数据库域内, 包括 I或2以上的数据库对象管理装置,其用于对数据库进行管理, I或2以上的数据库对象存储装置,其分别与各上述数据库对象管理装置相对应,并用于存储上述数据库对象管理装置所管理的数据库, I或2以上的数据库元信息管理库装置,其用于利用具有上述数据库的元信息来与外部的其他数据库域实现完整性; 其特征在干, 数据库元信息管理库装置具有数据库元信息存储管理部, 在这里假设网络上存在彼此能够通信的多个数据库域,而且, 这里假设数据库对象是利用数据库对象识别符来识别的,而且该数据库对象识别符与作为用于对管理该数据库对象的上述数据库对象管理装置进行识别的信息的数据库对象管理装置识别符和用于对管理该数据库对象管理装置的上述数据库域进行识别的数据库域识别符相关联的情况下, 上述数据库元信息存储管理部将如下信息作为分布式数据库系统的数据库元信息来进行存储,这些信息分别为 用于对自身数据库域内的数据库对象管理装置所保持的管理下的数据库的结构进行定义的数据字典信息, 在自身数据库域内的数据库对象管理装置内的数据库对象相对于其他上述数据库域内的数据库对象管理装置所管理的数据库对象处于外部參照状态时,与參照被參照状态下的双方数据库对象相关的状态信息, 处于将自身上述数据库域内的上述数据库对象管理装置所管理的上述数据库对象从直接或间接地访问用于管理其他数据库域的上述数据库元信息管理库装置的終端计算机或服务器计算机读取的读取状态且处于共享锁定状态的该数据库对象的状态信息, 处于将自身上述数据库城内的上述数据库对象管理装置所管理的上述数据库对象从直接或间接地访问用于管理其他数据库域的上述数据库元信息管理库装置的終端计算机或服务器计算机写入的写入状态且处于排他锁定状态的该数据库对象的状态信息; 在自身数据库域内继续进行处理,等到发生了给与上述数据库对象相关的状态信息带来变化的事件的情况下,上述数据库元信息存储管理部迅速地对与该数据库对象相关的状态信息进行更新管理; 构成单一虚拟主记忆装置,该单一虚拟主记忆装置是通过如下方式来实现的,即,将用于安装上述“參加分布式数据库中的数据库域内的”该数据库元信息管理库装置的服务器计算机即各节点的“主记忆装置的一部分”作为内存缓存,将自身节点及其他节点上的上述内存缓存作为存储映像,在节点之间彼此共享这些内存缓存及存储映像来实现的,或者,在节点之间彼此复制并保持上述内存缓存,伴随着数据库元信息的变化,将与该变化相关的该节点上的与该变化相关的该内存缓存上的存储映像复制至其他节点上的对应的内存缓存上来进行同步来实现的;而且, 自身数据库元信息管理库装置的上述数据库元信息存储管理部和位于其他数据库域内的上述数据库元信息管理库装置内的数据库元信息存储管理部被上述“參加分布式数据库中的数据库域内的”各数据库元信息管理库装置共享。2.一种访问计数器式分散多重事务控制系统,配置在网络上, 包括 I或2以上的数据库对象管理装置,其用于对数据库进行管理, I或2以上的数据库对象存储装置,其分别与各上述数据库对象管理装置相对应,并用于存储上述数据库对象管理装置所管理的数据库, 分布式多重事务处理装置,其用于在分布式多重事务处理中ー边保持事务处理一致性一边执行处理, I或2以上的数据库元信息管理库装置,其用于对具有上述数据库的元信息进行管理; 其特征在干, 数据库元信息管理库装置具有更新访问计数器,该更新访问计数器的特征在于,该更新访问计数器是利用用于对成为I或2以上的上述更新访问的起点的进程进行识别的进程识别符来识别的; 分布式多重事务处理装置具有分布式多重事务处理执行部,该分布式多重事务处理执行部的特征在干, 在针对被終端计算机或服务器计算机直接或间接地请求插入或变更或删除的I或2以上的更新访问的、数据库对象管理装置所管理的数据库对象的事务处理中, 假设上述更新访问计数器预先具有特定的初始值的情况下, 如果存在成为该起点的进程自身以及通过该成为上述起点的进程来直接或间接地激发的自身数据库域内的終端计算机或服务器计算机上的进程乃至线程,则每当发生根据该进程乃至线程所请求的更新访问,都以规定数目为单位,对通过该用于识别成为上述更新访问的请求起点的进程的进程识别符来识别的该更新访问计数器内的计数值进行计数,每当按顺序接收到实际的更新访问成功的信息吋,以该规定数目相同的值为单位,对通过该用于识别成为上述更新访问的请求起点的进程的进程识别符来识别的该更新访问计数器内的计数值进行倒计数,在该计数的值与该初始值相一致吋,执行通过该成为上述起点的进程自身及由该成为上述起点的进程直接或间接地激发的自身数据库域内的終端计算机或服务器计算机上的进程乃至线程所执行的所有更新访问的提交处理,而且, 在哪怕接收到ー个实际的更新访问失败的信息的情况下,中止剰余的更新访问而不等待其结果,如果存在该成为上述起点的进程自身及该成为上述起点的进程乃至线程,则迅速执行通过由该进程乃至线程直接或间接地激发的自身或其他数据库域内的終端计算机或服务器计算机上的进程乃至线程来执行的所有更新访问的回滚处理。3.一种元信息共享型分散数据库系统,位于配置在网络上的多个数据库域各自的上述数据库域内,并由I或2以上的权利请求2所记载的访问计数器式分散多重事务控制系统构成,其特征在干, 数据库元信息管理库装置还具有用干与外部的其他数据库域实现完整性的功能, 分布式多重事务处理装置还具有分布式多重事务处理执行部,该分布式多重事务处理执行部的特征在干, 在这里假设网络上存在彼此能够通信的多个数据库域,而且,这里假设数据库对象是利用数据库对象识别符来识别的,而且该数据库对象识别符与作为用于对管理该数据库对象的上述数据库对象管理装置进行识别的信息的数据库对象管理装置识别符和用于对管理该数据库对象管理装置的上述数据库域进行识别的数据库域识别符相关联的情况下, 在针对被終端计算机或服务器计算机直接或间接地请求插入或变更或删除的I或2以上的更新访问的、自身或其他上述数据库域内的数据库对象管理装置所管理的数据库对象的事务处理中, 假设存在通过用于识别成为多个数据库域所请求的I或2以上的上述更新访问的起点的进程的进程识别符来所识别的更新访问计数器, 假设上述更新访问计数器预先具有特定的初始值的情况下, 如果存在成为该起点的进程自身以及通过该成为上述起点的进程来直接或间接地激发的自身或其他数据库域内的終端计算机或服务器计算机上的进程乃至线程,则每当发生根据该进程乃至线程所请求的更新访问,都以规定数目为单位,对通过该用于识别成为上述更新访问的请求起点的进程的进程识别符来识别的该更新访问计数器内的计数值进行计数, 每当按顺序接收到实际的更新访问成功的信息吋,以该规定数目相同的值为单位,对通过该用于识别成为上述更新访问的请求起点的进程的进程识别符来识别的该更新访问计数器内的计数值进行倒计数,在该计数的值与该初始值相一致吋,执行通过该成为上述起点的进程自身及由该成为上述起点的进程直接或间接地激发的自身或其他数据库域内的終端计算机或服务器计算机上的进程乃至线程所执行的所有更新访问的提交处理,而且, 在哪怕接收到ー个实际的更新访问失败的信息的情况下,中止剰余的更新访问而不等待其结果,如果存在该成为上述起点的进程自身及该成为上述起点的进程乃至线程,则迅速执行通过由该进程乃至线程直接或间接地激发的自身或其他数据库域内的終端计算机或服务器计算机上的进程乃至线程来执行的所有更新访问的回滚处理; 构成单一虚拟主记忆装置,该单一虚拟主记忆装置是通过如下方式来实现的,即,将用于安装參加上述元信息共享型分散数据库系统中的上述数据库域内的该数据库元信息管理库装置的服务器计算机即各节点的“主记忆装置的一部分”作为内存缓存,将自身节点及其他节点上的上述内存缓存作为存储映像,在节点之间彼此共享这些内存缓存及存储映像来实现的,或者,在节点之间彼此复制并保持上述内存缓存,伴随着数据库元信息的变化,将与该变化相关的该节点上的与该变化相关的该内存缓存上的存储映像复制至其他节点上的对应的内存缓存上来进行同步来实现的;而且, 自身数据库元信息管理库装置的上述数据库元信息存储管理部和位于其他数据库域内的上述数据库元信息管理库装置内的数据库元信息存储管理部被上述“參加分布式数据库中的数据库域内的”各数据库元信息管理库装置共享。4.如权利请求I所述的元信息共享型分布式数据库系统,其特征在干, 作为结构要素还包括分布式多重事务处理装置,该分布式多重事务处理装置用于在分布式多重事务处理中ー边保持事务处理一致性一边执行处理, 分布式多重事务处理装置具有分布式多重事务处理执行部,该分布式多重事务处理执行部的特征在干, 在这里假设网络上存在彼此能够通信的多个数据库域,而且, 这里假设数据库对象是利用数据库对象识别符来识别的,而且该数据库对象识别符与作为用于对管理该数据库对象的上述数据库对象管理装置进行识别的信息的数据库对象管理装置识别符和用于对管理该数据库对象管理装置的上述数据库域进行识别的数据库域识别符相关联的情况下, 在针对被終端计算机或服务器计算机直接或间接地请求插入或变更或删除的I或2以上的更新访问的、自身或其他上述数据库域内的数据库对象管理装置所管理的数据库对象的事务处理中, 假设存在通过用于识别成为多个数据库域所请求的I或2以上的上述更新访问的起点的进程的进程识别符来所识别的更新访问计数器, 假设上述更新访问计数器预先具有特定的初始值的情况下, 如果存在成为该起点的进程自身以及通过该成为上述起点的进程来直接或间接地激发的自身或其他数据库域内的終端计算机或服务器计算机上的进程乃至线程,则每当发生根据该进程乃至线程所请求的更新访问,都以规定数目为单位,对通过该用于识别成为上述更新访问的请求起点的进程的进程识别符来识别的该更新访问计数器内的计数值进行计数, 每当按顺序接收到实际的更新访问成功的信息吋,以该规定数目相同的值为单位,对通过该用于识别成为上述更新访问的请求起点的进程的进程识别符来识别的该更新访问计数器内的计数值进行倒计数,在该计数的值与该初始值相一致吋,执行通过该成为上述起点的进程自身及由该成为上述起点的进程直接或间接地激发的自身或其他数据库域内的終端计算机或服务器计算机上的进程乃至线程所执行的所有更新访问的提交处理,而且, 在哪怕接收到ー个实际的更新访问失败的信息的情况下,中止剰余的更新访问而不等待其结果,如果存在该成为上述起点的进程自身及该成为上述起点的进程乃至线程,则迅速执行通过由该进程乃至线程直接或间接地激发的自身或其他数据库域内的終端计算机或服务器计算机上的进程乃至线程来执行的所有更新访问的回滚处理; 数据库元信息管理库装置具有更新访问计数器, 在这里假设网络上存在彼此能够通信的多个数据库域的情况下, 该更新访问计数器是通过用于识别成为多个数据库域所请求的I或2以上的上述更新访问的起点的进程的进程识别符来识别的。5.一种元信息共享型分散数据库系统,位于配置在网络上的多个数据库域各自的上述数据库域内, 包括 I或2以上的数据库对象管理装置,其用于对数据库进行管理, I或2以上的数据库对象存储装置,其分别与各上述数据库对象管理装置相对应,并用于存储上述数据库对象管理装置所管理的数据库, 数据库对象管理装置确定装置,其针对具有无法完全收容于単一的上述数据库对象存储装置内的元组数的关系,要通过水平分割来收容于多个数据库域管理下的I或2以上的上述数据库对象管理装置所管理的I或2以上的上述数据库对象存储装置内时,将对象数据对象和数据对象管理装置建立对应关联, 数据库对象检索加工装置,其用于对跨多个数据库域的数据库对象进行检索或加工或更新, I或2以上的数据库元信息管理库装置,其用于利用具有上述数据库的元信息来与外部的其他数据库域实现完整性; 数据库对象管理装置确定装置具有 数据库对象集识别标记变换部,其通过采用特定參数的哈希法等算法,将对象数据库对象的一部分乃至全部的信息变换为数据库对象集识别标记,该数据库对象集识别标记用于确定成为用于存储对照数据库对象的逻辑存储目标位置的数据库对象集, 数据库对象集识别标记位置信息变换部,其用于将数据库对象集位置信息和该数据库对象集识别标记建立对应关联,该数据库对象集位置信息用于确定成为与该数据库对象集识别标记相对应的该数据库对象集的物理存储目标位置的上述数据库域及上述数据库对象管理装置; 数据库对象检索加工装置具有 数据库对象检索部,其ー边通过采用与该算法相同的參数的相同的算法来确定成为检索对象的该数据库对象集,一边以跨的方式对I或2以上的该数据库对象管理装置所管理的I或2以上的上述数据库对象存储装置上的I或2以上的数据库对象集进行检索, 数据库对象加工部,其ー边通过采用与该算法相同的參数的相同的算法来确定成为加エ对象的该数据库对象集,一边对由上述数据库对象检索部确定并提取的...

【专利技术属性】
技术研发人员:西山修平
申请(专利权)人:西山修平
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1