CN101861572A - 控制对数据库的访问的技术 - Google Patents

控制对数据库的访问的技术 Download PDF

Info

Publication number
CN101861572A
CN101861572A CN200880116556A CN200880116556A CN101861572A CN 101861572 A CN101861572 A CN 101861572A CN 200880116556 A CN200880116556 A CN 200880116556A CN 200880116556 A CN200880116556 A CN 200880116556A CN 101861572 A CN101861572 A CN 101861572A
Authority
CN
China
Prior art keywords
mentioned
data
memory storage
database
instruction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN200880116556A
Other languages
English (en)
Other versions
CN101861572B (zh
Inventor
大川昌弘
贝岛创
坂口明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN101861572A publication Critical patent/CN101861572A/zh
Application granted granted Critical
Publication of CN101861572B publication Critical patent/CN101861572B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种控制对数据库的访问的系统、方法以及程序,该系统包括将存储于第1存储装置的数据库中的满足使用者输入的迁移条件的数据迁移至第2存储装置的数据迁移部;接受对上述数据库的访问指令的输入的指令输入部;根据所输入的上述访问指令和所输入的上述迁移条件来判断要根据所输入的上述访问指令进行访问的数据是否已经迁移至上述第2存储装置的迁移判断部;以及根据由上述迁移判断部的判断,按照上述访问指令来访问上述数据库所包含的数据或者已迁移至上述第2存储装置的数据的访问部。即使在将存储于存储装置的数据库的一部分迁移至其他的存储装置时,也能有效地访问数据库整体。

Description

控制对数据库的访问的技术
技术领域
本发明涉及控制对数据库的访问的技术。本发明尤其涉及控制对跨多个存储装置而存储的数据库的访问的技术。
背景技术
以往提出有将包含许多数据的数据库划分为高速处理的存储介质和低速处理的存储介质来进行存储的方法(参照专利文献1)。在该方法中,通过将检索频率高的数据存储在高速处理的存储介质中,将检索频率低的数据存储在低速处理的存储介质中,能够实现对数据库的高效访问。
专利文献1:日本特开2000-112983号公报
发明内容
然而,在专利文献1的技术中,为了对低速处理的存储介质(例如磁带)进行访问,将该存储介质内的数据还原到高速处理的存储介质(例如硬盘装置)中(参照专利文献1的图5中的S4以及第0010段)。因此,从发出数据的检索指令起到能参照数据为止会产生等待时间。
另外,近年来,从支援企业的法令遵守的观点来看,有时在不能变更数据的状态下需要长时间保存。在这种情况下,使用者选择存储在硬盘装置等上的数据的一部分,将其迁移至所谓的WORM(WriteOnce Read Many:写一次读多次)介质等。另外,在硬盘装置的空白容量变少的情况下,也可以将存储于其中的一部分数据迁移至WORM介质。
如果这种WORM介质也能作为数据库的一部分来参照,则硬盘装置不需要继续存储已迁移的数据,能够削减硬盘装置等的必要容量,从而提效率。但是,专利文献1中没有记载将所需的数据从硬盘装置迁移至WORM介质、以及对迁移后的数据应如何进行访问这样的内容。
因此,本发明的目的在于提供一种能解决上述问题的系统、方法以及程序。该目的通过权利要求书中的独立权利要求所记载的特征的组合来实现。另外,从属权利要求规定本发明的更有利的具体例。
为了解决上述问题,本发明的第1方式提供一种控制对数据库的访问的系统,该系统包括数据迁移部,将存储于第1存储装置的数据库中的满足使用者输入的迁移条件的数据迁移至第2存储装置;指令输入部,接受对上述数据库的访问指令的输入;迁移判断部,根据所输入的上述访问指令和所输入的上述迁移条件来判断要根据所输入的上述访问指令进行访问的数据是否已经迁移至上述第2存储装置;以及访问部,根据由上述迁移判断部的判断,按照上述访问指令来访问上述数据库所包含的数据或者已迁移至上述第2存储装置的数据。另外,提供一种利用上述系统来控制对数据库的访问的方法以及使计算机作为上述系统发挥作用的程序。
上述的发明概要没有列举出本发明的所有必要特征,这些特征组的子组合也能成为另一发明。
附图说明
图1表示本实施方式的控制系统10的功能结构。
图2表示本实施方式的控制系统10从数据库迁移数据、然后对迁移后的数据进行访问的处理的流程。
图3表示图2的S220的处理的流程的详细情况。
图4表示本实施方式的存储于第1存储装置150的数据库的一例。
图5表示本实施方式的在第2存储装置160中对应生成的虚拟表的一例。
图6表示本实施方式的存储于控制用存储装置110的数据迁移后的迁移条件和对应信息。
图7表示本实施方式的存储于第1存储装置150的数据迁移后的数据库的一例。
图8表示本实施方式的存储于第2存储装置160的数据迁移后的虚拟表的一例。
图9表示图2的S280的处理的流程的详细情况。
图10表示本实施方式的由访问部140改写的访问指令的一例。
图11表示图2的S240的处理的流程的详细情况。
图12表示本实施方式的存储于控制用存储装置110的追加并迁移数据后的迁移条件和对应信息。
图13表示本实施方式的存储于第1存储装置150的追加并迁移数据后的数据库的一例。
图14表示本实施方式的存储于第2存储装置160的追加并迁移数据后的虚拟表的一例。
图15表示本实施方式的访问部140的其他例子。
图16表示本实施方式的控制系统10向新制成的另一个表追加并迁移数据的处理的流程。
图17表示本实施方式的存储于控制用存储装置110的向新制成的另一个表迁移数据后的迁移条件和对应信息。
图18表示本实施方式的存储于第1存储装置150的、向新制成的另一个表迁移数据后的数据库的一例。
图19表示本实施方式的存储于第2存储装置160的、向新制成的另一个表迁移数据后的数据库的一例。
图20表示本实施方式的存储于第3存储装置166的、向新制成的另一个表迁移数据后的数据库的一例。
图21表示本实施方式的作为控制系统10发挥功能的计算机500的硬件构成的一例。
标号说明:
10控制系统
100数据迁移部
110控制用存储装置
120指令输入部
125指令高速缓冲存储器
130迁移判断部
140访问部
142第1控制部
145第2控制部
146第1检验限制存储部
148第2检验限制存储部
150第1存储装置
160第2存储装置
162文件
165WORM介质
170设定部
500计算机
具体实施方式
以下,通过发明的实施方式来说明本发明,但以下的实施方式不限于权利要求书涉及的发明,而且在实施方式中说明过的特征的所有组合未必是发明的解决手段中所必须的。
图1表示本实施方式的控制系统10的功能结构。控制系统10包括例如用硬盘驱动器等实现的第1存储装置150、和例如用磁带存储装置或者磁光盘驱动器等实现的第2存储装置160。取而代之,第2存储装置160也可以是例如IBM公司的DR550等的用于长期保存数据的专用装置。
并且,控制系统10按照从使用者接受到的数据的迁移指示而将存储于第1存储装置150的数据库的一部分迁移至第2存储装置160。其目的在于,本实施方式的控制系统10在这种数据的迁移之后也按照从使用者接受到的访问指令来对第1存储装置150和/或第2存储装置160适当地进行访问。
控制系统10具有用RAM等主存储装置实现的控制用存储装置110和指令高速缓冲存储器125。另外,通过CPU或者微型计算机等运算装置从RAM等主存储装置读出程序并执行,控制系统10作为数据迁移部100、指令输入部120、迁移判断部130、访问部140、设定部170发挥作用。该程序可以通过扩展IBM公司的DB2服务器具备的功能来开发。另外,该程序的第2控制部145可以使用IBM公司的FederationServer的non-relational wrapper SDK来开发。
数据迁移部100将存储于第1存储装置150的数据库中的满足使用者输入的迁移条件的数据迁移至第2存储装置160。具体而言,第1存储装置150存储有例如表结构的数据库。将该表称为第1表。并且,数据迁移部100接受第1表中的列名以及该列可采用的值的范围的输入来作为迁移条件。于是,数据迁移部100从第1表中读出该列成为该范围内的值的记录。
然后,数据迁移部100生成包含读出来的上述记录的新的第2表并存入第2存储装置160。第2存储装置160将新的第2表存入例如作为磁光盘的WORM介质165。第2表可以被分散存储在WORM介质165内的多个文件162-1~N中。与此同时,数据迁移部100从第1表中删除读出来的这些记录。而且,数据迁移部100将用于迁移数据而输入的迁移条件存入控制用存储装置110。
控制用存储装置110是为了存储上述迁移条件等各种控制用数据而设置的。例如如上述例子那样,存储的迁移条件是作为条件设定的对象的列的列名以及该列内的数据应满足的值的范围的组。另外,迁移条件还可以是多个列以及各列内的数据应满足的值的范围的组合。
指令输入部120接受对数据库的访问指令的输入。例如,访问指令包含访问的种类、作为访问对象的表的指定、以及作为访问对象的记录应满足的条件等。访问的种类是参照、更新或者插入等。作为一例,该访问指令可以使用例如SQL(Structured Query Language:结构查询语言)等的语言来记述。
迁移判断部130根据所输入的该访问指令和所输入的该迁移条件来判断利用所输入的该访问指令要访问的数据是否已经迁移至第2存储装置160。具体而言,首先迁移判断部130按照访问指令的输入而从指令输入部120读出迁移条件。然后,迁移判断部130根据该访问指令来判断利用该访问指令要访问的数据是否满足迁移条件。
以要访问的数据满足迁移条件为条件,迁移判断部130判断该数据已经迁移至第2存储装置160。作为具体例,在迁移条件是某列的数值为常数10000以上这样的条件时,如果该访问指令所包含的条件是该列的数值为常数20000以上这样的条件,则被判断为要访问的数据已被迁移。
而在迁移条件是某列的数值为常数10000以上这样的条件时,如果该访问指令所包含的条件是该列的数值为常数9000以下这样的条件,则被判断为要访问的数据没有被迁移。进而,在迁移条件是某列的数值为常数10000以上这样的条件时,如果该访问指令所包含的条件是该列的数值为常数5000以上这样的条件,则被判断为要访问的数据已经迁移一部分。这样,迁移判断部130可以不仅单纯判断数据是否已被迁移,还判断一部分数据是否已被迁移。
访问部140根据由迁移判断部130进行的判断,按照访问指令来访问存储于第1存储装置150的数据和被迁移至第2存储装置160的数据的至少一方。具体而言,访问部140也可以通过改写所输入的该访问指令而对第1存储装置150或者第2存储装置160进行访问。作为一例,在要访问的数据已经被迁移至第2存储装置160时,访问部140可以将访问指令中的作为访问对象的表的指定从第1存储装置150内的第1表改写为第2存储装置160内的第2表。
作为另一例,在要访问的数据传送到第1存储装置150和第2存储装置160这双方时,访问部140可以将访问指令中的作为访问对象的表的指定从第1表改写为结合了第1表和第2表的表。在访问指令为SQL时,这样的表的结合用“UNION ALL”指令来表示。由此,能够分别对第1存储装置150内的数据库和已经迁移的数据适当地进行访问。
作为基本功能,访问部140对用SQL等记述的访问指令进行编译,变换为可由第1存储装置150或者第2存储装置160直接解释的指令后,向第1存储装置150和第2存储装置160发出该已编译指令。指令高速缓冲存储器125为了使这样的编译处理高效化,而将过去输入的访问指令、和访问部140编译该访问指令后对数据库发出的指令即已编译指令对应地存储。
在此,已编译指令被称作所谓的访问方案(plan),不仅可以表示以怎样的顺序进行怎样的处理,还可以表示从哪个存储装置要取得哪个信息。以下示出该例。
步骤1:从第1存储装置150取得列A的值为从5000至10000的数据
步骤2:从第2存储装置160取得列A的值为10000以上的数据
步骤3:…(之后继续进行同样的处理)
然后,在指令输入部120新输入的访问指令已存储在指令高速缓冲存储器125中时,访问部140读出与该访问指令对应地存储在指令高速缓冲存储器125中的已编译指令。在这种情况下,访问部140不是对该访问指令进行再次编译,而是依次执行读出来的该已编译指令表示的多个处理。其结果,按照需要来访问第1存储装置150和第2存储装置160。由此,由于不需要对已存储在高速缓冲存储器的一部分指令进行编译处理,所以能够缩短从发出指令到访问完成为止的等待时间。
但是,在数据迁移部100新迁移了数据时,在迁移前后,指令输入部120即使接受了相同的访问指令的输入,也有访问部140实际上发出的已编译指令不同的情况。因此,数据迁移部100每次迁移数据时将指令高速缓冲存储器125清零。优选的是,清零的部分只是与新输入的迁移条件相关的部分。
设定部170针对使用者设定是否许可对已迁移至第2存储装置160的数据的访问。例如,在针对某个使用者1没有许可对已迁移的数据的访问时,即使从该使用者1发出对已迁移的数据的访问指令,访问部140也会应答错误。另外,即使从该使用者1输入将第2表作为访问对象而明示的访问指令,访问部140也会应答错误。
取而代之,在没有许可对已迁移的数据的访问的情况下,当从该使用者1发出对已迁移的数据的访问指令时,访问部140也可以忽略该被迁移的数据而仅对可访问的数据进行访问。例如,在从表T1向表T2迁移了一部分数据的情况下,当发出“SELECT*FROM T1”这样的指令时,可以忽略被迁移至表T2的数据而仅访问已迁移至表T1的数据。
对第1存储装置150和第2存储装置160的访问不仅是访问指令的改写,还可以同时实现访问部140具备的检验限制这样的功能。具体而言,访问部140具有第1控制部142和第2控制部145。
第1控制部142与第1存储装置150对应地设置。第1控制部142判断利用所输入的访问指令要访问的数据是否满足预先设定的第1检验限制,在满足该检验限制这样的条件下,许可对第1表的访问,在不满足该检验限制这样的条件下,禁止对第1表的访问。
第2控制部145与第2存储装置160对应地设置。第2控制部145判断利用所输入的访问指令要访问的数据是否满足预先设定的第2检验限制,在满足该检验限制这样的条件下,许可对第2表的访问,在不满足该检验限制这样的条件下,禁止对第2表的访问。
即,访问指令所含的访问条件分别依次与第1以及第2检验限制进行比较,如果其中任一个被满足,则自动选择与被满足的检验限制对应的存储装置并对其成功访问。例如,如果第1检验限制为“列C1<1000”,且第2检验限制为“列C1>=1000”,所输入的SQL的SELECT指令等的访问条件部分为“C1<2000”,则能从第1存储装置150中取得符合的所有数据,且从第2存储装置160中取得列C1小于2000的数据。而如果参照信息的指令的访问条件部分为“列C1<500”,则能从第1存储装置150中取得列C1<500的数据,不能从第2存储装置160取得数据。
如果哪个检验限制都不满足,则应答表示访问失败的意思的错误。例如,在所输入的指令表示信息的参照(SQL的SELECT语句),没有符合的数据时,不进行记录而正常地结束。在所输入的指令为信息的插入时,仅某一个不符合则变成错误。另外,更新/删除在没有符合的数据时变成错误。用于发生错误的这些条件可以由已存在的数据库的标准来决定。
访问部140利用这些检验限制分别在第1存储装置150和第2存储装置160中对适当的数据进行访问。具体而言,在数据迁移时,数据迁移部100将所输入的迁移条件作为第2检验限制设定在第2控制部145的第2检验限制存储部148中。然后,数据迁移部100将所输入的迁移条件的逻辑非作为第1检验限制设定在第1控制部142的第1检验限制存储部146中。另外,如上所述,访问部140将所输入的访问指令中的作为访问对象的表的指定改写为结合了第1表和第2表的表来替代第1表。于是,针对之后输入的访问指令,按照其包含的访问条件适当地选择第1存储装置150和第2存储装置160中的任一方或者双方来作为访问对象。
图2表示本实施方式的控制系统10从数据库迁移数据、然后对已迁移的数据进行访问的处理的流程。首先,数据迁移部100判断是否接收到使存储于第1存储装置150的数据库的一部分迁移至第2存储装置160的指示(S200)。使其迁移的指示是指,包含例如作为迁移源的数据库的表(在本实施方式中为T1)、迁移条件(例如列与该列的数值范围)、以及是否将迁移目标的数据设为读出专用的设定。
响应接收到使其迁移的指示(S200:是),数据迁移部100判断对于迁移源的表而言该迁移指示是否为新的指示、即过去还未从该迁移源的表迁移任何数据(S210)。如果该迁移指示是新的(S210:是),则数据迁移部100将存储于第1存储装置150的数据库中的满足使用者输入的迁移条件的数据迁移至第2存储装置160(S220)。参照图3~图8来说明该处理的具体例。
图3表示图2的S220的处理的流程的详细情况。图4表示本实施方式的存储于第1存储装置150的数据库的一例。在图3的处理开始时刻,如图4所示,第1存储装置150存储有例如关系型数据库等表结构的数据库。
第1存储装置150存储有表T1。表T1包含列C1和列C2。列C1的数据类型为Date(日期)型,列C2的数据类型为字符串(Char)型。
该图4示出表T1中的3个记录。第1记录是,列C1包含“1999-06-15”,列C2包含“AAA1”。第2记录是,列C1包含“2000-08-22”,列C2包含“AAA2”。第3记录是,列C1包含“2002-12-01”,列C2包含“AAA3”。
返回图3的说明。首先,数据迁移部100生成用于规定已迁移至第2存储装置160的数据的数据结构的第2表(S300)。将该表称为虚拟表。图5示出该虚拟表的一例。
图5表示本实施方式的在第2存储装置160中对应生成的虚拟表的一例。该虚拟表的名称是T1_WORM。该虚拟表与表T1完全相同,包含列C1和列C2。列C1的数据类型是Date(日期)型,列C2的数据类型是字符串(Char)型。但是,表T1_WORM不含任何记录。
例如,当使用IBM公司的Federation Server的功能开发用于对第2存储装置160(在此,例如IBM公司的产品DR550)进行访问的wrapper时,通过对IBM公司的DB2服务器依次发出如下这样的指令,生成t1_worm这样的虚拟表。使用该表,能够对DR550进行访问。
Create wrapper worm_wrapper library’db2
qgjava.dll’options(unfenced_wrapper_class’Unfenced TapeWrapper’);
Create server worm_server wrapper worm_wrapper
options(target’DR550’);
create nickname user1.t1_worm for server worm_server options
(base_schema’USER1’,base_table’T1’,num_worm_file_records’100’,cache_dir’/var/cache/db1/t1_worm’,cache_size’1G’);
返回到图3的说明。接着,数据迁移部100根据接受输入的数据迁移指示来登记各种信息(S310)。例如,数据迁移部100将所输入的迁移条件作为第2检验限制设定在第2控制部145中。另外,数据迁移部100将该迁移条件存入控制用存储装置110,并且将使作为迁移源的表T1与作为迁移目标的表T1_WORM对应起来的对应信息存入控制用存储装置110。进而,数据迁移部100在接受到用于对迁移目标的数据设定读出专用的属性的指示时,可以对表T1_WORM设定读出专用的属性。图6示出这样的一例。
图6表示本实施方式的存储于控制用存储装置110的数据迁移后的迁移条件和对应信息。控制用存储装置110将“C1<=1999-12-31”作为迁移条件进行存储。另外,控制用存储装置110将基表(basetable)和迁移目标表对应存储来作为对应信息。基表是USER.T1,迁移目标表是USER.T1_WORM。由此,访问部140能够将对表T1的访问指令视为对表T1和表T1_WORM的访问指令。进而,控制用存储装置110存储有读出专用属性和附加(attach)有效属性。读出专用属性表示迁移目标表的访问限制。附加有效属性表示基于上述对应信息的对应是否有效。
通过扩展例如IBM公司的DB2服务器用的指令来实现时,使以上的处理变成例如以下这样。
首先,数据迁移目标虚拟表的制成如已例示出那样。数据迁移条件的登记(对T1_WORM定义图6所示的各种信息)
alter nickname user1.t1_worm add attach info(base_schema’USER1’,base_table’
T1’,range_key’C1’,ending’1999-12-31’,
readonly’Y’);
登记T1_WORM表的检验限制(将上述登记的迁移条件作为检验限制来登记)
alter nickname user1.t1_worm add constraint c1 check(c1<=’1999-12-31’)not enforced;
锁定T1表
lock table user1.t1 in execlusive mode;
将T1表的迁移对象数据迁移至T1_WORM表(使用图6的信息来迁移数据)
archive table user1.t1;
登记T1表的检验限制(将图6的迁移条件和逆条件作为T1表的检验限制来登记)
alter table user1.t1 add constraint c1 check(c1>’1999-12-31’);在T1表中附加T1_WORM表(将图6的附加有效属性从“无效”变更为“有效”)
alter table userl.t1 attach table user1.t1_worm;
将与T1表和T1_WORM表相关的SQL语句的高速缓冲存储器清零
flush statement cache for table user1.t1;
flush statement cache for table user1.t1_worm;
进行上述设定信息的确定以及T1表的锁定解除
Commit;
以上的各功能如以上那样,既可以利用多个指令来实现,还可以利用用于将这些功能汇总而实现的单一指令来实现。
数据迁移部100可以将已迁移的数据在第2存储装置160中分割为多个文件来保存。这些多个文件分别存储有多个部分数据的每一个。并且,这些多个部分数据满足各不相同的条件。例如,可以在某个文件中存储处于列C1从1998-01-01到1998-12-31的范围内的记录,在另一个文件中存储处于列C1从1997-01-01到1997-12-31的范围内的记录。在这种情况下,数据迁移部100可以将这样的各部分数据应满足的条件存储在控制用存储装置110中。
返回到图3的说明。接着,数据迁移部100通过排他控制锁定迁移源的数据库来禁止访问(S320)。然后,数据迁移部100将存储于第1存储装置150的数据库中的满足迁移条件的数据迁移至第2存储装置160(S330)。已迁移的数据可以按照需要被加密或者被数据压缩。另外,数据迁移部100将所输入的迁移条件的逻辑非作为第1检验限制设定在第1控制部142(S340)。
数据迁移部100接着将迁移源的表附加到迁移目标的表中(S350)。附加是指将表示建立对应的对应信息设定为有效,具体而言,将上述图6的附加有效属性设定为有效。与此同时,数据迁移部100将指令高速缓冲存储器125清零(S360)。然后,数据迁移部100对数据库解锁而许可访问(S370)。
图7和图8表示通过以上的处理将数据从第1存储装置150迁移至第2存储装置160后的第1存储装置150和第2存储装置160的例子。
图7表示本实施方式的存储于第1存储装置150的数据迁移后的数据库的一例。第1存储装置150存储表示C1的数值为比1999-12-31新的日期的记录,从第1存储装置150中删除表示该数值为1999-12-31以前的日期的记录。另外,第1检验限制存储部146将迁移条件的逻辑非即“C1>1999-12-31”作为第1检验限制来存储。
图8表示本实施方式的存储于第2存储装置160的数据迁移后的虚拟表的一例。第2存储装置160存储表示C1的数值为1999-12-31以前的日期的记录,表示该数值为比1999-12-31新的日期的记录没有迁移至第2存储装置160。另外,第2检验限制存储部148将迁移条件即“C1<=1999-12-31”作为第2检验限制来存储。
返回到图2的说明。另一方面,在没有接收迁移指示时,指令输入部120判断是否接受对数据库的访问指令的输入(S260)。响应接受访问指令的输入(S260:是),访问部140对第1存储装置150和第2存储装置160的至少一个进行访问(S280)。图9示出该处理的详细情况。
图9表示图2的S280的处理的流程的详细情况。首先,访问部140判断是否许可发出了访问指令的用户访问迁移目标的数据(S900)。该许可是例如利用上述设定部170进行设定的。
在没有许可对迁移目标的数据的访问时(S900:否),访问部140判断是设定为将对该数据的参照作为错误、还是设定为忽略对该数据的参照(S930)。
在进行了忽略这样的设定时(S930:忽略),访问部140直接发出所输入的访问指令(S935)。其结果,如果访问的对象是迁移目标的数据,则该访问被忽略,仅能访问迁移源的数据。
而在进行了将对迁移目标的数据的访问作为错误的设定时(S930:设为错误),访问部140改写指令输入部120输入的访问指令而执行(S940)。参照图10,在后面说明该改写的一例。
接着,迁移判断部130根据所输入的该访问指令和所输入的该迁移条件来判断按照该访问指令要访问的数据的至少一部分是否已经迁移至第2存储装置160(S950)。在已经迁移至第2存储装置160的条件下(S950:是),访问部140对输入了访问指令的用户通知错误(S960)。
另外,在许可了对迁移目标访问数据时(S900:是),访问部140改写所输入的访问指令而执行(S910)。在这种情况下,访问部140进一步对已迁移至第2存储装置160的数据设定读出专用的属性,且判断对该数据的访问是否为更新该数据的请求(S920)。在这种情况下(S920:是),访问部140向S960转移处理并通知错误。
图10表示本实施方式的由访问部140改写的访问指令的一例。图10(a)表示改写前的访问指令。该访问指令表示从表T1中选择列C1的值大于“1900-01-01”(即,日期是新的)的记录的指令。以下,说明该访问指令的改写的例子。
在设定了检验限制时,应从各表中读出的记录满足的条件利用检验限制来判断。因此,只要访问部140改写访问指令内指定的作为访问对象的表即可,不需要改写访问指令内指定的访问条件。
例如如图10(b)所示,访问部140将作为访问对象的表的指定从“T1”改写为“SELECT*FROM USER1.T1 UNION ALL SELECT*FROM USER1.T1_WORM”。其结果,能够将第1存储装置150和第2存储装置160分别作为访问对象。
以上,利用访问部140,能够从第1表中读出由所输入的访问指令指定的数据中的不满足数据迁移时输入的迁移条件的记录,从第2表中读出满足该迁移条件的记录。
除以上的例子之外,在通过对第2存储装置160的设定而许可了记录更新或者记录插入的操作时,不仅是SELECT指令,访问部140还可以用INSERT指令或者UPDATE指令进行改写。但是,在所输入的指令为UPDATE指令的情况下,当变更设定为数据的迁移条件的列的内容时,仅进行上述改写是不够的。图10(c)、图10(d)以及图10(e)示出该具体例。
图10(c)表示改写前的UPDATE指令。该访问指令表示在表T1中的列C2的值为“100”的记录的列C1中设定“2000-10-10”的指令。列C1为2000-10-10的记录必须属于表T1,所以在T1_WORM中存在符合的记录时,需要将这些记录移动到T1。因此,访问部140将该指令改写为图10(d)~(f)所示的3个指令。其结果,如图10(d)所示,改写后的指令首先在表USER1.T1中的列C2的值为“100”的记录的列C1中设定“2000-10-10”。
然后,对T1_WORM的符合的数据进行UPDATE,需要移动到USER1.T1表,所以需要执行图10(e)所示的指令。其结果,能取得USER1.T1_WORM中的符合的记录,在该记录的列C1中放入“2000-10-10”,该记录被插入表USER1.T1中。但是,在此假设表T1的记录仅包含列C1、C2以及C3。进而,如图10(f)所示,从表USER1.T1_WORM中删除不要的数据。
以上,如图9和图10所示,即使所输入的访问指令是针对数据迁移前的数据库的指令,也能够对包含数据迁移后的数据的数据库适当地进行访问。访问的结果是,读出来的数据是对之后同一记录的访问,所以也可以在设置于RAM等存储装置内的存储域中被超高速缓存。
返回到图2的说明。在指令输入部120输入的指令不是访问指令时(S260:否),控制系统10进行依照该指令的以往的处理(S270)。而在接收到的迁移指示不是新的迁移指示时(S210:否),控制系统10判断迁移指示是新生成表并向该表迁移数据的指示、还是向已迁移数据的迁移目标的表追加数据(S230)。
以向迁移目标的表追加数据为条件(S230:否),数据迁移部100进行如下处理,即从第1存储装置150读出数据库的一部分后追加到第2存储装置160来迁移(S240)。参照图11来说明该处理的详细情况。
图11表示图2的S240的处理的流程的详细情况。数据迁移部100首先通过排他控制锁定数据库来禁止访问(S1100)。这是通过例如以下的指令来实现的。
lock table user1.t1 in execlusive mode;
接着,数据迁移部100将数据迁移源的表(例如T1)从数据迁移目标的表(例如T1_WORM)分离出来(S1110)。这是通过例如将存储于控制用存储装置110的附加属性设定为无效来实现的。该指令例如下。
alter table user1.t1 detach table user1.t1_worm;
接着,数据迁移部100根据接受输入后的数据迁移指示来登记各种信息(S1120)。例如,数据迁移部100将已作为第2检验限制设定在第2控制部145的条件与作为要通过追加来迁移而输入的条件的逻辑和作为新的第2检验限制而设定在第2控制部145中。另外,数据迁移部100生成已存储于控制用存储装置110的迁移条件与新的迁移条件的逻辑和后存入控制用存储装置110,并且将使作为迁移源的表T1和作为迁移目标的表T1_WORM对应起来的对应信息存入控制用存储装置110。进而,数据迁移部100可以按照需要对迁移目标的虚拟表设定读出专用属性。该指令例如以下所示。
alter table user1.t1 drop check c1;
alter table user1.t1 add constraint c1 check(c1>’2000-12-31’);
图12表示作为其结果登记的信息的一例。
图12表示本实施方式的存储于控制用存储装置110的追加而迁移数据后的迁移条件和对应信息。控制用存储装置110将“C1<=2000-12-31”作为迁移条件来存储。另外,控制用存储装置110将基表和迁移目标表对应地存储来作为对应信息。基表是USER.T1,迁移目标表是USER.T1_WORM。进而,控制用存储装置110存储有读出专用属性和附加有效属性。除了访问条件以外,与图6所示的控制用存储装置110的具体例大致相同,所以省略说明。
返回到图11的说明。接着,数据迁移部100读出存储于第1存储装置150的数据库中的满足要通过追加来迁移而输入的条件的数据,进而迁移至第2存储装置160(S1130)。该指令例如下。
archive table user1.t1;
已迁移的数据可以按照需要而被加密或者被数据压缩。另外,数据迁移部100将已作为第1检验限制而设定在第1控制部142的条件与要追加迁移而输入的条件之否定的逻辑和设定为新的第1检验限制(S1140)。该指令例如下。
alter table user1.t1 drop check c1;
alter table user1.t1 add constraint c1 check(c1>’2000-12-31’);
然后,数据迁移部100将迁移源的表附加到迁移目标的表中(S1150)。这可以通过具体地将上述控制用存储装置的附加有效属性设定为有效来实现。其指令例如下。
alter table user1.t1 attach table user1.t1_worm;
与此同时,数据迁移部100将指令高速缓冲存储器125清零(S1160)。其指令例如下。
flush statement cache for table user1.t1;
flush statement cache for table user1.t1_worm;
然后,数据迁移部100对数据库解锁来许可访问(S1170)。其指令例如下。
commit;
图13和图14示出通过以上的处理追加数据从而将其从第1存储装置150迁移至第2存储装置160后的第1存储装置150和第2存储装置160的例子。
图13表示本实施方式的存储于第1存储装置150的通过追加数据来迁移后的数据库的一例。第1存储装置150存储表示C1的数值为比2000-12-31新的日期的记录,从第1存储装置150删除表示该数值为2000-12-31以前的日期的记录。另外,第1检验限制存储部146将追加的迁移条件的逻辑非即“C1>2000-12-31”作为第1检验限制进行存储。
图14表示本实施方式的存储于第2存储装置160的通过追加数据来迁移后的虚拟表的一例。第2存储装置160存储表示C1的数值为2000-12-31以前的日期的记录,表示该数值为比2000-12-31新的日期的记录没有被迁移至第2存储装置160。另外,第2检验限制存储部148将迁移条件即“C1<=2000-12-31”作为第2检验限制进行存储。
返回到图2的说明。以所输入的迁移指示是新生成表并向该表迁移数据的指示为条件(S230:是),数据迁移部100除了例如上述T1_WORM之外还生成新的表,从表T1向该表迁移数据(S240)。新的表也可以在第3存储装置166内生成。图15示出此时的访问部140的硬件结构的一例。
图15表示本实施方式的访问部140的另一例。在该例中,控制系统10除了图1所示的结构之外,还可以具有第3存储装置166。优选的是,第3存储装置166是与第2存储装置160性质不同的装置。
例如,第3存储装置166可以比第2存储装置160更高速地工作,在这种情况下,访问的等待时间很少,且吞吐量较高。另一方面,第2存储装置160可以比第3存储装置166廉价且为大容量。这样,如果迁移目标的多个存储装置的性质不同,则使用者能够按照要迁移的数据的性质(例如按照频繁地被访问、或者尺寸较大)来选择要迁移的存储装置。
并且,在该例的情况下,访问部140除了图1所示的结构之外,还可以具有第3控制部146。第3控制部146可以具有用于存储与第3存储装置166对应的检验限制的第3检验限制存储部149。控制系统10的其他结构与参照图1说明过的控制系统10大致相同,所以省略说明。
图16表示本实施方式的控制系统10向新制成的另一个表追加数据从而迁移的处理的流程。首先,数据迁移部100在第3存储装置166中生成新的虚拟表T1_WORM2(S1600)。接着,数据迁移部100将所输入的迁移条件以外的各种信息登记在控制用存储装置110(S1610)。该登记的处理通过例如以下的指令来实现。
alter nickname user1.t1_worm2 add attach info(base_schema’USER1’,base_table’
T1’,range_key’C1’,ending’1999-12-31’,
readonly’Y’);
接着,数据迁移部100将新的迁移目标表即T1_WORM2的检验限制登记到第3检验限制存储部149(S1620)。该登记的处理通过例如以下的指令来实现。
alter nickname user1.t1_worm2 add constraint c1 check(c1<=’1999-12-31’)not enforced;
然后,数据迁移部100通过锁定迁移源表T1来禁止访问(S1625)。该锁定的处理通过例如以下的指令来实现。
lock table user1.t1 in execlusive mode;
接着,数据迁移部100将迁移目标表即T1_WORM从迁移源表即T1中分离出来(S1630)。该分离的处理通过例如以下的指令来实现。
alter table user1.t1 detach table user1.t1_worm;
然后,数据迁移部100变更数据迁移条件。该变更的处理通过例如以下的指令来实现。
alter nickname user1.t1_worm alter attach info(starting’2000-01-01’,ending’2004-12-31’);
图17示出作为该结果登记的信息的一例。
图17表示本实施方式的存储于控制用存储装置110的向新制成的另一个表迁移数据后的迁移条件和对应信息。在该例中,分别与迁移目标表T1_WORM和T1_WORM2对应地输入迁移条件。首先,与T1_WORM对应的迁移条件是列C1的数值为1999-12-31以前的日期这样的条件,迁移指示是将满足该迁移条件的记录迁移至表T1_WORM2这样的指示。另外,与T1_WOMR2对应的迁移条件是列C1的数值为2001-01-01以上且为2004-12-31以下这样的条件,迁移指示是将满足该迁移条件的记录迁移至表T1_WORM这样的指示。
控制用存储装置110分别对迁移目标表即表USER1.T1_WORM和USER1.T1_WORM2存储了迁移条件。对USER1.T1_WORM,控制用存储装置110存储有“C1>=2000-01-01 AND C1<=2004-12-31”来作为迁移条件。另外,对USER1.T1_WORM2,控制用存储装置110存储有“C1<=1999-12-31”来作为迁移条件。
另外,与图6的例子相同,控制用存储装置110与各迁移目标表对应地存储有读出专用属性和附加有效属性。读出专用属性表示迁移目标表的访问限制。附加有效属性表示基于上述对应信息的对应是否有效。
返回到图16的说明。接着,数据迁移部100变更迁移目标表T1_WORM的检验限制(S1650)。该变更的处理通过例如以下的指令来实现。
alter nickname user1.t1_worm drop check
c1;
alter nickname user1.t1_worm add constraint c1 check(c1>=’
2000-01-01’and c1<=’
2004-12-31’)not enforced;
然后,数据迁移部100将指示了迁移的数据从第1存储装置150中读出后迁移至第3存储装置166(S1660)。其以后的处理通过例如以下的指令来实现。
archive table user1.t1;
由此,原本存储在表T1的数据按照所输入的迁移条件分散存储在表T1、T1_WORM和T1_WORM2。
然后,数据迁移部100变更表T1的检验限制(S1670)。该变更的处理通过例如以下的指令来实现。
alter table user1.t1 drop check c1;
alter table user1.t1 add constraint c1 check(c1>’2004-12-31’);
然后,数据迁移部100分别在表T1中附加表T1_WORM和表T1_WORM2(S1680)。该处理通过例如以下的指令来实现。
alter table user1.t1 attach table user1.t1_worm;
alter table user1.t1 attach table user1.t1_worm2;
然后,数据迁移部100将指令高速缓冲存储器125清零(S1690)。该处理通过例如以下的指令来实现。
flush statement cache for table user1.t1;
然后,数据迁移部100通过对表T1解锁来许可对表T1的访问(S1695)。该处理通过例如以下的指令来实现。
commit;
图18表示本实施方式的存储于第1存储装置150的向新制成的另一个表迁移数据后的数据库的一例。第1存储装置150存储表示C1的数值为2005-01-01以后的日期的记录,从第1存储装置150删除表示该数值为2004-12-31以前的日期的记录。另外,第1检验限制存储部146将分别与T1_WORM和T1_WORM2对应的迁移条件的逻辑和的逻辑非即“C1>=2005-01-01”作为第1检验限制来存储。
图19表示本实施方式的存储于第2存储装置160的向新制成的另一个表迁移数据后的数据库的一例。第2存储装置160存储表示C1的数值为2001-01-01以后且2004-12-31以前的日期的记录,表示该数值为该范围外的日期的记录没有被迁移至第2存储装置160。另外,第2检验限制存储部148将迁移条件即“C1>=2000-01-01 AND C1<=2004-12-31”作为第2检验限制来存储。
图20表示本实施方式的存储于第3存储装置166的向新制成的另一个表迁移数据后的数据库的一例。第3存储装置166存储表示C1的数值为1999-12-31以前的日期的记录,表示该数值为该范围以外的日期的记录没有被迁移至第3存储装置166。另外,第3检验限制存储部149将迁移条件即“C1<=1999-12-31”作为第3检验限制来存储。
以上,如参照图15~图20说明过的那样,根据本实施方式的控制系统10,能够使存储于基表的数据的每一部分迁移至性质不同的多个存储装置中。由此,例如在较高速工作的存储装置中存储访问频率高的数据,在低速且大容量的存储装置中存储访问频率低的数据等那样,能够按照数据的用途分别使用存储装置。
图21表示本实施方式的作为控制系统10发挥作用的计算机500的硬件结构的一例。计算机500包括:具有通过主控制器1082相互连接的CPU1000、RAM1020以及图形控制器1075的CPU外围部;具有通过输入输出控制器1084与主控制器1082连接的通信接口1030、硬盘驱动器1040、以及CD-ROM驱动器1060的输入输出部;以及具有与输入输出控制器1084连接的ROM1010、软盘驱动器1050以及输入输出芯片1070的传统输入输出部。
主控制器1082与RAM1020、以高传送速率对RAM1020进行访问的CPU1000以及图形控制器1075相连接。CPU1000根据存入ROM1010和RAM1020的程序进行工作,进行各部的控制。图形控制器1075取得CPU1000等在设置于RAM1020内的帧缓冲器上生成的图像数据,并使其显示在表示装置1080上。取而代之,图形控制器1075也可以在内部包含存储CPU1000等生成的图像数据的帧缓冲器。
输入输出控制器1084与主控制器1082、作为较高速的输入输出装置的通信接口1030、硬盘驱动器1040、以及CD-ROM驱动器1060相连接。通信接口1030通过网络与外部的装置进行通信。硬盘驱动器1040存储计算机500使用的程序以及数据。CD-ROM驱动器1060从CD-ROM1095读取程序或者数据,并提供给RAM1020或者硬盘驱动器1040。
另外,在输入输出控制器1084上连接ROM1010、软盘驱动器1050、输入输出芯片1070等较低速的输入输出装置。ROM1010存储计算机500启动时CPU1000执行的引导程序、依赖于计算机500的硬件的程序等。软盘驱动器1050从软盘1090读取程序或者数据,经由输入输出芯片1070提供给RAM1020或者硬盘驱动器1040。输入输出芯片1070通过软盘1090、或例如并行端口、串行端口、键盘端口、鼠标端口等连接各种输入输出装置。
向计算机500提供的程序被存储在软盘1090、CD-ROM1095、或者IC卡等的存储介质中,由使用者提供。程序通过输入输出芯片1070和/或输入输出控制器1084从存储介质中被读出,并被安装到计算机500中而被执行。程序推动计算机500等而使其进行的工作与图1至图14中说明过的控制系统10的工作相同,所以省略说明。
以上示出的程序也可以存储在外部的存储介质中。作为存储介质,除软盘1090、CD-ROM1095之外,还可以使用DVD或PD等光记录介质、MD等的磁光记录介质、磁带介质、IC卡等半导体存储器等。另外,还可以将与专用通信网络或因特网连接的服务器系统中设置的硬盘或RAM等存储装置作为记录介质来使用,通过网络将程序提供给计算机500。
以上,根据本实施方式的控制系统10,能够不使已迁移至WORM介质等的数据恢复到原来的硬盘驱动器等中而直接读出。由此,能够缩短访问的等待时间,使处理高效化,并且使用较大容量且廉价的WORM介质等来廉价地构建大规模的数据库。另外,即使在从WORM介质等中读出数据时,访问指令也可以直接用以往的对硬盘的指令。由此,能够不需要改变面向硬盘驱动器已开发的SQL应用程序。
以上,使用实施方式说明了本发明,但本发明的技术范围不限于上述实施方式所记载的范围。显然,本领域技术人员能够对上述实施方式加以多种变更或者改良。显然,根据权利要求书的记载可知,加以这样的变更或者改良的实施方式也能够包含在本发明的技术范围内。

Claims (10)

1.一种控制对数据库的访问的系统,包括:
数据迁移部,将存储于第1存储装置的数据库中的满足使用者输入的迁移条件的数据迁移至第2存储装置;
指令输入部,接受对上述数据库的访问指令的输入;
迁移判断部,根据所输入的上述访问指令和所输入的上述迁移条件来判断要根据所输入的上述访问指令进行访问的数据是否已经迁移至上述第2存储装置;以及
访问部,根据上述迁移判断部的判断,按照上述访问指令来访问上述数据库所包含的数据或者已迁移至上述第2存储装置的数据。
2.根据权利要求1所述的系统,其特征在于,
还包括按使用者来设定是否许可对已迁移至上述第2存储装置的数据进行访问的设定部,
即使在要根据所输入的上述访问指令进行访问的数据通过上述数据迁移部已迁移至上述第2存储装置的情况下,当输入了上述访问指令的使用者是没有被上述设定部许可进行访问的使用者时,上述访问部不对已迁移至上述第2存储装置的上述数据进行访问。
3.根据权利要求1所述的系统,其特征在于,
还包括用于存储控制用数据的控制用存储装置,
上述数据迁移部将为了把数据迁移至上述第2存储装置而输入的上述迁移条件存储在上述控制用存储装置中,
上述访问部根据存储在上述控制用存储装置中的上述迁移条件和所输入的上述访问指令来判断要根据上述访问指令进行访问的数据是否满足上述迁移条件,并以满足为条件来对上述第2存储装置进行访问。
4.根据权利要求1所述的系统,其特征在于,
存储在上述第1存储装置中的上述数据库包含第1表,
上述数据迁移部读出上述第1表的一部分作为新的第2表来存储在上述第2存储装置中,并且从上述数据库中删除上述第1表的一部分,
上述访问部通过将所输入的上述访问指令中的作为访问对象的表的指定从上述第1表改写为结合了上述第1表和上述第2表之后的表,来对上述数据库或者已迁移的上述数据进行访问。
5.根据权利要求4所述的系统,其特征在于,
还包括将过去输入的访问指令和上述访问部编译上述访问指令后向上述数据库发出的指令即已编译指令对应来进行存储的指令高速缓冲存储器,
上述数据迁移部响应进一步接受要从上述数据库向上述第2存储装置追加迁移的数据应满足的迁移条件的输入,来将上述数据库中的满足上述迁移条件的数据迁移至上述第2存储装置,并且将上述指令高速缓冲存储器清零。
6.根据权利要求4所述的系统,其特征在于,
上述访问部具有:
第1控制部,判断要根据所输入的上述访问指令进行访问的数据是否满足预先设定的第1检验限制,在满足上述检验限制的条件下许可对上述第1表的访问,在不满足上述检验限制的条件下禁止对上述第1表的访问;和
第2控制部,判断要根据所输入的上述访问指令进行访问的数据是否满足预先设定的第2检验限制,在满足上述检验限制的条件下许可对上述第2表的访问,在不满足上述检验限制的条件下禁止对上述第2表的访问,
上述数据迁移部将所输入的上述迁移条件作为上述第2检验限制来设定在上述第2控制部,将所输入的上述迁移条件之否定作为上述第1检验限制来设定在上述第1控制部。
7.根据权利要求6所述的系统,其特征在于,
上述数据迁移部进一步接受要从上述数据库向上述第2存储装置追加迁移的数据应满足的条件的输入,来将上述数据库中的满足上述条件的数据迁移至上述第2存储装置,并且,
将已设定为上述第2检验限制的条件与作为要追加迁移而输入的条件的逻辑和设定为新的上述第2检验限制,并且将已设定为上述第1检验限制的条件与作为要追加迁移而输入的条件之否定的逻辑和设定为新的上述第1检验限制。
8.根据权利要求1所述的系统,其特征在于,
上述数据迁移部根据使用者的指示来对已迁移至上述第2存储装置的数据设定读出专用的属性,
即使在被上述迁移判断部判断为按照上述访问指令要访问的数据已迁移至上述第2存储装置的情况下,以对已迁移至上述第2存储装置的数据设定了上述读出专用的属性为条件,上述访问部禁止基于上述访问指令的用于更新的访问。
9.一种控制对数据库的访问的方法,包括:
将存储于第1存储装置的数据库中的满足使用者输入的迁移条件的数据迁移至第2存储装置的步骤;
接受对上述数据库的访问指令的输入的步骤;
根据所输入的上述访问指令和所输入的上述迁移条件来判断要根据所输入的上述访问指令进行访问的数据是否已经迁移至上述第2存储装置的步骤;以及
根据上述判断步骤的判断,按照上述访问指令来访问上述数据库所包含的数据或者已迁移至上述第2存储装置的数据的步骤。
10.一种使计算机作为控制对数据库的访问的系统来发挥作用的程序,
使上述计算机作为以下的部件来发挥作用:
数据迁移部,将存储于第1存储装置的数据库中的满足使用者输入的迁移条件的数据迁移至第2存储装置;
指令输入部,接受对上述数据库的访问指令的输入;
迁移判断部,根据所输入的上述访问指令和所输入的上述迁移条件来判断要根据所输入的上述访问指令进行访问的数据是否已经迁移至上述第2存储装置;以及
访问部,根据上述判断步骤的判断,按照上述访问指令来访问上述数据库所包含的数据或者已迁移至上述第2存储装置的数据。
CN200880116556XA 2007-11-19 2008-11-19 控制对数据库的访问的技术 Active CN101861572B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2007-299450 2007-11-19
JP2007299450 2007-11-19
PCT/JP2008/071014 WO2009066691A1 (ja) 2007-11-19 2008-11-19 データベースに対するアクセスを制御する技術

Publications (2)

Publication Number Publication Date
CN101861572A true CN101861572A (zh) 2010-10-13
CN101861572B CN101861572B (zh) 2012-08-08

Family

ID=40667513

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200880116556XA Active CN101861572B (zh) 2007-11-19 2008-11-19 控制对数据库的访问的技术

Country Status (6)

Country Link
US (1) US8949192B2 (zh)
EP (1) EP2224342A4 (zh)
JP (1) JP5166439B2 (zh)
KR (1) KR20100080817A (zh)
CN (1) CN101861572B (zh)
WO (1) WO2009066691A1 (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102722535A (zh) * 2012-05-21 2012-10-10 周明 一种避免modbus实时数据库访问冲突的方法
CN104462119A (zh) * 2013-09-18 2015-03-25 腾讯科技(深圳)有限公司 数据迁移方法及装置
CN105183852A (zh) * 2015-09-08 2015-12-23 网易(杭州)网络有限公司 一种数据库迁移方法和装置
CN106294387A (zh) * 2015-05-19 2017-01-04 深圳市腾讯计算机系统有限公司 数据迁移方法和装置
CN111506749A (zh) * 2020-04-15 2020-08-07 北京金山云网络技术有限公司 一种监控数据归档方法、装置、电子设备及存储介质
CN113661451A (zh) * 2019-04-16 2021-11-16 三菱电机株式会社 程序创建辅助装置、程序创建辅助方法及程序
WO2023201653A1 (zh) * 2022-04-21 2023-10-26 宇龙计算机通信科技(深圳)有限公司 文件的操作方法、装置、计算机设备和可读存储介质

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5357068B2 (ja) * 2010-01-20 2013-12-04 インターナショナル・ビジネス・マシーンズ・コーポレーション 情報処理装置、情報処理システム、データ・アーカイブ方法およびデータ削除方法
US8266126B2 (en) * 2010-03-24 2012-09-11 Matrixx Software, Inc. System with multiple conditional commit databases
KR20120082176A (ko) * 2011-01-13 2012-07-23 삼성전자주식회사 데이터베이스 관리 시스템의 데이터 처리 방법 및 시스템
JP5631839B2 (ja) * 2011-10-18 2014-11-26 富士通テレコムネットワークス株式会社 データ管理システム、センター装置およびデータ管理方法
US9081806B2 (en) * 2012-09-07 2015-07-14 Sap Se Automated Database Archiving
US20140136486A1 (en) * 2012-11-15 2014-05-15 Nicolas Roy Method and system for data lifecycle management of manufacturing test data
GB2521197A (en) * 2013-12-13 2015-06-17 Ibm Incremental and collocated redistribution for expansion of an online shared nothing database
KR101679011B1 (ko) 2014-06-26 2016-11-24 주식회사 알티베이스 데이터베이스에서 데이터 이동을 처리하는 방법 및 장치
CN104881443B (zh) * 2015-05-14 2018-11-27 新浪网技术(中国)有限公司 一种在数据库间迁移数据的方法和系统
US11100046B2 (en) 2016-01-25 2021-08-24 International Business Machines Corporation Intelligent security context aware elastic storage
US9595291B1 (en) 2016-04-27 2017-03-14 International Business Machines Corporation Columnar data storage on tape partition
US10838934B2 (en) * 2017-08-30 2020-11-17 International Business Machines Corporation Modifying archive data without table changes
CN109542872B (zh) * 2018-10-26 2021-01-22 金蝶软件(中国)有限公司 数据读取方法、装置、计算机设备和存储介质
JP2021110861A (ja) * 2020-01-14 2021-08-02 富士通株式会社 制御方法、制御プログラム、および情報処理装置
US11163782B2 (en) * 2020-03-10 2021-11-02 EMC IP Holding Company LLC Storage of time series data using dynamic schema
CN113194026A (zh) * 2021-04-20 2021-07-30 北京异乡旅行网络科技有限公司 消息处理方法及装置

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5968115A (en) * 1997-02-03 1999-10-19 Complementary Systems, Inc. Complementary concurrent cooperative multi-processing multi-tasking processing system (C3M2)
US20020069077A1 (en) * 1997-05-19 2002-06-06 Westport Benefits, L.L.C. Computerized system for customizing and managing benefits
US6269382B1 (en) * 1998-08-31 2001-07-31 Microsoft Corporation Systems and methods for migration and recall of data from local and remote storage
JP2000112983A (ja) 1998-10-07 2000-04-21 Hitachi Building Systems Co Ltd データベースのデータ格納方法
JP3226891B2 (ja) 1999-02-25 2001-11-05 中国日本電気ソフトウェア株式会社 分散データベースシステムおよび分散データベースシステムの拡張方法
US6963875B2 (en) * 2000-03-23 2005-11-08 General Atomics Persistent archives
US7587428B2 (en) * 2000-10-13 2009-09-08 Microsoft Corporation Maintaining a relationship between two different items of data
US7251661B1 (en) * 2002-03-29 2007-07-31 Ncr Corp. Movable objects in a database
US7269733B1 (en) * 2003-04-10 2007-09-11 Cisco Technology, Inc. Reliable embedded file content addressing
US7412489B2 (en) * 2003-08-21 2008-08-12 Ameriprise Financial, Inc. Method and system for electronic archival and retrieval of electronic communications
US7287048B2 (en) * 2004-01-07 2007-10-23 International Business Machines Corporation Transparent archiving
US7296024B2 (en) * 2004-08-19 2007-11-13 Storage Technology Corporation Method, apparatus, and computer program product for automatically migrating and managing migrated data transparently to requesting applications
JP2006072789A (ja) * 2004-09-03 2006-03-16 Hitachi Ltd ストレージシステム及びストレージシステムのデータ管理装置
JP4349301B2 (ja) * 2004-11-12 2009-10-21 日本電気株式会社 ストレージ管理システムと方法並びにプログラム
GB0425857D0 (en) * 2004-11-25 2004-12-29 Ibm A method and apparatus for controlling data access
JP2007272721A (ja) 2006-03-31 2007-10-18 Nec Corp ストレージ装置及びその制御方法
JP5088735B2 (ja) * 2007-12-07 2012-12-05 インターナショナル・ビジネス・マシーンズ・コーポレーション データベースへのアクセスを制御する技術

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102722535A (zh) * 2012-05-21 2012-10-10 周明 一种避免modbus实时数据库访问冲突的方法
CN102722535B (zh) * 2012-05-21 2016-04-13 周明 一种避免modbus实时数据库访问冲突的方法
CN104462119A (zh) * 2013-09-18 2015-03-25 腾讯科技(深圳)有限公司 数据迁移方法及装置
CN106294387A (zh) * 2015-05-19 2017-01-04 深圳市腾讯计算机系统有限公司 数据迁移方法和装置
CN106294387B (zh) * 2015-05-19 2020-06-02 深圳市腾讯计算机系统有限公司 数据迁移方法和装置
CN105183852A (zh) * 2015-09-08 2015-12-23 网易(杭州)网络有限公司 一种数据库迁移方法和装置
CN105183852B (zh) * 2015-09-08 2018-05-22 网易(杭州)网络有限公司 一种数据库迁移方法和装置
CN113661451A (zh) * 2019-04-16 2021-11-16 三菱电机株式会社 程序创建辅助装置、程序创建辅助方法及程序
CN111506749A (zh) * 2020-04-15 2020-08-07 北京金山云网络技术有限公司 一种监控数据归档方法、装置、电子设备及存储介质
CN111506749B (zh) * 2020-04-15 2024-01-02 北京金山云网络技术有限公司 一种监控数据归档方法、装置、电子设备及存储介质
WO2023201653A1 (zh) * 2022-04-21 2023-10-26 宇龙计算机通信科技(深圳)有限公司 文件的操作方法、装置、计算机设备和可读存储介质

Also Published As

Publication number Publication date
US20090187612A1 (en) 2009-07-23
KR20100080817A (ko) 2010-07-12
US8949192B2 (en) 2015-02-03
EP2224342A1 (en) 2010-09-01
WO2009066691A1 (ja) 2009-05-28
JP5166439B2 (ja) 2013-03-21
JPWO2009066691A1 (ja) 2011-04-07
CN101861572B (zh) 2012-08-08
EP2224342A4 (en) 2013-10-09

Similar Documents

Publication Publication Date Title
CN101861572B (zh) 控制对数据库的访问的技术
US8983919B2 (en) Systems and methods for improving database performance
US6349305B1 (en) Method and system for database processing by invoking a function related to index type definition, generating an execution plan based on index type name
JP6598996B2 (ja) データ準備のためのシグニチャベースのキャッシュ最適化
US20120210298A1 (en) Locating changes in source code
JP2006065846A (ja) 部分マテリアライズドビュー
JPWO2002056179A1 (ja) 仮想ドライブを使用したパーティションの再生成方法、データ処理装置及びデータ記憶装置
US20090030880A1 (en) Model-Based Analysis
JP6598997B2 (ja) データ準備のためのキャッシュ最適化
JP2021506043A (ja) 構造化照会言語(sql)クエリーの実行をモニタするためのシステム及び方法
JP2009537906A (ja) データの記憶及び検索を行うためのシステム及び方法
JP5697195B2 (ja) アクセス予測に基づいてテーブルのミラーリングを制御する管理システム、プログラムおよび方法
US20180011897A1 (en) Data processing method having structure of cache index specified to transaction in mobile environment dbms
KR20120082176A (ko) 데이터베이스 관리 시스템의 데이터 처리 방법 및 시스템
US8082138B1 (en) Automated bottom-up and top-down partitioned design synthesis
CN104111962A (zh) 具有批量操作的增强型事务高速缓存
JP5979965B2 (ja) 回路設計支援装置及び回路設計支援方法及びプログラム
US20060085464A1 (en) Method and system for providing referential integrity constraints
Manolescu et al. Efficient querying of distributed resources in mediator systems
US7979838B2 (en) Method of automating creation of a clock control distribution network in an integrated circuit floorplan
Goller et al. Slowly changing measures
CN102169418A (zh) 一种资源受限设备和数据访问方法
US20060004863A1 (en) Method, system and program for simplifying data flow in a statement with sequenced subexpressions
JP3434641B2 (ja) データベース処理方法
JP3692884B2 (ja) プログラム処理方法および記録媒体

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant