JP2000347909A - トランザクション処理向けストレージ方法および装置、トランザクショナルストレージ - Google Patents

トランザクション処理向けストレージ方法および装置、トランザクショナルストレージ

Info

Publication number
JP2000347909A
JP2000347909A JP11159008A JP15900899A JP2000347909A JP 2000347909 A JP2000347909 A JP 2000347909A JP 11159008 A JP11159008 A JP 11159008A JP 15900899 A JP15900899 A JP 15900899A JP 2000347909 A JP2000347909 A JP 2000347909A
Authority
JP
Japan
Prior art keywords
secondary storage
record
storage device
input
computer
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
JP11159008A
Other languages
English (en)
Other versions
JP2000347909A5 (ja
JP4306023B2 (ja
Inventor
Shigekazu Inohara
茂和 猪原
Itaru Nishizawa
格 西澤
Kazutomo Ushijima
一智 牛嶋
Tomoyuki Morinaga
智之 森永
Nobutoshi Sagawa
暢俊 佐川
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP15900899A priority Critical patent/JP4306023B2/ja
Publication of JP2000347909A publication Critical patent/JP2000347909A/ja
Publication of JP2000347909A5 publication Critical patent/JP2000347909A5/ja
Application granted granted Critical
Publication of JP4306023B2 publication Critical patent/JP4306023B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【課題】従来ストレージがブロック入出力のみを提供し
ていたために、トランザクション処理を実現する際に行
われていた不要な入出力を削減する。 【解決手段】トランザクションを意識したレコード単位
の入出力機能トランザクショナルストレージインタフェ
ース113をTS104が提供する。TS104はコミ
ット前キャッシュ320とコミット後キャッシュ330
とを用いてトランザクション毎のレコード単位の入出力
を実現する。 【効果】トランザクション処理に伴ってコンピュータの
プロセッサおよびストレージに生じる高い負荷を削減
し、大規模なデータベースシステムおよびトランザクシ
ョン処理システムの実現が可能となる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はコンピュータシステ
ムに関し、特に応用プログラムに適した新たな機能を追
加・拡張可能な二次記憶装置及び方法に関する。
【0002】
【従来の技術】今日のコンピュータシステムの主要な構
成要素は、コンピュータ(プロセッサとメモリ、周辺機
器からなる)とネットワークと二次記憶装置(ストレー
ジ)である。これまでストレージは、コンピュータに付
属する装置として存在することが多かった。しかし近
年、このような状況が変化しつつある。
【0003】第1に、ネットワークの普及により、複数
のコンピュータがストレージを共有する機会が増えた。
他のコンピュータからのネットワーク経由のストレージ
入出力が、ストレージを接続したコンピュータのプロセ
ッサ処理能力がボトルネックとなって滞る事態を招いて
いる。第2に、ストレージ容量およびストレージに対す
る要求スループットは、年々増大している。「データウ
ェアハウス用途のストレージ容量の要求は、9ヶ月で2
倍になる」という予測(Greg’s Law)もあ
る。このため、1つのコンピュータに接続するストレー
ジ数が増大し、やはりコンピュータがストレージ入出力
のボトルネックとなる恐れが出てきている。第3に、ハ
ードディスク制御用LSIの高集積化の進行によって、
ストレージの高機能化の可能性の増大している。
【0004】これらの背景から、ストレージの制御用L
SIに新たな機能を付加することが考えられている。新
たな機能の候補は、ネットワークインタフェースと、応
用プログラム向けの高度機能である。
【0005】ネットワークインタフェースをストレージ
が備えることにより、ストレージをネットワークに直結
することができる。これによりストレージは、複数のコ
ンピュータからの入出力要求を、1つのコンピュータを
介することなく、直接受けることができる。
【0006】また、現在、ストレージとコンピュータと
の間の最も代表的なインタフェースはブロック入出力で
あるが、これよりも応用毎の高度機能(例えばソーティ
ング、画像処理、データベースシステムの基本演算、例
えば選択処理、写像処理、結合処理、集計処理等)をス
トレージが備えることにより、コンピュータのプロセッ
サ処理の一部をストレージが受け持つことが可能とな
る。
【0007】一方、ストレージの利用分野の中で、トラ
ンザクション処理(データベースのトランザクション処
理やオンライントランザクション処理システムのトラン
ザクション処理)は特に高い性能が要請される分野であ
る。データベース処理でもトランザクション処理でも、
一連の処理はトランザクションという単位で実行され
る。トランザクションは、トランザクション開始からト
ランザクション終了までの間に、データベースに対して
1つ以上の参照や更新を行う。トランザクションの終了
には2種類の方法があり、1つはコミット(正常終
了)、もう1つはアボート(異常終了)である。コミッ
トの場合、トランザクション中に行われた参照や更新が
実際に行われたことになる。アボートの場合、トランザ
クション中に行われた参照や更新はすべて取り消され
る。
【0008】トランザクションは一般に、ACID性
(Atomicity、Consistency、Is
olation、Durability)の4つの性質
を実現している。これらの性質により、あるトランザク
ションは並行して実行中の別のトランザクションの変更
を見ることはないし、あるトランザクションがコミット
した場合には、該トランザクションが行った変更はすべ
てデータベース中、特にステーブルストレージ(電源断
や、ソフトウェア、ハードウェアの故障等、一定範囲の
障害に耐えうる記憶装置)に保存される。
【0009】トランザクションを高性能化することは、
企業の情報システムの構築にとって非常に重要である。
なぜなら、トランザクションはコンピュータが関係する
企業活動の、ほとんどすべての場面で用いられているた
めである。例えば、銀行のATMを用いた入金、出金は
それぞれ1つのトランザクションであるし、スーパーマ
ーケットで商品を購入する際、レジスターでは商品の計
算をすると同時にPOSシステムにどの商品が何個売れ
たかをトランザクションで記録している。企業活動のほ
とんどが、トランザクションによって記録、管理されて
いると言っても過言ではない。
【0010】トランザクションが処理の対象とするの
は、データベースシステムの1かたまりのデータであ
る。例えばリレーショナルデータベースでは、1つ1つ
の型のデータ(整数型、文字列型、固定長小数点型等)
はカラムと呼ばれ、カラムが1つ以上集まってできる1
つの論理的なデータの単位をレコードと呼ぶ。1つ以上
のレコードは1つの表に格納される。例えば従業員のデ
ータベースであれば、従業員全員のデータを1つの表
「従業員表」に格納し、従業員表の1つのレコードが1
人の従業員に対応し、「氏名」、「従業員番号」、「生
年月日」、「住所」、「性別」、「役職」等のカラムが
該レコードに含まれる、といった様に、データベースが
構成される。1つのトランザクションは例えば、「従業
員番号が1000番のレコードの役職が「係長」であれ
ば「課長」に変更せよ」といった一連のデータベース処
理を実現できる。
【0011】
【発明が解決しようとする課題】トランザクションは高
度なソフトウェア処理であるため、コンピュータのプロ
セッサに高い負荷を生じる。また、データベースを参
照、更新する処理であるため、ストレージに対する負荷
も高い。
【0012】現在多くのコンピュータシステムは、ブロ
ック(例えば2KBや4KB等の固定長のデータ)を単
位としてコンピュータとストレージの間の入出力を行っ
ている。ブロックは多くの場合多数のレコードを含む。
いま、コンピュータがあるトランザクションを実行し、
あるレコードに対する参照が行われたとする。この際、
コンピュータはストレージから、該レコードを格納した
ブロックの読み出しを行い、該参照を完了する。ここ
で、該レコードがブロックのサイズの1/10だったと
仮定すると、コンピュータからストレージに転送したデ
ータのうち、1/10のみが活用され、残りの9/10
は読み出しを行ったにもかかわらずまったく使われない
無駄なデータだったことになる。このことは、大規模な
データベースシステムで参照局所性の低いトランザクシ
ョン群を実行している場合に顕著になる。書き込みの場
合も、同様である。コンピュータ、ストレージとも、デ
ータの読み出しおよび書き込みには処理装置と入出力信
号線を使用するため、無駄なデータの読み出し、書き込
みは極力削減されるべきである。
【0013】すなわち、ブロック入出力による無駄なデ
ータの入出力を削減することが本発明が解決すべき第1
の課題である。
【0014】また、従来のストレージでは読み出しと書
き込みのインタフェースを提供しているが更新(読み出
しと書き込みを同時に行う)のインタフェースはまれで
ある。トランザクションでは更新が非常に多いが、従来
は更新対象のブロックをストレージから読み出して、プ
ロセッサが書きかえて、ストレージに書き込むという2
回の入出力操作で実現していた。この入出力は、理想的
には「更新」という1回の入出力で実現できる。特に、
レコード単位の更新の機能をストレージが提供すれば、
トランザクションが行う入出力のデータ量は、従来に比
べ大幅に削減できる。
【0015】すなわち、更新に伴う無駄な入出力を削減
することが本発明が解決すべき第2の課題である。
【0016】またデータベースシステムでは、レコード
の指定には、何通りもの方法が提供されている。あるテ
ーブルのあるレコードを指定するために、例えば、テー
ブル自身をスキャン(補助データ構造を使わない方
法)、インデックスを経由してレコードに到達する方
法、ハッシュインデックスを経由してレコードに到達す
る方法等である。ストレージが仮にレコード単位の入出
力を提供したとしても、レコードの指定方法が1通りだ
けでは、十分に高速な入出力は見込めない。
【0017】すなわち、レコードの指定方法として、直
接的なレコードの指定のみならず、データベースが利用
するテーブルおよびインデックスの探索方法を提供し、
効率的なレコードアクセスを実現することが、本発明が
解決すべき第3の課題である。
【0018】また、データベースでは、一般に複数のス
トレージ装置を用いるので、表やインデックスの定義情
報(ディクショナリ情報)はすべてのストレージ装置に
存在するとは限らない。レコード単位の入出力やインデ
ックスの利用には、ディクショナリ情報が必要である
が、従来はこのような高度な情報をやりとりする方法
は、ストレージには存在しなかった。
【0019】すなわち、任意のストレージでディクショ
ナリ情報を利用可能にすることが、本発明が解決すべき
第4の課題である。
【0020】また上記のように、トランザクションの実
行中に行われる更新は、アボートによって取り消される
可能性がある。このため、従来はあるトランザクション
中で起こった更新をディスク中のデータベース(以後デ
ィスク中のデータベースのことをステーブルデータベー
スと呼ぶ)に書き込んでおり、該トランザクションがア
ボートした場合、データベースシステムは、別に作成し
ておいたログ(トランザクションの活動記録)を元にス
テーブルデータベースに対して該トランザクションが行
った変更を元に戻す一連の入出力を行う。これもストレ
ージがブロック単位の入出力(読み出しと書き込み)の
インタフェースのみを提供しているためである。このア
ボートに伴う入出力も、ストレージがトランザクション
のコミットやアボートを意識したインタフェースを提供
していれば削減できる無駄な入出力である。
【0021】すなわち、トランザクションの実現(コミ
ットやアボート)による無駄なデータの入出力を削減す
ることが本発明が解決すべき第5の課題である。
【0022】また同様に、アボートする際の効率をあげ
るためにはコミット前のデータはできるだけステーブル
データベースに書き込むべきではないことが分かる。従
来のストレージはトランザクションの概念を理解してい
ないため、書き込みを指示されたブロックはその時に書
き込まれ(物理的にディスクに書き込まれるか、バッテ
リーバックアップされたキャッシュメモリ領域に格納さ
れる)あとから書き込みを取り消す方法は提供されてい
なかった。
【0023】すなわち、トランザクションがストレージ
に書き込んだデータを取り消す方法を提供しトランザク
ションがアボートした際の無駄な入出力を削減すること
が、本発明の解決すべき第6の課題である。
【0024】1つのストレージはアベイラビリティ向上
の目的で、複数のコンピュータから共有されることがあ
る。また、1つのコンピュータ上のデータベースシステ
ムにおいても、ブロック単位入出力とレコード単位入出
力を併用する場合が多いと考えられる。この際、レコー
ド単位で操作しているレコードをブロック単位で別の経
路からアクセスすると、データの不整合が起こりうる。
複数のコンピュータが同一のデータにアクセスしようと
する場合もまったく同様である。
【0025】すなわち、レコード単位入出力とブロック
単位入出力の整合性を持たせ、同一のデータをレコード
単位でもブロック単位でも処理でき、複数のコンピュー
タからも共有できるようにすることが、本発明の解決す
べき第7の課題である。
【0026】
【課題を解決するための手段】本発明では、トランザク
ションを意識した機能およびインタフェースを持つスト
レージ「トランザクショナルストレージ」とそれを用い
たコンピュータシステムによって、上記の課題を解決す
る。
【0027】ブロック入出力による無駄なデータの入出
力を削減する第1の課題を解決するため、トランザクシ
ョナルストレージはレコード単位の入出力機能およびイ
ンタフェースを備える。
【0028】更新に伴う無駄な入出力を削減する第2の
課題を解決するため、トランザクショナルストレージは
レコードを更新する機能およびインタフェースを備え
る。更新時に、必要に応じて更新前データを返す。更新
前データは、トランザクションの活動記録であるログを
作成する際等に利用できる。
【0029】レコードの指定方法として、直接的なレコ
ードの指定のみならず、データベースが利用するテーブ
ルおよびインデックスの探索方法を実現し、効率的なレ
コードアクセスを実現する第3の課題を解決するため、
トランザクショナルストレージは(a)ブロック番号と
レコード番号によるレコード指定インタフェース、
(b)テーブルと条件によるレコード指定インタフェー
ス、(c)インデックスと条件によるレコード指定イン
タフェース、(d)インデックス中間ノードと条件によ
るレコード指定インタフェース、の4種類のレコード指
定インタフェースを備える。
【0030】任意のストレージでディクショナリ情報を
利用可能にする第4の課題を解決するため、トランザク
ショナルストレージはコンピュータからディクショナリ
情報を入力するインタフェースを備える。
【0031】トランザクションの実現(コミットやアボ
ート)による無駄なデータの入出力を削減する第5の課
題を解決するため、トランザクショナルストレージは、
コミットのインタフェースとアボートのインタフェース
を備える。
【0032】トランザクションがストレージに書き込ん
だデータを取り消す方法を提供しトランザクションがア
ボートした際の無駄な入出力を削減する第6の課題を解
決するため、トランザクショナルストレージは、コミッ
ト前キャッシュとコミット後キャッシュを備える。コミ
ット前キャッシュの内容はストレージには書き込まれな
いため、アボートの処理はディスクの操作を伴わずに実
現可能となる。
【0033】レコード単位入出力とブロック単位入出力
の整合性を持たせ、同一のデータをレコード単位でもブ
ロック単位でも処理でき、複数のコンピュータからも共
有できるようにすること第7の課題を解決するために、
トランザクショナルストレージはレコードおよびブロッ
クのロック(排他制御)インタフェースを備える。
【0034】以上により、トランザクション処理に伴っ
てコンピュータのプロセッサおよびストレージに生じる
高い負荷を削減し、大規模なデータベースシステムおよ
びトランザクション処理システムの実現が可能となる。
【0035】
【発明の実施の形態】本発明の実施の一形態を,図面を
参照しながら説明する。なお簡単のため、以下に述べる
発明の実施の形態を単に「実施例」と呼ぶ。
【0036】全体構成 図1を用いて、本実施例の全体構成を説明する。
【0037】図1の全体101は、本実施例が好適に用
いられるコンピュータシステムであり、入出力信号線1
03と、入出力信号線103によって相互接続された1
つ以上のコンピュータ102、102’、…および1つ
以上のトランザクショナルストレージ(TS)104か
らなる。
【0038】入出力信号線103は、コンピュータとス
トレージを専用につなぐケーブル(SCSIケーブル
等)でも構わないし、ネットワークでも差し支えない。
ネットワークは、ある団体(企業や学校や類似の団体)
の全体や位置部門でよく使用されるLANでもよく、ま
た地理的に分散した複数の地点を結合するWANの一部
または全部でもよい。また入出力信号線103は、計算
機間結合網や並列計算機内部のプロセッサ要素間の結合
網でもよい。
【0039】コンピュータ102、102’、…は、い
わゆるパーソナル・コンピュータ、ワークステーショ
ン、並列計算機、大型計算機、小型携帯型コンピュータ
等、任意のコンピュータでよい。
【0040】なお、図1に示したコンピュータ102、
102’、…、入出力信号線103、TS104の数と
構成は、例として示したもので、本発明の範囲を限定す
るものではない。
【0041】TS104は、拡張型の二次記憶装置(ス
トレージ)である。TS104は1つ以上のディスク1
11とトランザクショナルストレージコントローラ(T
SC)105とからなる。
【0042】ディスク111は電源断後もデータを保持
することが可能な記憶媒体(二次記憶)である。ディス
ク111のデータ格納単位には、セクタ、トラック等さ
まざまな呼称があるが、本実施例では一括してブロック
と記す。ディスク111は複数のブロックからなり、ブ
ロック単位の入出力を行うことができる。二次記憶がハ
ードディスクであれば、多くの場合ブロックは固定長で
512バイトないし4Kバイトである。メインフレーム
計算機用のハードディスクであれば、ブロックは固定長
の場合と可変長の場合がある。また、テープドライブ等
の二次記憶もブロックはその装置毎に決まっている。な
お、ブロック単位でなくバイト単位の入出力インタフェ
ースを提供する二次記憶もあるが、ブロックを1バイト
と考えることによって本発明を適用することができる。
【0043】TSC105はTS104の制御を行う部
分である。TSC105はさらにネットワーク制御部1
06、トランザクション処理部107、コミット後キャ
ッシュ108、コミット前キャッシュ109、ディスク
制御部110からなる。
【0044】ネットワーク制御部106は、コンピュー
タ102、102’、…をはじめとする外部から入出力
信号線103経由で送られてくる入出力要求やその他の
通信を受け、また入出力要求への応答やその他の通信を
入出力信号線103へ送り出す。トランザクション処理
部107は、TS104が提供する各種機能を実現する
部分である。各種機能の詳細については、後で詳しく述
べる。コミット後キャッシュ108は、コミットしたト
ランザクションが行った更新を保持する記憶領域であ
る。コミット前キャッシュ109は、まだコミットして
いないトランザクションが行った更新を保持する記憶領
域である。ディスク制御部110は、ディスク111に
ブロックの読み出し・書き込みを行わせる制御を行う。
ネットワーク制御部106、ディスク制御部110につ
いては、従来技術としてよく知られているため、ここで
はこれ以上詳しく説明しない。
【0045】入出力処理部112は、コンピュータ10
2、102’、…に存在し、TS104を利用する。典
型的には入出力処理部112はデータベース管理システ
ムのソフトウェアの一部である。
【0046】トランザクショナルストレージインタフェ
ース113は、TS104とコンピュータ102、10
2’、…をはじめとする外部とのインタフェースであ
る。トランザクションの処理を行うため、レコード操
作、カラム操作、トランザクション操作等を含む。
【0047】以上が本実施例の全体構成である。
【0048】トランザクショナルストレージのデータ構
造 図2を用いて、トランザクショナルストレージの内部デ
ータ構造であるロックテーブル、トランザクションテー
ブル、DBテーブルテーブル、インデックステーブルの
構成についてを説明する。
【0049】ロックテーブル200はブロックまたはレ
コードと、ロックとの対応表である。ロックテーブル2
00の1つの行が1つのロックに対応する。ブロックI
D201はストレージ上のブロックの一意な番号であ
る。レコードID202はブロック中のレコードの一意
な番号である。ブロックIDとレコードIDの対によっ
て、レコードを一意に特定することができる。レコード
ID202に指定が無い場合は、ブロックを指定したロ
ックであることを意味する。ロック情報203はロック
の情報である。典型的には、トランザクションIDとロ
ックモードを格納する。
【0050】トランザクションテーブル210は、活動
中のトランザクションの表である。各トランザクション
には一意な識別子が割り当てられており、それがトラン
ザクションID211に格納されている。トランザクシ
ョンがアクセス中のブロックまたはレコードがブロック
ID212とレコードID213で保持される。ブロッ
クID212とレコードID213は対で1つのレコー
ドを特定する。
【0051】DBテーブルテーブル220は、データベ
ースの表を管理する。それぞれの行が1つの表に対応す
る。各表は一意な名前であるテーブルIDが与えられて
おり、それがテーブルID221に格納されている。先
頭ブロックID222は表が格納されている先頭のブロ
ック番号である。先頭ブロックIDで指定される1つ以
上のブロックにテーブルID221で識別される表が格
納されていることを意味する。本実施例では、トランザ
クション処理部107は先頭ブロックからどのように表
が格納されているかを知っており、先頭ブロックIDか
ら該表のすべてのブロックを参照できる。
【0052】インデックステーブル230は、データベ
ースのインデックスを管理する。それぞれの行が1つの
インデックスに対応する。各インデックスは一意な名前
であるインデックスIDが与えられており、それがイン
デックスID231に格納されている。先頭ブロックI
D222はインデックスが格納されている先頭のブロッ
ク番号である。先頭ブロックIDで指定される1つ以上
のブロックにインデックスID231で識別されるイン
デックスが格納されていることを意味する。本実施例で
は、トランザクション処理部107は先頭ブロックから
どのようにインデックスが格納されているかを知ってお
り、先頭ブロックIDから該インデックスのすべてのブ
ロックを参照できる。
【0053】コミットログ240は、現在活動中のトラ
ンザクションの活動記録である。それぞれの行が、トラ
ンザクションが行った1つの操作に対応する。トランザ
クションID241は操作を行ったトランザクションの
ID、ブロックID242とレコードID243は対で
操作対象のレコードを指定する。カラムID244は必
要に応じてカラム(インデックスの場合は何個目のイン
デックスエントリか)を指定する。操作245は行った
操作であり、更新、削除、挿入が典型的な操作である。
前データ246と後データ247はそれぞれ更新前後の
データである。
【0054】ロックテーブル200、トランザクション
テーブル210、DBテーブルテーブル220、インデ
ックステーブル230は、TSC105上のメモリに保
持されても、ディスク上に保持されても差し支えない。
コミットログ240は、ディスクの特定部分に保持され
るか、TSC105のメモリであって、電源バックアッ
プ、二重化等、ステーブルストレージとしての性質を満
たしたメモリに保持される。
【0055】図3を用いて、トランザクショナルストレ
ージの内部データ構造であるテーブルディクショナリ、
インデックスディクショナリ、コミット後キャッシュ、
コミット前キャッシュの構成について説明する。
【0056】テーブルディクショナリ300は、データ
ベースの表の定義を格納する。テーブルID301は表
の一意な名前、カラムID302は表の中でのカラムの
一意な名前、データ型303はカラムのデータ型であ
る。
【0057】同様に、インデックスディクショナリ31
0は、データベースのインデックスの定義を格納する。
インデックスID311はインデックスの一意な名前、
カラムID312は表の中でのカラムの一意な名前、デ
ータ型313はカラムのデータ型である。
【0058】コミット前キャッシュ320は、まだコミ
ットされていないトランザクションによって変更された
データベースの行である。トランザクションID321
はトランザクションID、ブロックID322とレコー
ドID323は対で1つのレコードを指定する。データ
324は更新後のデータである。
【0059】同様にコミット後キャッシュ330は、コ
ミットされたがステーブルデータベースに反映されてい
ないトランザクションによって変更されたデータベース
の行である。ブロックID331とレコードID332
は対で1つのレコードを指定する。データ333は更新
後のデータである。
【0060】コミット後キャッシュ330はディスクの
特定部分に保持されるか、TSC105のメモリであっ
て、電源バックアップ、二重化等、ステーブルストレー
ジとしての性質を満たしたメモリに保持される。
【0061】トランザクショナルストレージの機能 次に、トランザクショナルストレージの機能と対応する
トランザクショナルストレージインタフェース113に
ついて説明する。
【0062】トランザクション制御機能:トランザクシ
ョンID BeginTransaction();b
ool CommitTransaction(トラン
ザクションID); bool PrepareCo
mmitTransaction(トランザクションI
D);void AbortTransaction
(トランザクションID);BeginTransac
tion()、CommitTransactio
n()、PrepareCommitTransact
ion()、AbortTransaction()
は、トランザクションの制御機能である。コンピュータ
102はTS104に対してBeginTransac
tion()を発行し、新たなトランザクションの開始
を宣言する。返り値はトランザクションIDである。C
ommitTransaction()は、トランザク
ションを正常終了させるよう試みる。返り値は、トラン
ザクションが正常終了したか否かである。Prepar
eCommitTransaction()は、複数の
TS104が1つのトランザクションをコミットさせよ
うとする際に使う、ツーフェーズコミットの第1フェー
ズである。PrepareCommitTransac
tion()でツーフェーズコミットを開始した場合、
第2フェーズの開始はCommitTransacti
on()で行う。AbortTransactio
n()はトランザクションをアボートさせる。
【0063】レコードおよびカラム操作機能:reco
rd ReadRecord(トランザクションID、
レコード指定・、ロックモード・);void Wri
teRecord(トランザクションID、レコード指
定、新レコード・、ロックモード・);record
UpdateRecord(トランザクションID、レ
コード指定、新レコード・、ロックモード・);voi
d InsertRecord(トランザクションI
D、レコード指定、新レコード・、ロックモード・);
record DeleteRecord(トランザク
ションID、レコード指定);Column Read
Column(トランザクションID、カラム指定・、
ロックモード・);void WriteColumn
(トランザクションID、カラム指定、新カラム・、ロ
ックモード・);Column UpdateColu
mn(トランザクションID、カラム指定、新カラム
・、ロックモード・);ReadRecord()、W
riteRecord()、UpdateRecord
()、InsertRecord()、DeleteR
ecord()、ReadColumn()、Writ
eColumn()、UpdateColumn()
は、レコード単位入出力およびカラム単位入出力の機能
である。
【0064】ReadRecord()はトランザクシ
ョンIDと後述するレコード指定とを指定し、1つのレ
コードを返り値として返す。なお、この機能の拡張とし
て、レコードの選択条件を指定して1つ以上のレコード
を返す機能を実現することは容易である。後述する他の
インタフェースも同様である。WriteRecord
()と UpdateRecord()はトランザクシ
ョンID、レコード指定、新レコードのデータを指定
し、レコードの更新を行う。UpdateRecord
()は旧レコードの値を返り値として返す。Inser
tRecord()は、トランザクションID、レコー
ド指定、新レコードのデータを指定し、レコードの挿入
を行う。DeleteRecord()は、トランザク
ションIDとレコード指定を指定し、レコードの削除を
行う。いずれの場合も「ロックモード」は各操作の正常
終了時に、レコードをどのようなモードでロックするか
を指定する。
【0065】ReadColumn()、WriteC
olumn()、UpdateColumn()は、カ
ラム単位の操作であり、ReadRecord()、W
riteRecord()、UpdateRecord
()にそれぞれ対応する。レコード指定のかわりにカラ
ム指定を用いる。その他の動作は、ReadColum
n()、WriteColumn()、UpdateC
olumn()と同様である。
【0066】インデックス操作機能:void Ins
ertIndex(トランザクションID、インデック
スID、インデックス指定);void Update
Index(トランザクションID、インデックスI
D、インデックス指定、値);void Delete
Index(トランザクションID、インデックスI
D、インデックス指定);InsertInde
x()、UpdateIndex()、DeleteI
ndex()はインデックスを操作する機能である。ト
ランザクションID、インデックスID、および後述す
るインデックス指定を指定し、インデックスの一部分の
挿入、更新、削除をそれぞれ行う。
【0067】ロックつきブロック単位入出力機能および
ロック機能:Block ReadBlockWith
Lock(ブロック指定、ロックモード);void
WriteBlockWithLock(ブロック指
定、ロックモード、ブロック);Block Lock
Record(レコード指定、ロックモード);voi
d LockBlock(ブロック指定、ロックモー
ド);ReadBlockWithLock()と W
riteBLockWithLock()は、ロックを
伴ってブロック単位入出力を行う機能である。後述する
ブロック指定によってブロックを指定し、ロックモード
(read、write、intention等)でロ
ックを指定する。また、LockRecord()と
LockBlock()は、ロックを単独で操作する機
能である。上述のReadRecord()、Writ
eRecord()等で自動的にロックは取得される
が、得にロックの状態を変更したいときにLockRe
cord()や LockBlock()の機能を用い
る。
【0068】ディクショナリ情報入出力:void G
etTableDictionary(テーブルID、
ディクショナリ); void GetIndexD
ictionary(インデックスID、ディクショナ
リ);GetTableDictionary()は、
テーブルIDに対応するテーブルのディクショナリ情報
(何個目のカラムがどのような型のデータか)をコンピ
ュータから受け取りテーブルディクショナリ300に格
納する。同様にGetIndexDictionary
()は、テーブルIDに対応するテーブルのディクショ
ナリ情報(何個目のカラムがどのような型のデータか)
をコンピュータから受け取り、インデックスディクショ
ナリ310に格納する。
【0069】次に、レコード、ブロック、カラム、イン
デックスの指定方法について説明する。
【0070】レコード指定:レコード指定には、「ブロ
ックID、レコードID」によるレコード直接指定、
「テーブルID、カラムID=値、カラムID=値、…」
によるテーブルスキャン指定、「インデックスID、カ
ラムID=値、カラムID=値、…」によるインデックス
スキャン指定、「インデックスのブロックID、カラム
ID=値、カラムID=値、…」によるインデックス部分
スキャン指定、の4種類がある。ここで、「カラムID
=値、カラムID=値、…」の部分はレコード絞り込みの
ための条件である。本実施例ではカラム毎の等号条件を
用いてレコードの絞り込みを行っているが、本発明はこ
れに限定されるものではなく、不等号条件、NULL条
件、カラムとカラムの二項条件等でも差し支えない。以
下の記述も同様である。
【0071】レコード直接指定はブロックIDとレコー
ドIDによって1つのレコードを指定する。テーブルス
キャン指定は、テーブルIDでテーブルを指定し、1つ
以上の「カラムID=値」によってレコードの絞り込み
を行い、1つのレコードを指定する(条件にあう最初の
レコードが指定されたものとみなす)。この際、テーブ
ルに含まれるブロックの解釈は、テーブルディクショナ
リ300に格納されている情報を用いて行う。
【0072】インデックススキャン指定では、インデッ
クスIDで検索すべきインデックスを指定し、1つ以上
の「カラムID=値」によって与えられたキー値によっ
てインデックスを検索する。また、インデックス部分ス
キャン指定では、インデックスの中間部分(例えばイン
デックスがBツリーで実現されている場合、ルートノー
ド以外のノードを格納したブロック)をブロックIDで
指定し、そこから1つ以上の「カラムID=値」によっ
てインデックスを検索する。インデックスに含まれるブ
ロックの解釈は、インデックスディクショナリ310に
格納されている情報を用いて行う。
【0073】先に述べた通り、レコード直接指定以外の
指定法では、複数レコードを指定することが自然にでき
る。
【0074】ブロック指定:ブロック指定には、「ブロ
ックID」によるブロック直接指定、「テーブルID、
カラムID=値、カラムID=値、…」によるテーブルス
キャン指定、「インデックスID、カラムID=値、カ
ラムID=値、…」によるインデックススキャン指定、
「インデックスのブロックID、カラムID=値、カラ
ムID=値、…」によるインデックス部分スキャン指
定、の4種類がある。ブロック指定はレコード指定と同
じであるが、指定に該当するレコードを含むブロックが
指定されたものとみなす。
【0075】カラム指定:カラム指定は「レコード指
定、カラムID」で行う。レコード指定は、上述のレコ
ード指定のうち任意の1つを用いる。
【0076】インデックス指定:「インデックスID、
カラムID=値、カラムID=値、…」によるインデック
ススキャン指定、「インデックスのブロックID、カラ
ムID=値、カラムID=値、…」によるインデックス部
分スキャン指定、の2種類がある。
【0077】以上がレコード、ブロック、カラム、イン
デックスの指定方法である。なお、これらの指定に対す
るレコード、ブロック、カラム、インデックスに対する
アクセスの実現は、データベース管理システムと同様の
方法をトランザクション処理部107が行う。この方法
は公知の技術であるため、ここでは特に改めて説明しな
い。
【0078】以下、最も典型的な処理であるトランザク
ショナルストレージ中でのReadRecord()、
WriteRecord()、CommitTrans
action()、AbortTransaction
()の処理の流れ、およびコンピュータ側からトランザ
クショナルストレージを呼び出す処理について、流れ図
を用いて説明する。
【0079】図4を用いて、ReadRecord処理
の流れについて説明する。
【0080】TS104がReadRecord(トラ
ンザクションID、レコード指定)の要求をコンピュー
タ102から受け取ると、該要求はTSC105のネッ
トワーク制御部106が受け取り、トランザクション処
理部107へ渡される。トランザクション処理部107
では、レコード指定を解釈し、ブロックIDとレコード
IDを得る(ステップ401)。次に、トランザクショ
ンIDとブロックIDとレコードIDを用いて、該トラ
ンザクションID・ブロックID・レコードIDの組に
合致するエントリがコミット前キャッシュ320に存在
するかを判定する(ステップ402)。ステップ402
の結果が真(Y)の場合、ステップ403へ、偽(N)
の場合ステップ404へ制御を移す。
【0081】ステップ403では、「該ブロックID、
該レコードID」を用いてロックテーブル200を検索
してロック情報203を得、ロック情報203のロック
モードと該要求で指定されたロックモードとを比較し、
より強い方(readよりwriteが強い。inte
ntionよりreadが強い等、よく知られたロック
の強さによる)を該ロック情報203に格納する。指定
がなければread lockを格納する。そして、デ
ータ324に格納されているレコードを返答し、正常終
了する(場合によってはすでにそのレコードが削除され
たことを意味する「削除」が返る)。
【0082】ステップ404では、「該ブロックID、
該レコードID」を用いてロックテーブル200を検索
し、(1)対応するロック情報203がないか、または
(2)ロック情報203に保持されているトランザクシ
ョンIDが上記トランザクションIDであるか、または
(3)他のトランザクションが保持しているロックがr
ead lockであるか、のいずれかの条件を満たす
か否かを判定する。判定が真(Y)なら、ステップ40
5に制御を移す。一方判定が偽(N)なら、他のトラン
ザクションがすでにアクセス対象のレコードのロックを
取得していることになるため、該要求は異常終了する。
【0083】ステップ405では該ブロックID・レコ
ードIDの組に合致するエントリがコミット後キャッシ
ュ330に存在するかを判定する。存在すれば(判定
Y)ステップ408、存在しなければ(判定N)ステッ
プ406へ制御を移す。
【0084】ステップ406では、ディスク制御部11
0に制御がわたり、ディスク111から該ブロックID
のブロックが取り出される。続くステップ407では、
取り出したブロック中を検索し、該レコードIDに合致
するレコードを得、ステップ408に制御を移す。
【0085】ステップ408では、「該ブロックID、
該レコードID」を用いてロックテーブル200を検索
してロック情報203を得、ロック情報203のロック
モード(もしあれば)と該要求で指定されたロックモー
ドとを比較し、より強い方(readよりwriteが
強い。intentionよりreadが強い等、よく
知られたロックの強さによる)を該ロック情報203に
格納する。指定がなければread lockを格納す
る。すでにread lockが他のトランザクション
によって取得されている場合、新たなエントリを作成し
てロックテーブル200に格納する。
【0086】ステップ409では、「該トランザクショ
ンID、該ブロックID、該レコードID、結果のレコ
ード」をコミット前キャッシュ320に登録する。コミ
ット前キャッシュ320があふれた場合には、ステーブ
ルデータベース(すなわちディスク111)に一部また
は全部を書き戻す。そして結果のレコードを返答して、
正常終了する。
【0087】以上がReadRecord処理の流れで
ある。
【0088】図5を用いて、WriteRecord処
理の流れについて説明する。
【0089】TS104がWriteRecord(ト
ランザクションID、レコード指定、新レコード)の要
求をコンピュータ102から受け取ると、該要求はTS
C105のネットワーク制御部106が受け取り、トラ
ンザクション処理部107へ渡される。トランザクショ
ン処理部107では、レコード指定を解釈し、ブロック
IDとレコードIDを得る(ステップ501)。次に、
トランザクションIDとブロックIDとレコードIDを
用いて、該トランザクションID・ブロックID・レコ
ードIDの組に合致するエントリがコミット前キャッシ
ュ320に存在するかを判定する(ステップ502)。
ステップ502の結果が真(Y)の場合、ステップ50
3へ、偽(N)の場合ステップ504へ制御を移す。
【0090】ステップ503では、「該ブロックID、
該レコードID」を用いてロックテーブル200を検索
してロック情報203を得、ロック情報203のロック
モードと該要求で指定されたロックモードとを比較し、
より強い方(readよりwriteが強い。inte
ntionよりreadが強い等、よく知られたロック
の強さによる)を該ロック情報203に格納する。指定
がなければwritelockを格納する。そして、デ
ータ324に格納されているレコードを旧レコードとし
て以降の処理を続ける。
【0091】ステップ504では、「該ブロックID、
該レコードID」を用いてロックテーブル200を検索
し、(1)対応するロック情報203がないか、または
(2)ロック情報203に保持されているトランザクシ
ョンIDが上記トランザクションIDであるか、を判定
する。判定が真(Y)なら、ステップ505に制御を移
す。一方判定が偽(N)なら、他のトランザクションが
すでにアクセス対象のレコードのロックを取得している
ことになるため、該要求は異常終了する。
【0092】ステップ505では該ブロックID・レコ
ードIDの組に合致するエントリがコミット後キャッシ
ュ330に存在するかを判定する。存在すれば(判定
Y)データ333を旧レコードとしてステップ508へ
制御を移し、存在しなければ(判定N)ステップ506
へ制御を移す。
【0093】ステップ506では、ディスク制御部11
0に制御がわたり、ディスク111から該ブロックID
のブロックが取り出される。続くステップ507では、
取り出したブロック中を検索し、該レコードIDに合致
するレコードを得てこれを旧レコードとし、ステップ5
08に制御を移す。
【0094】ステップ508では、「該ブロックID、
該レコードID」を用いてロックテーブル200を検索
してロック情報203を得、ロック情報203のロック
モードと該要求で指定されたロックモードとを比較し、
より強い方(readよりwriteが強い。inte
ntionよりreadが強い等、よく知られたロック
の強さによる)を該ロック情報203に格納する。指定
がなければwritelockを格納する。
【0095】ステップ509では、「該トランザクショ
ンID、該ブロックID、該レコードID、新レコー
ド」をコミット前キャッシュ320に登録する。コミッ
ト前キャッシュがあふれた場合には、ステーブルデータ
ベースに一部または全部を書き戻す。
【0096】ステップ510では、コミットログ240
に本操作での変更を記録する。すなわち、「該トランザ
クションID、該ブロックID、該レコードID、_、
更新、旧レコード、新レコード」をコミット前キャッシ
ュ320に追記する。そして正常終了する。
【0097】以上がWriteRecord処理の流れ
である。
【0098】図6を用いて、Commit処理の流れに
ついて説明する。
【0099】TS104がCommitTransac
tion(トランザクションID)の要求をコンピュー
タ102から受け取ると、該要求はTSC105のネッ
トワーク制御部106が受け取り、トランザクション処
理部107へ渡される。トランザクション処理部107
では、以下の処理を行う。
【0100】ステップ601で、コミット前キャッシュ
320をスキャンし、トランザクションID321が該
要求のトランザクションIDに等しいエントリのうち、
データ324が「削除」でないエントリをコミット後キ
ャッシュ330に移動する。この際「ブロックID32
2、レコードID323、データ324」を「ブロック
ID331、レコードID332、データ333」とす
る。この際コミット後キャッシュ330があふれた場合
には、コミット後キャッシュ330の一部または全部を
ステーブルデータベースに移動する。
【0101】また、トランザクションID321が該要
求のトランザクションIDに等しいエントリのうち、デ
ータ324が「削除」であるエントリはディスク制御部
110経由で対応するレコードの削除を行う。
【0102】ステップ602で、トランザクションテー
ブル210をスキャンしてロックテーブル200の解放
を行う。すなわち、トランザクションテーブル210中
でトランザクションID211が該要求のトランザクシ
ョンIDに等しいエントリを検索し、条件に合致するエ
ントリのブロックID212とレコードID213の対
それぞれについて、ロックテーブル200を検索する。
そして、条件に合致するロックテーブル200のエント
リのそれぞれについて、ロック情報203に該要求のト
ランザクションIDが格納されていれば、該エントリを
削除する。
【0103】ステップ603で、トランザクションテー
ブル210のトランザクションID211が該要求のト
ランザクションIDを用いて検索し、対応するエントリ
を削除する。
【0104】ステップ604で、コミットログ240中
でトランザクションID241が該要求のトランザクシ
ョンIDと等しいエントリを検索し、条件に合致するエ
ントリを削除する。
【0105】以上がCommit処理の流れである。
【0106】図7を用いて、Commit処理の流れに
ついて説明する。
【0107】TS104がAbortTransact
ion(トランザクションID)の要求をコンピュータ
102から受け取ると、該要求はTSC105のネット
ワーク制御部106が受け取り、トランザクション処理
部107へ渡される。トランザクション処理部107で
は、以下の処理を行う。
【0108】ステップ701で、コミットログ240中
でトランザクションID241が該要求のトランザクシ
ョンIDと等しいエントリを後方から前方へ検索し、条
件に合致するエントリのそれぞれについて、コミット後
キャッシュ330またはステーブルデータベース中で
「ブロックID242、レコードID243」・、カラ
ムID244・」で指定されるレコードを得て、そのレ
コードの値を後データ247から前データ246へ戻
す。
【0109】ステップ702で、トランザクションテー
ブル210をスキャンしてロックテーブル200の解放
を行う。すなわち、トランザクションテーブル210中
でトランザクションID211が該要求のトランザクシ
ョンIDに等しいエントリを検索し、条件に合致するエ
ントリのブロックID212とレコードID213の対
それぞれについて、ロックテーブル200を検索する。
そして、条件に合致するロックテーブル200のエント
リのそれぞれについて、ロック情報203に該要求のト
ランザクションIDが格納されていれば、該エントリを
削除する。
【0110】ステップ703で、トランザクションテー
ブル210のトランザクションID211が該要求のト
ランザクションIDを用いて検索し、対応するエントリ
を削除する。
【0111】ステップ704で、コミットログ240中
でトランザクションID241が該要求のトランザクシ
ョンIDと等しいエントリを検索し、条件に合致するエ
ントリを削除する。
【0112】以上がAbort処理の流れである。
【0113】図8を用いて、ReadRecord処理
の要求を発行する際のコンピュータ102側の処理の流
れについて説明する。
【0114】ステップ801で、アクセスメソッドを決
定する。すなわち、アクセスしようとするレコードをイ
ンデックスを用いてアクセスするか、インデックスを用
いずにアクセスするか、また、インデックスを用いる場
合にはどのインデックスを用いるかを決定する。この処
理はデータベース管理システムでよく用いられる処理で
ある。
【0115】ステップ802で、インデックスを使用す
るか否かによって、ステップ803(インデックスを用
いない場合)またはステップ804(インデックスを用
いる場合)に制御を移す。
【0116】ステップ803では、レコード指定をテー
ブルスキャンとしてReadRecord()処理をT
S104へ要求する。
【0117】ステップ804では、コンピュータ102
のメモリ上にインデックスのすべてが存在するか否かを
判定する。存在すれば(Y)ステップ805へ、存在し
なければ(N)ステップ806へ制御を移す。
【0118】ステップ805では、インデックスをアク
セスしてブロックIDとレコードIDを得、レコード指
定をレコード直接指定としてReadRecord()
処理をTS104へ要求する。
【0119】ステップ806では、コンピュータ102
のメモリ上にインデックスの一部が存在するか否かを判
定する。存在すれば(Y)ステップ807へ、存在しな
ければ(N)ステップ808へ制御を移す。
【0120】ステップ807では、コンピュータ102
のメモリ上に存在するインデックスをアクセスしてイン
デックスの中間ノードを得、レコード指定をインデック
ス部分スキャン指定としてReadRecord()処
理をTS104へ要求する。
【0121】ステップ808では、使用するインデック
スのインデックスIDを用いて、レコード指定をインデ
ックススキャン指定としてReadRecord()処
理をTS104へ要求する。
【0122】最後にステップ809で、TS104から
結果を得る。以上がReadRecord処理の要求を
発行する際のコンピュータ102側の処理の流れであ
る。この流れは、WriteRecord、Inser
tRecord、DeleteRecord、また、カ
ラム単位の操作でも同様である。
【0123】
【発明の効果】以上述べた本発明の、トランザクション
を意識した機能およびインタフェースを持つストレージ
「トランザクショナルストレージ」とそれを用いたコン
ピュータシステムによって、従来のトランザクション処
理に伴う以下の課題が解決される。
【0124】(1)トランザクショナルストレージのレ
コード単位の入出力機能およびインタフェースにより、
ブロック入出力による無駄なデータの入出力が削減され
る。
【0125】(2)トランザクショナルストレージの、
レコードを更新する機能およびインタフェースにより、
更新に伴う無駄な入出力が削減される。更新時には、必
要に応じて更新前データを返すことにより、ログを効率
的に作成できる。
【0126】(3)トランザクショナルストレージが
(a)ブロック番号とレコード番号によるレコード指定
インタフェース、(b)テーブルと条件によるレコード
指定インタフェース、(c)インデックスと条件による
レコード指定インタフェース、(d)インデックス中間
ノードと条件によるレコード指定インタフェース、の4
種類のレコード指定インタフェースを備えることによ
り、効率的なレコードアクセスが実現される。
【0127】(4)トランザクショナルストレージがコ
ンピュータからディクショナリ情報を入力するインタフ
ェースを備えることにより、任意のストレージでディク
ショナリ情報が利用可能となる。
【0128】(5)トランザクショナルストレージがコ
ミットのインタフェースとアボートのインタフェースを
備えることにより、トランザクションの実現(コミット
やアボート)による無駄なデータの入出力が削減され
る。
【0129】(6)トランザクショナルストレージが、
コミット前キャッシュとコミット後キャッシュを備え、
書き込んだデータを取り消す方法を提供することによ
り、トランザクションがアボートした際の無駄な入出力
が削減される。
【0130】(7)トランザクショナルストレージがレ
コードおよびブロックのロック(排他制御)インタフェ
ースを備えることにより、同一のデータをレコード単位
でもブロック単位でも処理でき、複数のコンピュータか
らの共有が可能になる。
【0131】以上により、トランザクション処理に伴っ
てコンピュータのプロセッサおよびストレージに生じる
高い負荷を削減し、大規模なデータベースシステムおよ
びトランザクション処理システムの実現が可能となる。
【図面の簡単な説明】
【図1】本実施例の全体構成を示すブロック図。
【図2】トランザクショナルストレージの内部データの
構成図。
【図3】トランザクショナルストレージのディクショナ
リとキャッシュの構成図。
【図4】ReadRecord処理の流れ図。
【図5】WriteRecord処理の流れ図。
【図6】Commit処理の流れ図。
【図7】Abort処理の流れ図。
【図8】コンピュータ側処理の流れ図。
【符号の説明】
101:全体 102:コンピュータ 103:入出力信号線 104:TS 105:TSC 106:ネットワーク制御部 107:トランザクション処理部 108:コミット後キャッシュ 109:コミット前キャッシュ 110:ディスク制御部 111:ディスク 112:入出力処理部 113:トランザクショナルストレージインタフェー
ス。
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.7 識別記号 FI テーマコート゛(参考) G06F 3/06 301 G06F 3/06 301S 302 302J 12/08 12/08 G 320 320 17/30 15/40 350B (72)発明者 牛嶋 一智 東京都国分寺市東恋ケ窪一丁目280番地 株式会社日立製作所中央研究所内 (72)発明者 森永 智之 東京都国分寺市東恋ケ窪一丁目280番地 株式会社日立製作所中央研究所内 (72)発明者 佐川 暢俊 東京都国分寺市東恋ケ窪一丁目280番地 株式会社日立製作所中央研究所内 Fターム(参考) 5B005 JJ01 KK02 KK12 LL11 MM11 NN01 PP28 UU25 WW16 5B065 BA01 CC08 CE12 CH18 CS01 5B075 NR03 5B082 AA13 EA05 EA12 FA01 FA12 GA14 GB01 GC04

Claims (35)

    【特許請求の範囲】
  1. 【請求項1】1つ以上のコンピュータと、1つ以上の二
    次記憶装置と、該コンピュータと該二次記憶装置とを接
    続する入出力用信号線またはネットワークを備え、該コ
    ンピュータがトランザクション処理を実行し、該二次記
    憶装置が、電源断後もデータを保持することが可能な1
    つ以上の記憶媒体(二次記憶)を備え、該二次記憶装置
    が、該トランザクション処理の対象データ(データベー
    ス)を格納しており、該データベースが1つ以上のテー
    ブルからなり、各テーブルが1つ以上のレコードからな
    り、各レコードが1つ以上のカラムからなり、該テーブ
    ルが0個以上のインデックスを持ち、該二次記憶が、固
    定長のブロックを単位として分割されており、1つ以上
    のレコードが該ブロック内に格納されるコンピュータシ
    ステムにおいて、該二次記憶装置上で該レコードまたは
    該カラムを単位とした入出力を行うことを特徴とするレ
    コード単位入出力方法。
  2. 【請求項2】1つ以上のコンピュータと、1つ以上の二
    次記憶装置と、該コンピュータと該二次記憶装置とを接
    続する入出力用信号線またはネットワークを備え、該コ
    ンピュータがトランザクション処理を実行し、該二次記
    憶装置が、電源断後もデータを保持することが可能な1
    つ以上の記憶媒体(二次記憶)を備え、該二次記憶装置
    が、該トランザクション処理の対象データ(データベー
    ス)を格納しており、該データベースが1つ以上のテー
    ブルからなり、各テーブルが1つ以上のレコードからな
    り、各レコードが1つ以上のカラムからなり、該テーブ
    ルが0個以上のインデックスを持ち、該二次記憶が、固
    定長のブロックを単位として分割されており、1つ以上
    のレコードが該ブロック内に格納されるコンピュータシ
    ステムにおいて、該二次記憶装置が該レコードまたは該
    カラムを単位とした入出力を行うことを特徴とする二次
    記憶装置。
  3. 【請求項3】1つ以上のコンピュータと、1つ以上の二
    次記憶装置と、該コンピュータと該二次記憶装置とを接
    続する入出力用信号線またはネットワークを備え、該コ
    ンピュータがトランザクション処理を実行し、該二次記
    憶装置が、電源断後もデータを保持することが可能な1
    つ以上の記憶媒体(二次記憶)を備え、該二次記憶装置
    が、該トランザクション処理の対象データ(データベー
    ス)を格納しており、該データベースが1つ以上のテー
    ブルからなり、各テーブルが1つ以上のレコードからな
    り、各レコードが1つ以上のカラムからなり、該テーブ
    ルが0個以上のインデックスを持ち、該二次記憶が、固
    定長のブロックを単位として分割されており、1つ以上
    のレコードが該ブロック内に格納されるコンピュータシ
    ステムにおいて、該二次記憶装置がレコード単位または
    該カラム単位の入出力を行い、該コンピュータが、該二
    次記憶装置に対し該レコード単位または該カラム単位の
    入出力要求を行うことを特徴とする該コンピュータ。
  4. 【請求項4】1つ以上のコンピュータと、1つ以上の二
    次記憶装置と、該コンピュータと該二次記憶装置とを接
    続する入出力用信号線またはネットワークを備え、該コ
    ンピュータがトランザクション処理を実行し、該二次記
    憶装置が、電源断後もデータを保持することが可能な1
    つ以上の記憶媒体(二次記憶)を備え、該二次記憶装置
    が、該トランザクション処理の対象データ(データベー
    ス)を格納しており、該データベースが1つ以上のテー
    ブルからなり、各テーブルが1つ以上のレコードからな
    り、各レコードが1つ以上のカラムからなり、該テーブ
    ルが0個以上のインデックスを持ち、該二次記憶が、固
    定長のブロックを単位として分割されており、1つ以上
    のレコードが該ブロック内に格納されるコンピュータシ
    ステムにおいて、該二次記憶装置上で、第1のレコード
    (または第1のカラム)の更新要求および新データを受
    け取り、該第1のレコード(または該第1のカラム)を
    該新データで更新し、該第1のレコード(または該第1
    のカラム)の更新前データを返答することを特徴とする
    レコード単位更新方法。
  5. 【請求項5】1つ以上のコンピュータと、1つ以上の二
    次記憶装置と、該コンピュータと該二次記憶装置とを接
    続する入出力用信号線またはネットワークを備え、該コ
    ンピュータがトランザクション処理を実行し、該二次記
    憶装置が、電源断後もデータを保持することが可能な1
    つ以上の記憶媒体(二次記憶)を備え、該二次記憶装置
    が、該トランザクション処理の対象データ(データベー
    ス)を格納しており、該データベースが1つ以上のテー
    ブルからなり、各テーブルが1つ以上のレコードからな
    り、各レコードが1つ以上のカラムからなり、該テーブ
    ルが0個以上のインデックスを持ち、該二次記憶が、固
    定長のブロックを単位として分割されており、1つ以上
    のレコードが該ブロック内に格納されるコンピュータシ
    ステムにおいて、該二次記憶装置が、第1のレコード
    (または第1のカラム)の更新要求および新データを受
    け取り、該第1のレコード(または該第1のカラム)を
    該新データで更新し、該第1のレコード(または該第1
    のカラム)の更新前データを返答することを特徴とする
    二次記憶装置。
  6. 【請求項6】1つ以上のコンピュータと、1つ以上の二
    次記憶装置と、該コンピュータと該二次記憶装置とを接
    続する入出力用信号線またはネットワークを備え、該コ
    ンピュータがトランザクション処理を実行し、該二次記
    憶装置が、電源断後もデータを保持することが可能な1
    つ以上の記憶媒体(二次記憶)を備え、該二次記憶装置
    が、該トランザクション処理の対象データ(データベー
    ス)を格納しており、該データベースが1つ以上のテー
    ブルからなり、各テーブルが1つ以上のレコードからな
    り、各レコードが1つ以上のカラムからなり、該テーブ
    ルが0個以上のインデックスを持ち、該二次記憶が、固
    定長のブロックを単位として分割されており、1つ以上
    のレコードが該ブロック内に格納されるコンピュータシ
    ステムにおいて、該二次記憶装置が、第1のレコード
    (または第1のカラム)の更新要求および新データを受
    け取り、該第1のレコード(または該第1のカラム)を
    該新データで更新し、該第1のレコード(または該第1
    のカラム)の更新前データを返答し、該コンピュータが
    該二次記憶装置に対して、レコード単位またはカラム単
    位の更新要求を行い、レコードまたはカラムの更新前の
    データを受け取ることを特徴とするコンピュータ。
  7. 【請求項7】請求項1および請求項4のレコード単位入
    出力方法またはレコード単位更新方法であって、入出力
    または更新の対象となるレコードの指定を、該二次記憶
    中でブロックを一意識別するブロックIDと、該ブロッ
    ク内でレコードを一意に識別するレコードIDの対によ
    って行うことを特徴とするレコード単位入出力方法また
    はレコード単位更新方法。
  8. 【請求項8】請求項2および請求項5の二次記憶装置で
    あって、二次記憶装置が、入出力または更新の対象とな
    るレコードの指定として、該二次記憶中でブロックを一
    意識別するブロックIDと、該ブロック内でレコードを
    一意に識別するレコードIDとを受取ることを特徴とす
    る二次記憶装置。
  9. 【請求項9】請求項2および請求項5のコンピュータで
    あって、該コンピュータが、該二次記憶装置に対し、入
    出力または更新の対象となるレコードの指定を、該二次
    記憶中でブロックを一意識別するブロックIDと、該ブ
    ロック内でレコードを一意に識別するレコードIDの対
    によって行うことを特徴とするコンピュータ。
  10. 【請求項10】請求項1および請求項4のレコード単位
    入出力方法またはレコード単位更新方法であって、入出
    力または更新の対象となるレコードの指定を、テーブル
    を一意に識別するテーブルIDと、レコード絞り込みの
    ための条件とを用いて行うことを特徴とするレコード単
    位入出力方法またはレコード単位更新方法。
  11. 【請求項11】請求項2および請求項5の二次記憶装置
    であって、二次記憶装置が、入出力または更新の対象と
    なるレコードの指定として、テーブルを一意に識別する
    テーブルIDと、レコード絞り込みのための条件とを受
    取ることを特徴とする二次記憶装置。
  12. 【請求項12】請求項2および請求項5のコンピュータ
    であって、該コンピュータが該二次記憶装置に対し、入
    出力または更新の対象となるレコードの指定を、テーブ
    ルを一意に識別するテーブルIDと、レコード絞り込み
    のための条件とを用いて行うことを特徴とするコンピュ
    ータ。
  13. 【請求項13】請求項1および請求項4のレコード単位
    入出力方法またはレコード単位更新方法であって、入出
    力または更新の対象となるレコードの指定を、インデッ
    クスを一意に識別するインデックスIDと、該インデッ
    クスを検索するためのレコード絞り込みのための条件と
    を用いて行うことを特徴とするレコード単位入出力方法
    またはレコード単位更新方法。
  14. 【請求項14】請求項1および請求項4の二次記憶装置
    であって、該二次記憶装置が、入出力または更新の対象
    となるレコードの指定として、インデックスを一意に識
    別するインデックスIDと、該インデックスを検索する
    ためのレコード絞り込みのための条件とを受取ることを
    特徴とする二次記憶装置。
  15. 【請求項15】請求項1および請求項4のコンピュータ
    であって、該コンピュータが該二次記憶装置に対し、入
    出力または更新の対象となるレコードの指定を、インデ
    ックスを一意に識別するインデックスIDと、該インデ
    ックスを検索するためのレコード絞り込みのための条件
    とを用いて行うことを特徴とするコンピュータ。
  16. 【請求項16】請求項1および請求項4のレコード単位
    入出力方法またはレコード単位更新方法であって、入出
    力または更新の対象となるレコードの指定を、インデッ
    クスの中間ノードを一意に識別するブロックIDと、該
    インデックスを検索するためのレコード絞り込みのため
    の条件とを用いて行うことを特徴とするレコード単位入
    出力方法またはレコード単位更新方法。
  17. 【請求項17】請求項1および請求項4の二次記憶装置
    であって、該二次記憶装置が、入出力または更新の対象
    となるレコードの指定として、インデックスの中間ノー
    ドを一意に識別するブロックIDと、該インデックスを
    検索するためのレコード絞り込みのための条件とを受取
    ることを特徴とする二次記憶装置。
  18. 【請求項18】請求項1および請求項4のレコード単位
    入出力方法またはレコード単位更新方法であって、該コ
    ンピュータが該二次記憶装置に対し、入出力または更新
    の対象となるレコードの指定を、インデックスの中間ノ
    ードを一意に識別するブロックIDと、該インデックス
    を検索するためのレコード絞り込みのための条件とを用
    いて行うことを特徴とするコンピュータ。
  19. 【請求項19】1つ以上のコンピュータと、1つ以上の
    二次記憶装置と、該コンピュータと該二次記憶装置とを
    接続する入出力用信号線またはネットワークを備え、該
    コンピュータがトランザクション処理を実行し、該二次
    記憶装置が、電源断後もデータを保持することが可能な
    1つ以上の記憶媒体(二次記憶)を備え、該二次記憶装
    置が、該トランザクション処理の対象データ(データベ
    ース)を格納しており、該データベースが1つ以上のテ
    ーブルからなり、各テーブルが1つ以上のレコードから
    なり、各レコードが1つ以上のカラムからなり、該テー
    ブルが0個以上のインデックスを持ち、該二次記憶が、
    固定長のブロックを単位として分割されており、1つ以
    上のレコードが該ブロック内に格納されるコンピュータ
    システムにおいて、該二次記憶装置上で、該テーブルま
    たは該インデックスの構成を示す情報(ディクショナリ
    情報)を受け取ることを特徴とするディクショナリ情報
    入出力方法。
  20. 【請求項20】1つ以上のコンピュータと、1つ以上の
    二次記憶装置と、該コンピュータと該二次記憶装置とを
    接続する入出力用信号線またはネットワークを備え、該
    コンピュータがトランザクション処理を実行し、該二次
    記憶装置が、電源断後もデータを保持することが可能な
    1つ以上の記憶媒体(二次記憶)を備え、該二次記憶装
    置が、該トランザクション処理の対象データ(データベ
    ース)を格納しており、該データベースが1つ以上のテ
    ーブルからなり、各テーブルが1つ以上のレコードから
    なり、各レコードが1つ以上のカラムからなり、該テー
    ブルが0個以上のインデックスを持ち、該二次記憶が、
    固定長のブロックを単位として分割されており、1つ以
    上のレコードが該ブロック内に格納されるコンピュータ
    システムにおいて、該二次記憶装置が、該テーブルまた
    は該インデックスの構成を示す情報(ディクショナリ情
    報)を受取ることを特徴とする該二次記憶装置。
  21. 【請求項21】1つ以上のコンピュータと、1つ以上の
    二次記憶装置と、該コンピュータと該二次記憶装置とを
    接続する入出力用信号線またはネットワークを備え、該
    コンピュータがトランザクション処理を実行し、該二次
    記憶装置が、電源断後もデータを保持することが可能な
    1つ以上の記憶媒体(二次記憶)を備え、該二次記憶装
    置が、該トランザクション処理の対象データ(データベ
    ース)を格納しており、該データベースが1つ以上のテ
    ーブルからなり、各テーブルが1つ以上のレコードから
    なり、各レコードが1つ以上のカラムからなり、該テー
    ブルが0個以上のインデックスを持ち、該二次記憶が、
    固定長のブロックを単位として分割されており、1つ以
    上のレコードが該ブロック内に格納されるコンピュータ
    システムにおいて、該コンピュータが、該テーブルまた
    は該インデックスの構成を示す情報(ディクショナリ情
    報)を該二次記憶装置に供給することを特徴とするコン
    ピュータ。
  22. 【請求項22】1つ以上のコンピュータと、1つ以上の
    二次記憶装置と、該コンピュータと該二次記憶装置とを
    接続する入出力用信号線またはネットワークを備え、該
    コンピュータがトランザクション処理を実行し、該二次
    記憶装置が、電源断後もデータを保持することが可能な
    1つ以上の記憶媒体(二次記憶)を備え、該二次記憶装
    置が、該トランザクション処理の対象データ(データベ
    ース)を格納しており、該データベースが1つ以上のテ
    ーブルからなり、各テーブルが1つ以上のレコードから
    なり、各レコードが1つ以上のカラムからなり、該テー
    ブルが0個以上のインデックスを持ち、該二次記憶が、
    固定長のブロックを単位として分割されており、1つ以
    上のレコードが該ブロック内に格納されるコンピュータ
    システムにおいて、該二次記憶装置上で、入出力処理を
    まとめる単位であるトランザクションを提供し、該トラ
    ンザクションを開始する要求を受け取り、該トランザク
    ションの開始後に一連の入出力を受け取り、該トランザ
    クションの正常終了(コミット)要求を受け取って該入
    出力の結果を二次記憶に反映するか、該トランザクショ
    ンの異常終了(アボート)要求を受け取って該入出力の
    結果を破棄することを特徴とするコミット方法。
  23. 【請求項23】1つ以上のコンピュータと、1つ以上の
    二次記憶装置と、該コンピュータと該二次記憶装置とを
    接続する入出力用信号線またはネットワークを備え、該
    コンピュータがトランザクション処理を実行し、該二次
    記憶装置が、電源断後もデータを保持することが可能な
    1つ以上の記憶媒体(二次記憶)を備え、該二次記憶装
    置が、該トランザクション処理の対象データ(データベ
    ース)を格納しており、該データベースが1つ以上のテ
    ーブルからなり、各テーブルが1つ以上のレコードから
    なり、各レコードが1つ以上のカラムからなり、該テー
    ブルが0個以上のインデックスを持ち、該二次記憶が、
    固定長のブロックを単位として分割されており、1つ以
    上のレコードが該ブロック内に格納されるコンピュータ
    システムにおいて、該二次記憶装置が、入出力処理をま
    とめる単位であるトランザクションを提供し、該トラン
    ザクションを開始する要求を受け取り、該トランザクシ
    ョンの開始後に一連の入出力を受け取り、該トランザク
    ションの正常終了(コミット)要求を受け取って該入出
    力の結果を二次記憶に反映するか、該トランザクション
    の異常終了(アボート)要求を受け取って該入出力の結
    果を破棄することを特徴とする二次記憶装置。
  24. 【請求項24】1つ以上のコンピュータと、1つ以上の
    二次記憶装置と、該コンピュータと該二次記憶装置とを
    接続する入出力用信号線またはネットワークを備え、該
    コンピュータがトランザクション処理を実行し、該二次
    記憶装置が、電源断後もデータを保持することが可能な
    1つ以上の記憶媒体(二次記憶)を備え、該二次記憶装
    置が、該トランザクション処理の対象データ(データベ
    ース)を格納しており、該データベースが1つ以上のテ
    ーブルからなり、各テーブルが1つ以上のレコードから
    なり、各レコードが1つ以上のカラムからなり、該テー
    ブルが0個以上のインデックスを持ち、該二次記憶が、
    固定長のブロックを単位として分割されており、1つ以
    上のレコードが該ブロック内に格納されるコンピュータ
    システムにおいて、該コンピュータが該二次記憶装置に
    対し、入出力処理をまとめる単位であるトランザクショ
    ンの開始要求と、該トランザクションに含まれる一連の
    入出力要求と、該入出力の結果を二次記憶に反映する、
    該トランザクションの正常終了(コミット)要求と、該
    入出力の結果を破棄する、該トランザクションの異常終
    了(アボート)要求とを行うことを特徴とするコンピュ
    ータ。
  25. 【請求項25】請求項22のコミット方法であって、該
    二次記憶装置上に、まだコミットされていないトランザ
    クションが行った変更を保持しておくメモリ上または二
    次記憶上の記憶領域を持つことを特徴とするコミット方
    法。
  26. 【請求項26】該二次記憶装置が、まだコミットされて
    いないトランザクションが行った変更を保持しておくメ
    モリ上または二次記憶上の記憶領域を持つことを特徴と
    する二次記憶装置。
  27. 【請求項27】請求項22のコミット方法であって、該
    二次記憶装置上に、コミットされたトランザクションが
    行った変更を保持しておくメモリ上または二次記憶上の
    記憶領域を持つことを特徴とするコミット方法。
  28. 【請求項28】請求項22のコミット方法であって、該
    二次記憶装置が、コミットされたトランザクションが行
    った変更を保持しておくメモリ上または二次記憶上の記
    憶領域を持つことを特徴とする二次記憶装置。
  29. 【請求項29】コンピュータによって処理されるトラン
    ザクション処理の対象データをデータベースとして格納
    し、該データベース中のレコード単位で入出力するイン
    タフェースを備えるトランザクショナルストレージ。
  30. 【請求項30】請求項29において、レコードを更新す
    るインタフェースをさらに備えるトランザクショナルス
    トレージ。
  31. 【請求項31】請求項30において、上記データベース
    におけるブロック番号とレコード番号によるレコード指
    定インタフェースと、テーブルと条件によるレコード指
    定インタフェースと、インデックスと条件によるレコー
    ド指定インタフェースと、インデックス中間ノードと条
    件によるレコード指定インタフェースとを備えるトラン
    ザクショナルストレージ。
  32. 【請求項32】請求項31において、コンピュータから
    ディクショナリ情報を入力するインタフェースを備える
    トランザクショナルストレージ。
  33. 【請求項33】請求項32において、コミットのインタ
    フェースとアボートのインタフェースを備えるトランザ
    クショナルストレージ。
  34. 【請求項34】請求項33において、コミット前キャッ
    シュとコミット後キャッシュを備えるトランザクショナ
    ルストレージ。
  35. 【請求項35】請求項34において、レコードおよびブ
    ロックのロック(排他制御)インタフェースを備えるト
    ランザクショナルストレージ。
JP15900899A 1999-06-07 1999-06-07 トランザクション処理向けストレージ方法および装置、トランザクショナルストレージ Expired - Fee Related JP4306023B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP15900899A JP4306023B2 (ja) 1999-06-07 1999-06-07 トランザクション処理向けストレージ方法および装置、トランザクショナルストレージ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP15900899A JP4306023B2 (ja) 1999-06-07 1999-06-07 トランザクション処理向けストレージ方法および装置、トランザクショナルストレージ

Publications (3)

Publication Number Publication Date
JP2000347909A true JP2000347909A (ja) 2000-12-15
JP2000347909A5 JP2000347909A5 (ja) 2006-03-23
JP4306023B2 JP4306023B2 (ja) 2009-07-29

Family

ID=15684238

Family Applications (1)

Application Number Title Priority Date Filing Date
JP15900899A Expired - Fee Related JP4306023B2 (ja) 1999-06-07 1999-06-07 トランザクション処理向けストレージ方法および装置、トランザクショナルストレージ

Country Status (1)

Country Link
JP (1) JP4306023B2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006119822A (ja) * 2004-10-20 2006-05-11 Hitachi Ltd データベースの再編成方法、ストレージ装置及びストレージシステム
JP2012238061A (ja) * 2011-05-10 2012-12-06 Nec Corp トランザクション処理装置、トランザクション処理方法およびトランザクション処理プログラム
JP2015046164A (ja) * 2013-08-28 2015-03-12 バイオセンス・ウエブスター・(イスラエル)・リミテッドBiosense Webster (Israel), Ltd. リアルタイムデータフローの永続記憶装置用のアトミックトランザクションによるダブルバッファリング
WO2015162717A1 (ja) * 2014-04-23 2015-10-29 株式会社日立製作所 計算機
WO2016038722A1 (ja) * 2014-09-11 2016-03-17 株式会社日立製作所 ストレージシステム及びデータ書込み方法

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006119822A (ja) * 2004-10-20 2006-05-11 Hitachi Ltd データベースの再編成方法、ストレージ装置及びストレージシステム
JP4518485B2 (ja) * 2004-10-20 2010-08-04 株式会社日立製作所 データベースの再編成方法、ストレージ装置及びストレージシステム
JP2012238061A (ja) * 2011-05-10 2012-12-06 Nec Corp トランザクション処理装置、トランザクション処理方法およびトランザクション処理プログラム
JP2015046164A (ja) * 2013-08-28 2015-03-12 バイオセンス・ウエブスター・(イスラエル)・リミテッドBiosense Webster (Israel), Ltd. リアルタイムデータフローの永続記憶装置用のアトミックトランザクションによるダブルバッファリング
US10684986B2 (en) 2013-08-28 2020-06-16 Biosense Webster (Israel) Ltd. Double buffering with atomic transactions for the persistent storage of real-time data flows
WO2015162717A1 (ja) * 2014-04-23 2015-10-29 株式会社日立製作所 計算機
US10430287B2 (en) 2014-04-23 2019-10-01 Hitachi, Ltd. Computer
WO2016038722A1 (ja) * 2014-09-11 2016-03-17 株式会社日立製作所 ストレージシステム及びデータ書込み方法
US9952805B2 (en) 2014-09-11 2018-04-24 Hitachi, Ltd. Storage system and data write method using a logical volume to either store data successfully onto a first memory or send a failure response to a server computer if the storage attempt fails

Also Published As

Publication number Publication date
JP4306023B2 (ja) 2009-07-29

Similar Documents

Publication Publication Date Title
US11914568B2 (en) High-performance database engine implementing a positional delta tree update system
US8046334B2 (en) Dual access to concurrent data in a database management system
EP3047397B1 (en) Mirroring, in memory, data from disk to improve query performance
US9058351B2 (en) Apparatus and method for read optimized bulk data storage
US6615219B1 (en) Database management system and method for databases having large objects
EP3047400B1 (en) Multi-version concurrency control on in-memory snapshot store of oracle in-memory database
JP2520570B2 (ja) コミット済みデ―タの抽出をデ―タベ―ス・システムから制御装置へオフロ―ドするための方法
US7418544B2 (en) Method and system for log structured relational database objects
US8868577B2 (en) Generic database manipulator
US7243088B2 (en) Database management system with efficient version control
US10754854B2 (en) Consistent query of local indexes
US8832022B2 (en) Transaction processing device, transaction processing method and transaction processing program
US11216412B2 (en) Intelligent merging for efficient updates in columnar databases
US7225206B2 (en) System and method for reorganizing stored data
US6647386B2 (en) Method, system, and program for reverse index scanning
WO2008137227A1 (en) Reducing update conflicts when maintaining views
CN112867999A (zh) 基于版本的表锁定
JP4306023B2 (ja) トランザクション処理向けストレージ方法および装置、トランザクショナルストレージ
US6556994B1 (en) Method and system for improving concurrency through early release of unnecessary locks
KR20210033880A (ko) 인덱스 리두 로그를 이용한 인덱스 복구를 위한 방법, 서버 및 컴퓨터 판독가능 저장매체
WO2024082693A1 (zh) 数据处理方法及装置
JPH1185585A (ja) 完全メモリ常駐型インデックス方法および装置
JP4245282B2 (ja) 書き込み遅延データベース管理方法、装置、プログラム、及び記録媒体
JP2002063055A (ja) 書き込み遅延データベース管理方式及びシステム
JPH0283640A (ja) データベース更新方法

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051130

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051130

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20060417

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20081222

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090113

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090312

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090414

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090427

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120515

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees