JPH11154155A - ファイル管理方法 - Google Patents
ファイル管理方法Info
- Publication number
- JPH11154155A JPH11154155A JP9319527A JP31952797A JPH11154155A JP H11154155 A JPH11154155 A JP H11154155A JP 9319527 A JP9319527 A JP 9319527A JP 31952797 A JP31952797 A JP 31952797A JP H11154155 A JPH11154155 A JP H11154155A
- Authority
- JP
- Japan
- Prior art keywords
- record
- file
- records
- blocks
- field
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0613—Improving I/O performance in relation to throughput
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0643—Management of files
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0674—Disk device
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/12—Formatting, e.g. arrangement of data block or words on the record carriers
- G11B20/1217—Formatting, e.g. arrangement of data block or words on the record carriers on discs
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99944—Object-oriented database structure
- Y10S707/99945—Object-oriented database structure processing
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99956—File allocation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
含む部分のみを読み出し、ディスク装置から読み出すデ
ータ量を減らすことで、ディスク装置からの読み出しに
かかる時間を軽減し、処理の高速化を実現する。 【解決手段】 元ファイルからフィールドの予め設定し
た一定件数を分割してブロックとし、各ブロックを全て
連結してグループに再編成し、レコードの全件について
グループに再編成後それらのグループを連結して転置フ
ァイルを生成し、その転置ファイルからフィールドごと
に順次アクセスする。また、グループを一定数ごとに複
数のディスク装置に格納し、元ファイルへのアクセスに
対し各ディスク装置を並列してアクセスする。
Description
理など大量に記憶されたデータから必要なデータだけを
効率よく取り出すような処理を目的としたデータファイ
ルのファイル管理方法の改良に関するものである。
タはレコード単位にまとまって、各レコードの順番に従
って並び、各レコード内ではそのフィールドの定義順に
データが並んでいる。従来のファイル管理におけるファ
イル管理方法の一例を図24に示す。この図は、格納対
象となるデータファイルのi番目のレコードからnレコー
ド分がディスク装置に格納されている様子を示したもの
である。
スク装置から一旦全てのデータをデータベース演算処理
装置内部の入出力バッファに入力した後、選択、射影処
理により必要なデータのみを内部メモリに取り込むデー
タ処理装置の一例として、特開平6−176074号公
報に記載された技術がある。内部メモリの有効利用を図
ったものであるが、選択、射影処理による絞り込みの詳
細については記載されておらず、また、内部メモリに取
り入れたデータの利用方法についても特に記載されてい
ない。
憶されている記憶形式の場合、レコードの中の一部のフ
ィールドのみが必要な場合でも、すべてのレコードをデ
ィスク装置から入出力バッファに入力した上で、必要な
フィールドのみを切り出す処理が必要であった。一部の
フィールドのみを取り出すような処理は、例えば社員番
号、氏名、年齢、住所、電話番号から構成される社員デ
ータベースから、氏名と住所だけを取り出すような処理
がこれに相当する。図25に示すように、フィールド17
が氏名、フィールド18が住所として、これら2つのフィ
ールドのみが必要な場合でも、ディスク装置上はフィー
ルドごとに分割されて格納されていないため、ディスク
装置からはすべてのフィールドを全レコードについて読
み出した上で、17と18のフィールドを切り出す処理が必
要であった。
法は上記のように構成されているので、レコードの中の
一部のフィールドのみが必要な場合でも、すべてのレコ
ードをディスク装置等から入出力バッファに入力しなけ
ればならず、必要なフィールドのみを切り出したファイ
ルを作成しても、ファイルを利用する用途により必要な
フィールドが異なるので、必要なフィールドのみを切り
出す処理は使用の都度行なう必要があるという問題点が
あった。
るためになされたもので、ディスク装置から処理に必要
なフィールドを含む部分のみを読み出し、ディスク装置
から読み出すデータ量を減らすことで、ディスク装置か
らの読み出しにかかる時間を軽減し、処理の高速化を実
現することを目的としている。
管理方法は、複数のフィールドから構成されるレコード
を複数格納した元ファイルから上記フィールドの予め設
定した一定件数を上記元ファイルから分割してブロック
とし、それらの分割した各ブロックを全て連結してグル
ープに再編成し、上記レコードの全件について上記グル
ープに再編成後それらのグループを連結して転置ファイ
ルを生成し、その転置ファイルからランダムにアクセス
するものである。
ールドごとに1又は複数の固定長フィールドに変更し上
記レコード全体を固定長フィールドとした後上記元ファ
イルから分割してブロックとするものである。
数のフィールドをまとめて固定長フィールドに変更する
ものである。
にて順次フィールドを形成し上記レコード全体を固定長
フィールドとした後上記元ファイルから分割してブロッ
クとするものである。
ロックごとに変更するものである。
置を各ブロックごとに変更し上記ブロック内のレコード
はラップアラウンドにて構成するものである。
結順を各グループごとに変更するものである。
セスされる可能性の高いブロックを隣接して配置するも
のである。
コードを複数格納した元ファイルから選択した上記フィ
ールドの予め設定した一定件数を上記元ファイルから分
割してブロックとし、それらの分割した各ブロックを全
て連結してグループに再編成し、それらのグループを予
め設定した一定数ごとに複数のディスク装置に格納し、
上記元ファイルへのアクセスに対し上記各ディスク装置
を並列してアクセスするものである。
のフィールド値の最大値又は最小値を求めることにより
レコードを検索するものである。
期を示す識別子を上記レコードに付し、上記グループご
とに上記識別子の最大値又は最小値を求めることにより
レコードを検索するものである。
の実施の形態1を示す転置ファイルの生成方法を示すも
ので、1は複数のフィールド2から構成されるレコード
3を複数格納した元ファイルであり、各フィールドの予
め設定した一定件数、例えばNレコードを元ファイルか
ら分割してブロック4としとしている。それらの分割し
た各ブロック4を全て連結してグループ5に再編成し、
レコード3の全件について上記グループ5に再編成後そ
れらのグループ5を連結することにより転置ファイル6
が生成される。フィールド2及びレコード3ともに固定
長の場合である。図2に示すように、転置ファイル6を
生成後、必要なフィールド2の集まり、即ち、必要なブ
ロック4のみを読み出して入出力バッファ7に格納する
ことができ、バッファ容量の節減及び処理速度の高速化
が実現できる。
すレコードのフォーマットを示すもので、元ファイルの
レコードが固定長フィールドでない場合に固定長化する
一方法を示している。8は元ファイルのレコード、9は
固定長化した後の固定境界フォーマットを示している。
図は、Fバイトに固定長化した例であり、例えばFバイ
トに満たないフィールドField−Bはブランクを埋
めることによりField#1に固定長化している。ま
た、Fバイトを超えるフィールド長のField−Cは
3分割することにより、一部ブランクを埋めることによ
りField#2、Field#3、Field#4と
している。フィールド毎にNレコード分を集めることに
よりNFバイトのブロックができる。固定長化すること
により、処理速度の高速化が実現できる。
で、隣接する複数のフィールドをまとめて固定長フィー
ルドに変更する方法である。フィールド長の短いフィー
ルドをまとめて取り扱うことができるので処理効率が向
上する。
示すレコードフォーマットを分割する様子を示す図であ
る。図5は従来の実装方式によるデータファイルのi番
目のレコードからnレコード分を示したものである。デ
ータはレコード単位にまとまって、各レコードの順番に
従ってならび、各レコード内ではそのフィールドの定義
順にデータが並んでいる。本実施の形態3においては、
このレコードを分割して格納する。例ではレコードを分
割する長さを例えば4バイトとした場合を示す。まず各
レコードを4バイトづつに分割する。フィールド長は4
の倍数とは限らないので、フィールドの途中で分割され
ることもある。こうして、分割された部分を、レコード
毎に同じレコード内オフセットからはじまるものでまと
めてブロックとする。ブロック内では、各レコードの部
分はそのレコード順に並んでいる。
コードの先頭4バイトばかりを集めたもので、ブロック
2は各レコードの5バイト目から4バイトばかりを集め
たものとなる。最後の5ブロックは各レコードの最終部
分ばかりを集めたものとなる。レコード長が4の倍数で
ない場合、レコードの最後の部分にパディングを施して
4バイトに調整する。このようにしてできたブロックを
集めることで、レコードの集まりを格納する。ブロック
の集まりは、計算機システムのディスク上のファイルの
一部の形で格納される。
コードを追加する手順を説明する。まず、最初にディス
ク上に複数ブロック分の領域を確保し、データの追加位
置を示すポインタをその領域の先頭とする。ブロックサ
イズは適当な大きさの4の倍数で、ブロック数は、デー
タファイルが格納しようとするレコードの長さ以上の最
小の4の倍数を4で割った値である。
手順を図7に示す。追加しようとするレコードをメモリ
上で4バイト単位に分割する(ステップS1)。分割し
た最初の4バイトはデータの追加位置を示すポインタの
指す場所に格納し(ステップS2)、レコードの追加位
置を示すポインタをブロックサイズ分進める(ステップ
S3)。レコードを分割して得られる次の4バイトを順
次レコードの追加位置を示すポインタの指す場所に格納
し、格納するごとにレコードの追加位置を示すポインタ
をブロックサイズ分進める。レコードを分割して得られ
る最後の4バイトを格納した後は、レコードの追加位置
を示すポインタを最初のブロック内のデータの最後に位
置づける(ステップS3)。
したのが図8である。図8では、追加レコードを分割
し、分割単位ごとに各ブロックの最終位置に追加する様
子を示している。
レコードをメモリ上で4バイト単位に分割し、各レコー
ドの同じレコード内オフセットの部分をメモリ上でまと
めたうえで、ディスクに格納する。例えば、3レコード
を一度に追加する場合、分割して得られる4バイトの部
分を同じレコード内オフセットの部分について3レコー
ド分づつメモリ上でまとめて、12バイトづつ、レコー
ドの追加位置を示すポインタの指す場所に格納してい
く。この様子を図9に示す。
タを読み出す時の手順について説明する。例えば、図1
0に示すように、フィールドAが必要な場合、フィール
ドAはブロック1にのみ格納されているので、ディスク
装置からブロック1のみをメモリ上に読み出すようにす
る。フィールドBが必要な場合、フィールドBはブロッ
ク2とブロック3にまたがって格納されているので、ブ
ロック2とブロック3をメモリ上に読み出して、その中
からフィールドBの部分だけをメモリ上で切り出した上
で利用する。
ックは、データファイルからのデータ入力時にフィール
ドの定義情報を基に計算して求める。必要なフィールド
のレコード内オフセットがP(0オリジン)で、フィー
ルドの長さがLの場合、読み出すことが必要なブロック
は以下の計算式で得られる。ブロックiからブロックj
まで読み出すことが必要。 i=INT(P/4)+1 j=INT((P+Lー1)/4)+1 ここで、INT(X)はXを超えない最小の整数を示す。
ことで、読みだし処理において必要な部分だけを読み出
すことが可能となり、ディスクからデータを読み出す時
間を短縮することが可能になる。さらに、分割単位をフ
ィールド単位ではなく、4バイトというフィールド定義
とは関係無い値で分割しているため、データファイルは
同じで、そのフィールドの定義情報が変更になった場合
でも、データファイルの格納方式には影響を与えること
なく、データ入力時にフィールドの定義情報(レコード
内オフセットとフィールドの長さ)を基に必要なブロッ
クを計算するだけで対応が可能となる。
ド順でフィールドを配置すると、キャッシュ・TLBの特
定のセットにアクセスが集中する。このため衝突による
ミスが頻繁に発生すると予想される。仮想記憶を使わな
いことによりTLBの衝突を避けることができるが、ソフ
トウェア処理ではTLBの衝突の可能性が残る。エントリ
の衝突は、例えば、一定値づつレコード開始位置をずら
す(スキュー)ことによって回避できる。
の各ブロック4の構成を示している。ソフトウェア処理
時の効率にも考慮してTLBの衝突も避けるとすると、ペ
ージサイズ+キャッシュブロックサイズ(例えばS=4096
+32=4128bytes)のスキューをとると、衝突を避けられ
る。各ブロック4内のレコードはスキューによりずらし
た分だけ先頭に回して一巡させるラップアラウンドによ
り構成されている。このように、ブロック4内のレコー
ド順を各ブロック4ごとに変更することによりアクセス
の偏りを回避することができる。
の方法としては、グループ5内の上記ブロック4の連結
順を各グループごとに変更する方法がある。特に、転置
ファイル6の容量が大きく、グループ数が多い場合に有
効な方法である。
示す転置ファイル6の生成方法を示すもので、同時に参
照されやすいフィールド2の隣接するブロックの再配置
のようすを示したものである。フィールド2の特性によ
りデータ検索時に同時に参照されやすいフィールドが複
数存在する場合があり、そのようなフィールドは転置フ
ァイルを生成するとき、グループ内に隣接して配置して
おいた方が検索時の処理速度を向上させることができ
る。
照されやすいフィールドの集合としてブロック4aとブ
ロック4bがあり、これら2つのフィールドはレコード
3上では離れた位置に構成されているが、転置ファイル
6の生成時に隣接して配置することにより、転置ファイ
ル6を格納してあるディスク装置(図示せず)からの読
み出しにかかる時間を軽減し、処理の高速化を実現する
ことができる。
いてレコードフォーマットを4バイトで分割して生成し
た転置ファイル6におけるページ単位の処理方法の一例
を示す図である。ブロックサイズをある一定の値に定め
ておく。それぞれのブロックには、レコードを分割して
得られる4バイトの部分がそれぞれ一定数集められて格
納されているので、それらのブロックを集めることで、
一定数のレコードを格納する単位を形成することができ
る。この単位をページ11とする。1ページ11を実施の形
態1における1グループ5と同一の単位としてもよい。
1ページ11に格納できるレコード数を超えるレコード3
を追加する場合にはページ11を追加する。複数のページ
の集合としてデータファイル12が形成されている。
数のページ11を、ファイル管理プログラム14が異なるデ
ィスク装置15に分散して配置する。ひとつのデータファ
イル12を構成するページ11をどのディスク装置15に分配
するかは、利用者やシステムの管理者の定義による。デ
ータベース処理などのデータを読み込む処理プログラム
があるデータファイルの入力要求をファイル管理部(図
示せず)に対して行った場合、ファイル管理プログラム
14は、対象となるデータファイル12を構成するページが
どのディスク装置に分散して格納されているかを管理し
ているため、その処理要求を対象となる複数のディスク
装置15に対するページ単位の入力処理に分解して処理す
る。図では、データファイルを構成するページ11は
D:,E:,,,G:という複数のディスク装置15に分散
して格納されているので、データファイル12に対するデ
ータの読みだし処理要求は、ファイル管理部において、
複数のディスク装置15上の各ページ11に対する入力処理
を並列に行う形で処理される。
置した複数ページ11からデータファイル12を構成するこ
とで、データファイル12からの入力処理を複数のディス
ク装置15上のページ11からの入力要求に分解できるた
め、データファイル12からの入力の並列度が向上し、処
理速度の向上につながる。
てブロックのサイズを変えることができるようにする。
例えば、図15に示すように、レコード長が256バイト
の場合、レコードは64のブロックに分割される。ブロッ
クの大きさを64KBにすると、ページのサイズは4MBにな
る。レコード長が2048バイトの場合512のブロックに分
割されるため、ブロックのサイズを64KBにすると、ペー
ジのサイズは32MBになる。ページのサイズが大きくなる
と、おなじ大きさのデータファイルに対してページの数
が少なくなるので、本実施の形態におけるページを異な
るディスクに分散させて処理の並列度を向上させる効果
が現れにくくなる。そこで、ブロックのサイズを8KBに
するとページのサイズはレコード長256Bの場合と同じ4M
Bに抑えられる。また、ページの数を増やそうとしてブ
ロックのサイズを小さく設定しすぎると、ブロック単位
の入力処理において、一度に入力できるデータ量が小さ
くなり、処理性能を低下させる原因になりうる。従っ
て、ブロックサイズを適切に制御する必要がある。
のサイズを変えることで、レコード長にかかわりなく、
並列度向上の効果を活かした処理速度の制御が可能にな
る。
けるレコードの実装方法を示す。本実施の形態において
は、データファイルを構成するレコードを格納する際
に、ある一定数のレコードを格納する単位を形成する。
この単位をページとする。1ページの単位は、実施の形
態1における1グループ5又は実施の形態6における1
ページの単位等任意に設定することができる。1ページ
に格納されるレコード数を超えるレコードからなるデー
タファイルは複数のページから構成される。この各ペー
ジに、ページの中に存在するデータの特性を示す指標を
設ける。データファイルの中からある条件に合致するレ
コードを探し出す検索処理において、そのページの特性
の指標を調べて条件に合致するレコードを含むページか
どうかを判定する。条件に合致するレコードを含むと判
定されたページを検索対象とし、そうでない場合は検索
対象外とする。
ジが検索対象になるかどうかをその指標を用いて判定す
ることで、不要なページの検索処理を省くことが可能と
なり、検索処理を高速化することが可能となる。
性を示す指標として最大値/最小値を用いたレコードの
実装方法を示す図である。各ページの中に含まれるレコ
ードについて、各フィールドの最大値/最小値を管理す
る領域を用意する。最大値を管理する領域は、そのペー
ジ中のすべてのレコードの中での最大値を持つフィール
ドの組み合わせで構成され、最小値を管理する領域は、
そのページ中のすべてのレコードの中での最小値を持つ
フィールドの組み合わせで構成される。あるフィールド
の値でレコードを選択するような処理において、この最
大値/最小値のフィールドとその値を比較することで、
選択対象となるレコードがそのページに含まれるかどう
かの判断を行い、含まれるならばそのページに含まれる
レコードを検索し、含まれないならばそのページは処理
対象からはずれる。
ローを示すもので、あるページについて、検索条件がそ
のページの最大値以下か比較し(ステップS7)、NO
のときは次のページに移り、YESのときは次に検索条
件がそのページの最小値以上か比較する(ステップS
8)。NOのときは次のページに移り、YESのときは
そのページを処理対象とする(ステップS9)。この処
理を繰り返すことにより、全てのページについて選択対
象となるレコードが全ページに含まれるかどうかの判断
を行う。
理方法の例を示す図である。レコードの投入順序を示す
レコードIDもしくは投入時刻を示すタイムスタンプを準
備しておき、ページ単位にそのレコードIDもしくはタイ
ムスタンプの初期値と最終値を管理する領域を用意す
る。データファイルのレコードのうち、ある特定時期の
データのみを処理対象としたいような場合、このレコー
ドIDもしくはタイムスタンプの範囲を指定して、各ペー
ジのレコードIDもしくはタイムスタンプの初期値/最終
値と比較し、処理対象となるレコードがそのページに含
まれるかどうかの判断を行い、含まれるならばそのペー
ジに含まれるレコードを処理し、含まれないならばその
ページは処理対象からはずれる。例えば、過去3年分の
レコードを格納しているデータファイルに対して、昨年
10月のレコードのみを処理対象とする場合、タイムス
タンプの比較により、昨年10月分のレコードを含むペ
ージのみを処理対象とする。
択処理を示す処理フローである。図において、指定レコ
ードIDがそのページの最大値以下か判断し(ステップS
11)、次に指定レコードIDがそのページの最小値以上
か判断する(ステップS12)。ステップS11とS1
2の条件を満たすページを処理対象とする(ステップS
13)。以上の処理を全てのページについて行うことに
より検索を終了する。このように、レコードの投入時期
を条件とする選択処理がページ単位で可能になるため、
レコードの選択処理の処理効率が向上する。
置上に実装する場合、ページ単位に計算機システムのオ
ペレーティングシステムの提供するファイルシステムの
ひとつのファイルとして実装する。1ページを1ファイ
ルとする、もしくは複数のページを1ファイルとする。
このように、ひとつのデータファイルを複数のファイル
に分割して管理することで、データファイルの部分的な
削除などの処理が容易となる。例えば、図21は実施の
形態9の処理方法を示すもので、過去3年分のデータフ
ァイルのもっとも古い1年分のレコードを含むページを
削除する場合、削除対象のページを含むディスク装置の
みを選択し、かつ並列処理により削除するので、データ
ファイルの部分的な削除などの高速処理が可能となる。
の処理方法を示す図である。図に示すように、データフ
ァイルを分割して管理する各ファイルの中に含まれるレ
コードについて、各フィールドの最大値/最小値を管理
する領域を用意する。最大値を管理する領域は、そのフ
ァイル中のすべてのレコードの中での最大値を持つフィ
ールドの組み合わせで構成され、最小値を管理する領域
は、そのファイル中のすべてのレコードの中での最小値
を持つフィールドの組み合わせで構成される。あるフィ
ールドの値でレコードを選択するような処理において、
この最大値/最小値のフィールドとその値を比較するこ
とで、選択対象となるレコードがそのファイルに含まれ
るかどうかの判断を行い、含まれるならばそのファイル
に含まれるレコードを検索し、含まれないならばそのフ
ァイルは処理対象からはずれる。このように、レコード
のフィールドの値に対する条件による選択処理がファイ
ル単位で可能になるため、レコードの選択処理の処理効
率が向上する。
の処理方法を示す図である。図に示すように、レコード
の投入順序を示すレコードIDもしくは投入時刻を示すタ
イムスタンプを準備しておき、データファイルを分割し
て管理するファイル単位にそのレコードIDもしくはタイ
ムスタンプの初期値と最終値を管理する領域を用意す
る。データファイルのレコードのうち、ある特定時期の
データのみを処理対象としたいような場合、このレコー
ドIDもしくはタイムスタンプの範囲を指定して、各ファ
イルのレコードIDもしくはタイムスタンプの初期値/最
終値と比較し、処理対象となるレコードがそのファイル
に含まれるかどうかの判断を行い、含まれるならばその
ファイルに含まれるレコードを処理し、含まれないなら
ばそのファイルは処理対象からはずれる。例えば、過去
3年分のレコードを格納しているデータファイルに対し
て、昨年10月のレコードのみを処理対象とする場合、
タイムスタンプの比較により、昨年10月分のレコード
を含むファイルのみを処理対象とすることができる。こ
のように、レコードの投入時期を条件とする選択処理が
ファイル単位で可能になるため、レコードの選択処理の
処理効率が向上する。
れているので、以下に示すような効果を奏する。
元ファイルから分割してブロックとし、それらの分割し
た各ブロックを全て連結してグループに再編成するよう
に構成したので、ディスク装置から処理に必要なフィー
ルドを含む部分のみを読み出すことができ、処理の高速
化を実現することができる。
した後上記元ファイルから分割してブロックとするよう
に構成したので、フィールドの取り扱いを容易にし、処
理の高速化を実現することができる。
フィールドをまとめて固定長フィールドに変更するよう
に構成したので、隣接するフィールドを連続して読み出
すことができるので、処理の高速化を実現することがで
きる。
順次フィールドを形成し上記レコード全体を固定長フィ
ールドとするように構成したので、フィールド定義の変
更に際しても、データファイルの再分割を不要にするこ
とができる。
ブロックごとに変更するように構成したので、アクセス
の偏りを回避することができる。
ブロックごとに変更するように構成したので、アクセス
の偏りを回避することができる。
順を各グループごとに変更するように構成したので、ア
クセスの偏りを回避することができる。
可能性の高いブロックを隣接して配置するように構成し
たので、隣接するフィールドを連続して読み出すことが
でき、処理の高速化を実現することができる。
数ごとに複数のディスク装置に格納し、元ファイルへの
アクセスに対し上記各ディスク装置を並列してアクセス
するように構成したので、ディスク装置から読み出すデ
ータ量を減らし、処理の高速化を実現することができ
る。
ールド値の最大値又は最小値を求めることによりレコー
ドを検索するように構成したので、不要なページのアク
セスを省くことができ、検索処理を高速化することが可
能となる。
別子を上記レコードに付すように構成したので、不要な
ページのアクセスを省くことができ、検索処理を高速化
することが可能となる。
成方法を示す模式図である。
みを読み出して入出力バッファに格納することを示す模
式図である。
ットを示すファイルレイアウト図である。
ィールドをまとめて固定長フィールドに変更する方法を
示す模式図である。
ットを分割する様子を示す模式図である。
ットを分割する様子を示す模式図である。
レコード追加する場合の手順を示すフローチャートであ
る。
レコード追加する場合の手順を示す模式図である。
数レコードを一度に追加する場合の手順を示す模式図で
ある。
れたデータを読み出す時の手順を示す模式図である。
の各ブロックの構成を示すファイルレイアウト図であ
る。
生成方法を示す模式図である。
おけるページ単位の処理方法を示す模式図である。
を構成するページをディスク装置に分配する様子を示す
模式図である。
じてブロックのサイズを変える様子を示す模式図であ
る。
方法を示す模式図である。
を用いたレコードの実装方法を示す模式図である。
を用いたレコードの実装方法を示すフローチャートであ
る。
模式図である。
フローチャートである。
の部分的な削除を示す模式図である。
す模式図である。
す模式図である。
ある。
模式図である。
ブロック、5 グループ、6 転置ファィル。
Claims (11)
- 【請求項1】 複数のフィールドから構成されるレコー
ドを複数格納した元ファイルから上記フィールドの予め
設定した一定件数を上記元ファイルから分割してブロッ
クとし、それらの分割した各ブロックを全て連結してグ
ループに再編成し、上記レコードの全件について上記グ
ループに再編成後それらのグループを連結して転置ファ
イルを生成し、その転置ファイルからランダムにアクセ
スすることを特徴とするファイル管理方法。 - 【請求項2】 上記レコードの各フイールドをフィール
ドごとに1又は複数の固定長フィールドに変更し上記レ
コード全体を固定長フィールドとした後上記元ファイル
から分割してブロックとすることを特徴とする請求項1
記載のファイル管理方法。 - 【請求項3】 上記レコードの隣接する1又は複数のフ
ィールドをまとめて固定長フィールドに変更することを
特徴とする請求項2記載のファイル管理方法。 - 【請求項4】 上記レコードの先頭位置から固定値にて
順次フィールドを形成し上記レコード全体を固定長フィ
ールドとした後上記元ファイルから分割してブロックと
することを特徴とする請求項1記載のファイル管理方
法。 - 【請求項5】 上記ブロック内のレコード順を各ブロッ
クごとに変更することを特徴とする請求項1〜請求項4
のいずれかに記載のファイル管理方法。 - 【請求項6】 上記ブロック内のレコード開始位置を各
ブロックごとに変更し上記ブロック内のレコードはラッ
プアラウンドにて構成することを特徴とする請求項5記
載のファイル管理方法。 - 【請求項7】 上記グループ内の上記ブロックの連結順
を各グループごとに変更することを特徴とする請求項1
〜請求項6のいずれかに記載のファイル管理方法。 - 【請求項8】 上記ブロックの内同時にアクセスされる
可能性の高いブロックを隣接して配置することを特徴と
する請求項7記載のファイル管理方法。 - 【請求項9】 複数のフィールドから構成されるレコー
ドを複数格納した元ファイルから選択した上記フィール
ドの予め設定した一定件数を上記元ファイルから分割し
てブロックとし、それらの分割した各ブロックを全て連
結してグループに再編成し、それらのグループを予め設
定した一定数ごとに複数のディスク装置に格納し、上記
元ファイルへのアクセスに対し上記各ディスク装置を並
列してアクセスすることを特徴とするファイル管理方
法。 - 【請求項10】 上記グループごとに上記レコードのフ
ィールド値の最大値又は最小値を求めることによりレコ
ードを検索することを特徴とする請求項9記載のファイ
ル管理方法。 - 【請求項11】 上記レコードの投入順序又は投入時期
を示す識別子を上記レコードに付し、上記グループごと
に上記識別子の最大値又は最小値を求めることによりレ
コードを検索することを特徴とする請求項9又は請求項
10に記載のファイル管理方法。
Priority Applications (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP9319527A JP3024619B2 (ja) | 1997-11-20 | 1997-11-20 | ファイル管理方法 |
| TW087118635A TW392113B (en) | 1997-11-20 | 1998-11-09 | File management method |
| EP98121286A EP0921527A3 (en) | 1997-11-20 | 1998-11-09 | File managing method |
| US09/188,307 US6289359B1 (en) | 1997-11-20 | 1998-11-10 | File managing method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP9319527A JP3024619B2 (ja) | 1997-11-20 | 1997-11-20 | ファイル管理方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH11154155A true JPH11154155A (ja) | 1999-06-08 |
| JP3024619B2 JP3024619B2 (ja) | 2000-03-21 |
Family
ID=18111240
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP9319527A Expired - Lifetime JP3024619B2 (ja) | 1997-11-20 | 1997-11-20 | ファイル管理方法 |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US6289359B1 (ja) |
| EP (1) | EP0921527A3 (ja) |
| JP (1) | JP3024619B2 (ja) |
| TW (1) | TW392113B (ja) |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2001043237A (ja) * | 1999-07-30 | 2001-02-16 | Mitsubishi Electric Corp | データファイル及びデータ検索方法 |
| JP2001101041A (ja) * | 1999-09-29 | 2001-04-13 | Mitsubishi Electric Corp | データ管理装置およびデータ管理方法 |
| US8959122B2 (en) | 2010-03-08 | 2015-02-17 | Hitachi, Ltd. | Data processing device |
| US9317205B2 (en) | 2012-03-16 | 2016-04-19 | Hitachi, Ltd. | Information processing system and control method thereof |
Families Citing this family (14)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP4251726B2 (ja) * | 1999-07-08 | 2009-04-08 | 三菱電機株式会社 | ファイル管理方法 |
| US20030173269A1 (en) * | 2002-03-01 | 2003-09-18 | Heinz-Gerhard Breden | Sorting data with long SORT fields |
| US8112399B2 (en) * | 2005-11-07 | 2012-02-07 | International Business Machines Corporation | Method and apparatus for configurable data aggregation in a data warehouse |
| US8738565B2 (en) * | 2005-11-07 | 2014-05-27 | International Business Machines Corporation | Collecting data from data sources |
| US20070112876A1 (en) * | 2005-11-07 | 2007-05-17 | Blaisdell Russell C | Method and apparatus for pruning data in a data warehouse |
| EP2453250B1 (en) | 2009-06-30 | 2019-06-12 | Aspect Imaging Ltd. | A cage in an magnetic resonance device with a fastening/attenuating system |
| JP5544118B2 (ja) * | 2009-06-30 | 2014-07-09 | 株式会社日立製作所 | データ処理装置、及び処理方法 |
| US11278461B2 (en) | 2010-07-07 | 2022-03-22 | Aspect Imaging Ltd. | Devices and methods for a neonate incubator, capsule and cart |
| US10076266B2 (en) | 2010-07-07 | 2018-09-18 | Aspect Imaging Ltd. | Devices and methods for a neonate incubator, capsule and cart |
| US11988730B2 (en) | 2016-08-08 | 2024-05-21 | Aspect Imaging Ltd. | Device, system and method for obtaining a magnetic measurement with permanent magnets |
| US11287497B2 (en) | 2016-08-08 | 2022-03-29 | Aspect Imaging Ltd. | Device, system and method for obtaining a magnetic measurement with permanent magnets |
| US10224135B2 (en) | 2016-08-08 | 2019-03-05 | Aspect Imaging Ltd. | Device, system and method for obtaining a magnetic measurement with permanent magnets |
| US10847294B2 (en) | 2017-07-10 | 2020-11-24 | Aspect Imaging Ltd. | System for generating a magnetic field |
| CN112241238B (zh) * | 2019-07-18 | 2023-12-05 | 深圳市茁壮网络股份有限公司 | 一种数据异常处理方法、装置、存储介质和计算机设备 |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS63318628A (ja) * | 1987-06-23 | 1988-12-27 | Mitsubishi Electric Corp | データベース管理システム |
| JPH04337867A (ja) * | 1991-05-15 | 1992-11-25 | Nec Corp | データベース検索システム |
Family Cites Families (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5247665A (en) * | 1988-09-30 | 1993-09-21 | Kabushiki Kaisha Toshiba | Data base processing apparatus using relational operation processing |
| US5327341A (en) * | 1991-10-28 | 1994-07-05 | Whalen Edward J | Computerized file maintenance system for managing medical records including narrative reports |
| JP3609841B2 (ja) * | 1992-11-25 | 2005-01-12 | 富士通株式会社 | ファイル管理装置 |
| JPH06176074A (ja) | 1992-12-08 | 1994-06-24 | Toshiba Corp | データ処理装置 |
| US5991753A (en) * | 1993-06-16 | 1999-11-23 | Lachman Technology, Inc. | Method and system for computer file management, including file migration, special handling, and associating extended attributes with files |
| US5499358A (en) * | 1993-12-10 | 1996-03-12 | Novell, Inc. | Method for storing a database in extended attributes of a file system |
-
1997
- 1997-11-20 JP JP9319527A patent/JP3024619B2/ja not_active Expired - Lifetime
-
1998
- 1998-11-09 TW TW087118635A patent/TW392113B/zh not_active IP Right Cessation
- 1998-11-09 EP EP98121286A patent/EP0921527A3/en not_active Withdrawn
- 1998-11-10 US US09/188,307 patent/US6289359B1/en not_active Expired - Lifetime
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS63318628A (ja) * | 1987-06-23 | 1988-12-27 | Mitsubishi Electric Corp | データベース管理システム |
| JPH04337867A (ja) * | 1991-05-15 | 1992-11-25 | Nec Corp | データベース検索システム |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2001043237A (ja) * | 1999-07-30 | 2001-02-16 | Mitsubishi Electric Corp | データファイル及びデータ検索方法 |
| JP2001101041A (ja) * | 1999-09-29 | 2001-04-13 | Mitsubishi Electric Corp | データ管理装置およびデータ管理方法 |
| US6725225B1 (en) | 1999-09-29 | 2004-04-20 | Mitsubishi Denki Kabushiki Kaisha | Data management apparatus and method for efficiently generating a blocked transposed file and converting that file using a stored compression method |
| US8959122B2 (en) | 2010-03-08 | 2015-02-17 | Hitachi, Ltd. | Data processing device |
| US9317205B2 (en) | 2012-03-16 | 2016-04-19 | Hitachi, Ltd. | Information processing system and control method thereof |
Also Published As
| Publication number | Publication date |
|---|---|
| EP0921527A2 (en) | 1999-06-09 |
| JP3024619B2 (ja) | 2000-03-21 |
| EP0921527A3 (en) | 2006-08-30 |
| US6289359B1 (en) | 2001-09-11 |
| TW392113B (en) | 2000-06-01 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3024619B2 (ja) | ファイル管理方法 | |
| EP0772836B1 (en) | A method for storing and retrieving data and a memory arrangement | |
| US5408654A (en) | Method to reorganize an index file without sorting by changing the physical order of pages to match the logical order determined from the index structure | |
| US20040205044A1 (en) | Method for storing inverted index, method for on-line updating the same and inverted index mechanism | |
| CN110196847A (zh) | 数据处理方法和装置、存储介质及电子装置 | |
| CN105320775A (zh) | 数据的存取方法和装置 | |
| JPH0628226A (ja) | データ処理方法および装置 | |
| JPH0916607A (ja) | データベース管理システムにおけるインデクス管理方法 | |
| CN107766374B (zh) | 一种海量小文件存储读取的优化方法和系统 | |
| CN103914483B (zh) | 文件存储方法、装置及文件读取方法、装置 | |
| CN116881243A (zh) | 基于时间序列数据特征的学习型索引方法及系统 | |
| Ramamohanarao et al. | Recursive linear hashing | |
| JPH08129551A (ja) | ハッシュ方式 | |
| WO2023274197A1 (zh) | 一种操作请求处理方法及相关装置 | |
| JP3563823B2 (ja) | 文書管理装置 | |
| CN116756253B (zh) | 关系型数据库的数据存储、查询方法、装置、设备和介质 | |
| JP2006092409A (ja) | 複合データベース検索システムおよび複合データベース検索方法ならびにそのためのプログラム | |
| JP2874810B2 (ja) | キーの記憶割り当て方法 | |
| CN116048408B (zh) | 一种基于持久性内存的跳表结构及其访问方法 | |
| JP2679761B2 (ja) | データ管理システム | |
| CN118708549B (zh) | 支持富元数据管理的文件系统及其实现富元数据服务的方法 | |
| JPH04112253A (ja) | 多層バッファを用いるデータアクセス方法 | |
| JP2618029B2 (ja) | インデクス付きファイルの分割処理方法 | |
| CN121070922A (zh) | 一种基于公式索引的值即日志数据库对象存储系统、存储方法、存储设备及存储介质 | |
| JPH0362137A (ja) | 可変長ブロック群による長大データの格納方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080121 Year of fee payment: 8 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090121 Year of fee payment: 9 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100121 Year of fee payment: 10 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100121 Year of fee payment: 10 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110121 Year of fee payment: 11 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120121 Year of fee payment: 12 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130121 Year of fee payment: 13 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130121 Year of fee payment: 13 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| EXPY | Cancellation because of completion of term |