JPH09223159A - Database access system for composite object set - Google Patents

Database access system for composite object set

Info

Publication number
JPH09223159A
JPH09223159A JP8054027A JP5402796A JPH09223159A JP H09223159 A JPH09223159 A JP H09223159A JP 8054027 A JP8054027 A JP 8054027A JP 5402796 A JP5402796 A JP 5402796A JP H09223159 A JPH09223159 A JP H09223159A
Authority
JP
Japan
Prior art keywords
composite data
area
data
oid
storage area
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.)
Pending
Application number
JP8054027A
Other languages
Japanese (ja)
Inventor
Yoshitaka Yasumura
義孝 安村
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP8054027A priority Critical patent/JPH09223159A/en
Publication of JPH09223159A publication Critical patent/JPH09223159A/en
Pending legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

PROBLEM TO BE SOLVED: To effectively utilize a main storage area and to speed up inquiring processing for a composite object set. SOLUTION: An window area 108 is an optional area in a main storage area for acquiring composite data necessary for the judgement of an inquiring processing condition to a database 106. A composite data acquiring part 102 constructs composite data in the window area 108, and at the time of construction, preferentially accesses not data existing only in a secondary storage area but data existing also in the main storage area based upon the inspection of an object identifier(OID). At the time of tracing objects, the transition of the object is executed in each page by the use of page identifier(PID) obtained from the OID of the object. A condition judging processing part 105 judges the condition of the composite data in the window area 108 based upon an instruction from the acquiring part 102.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【発明の属する技術分野】本発明は、オブジェクト指向
データベース管理システムの問合せ処理方式において、
複雑に関連付けられた複合オブジェクト集合に対する問
合せ条件判定に必要な複合データを取得する場合に、主
記憶領域を有効に利用して二次記憶領域上のデータベー
ス内に存在するデータを効率よくアクセスするための問
合せ処理の高速化を目的としたデータベースアクセス方
式(複合オブジェクト集合に対するデータベースアクセ
ス方式)に関する。
TECHNICAL FIELD The present invention relates to a query processing method of an object-oriented database management system,
To effectively access the data existing in the database on the secondary storage area by effectively using the main storage area when acquiring the composite data necessary for determining the query condition for the complex object set that is complicatedly associated The present invention relates to a database access method (database access method for a complex object set) for the purpose of speeding up the query processing of.

【0002】[0002]

【従来の技術】従来の複合オブジェクト集合に対するデ
ータベースアクセス方式としては、「Proceedi
ngs of ACM SIGMOD’90 pp.3
00−311」に掲載されている“A Perform
ance Evaluation of Pointe
r−based Joins”のPointer−ba
sed Join方式と、「Proceedings
of ACM SIGMOD’91 pp.148−1
57」に掲載されている“EfficientAsse
mbly of Complex Objects”の
Assembly方式とが提案されている。
2. Description of the Related Art A conventional database access method for a complex object set is "Proceedi".
ngs of ACM SIGMOD'90 pp. 3
00-311 "," A Perform "
ance Evaluation of Pointe
Pointer-ba of "r-based Joins"
sed Join method and “Proceedings
of ACM SIGMOD'91 pp. 148-1
57 ”,“ EfficientAsse ”
An assembly method of mbly of Complex Objects ”has been proposed.

【0003】Pointer−based Join方
式の一方式であるPointer−based Hyb
rid Hash Join方式では、検索対象のオブ
ジェクトからpart−of関係にあるオブジェクト集
合にアクセスする場合に、そのオブジェクト識別子(O
ID。Object IDentifier)から得ら
れるページ番号(PID。Page IDentifi
er)のハッシュ値が取得されて全OIDが主記憶領域
(溢れたら二次記憶領域)上に展開され、分割されたパ
ーティション(バケット)毎にOIDがアクセスされる
ことによリ、データベースアクセスの最適化が行われて
いる。
Pointer-based Hyb, which is one of the Pointer-based Join methods
In the rid Hash Join method, when accessing an object set having a part-of relationship from an object to be searched, the object identifier (O
ID. Page ID (PID. Page IDentifier) obtained from Object IDentifier
er) hash value is acquired, all OIDs are expanded on the main storage area (secondary storage area if overflowed), and the OIDs are accessed for each divided partition (bucket). Optimization has been done.

【0004】また、Pointer−based Jo
in方式の他の一方式であるPointer−base
d Sort−Merge Join方式では、遷移す
る先のオブジェクトのOIDから得られるPIDが全て
取得され、それらがソートされてOIDが並べ換えられ
ることにより、オブジェクトの取得時にはPID順にデ
ータベース内の物理ページアクセスが可能となる。
In addition, Pointer-based Jo
Pointer-base which is another method of the in method
In the d Sort-Merge Join method, all PIDs obtained from the OIDs of the transition destination objects are acquired, and the OIDs are sorted by sorting them, so that physical pages in the database can be accessed in PID order when the objects are acquired. Becomes

【0005】一方、Assembly方式では、問合せ
処理に必要な複合データを展開するためのウィンドウ領
域と呼ばれる領域が主記憶領域に確保され、ウィンドウ
領域内に展開可能な数の複合データが物理的なディスク
アクセスのスケジューリングが行われながら組み立てら
れていく。このようにすることにより、ディスクアクセ
スの最適化が可能となる。
On the other hand, in the Assembly method, an area called a window area for expanding composite data required for inquiry processing is secured in the main storage area, and the number of composite data that can be expanded in the window area is physical disk. It is assembled while access is scheduled. This makes it possible to optimize disk access.

【0006】[0006]

【発明が解決しようとする課題】上述した従来の複合オ
ブジェクト集合に対するデータベースアクセス方式に
は、以下に示すような問題点があった。
The above-mentioned conventional database access method for a complex object set has the following problems.

【0007】上述のPointer−based Jo
in方式では、参照関係にあるオブジェクトを一段ずつ
全てのオブジェクトに辿ることになるため、複合オブジ
ェクトがクラスタリングにより近傍に配置されている場
合には、本来当該方式が達成しようとする効果(アクセ
ス効率の向上という効果)が得られないという欠点があ
った。
The above-mentioned Pointer-based Jo
In the in method, the objects having the reference relationship are traced to all the objects one by one, so when the complex objects are arranged in the vicinity by clustering, the effect that the method originally aims to achieve (access efficiency There is a drawback that the effect of improvement) cannot be obtained.

【0008】また、上述のAssembly方式では、
ディスクアクセスのスケジューリング方式により性能が
大きく影響されてしまうため、物理的なディスクアクセ
スのスケジューリングを行わなければならないので、汎
用のオペレーティングシステムのファイルシステム上で
は実装できないという欠点があった。
Further, in the above-mentioned Assembly method,
Since the performance is greatly affected by the disk access scheduling method, physical disk access scheduling has to be performed, so that there is a drawback that it cannot be implemented on a file system of a general-purpose operating system.

【0009】また、上述の両方式とも、二次記憶領域上
に存在するデータを取得することのみが考慮されてお
り、主記憶領域に存在するデータが考慮されていないと
いう欠点があった。
Further, both of the above-mentioned formulas have a drawback that only the data existing in the secondary storage area is taken into consideration and the data existing in the main storage area is not taken into consideration.

【0010】本発明の目的は、上述の点に鑑み、以上の
ような従来方式の欠点を緩和するために、上述の両方式
を統合させ(Assembly方式を基にしてPoin
ter−based Join方式におけるデータベー
スアクセス手法を用いることによリ)、主記憶領域を有
効に活用することができ、複合オブジェクト集合の問合
せ処理の高速化を図ることができるデータベースアクセ
ス方式(複合オブジェクト集合に対するデータベースア
クセス方式)を提供することにある。
In view of the above points, an object of the present invention is to integrate both of the above-mentioned methods in order to alleviate the above-mentioned drawbacks of the conventional method (the Point-based method based on the Assembly method).
By using the database access method in the ter-based join method), the main storage area can be effectively used, and the database access method that can speed up the query processing of the complex object set (complex object set) Database access method).

【0011】[0011]

【課題を解決するための手段】本発明の複合オブジェク
ト集合に対するデータベースアクセス方式は、オブジェ
クト指向データベース管理システムにおいて、複雑に関
連付けられた大規模な複合オブジェクト集合に対するデ
ータベースアクセス処理を行う場合における問合せ処理
の条件判定に必要となる複合データを取得するための主
記憶領域上の任意の領域であるウィンドウ領域と、前記
ウィンドウ領域に複合データを組み立てていき、その組
立てにおいてOIDの検査に基づいて二次記憶領域上の
みに存在するデータではなく主記憶領域上にも存在する
データを優先してアクセスし、オブジェクトを辿る場合
にそのオブジェクトのOIDから得られるPIDを用い
てページ毎のオブジェクトの遷移を行いうる複合データ
取得部と、前記複合データ取得部からの指示に基づき、
前記ウィンドウ領域内の複合データの条件判定を行う条
件判定処理部とを有する。
A database access method for a complex object set according to the present invention is an object-oriented database management system for performing a query process when performing a database access process for a complex complex object set that is complicatedly associated. A window area, which is an arbitrary area on the main storage area for acquiring composite data required for condition determination, and composite data are assembled in the window area, and secondary storage is performed based on an OID inspection in the assembly. Data which exists not only in the area but also in the main storage area is preferentially accessed, and when the object is traced, the transition of the object for each page can be performed using the PID obtained from the OID of the object. The composite data acquisition unit Based on the instruction from the data acquisition unit,
And a condition determination processing unit that determines the condition of the composite data in the window area.

【0012】[0012]

【発明の実施の形態】次に、本発明について図面を参照
して詳細に説明する。
DESCRIPTION OF THE PREFERRED EMBODIMENTS Next, the present invention will be described in detail with reference to the drawings.

【0013】図1は、本発明の複合オブジェクト集合に
対するデータベースアクセス方式の一実施例の構成を示
すブロック図である。本実施例の複合オブジェクト集合
に対するデータベースアクセス方式は、データベース1
06からページ単位にアクセスするデータページアクセ
ス部101と、問合せ処理の実行に必要な複合データを
それらのページ(データベース106からアクセスした
ページ)内から取得する複合データ取得部102と、オ
ブジェクトの遷移を行う場合にオブジェクト識別子(O
ID)から得られるページ番号(PID)のハッシュを
行うハッシュ処理部103と、OIDのソートを行うソ
ート処理部104と、複合データの属性情報を参照しな
がら問合せの条件判定を行う条件判定処理部105とを
含んで構成されている。
FIG. 1 is a block diagram showing the configuration of an embodiment of a database access method for a complex object set according to the present invention. The database access method for the complex object set of this embodiment is database 1
Data page access unit 101 for accessing page by page from 06, composite data acquisition unit 102 for acquiring composite data required for executing query processing from within those pages (pages accessed from database 106), and transition of objects. Object identifier (O
Hash processing unit 103 that performs hashing of the page number (PID) obtained from ID), sort processing unit 104 that sorts OIDs, and condition determination processing unit that performs query condition determination while referring to attribute information of composite data. And 105.

【0014】また、本実施例の複合オブジェクト集合に
対するデータベースアクセス方式で利用される主記憶領
域は、データベース106内の物理ページを主記憶領域
上にキャッシュするためのオブジェクトキャッシュ領域
107と、複合データを一時的に格納するためのウィン
ドウ領域108と、ハッシュ処理やソート処理のための
演算領域109(ハッシュテーブルおよびソート領域)
と、複合データの属性情報を登録するための属性情報領
域110とに分けられる。
The main storage area used in the database access method for the composite object set according to the present embodiment includes an object cache area 107 for caching physical pages in the database 106 on the main storage area, and composite data. A window area 108 for temporary storage and an operation area 109 for hash processing and sort processing (hash table and sort area)
And an attribute information area 110 for registering attribute information of composite data.

【0015】図2は、データベース106におけるクラ
ス構成の一例を示す図である。このクラス構成は、デー
タベース106が会社情報データベースである場合の当
該会社情報データベースにおけるクラス構成の例であ
る。
FIG. 2 is a diagram showing an example of a class configuration in the database 106. This class configuration is an example of the class configuration in the company information database when the database 106 is the company information database.

【0016】図3は、本実施例の複合オブジェクト集合
に対するデータベースアクセス方式における問合せ(O
QL(Object Query Language)
で記述された問合せ)の一例を示す図である。
FIG. 3 shows a query (O) in the database access method for the complex object set of this embodiment.
QL (Object Query Language)
FIG. 4 is a diagram showing an example of an inquiry described in (1).

【0017】図4は、図3に示す問合せの属性情報を示
す図である。
FIG. 4 is a diagram showing attribute information of the inquiry shown in FIG.

【0018】図5は、本実施例の複合オブジェクト集合
に対するデータベースアクセス方式の処理を示す流れ図
である。この処理は、ウィンドウ領域空き有無判定ステ
ップ501と、複合データ残り有無判定ステップ502
と、複合データルート要素取得ステップ503と、OI
D検査ステップ504と、オブジェクトキャッシュ領域
内存在判定ステップ505と、ウィンドウ領域内データ
取得ステップ506と、ポインタ変換有無判定ステップ
507と、ソート領域OID格納ステップ508と、ハ
ッシュテーブルOID格納ステップ509と、複合デー
タ残存判定ステップ510と、複合データ条件判定ステ
ップ511と、条件満足判定ステップ512と、結果デ
ータ出力・複合データ削除ステップ513と、条件判定
済みチェックステップ514と、ハッシュテーブル内O
ID有無判定ステップ515と、ハッシュテーブル基拠
データ取得ステップ516と、ソート領域内OIDソー
トステップ517と、ソート領域基拠データ取得ステッ
プ518と、複合データ残存判定ステップ519とから
なる。
FIG. 5 is a flow chart showing the processing of the database access method for the complex object set of this embodiment. This processing is performed by the window area vacancy presence / absence determination step 501 and the composite data remaining / absence determination step 502
Complex data root element acquisition step 503, and OI
D check step 504, object cache area existence determination step 505, window area data acquisition step 506, pointer conversion presence / absence determination step 507, sort area OID storage step 508, hash table OID storage step 509, combined Data remaining determination step 510, composite data condition determination step 511, condition satisfaction determination step 512, result data output / composite data deletion step 513, condition determined completion check step 514, and hash table O
An ID presence / absence determination step 515, a hash table base data acquisition step 516, a sort area OID sort step 517, a sort area base data acquisition step 518, and a composite data remaining determination step 519.

【0019】図6および図7は、本実施例の複合オブジ
ェクト集合に対するデータベースアクセス方式の動作を
説明するための図である。
6 and 7 are diagrams for explaining the operation of the database access method for the complex object set of this embodiment.

【0020】次に、このように構成された本実施例の複
合オブジェクト集合に対するデータベースアクセス方式
の動作について説明する。ここでは、図2で表されるク
ラス構成を持つ会社情報データベースがデータベース1
06である場合に、そのデータベース106に図3に示
すような問合せが行われる場合の動作を例に挙げて説明
する。
Next, the operation of the database access method for the complex object set according to the present embodiment having the above configuration will be described. Here, the company information database having the class structure shown in FIG. 2 is the database 1
When it is 06, the operation when the inquiry as shown in FIG. 3 is made to the database 106 will be described as an example.

【0021】図2に示すデータベース106(会社情報
データベース)は、次の〜に示すようなクラス構成
を有している。
The database 106 (company information database) shown in FIG. 2 has the following class configurations.

【0022】 部門クラスと関連があるクラスとし
て、人間クラスのサブクラスである従業員クラスと拠点
クラスとがある。
As classes related to the department class, there are an employee class and a base class which are subclasses of the human class.

【0023】 部門クラスのサブクラスとして、研究
所クラスと事業部クラスとがある。
There are a laboratory class and a business unit class as subclasses of the department class.

【0024】 研究所クラスは、研究成果クラスと関
連がある。
The laboratory class is related to the research achievement class.

【0025】 事業部クラスは、プロジェクトクラス
と関連がある。
The business unit class is related to the project class.

【0026】 プロジェクトクラスは、製品クラスと
関連がある。
Project classes are related to product classes.

【0027】このようなクラス構成のデータベース10
6に対して、「OODBMSの製品を開発しているプロ
ジェクトを持つ事業部に関連する研究所は?」という問
合せを行うことを考える。この問合せをOQLで記述す
ると、図3に示すようになる。ここで、“事業部”は事
業部クラスのエクステント集合を表す。
Database 10 having such a class structure
Consider inquiring 6 about "Which research institute is associated with the business unit that has the project developing the OODBMS product?" This inquiry is described in OQL as shown in FIG. Here, “business division” represents an extent set of a business division.

【0028】また、上記の問合せの属性情報は、図4に
示すようになる。この属性情報は、問合せ処理を実行す
る場合に必要な複合データの構造を表し、「属性名」
と、「型」と、条件判定時に必要な属性の「フラグ」と
から構成される。
The attribute information of the above inquiry is as shown in FIG. This attribute information represents the structure of the composite data required to execute the query process, and is the "attribute name".
, "Type", and "flag" of an attribute necessary for condition determination.

【0029】図4に示す属性情報では、問合せ条件式に
含まれる製品の名称を得るために、複合データのルート
となる事業部クラスの属性情報からプロジェクトクラス
の属性情報と製品クラスの属性情報とのリンクが張ら
れ、事業部クラス,プロジェクトクラス,および製品ク
ラスのフラグはいずれも1とされる。また、結果(問合
せ結果)として研究所の名称を得るために、事業部クラ
スの属性情報から研究所クラスの属性情報へのリンクが
張られている。ただし、研究所は条件判定には必要がな
いデータであるので、研究所クラスのフラグは0となっ
ている。
In the attribute information shown in FIG. 4, the attribute information of the project class and the attribute information of the product class are obtained from the attribute information of the business unit class, which is the root of the composite data, in order to obtain the product name included in the query condition expression. The flags of the business unit class, the project class, and the product class are all set to 1. Further, in order to obtain the name of the laboratory as a result (inquiry result), a link is provided from the attribute information of the business unit class to the attribute information of the laboratory class. However, since the laboratory does not need data for condition determination, the laboratory class flag is 0.

【0030】上記のデータベース106および問合せの
例を基にして、本実施例のデータベースアクセス方式の
動作を、図5〜図7を用いて説明する。
The operation of the database access method of this embodiment will be described with reference to FIGS. 5 to 7 based on the above database 106 and the example of the inquiry.

【0031】最初に、複合データ取得部102は、主記
憶領域内のウィンドウ領域108に空きがあるか否かを
判定する(ステップ501)。
First, the composite data acquisition unit 102 determines whether or not the window area 108 in the main storage area has a free space (step 501).

【0032】複合データ取得部102は、ステップ50
1で「ウィンドウ領域に空きがある」と判定した場合に
は、展開する複合データのルートとなる事業部クラスの
エクステント集合に残りがあるか否かを判定する(ステ
ップ502)。なお、展開する複合データのルートとな
るクラスのエクステント集合(ここでは、事業部クラス
のエクステント集合)はあらかじめオブジェクトキャッ
シュ領域107に読み込まれている。
The composite data acquisition unit 102 executes step 50.
When it is determined in 1 that "there is a free space in the window area", it is determined whether or not there is a remainder in the extent set of the business unit class which is the root of the composite data to be expanded (step 502). The extent set of the class that is the root of the composite data to be expanded (here, the extent set of the business unit class) has been read in advance in the object cache area 107.

【0033】複合データ取得部102は、ステップ50
2で「事業部クラスのエクステント集合(展開する複合
データのルート)に残りがある」と判定した場合には、
そのエクステント集合の要素(展開する複合データのル
ートの要素)の1つをオブジェクトキャッシュ領域10
7からウィンドウ領域108内に取得する(ステップ5
03)。
The composite data acquisition unit 102 executes step 50.
When it is determined in 2 that "there is a rest in the extent set of the business unit class (route of the composite data to be expanded)",
One of the elements of the extent set (the root element of the compound data to be expanded) is set as the object cache area 10
7 into the window area 108 (step 5)
03).

【0034】次に、複合データ取得部102は、ステッ
プ503でウィンドウ領域108に展開されたデータか
ら辿ることができるOIDの検査を行う(ステップ50
4)。ここでは、事業部インスタンスから辿ることがで
きるプロジェクトインスタンスと研究所インスタンスと
のOIDの検査を行い、さらにプロジェクトインスタン
スから辿ることができる製品インスタンスのOIDの検
査を行う。
Next, the composite data acquisition unit 102 checks the OID traceable from the data expanded in the window area 108 in step 503 (step 50).
4). Here, the OID of the project instance and the laboratory instance that can be traced from the business unit instance is inspected, and the OID of the product instance that can be traced from the project instance is further inspected.

【0035】そして、複合データ取得部102は、ステ
ップ504の検査に基づき、辿る先のデータ(ステップ
503でウィンドウ領域108に展開されたデータから
辿ることができるデータ)がオブジェクトキャッシュ領
域107に存在するか否かを判定する(ステップ50
5)。
Then, in the composite data acquisition unit 102, the data to be traced (data traceable from the data expanded in the window region 108 in step 503) exists in the object cache region 107 based on the inspection in step 504. It is determined whether or not (step 50)
5).

【0036】複合データ取得部102は、ステップ50
5で「当該データがオブジェクトキャッシュ領域107
に存在する」と判定した場合には、オブジェクトキャッ
シュ領域107からウィンドウ領域108内に当該デー
タを取得する(ステップ506)。
The composite data acquisition unit 102 executes step 50.
5, “the relevant data is the object cache area 107
Exists in the window area 108 from the object cache area 107 (step 506).

【0037】一方、複合データ取得部102は、ステッ
プ505で「当該データがオブジェクトキャッシュ領域
107に存在しない」と判定した場合には、ステップ5
04の検査に基づいて当該データのOIDがポインタ変
換(データベース106におけるOIDから主記憶領域
におけるOIDへの変換)されているか否かを判定する
(ステップ507)。
On the other hand, if the composite data acquisition unit 102 determines in step 505 that "the relevant data does not exist in the object cache area 107", then step 5
Based on the inspection of 04, it is determined whether or not the OID of the data is pointer-converted (OID in the database 106 is converted to OID in the main storage area) (step 507).

【0038】複合データ取得部102は、ステップ50
7で「当該OIDがポインタ変換されている」と判定し
た場合には、ソート領域(演算領域107内のソート領
域)に当該OIDを格納する(ステップ508)。
The composite data acquisition unit 102 proceeds to step 50.
When it is determined in 7 that "the OID has been pointer-converted", the OID is stored in the sort area (the sort area in the calculation area 107) (step 508).

【0039】複合データ取得部102は、ステップ50
7で「当該OIDがポインタ変換されていない」と判定
した場合には、ハッシュ処理部103に当該OIDを渡
す。ハッシュ処理部103は、当該OIDをPIDでハ
ッシュし、ハッシュテーブル(演算領域107内のハッ
シュテーブル)の所定のバケット(当該ハッシュの結果
として得られたバケット)に当該OIDを格納する(ス
テップ509)。
The composite data acquisition unit 102 executes step 50.
If it is determined in 7 that “the OID has not been pointer-converted”, the OID is passed to the hash processing unit 103. The hash processing unit 103 hashes the OID with the PID, and stores the OID in a predetermined bucket (bucket obtained as a result of the hash) of the hash table (hash table in the calculation area 107) (step 509). .

【0040】複合データ取得部102は、以上の一連の
処理をウィンドウ領域108に空きがなくなるまで(ウ
ィンドウ領域108に空きがあっても事業部クラスのエ
クステント集合の要素がなくなった場合にはその時点ま
で)繰り返す(ステップ501およびステップ502参
照)。
The composite data acquisition unit 102 performs the above-described series of processing until the window area 108 becomes full (when there is no space in the window area 108, when the elements of the extent set of the business unit class disappear Up to) (see steps 501 and 502).

【0041】図6に示すデータの展開状態は、このよう
な繰返し処理が行われ、ウィンドウ領域108に空きが
なくなった場合の状態(図5に示す処理の途中の状態)
を示す図である。この図内で、実線で囲まれ斜線が付さ
れたデータ(インスタンス)は取得済み(ウィンドウ領
域108に展開済み)のデータを表し、破線で囲まれた
データは未取得のデータを表している。
The data expansion state shown in FIG. 6 is a state in which such a repetitive process is performed and the window area 108 becomes full (the state in the middle of the process shown in FIG. 5).
FIG. In this figure, the data (instance) surrounded by a solid line and shaded represents acquired data (developed in the window area 108), and the data surrounded by a broken line represents unacquired data.

【0042】複合データ取得部102は、ステップ50
1で「ウィンドウ領域108に空きがない」と判定した
場合(例えば、図6に示すデータの展開状態となった場
合)には、必要なデータ(インスタンス)が一組でも揃
っている複合データであって条件判定済みでない複合デ
ータがウィンドウ領域108に残存しているか否か(残
りの複合データがあるか否か)を判定する(ステップ5
10)。
The composite data acquisition unit 102 proceeds to step 50.
When it is determined in 1 that "the window area 108 has no free space" (for example, when the data is expanded as shown in FIG. 6), it is composite data in which even one set of necessary data (instance) is prepared. It is determined whether there is composite data that has not been subjected to the condition determination and remains in the window area 108 (whether there is remaining composite data) (step 5).
10).

【0043】複合データ取得部102は、ステップ51
0で「残りの複合データがある」と判定した場合には、
その複合データ(必要なデータが一組でも揃っている複
合データ)の1つを条件判定処理部105に渡す。条件
判定処理部105は、その複合データの条件判定を行う
(ステップ511)。すなわち、製品インスタンスのデ
ータを取得している複合データの条件判定を行う。そし
て、条件判定処理部105は、その複合データが条件を
満たすか否かを判定する(ステップ512)。
The composite data acquisition unit 102 executes step 51.
When it is determined that 0 is "remaining compound data",
One of the composite data (composite data in which even one set of necessary data is prepared) is passed to the condition determination processing unit 105. The condition determination processing unit 105 determines the condition of the composite data (step 511). That is, the condition of the composite data for which the product instance data is acquired is determined. Then, the condition determination processing unit 105 determines whether the composite data satisfies the condition (step 512).

【0044】ここで、条件判定処理部105は、部分的
に組み立てられた複合データ(必要なデータが少なくと
も一組は揃っているが全てのデータは揃っていない複合
データ)に対しても条件判定を行うために、属性情報領
域110内の属性情報(問合せ処理に必要な複合データ
の属性情報)を参照する。
Here, the condition judgment processing unit 105 judges the condition even for partially assembled composite data (composite data in which at least one set of necessary data is prepared but not all data). To do this, the attribute information in the attribute information area 110 (the attribute information of the composite data necessary for the inquiry process) is referred to.

【0045】なお、複合データが部分的に組み立てられ
た場合にも条件判定を可能とするという考え方は、本願
における請求項1または請求項2記載の発明においては
必須な考え方ではない。全ての組立てが完了した複合デ
ータに対してのみ条件判定を行うことによっても、請求
項1または請求項2記載の発明は成立しうる。この場合
には、ステップ510の判定(後述するステップ519
の判定も同様)における「残りの複合データ」とは「完
全に組み立てられた残りの複合データ」を意味し、ステ
ップ511における判定対象の複合データは「必要なデ
ータが一組でも揃っている複合データ」ではなく「完全
に組み立てられた複合データ」になる。
The idea that the condition can be determined even when the composite data is partially assembled is not an essential idea in the invention according to claim 1 or claim 2 in the present application. The invention according to claim 1 or 2 can also be realized by performing the condition determination only on the composite data for which all the assembling is completed. In this case, the determination in step 510 (step 519 described later)
(The same applies to the determination of), "remaining composite data" means "completely assembled remaining composite data", and the composite data to be determined in step 511 is "composite data in which even one set of required data is available." It becomes "completely assembled composite data" instead of "data".

【0046】条件判定処理部105は、ステップ512
で「その複合データが条件を満たす」と判定した場合に
は、複合データ取得部102にその旨を通知する。複合
データ取得部102は、その複合データを結果のデータ
として出力し、ウィンドウ領域108からその複合デー
タを削除する(ステップ513)。例えば、図6に示す
例では、○印を付した製品インスタンスと、その製品イ
ンスタンスに係る複合データの事業部インスタンスおよ
びプロジェクトインスタンスとを削除する。
The condition determination processing section 105 executes step 512.
If it is determined that "the composite data satisfies the condition", the composite data acquisition unit 102 is notified to that effect. The composite data acquisition unit 102 outputs the composite data as the resulting data and deletes the composite data from the window area 108 (step 513). For example, in the example shown in FIG. 6, the product instance marked with a circle and the business unit instance and the project instance of the composite data related to the product instance are deleted.

【0047】一方、条件判定処理部105は、ステップ
512で「その複合データが条件を満たさない」と判定
した場合には、その複合データに条件判定済みのチェッ
クを行う(ステップ514)。図6中の×の印が、その
条件判定済みのチェックを表している。
On the other hand, if the condition determination processing unit 105 determines in step 512 that "the composite data does not satisfy the condition", it checks the composite data for the condition determination (step 514). The cross mark in FIG. 6 indicates the check for which the condition determination has been completed.

【0048】これらの処理(ステップ511〜514の
処理および判定)が、ウィンドウ領域108内の全ての
複合データに対して繰り返される(ステップ510参
照)。
These processes (the processes and determinations in steps 511 to 514) are repeated for all the composite data in the window area 108 (see step 510).

【0049】複合データ取得部102は、ステップ51
0で「残りの複合データがない」と判定した場合には、
演算領域109内のハッシュテーブルにOIDがあるか
否かを判定する(ステップ515)。
The composite data acquisition unit 102 executes step 51.
If it is determined that 0 is "there is no remaining composite data",
It is determined whether or not there is an OID in the hash table in the calculation area 109 (step 515).

【0050】複合データ取得部102は、ステップ51
5で「ハッシュテーブルにOIDがある」と判定した場
合には、ハッシュテーブルにおける任意のバケット内の
OIDを取得し、データページアクセス部101に当該
OIDおよび制御を渡す。データページアクセス部10
1は、当該OIDに係るポインタによって指示されるデ
ータベース106内の領域をアクセスして当該OIDに
よって識別されるデータをオブジェクトキャッシュ領域
107に読み込む。複合データ取得部102は、オブジ
ェクトキャッシュ領域107からウィンドウ領域108
内に当該データを取得する(ステップ516)。
The composite data acquisition unit 102 executes step 51.
When it is determined in 5 that “the OID exists in the hash table”, the OID in an arbitrary bucket in the hash table is acquired, and the OID and control are passed to the data page access unit 101. Data page access unit 10
1 accesses the area in the database 106 designated by the pointer related to the OID and reads the data identified by the OID into the object cache area 107. The composite data acquisition unit 102 moves from the object cache area 107 to the window area 108.
The data is obtained (step 516).

【0051】複合データ取得部102は、ステップ51
5で「ハッシュテーブルにOIDがない」と判定した場
合には、ソート処理部104に制御を渡す。ソート処理
部104は、演算領域109におけるソート領域内のO
IDをソートする(ステップ517)。
The composite data acquisition unit 102 proceeds to step 51.
When it is determined in step 5 that “the OID does not exist in the hash table”, control is passed to the sort processing unit 104. The sort processing unit 104 sets O in the sort area in the calculation area 109.
The IDs are sorted (step 517).

【0052】複合データ取得部102は、ステップ51
7でソートされた順番にOIDを取得し、各OIDに係
るポインタによってオブジェクトキャッシュ領域107
をアクセスし、当該OIDによって識別されるデータを
オブジェクトキャッシュ領域107からウィンドウ領域
108内に取得する(ステップ518)。
The composite data acquisition unit 102 proceeds to step 51.
The OIDs are acquired in the order sorted by 7, and the object cache area 107 is acquired by the pointers associated with each OID.
Is accessed to acquire the data identified by the OID from the object cache area 107 into the window area 108 (step 518).

【0053】複合データ取得部102は、ステップ51
6の処理が終了した場合またはステップ518の処理が
終了した場合に、再びステップ501の判定に戻る。
The composite data acquisition unit 102 executes step 51.
When the process of 6 is completed or the process of step 518 is completed, the process returns to the determination of step 501 again.

【0054】図7に示すデータの展開状態は、図6に示
すデータの展開状態から、条件を満たす複合データが削
除されて新たな複合データが展開されている様子を表し
ている。この図内で、実線で囲まれ斜線が付されたデー
タ(インスタンス)は新たに取得(展開)されたデータ
を表し、実線で囲まれ斜線が付されていないデータは図
6に示す状態ですでに取得されていたデータを表し、破
線で囲まれたデータは未取得のデータを表している。
The data expansion state shown in FIG. 7 represents that new composite data is expanded by deleting the composite data satisfying the conditions from the data expansion state shown in FIG. In this figure, the data (instances) surrounded by solid lines and shaded represent newly acquired (expanded) data, and the data surrounded by solid lines and not shaded are in the state shown in Fig. 6. The data surrounded by the broken line represents the data that has not been acquired yet.

【0055】なお、複合データ取得部102は、ステッ
プ502で「事業部クラスのエクステント集合(展開す
る複合データのルート)に残りがない」と判定した場合
には、ウィンドウ領域108内に残りの複合データがあ
るか否かの判定(ステップ510と同様の判定)を行い
(ステップ519)、残りの複合データがない場合には
処理を終了する(残りの複合データがある場合には、上
述のステップ511以降の処理および判定が行われ
る)。
If the composite data acquisition unit 102 determines in step 502 that "there is no rest in the business unit class extent set (route of the composite data to be expanded)", the remaining composite data in the window area 108 is displayed. It is determined whether or not there is data (determination similar to step 510) (step 519), and if there is no remaining composite data, the processing ends (if there is remaining composite data, the above-mentioned step is performed). Processing and determination after 511 are performed).

【0056】[0056]

【発明の効果】以上説明したように、本発明によれば、
従来技術における両方式(Pointer−based
Join方式およびAssembly方式)を統合す
ること等により、以下の〜に示すような効果が生じ
る。
As described above, according to the present invention,
Both methods (Pointer-based) in the prior art
By integrating the Join method and the Assembly method), the following effects (1) to (4) are produced.

【0057】 ディスクアクセスの物理的なスケジュ
ーリングが不必要になり、クラスタリングの効果が問合
せ処理の処理効率の向上に顕著に表れるようになる。
The physical scheduling of disk access becomes unnecessary, and the effect of clustering becomes prominent in improving the processing efficiency of query processing.

【0058】 取得した複合データ(ウィンドウ領域
に展開された複合データ)は、部分的に構成されている
場合でも、問合せ処理における条件判定が可能であれば
その処理を行うことができるので、できるだけ冗長なペ
ージアクセスを削減することができる。すなわち、デー
タベースのページアクセス時には、そのページが主記憶
傾域上に存在するか否かの判定が行われているので、冗
長な二次記憶領域のページアクセスを抑えることができ
る。
Even if the acquired composite data (composite data expanded in the window area) is partially configured, the processing can be performed if the condition determination in the query processing is possible, so that the processing is as redundant as possible. It is possible to reduce unnecessary page access. That is, at the time of page access of the database, it is determined whether or not the page exists in the main storage tilt area, so that page access to the redundant secondary storage area can be suppressed.

【0059】 ポインタ変換を考慮することにより、
オブジェクトキャッシュ領域を有効に利用することが可
能となる。
By considering pointer conversion,
It is possible to effectively use the object cache area.

【図面の簡単な説明】[Brief description of drawings]

【図1】本発明の複合オブジェクト集合に対するデータ
ベースアクセス方式の一実施例の構成を示すブロック図
である。
FIG. 1 is a block diagram showing the configuration of an embodiment of a database access method for a complex object set according to the present invention.

【図2】図1中のデータベース(会社情報データベー
ス)におけるクラス構成の一例を示す図である。
FIG. 2 is a diagram showing an example of a class configuration in a database (company information database) in FIG.

【図3】図1に示すデータベースアクセス方式における
問合せ(OQLで記述された問合せ)の一例を示す図で
ある。
FIG. 3 is a diagram showing an example of an inquiry (inquiry described in OQL) in the database access method shown in FIG.

【図4】図3に示す問合せの属性情報を示す図である。FIG. 4 is a diagram showing attribute information of the inquiry shown in FIG.

【図5】図1に示す複合オブジェクト集合に対するデー
タベースアクセス方式の処理手順を示す流れ図である。
5 is a flowchart showing a processing procedure of a database access method for the complex object set shown in FIG. 1. FIG.

【図6】図1に示す複合オブジェクト集合に対するデー
タベースアクセス方式の処理の途中における状態を説明
するための図である。
FIG. 6 is a diagram for explaining a state in the middle of processing of the database access method for the complex object set shown in FIG. 1.

【図7】図1に示す複合オブジェクト集合に対するデー
タベースアクセス方式の処理の途中における状態を説明
するための図である。
FIG. 7 is a diagram for explaining a state in the middle of processing of the database access method for the complex object set shown in FIG.

【符号の説明】[Explanation of symbols]

101 データページアクセス部 102 複合データ取得部 103 ハッシュ処理部 104 ソート処理部 105 条件判定処理部 106 データベース 107 オブジェクトキャッシュ領域 108 ウィンドウ領域 109 演算領域 110 属性情報領域 101 data page access unit 102 composite data acquisition unit 103 hash processing unit 104 sort processing unit 105 condition determination processing unit 106 database 107 object cache region 108 window region 109 calculation region 110 attribute information region

Claims (3)

【特許請求の範囲】[Claims] 【請求項1】 オブジェクト指向データベース管理シス
テムにおいて、 複雑に関連付けられた大規模な複合オブジェクト集合に
対するデータベースアクセス処理を行う場合における問
合せ処理の条件判定に必要となる複合データを取得する
ための主記憶領域上の任意の領域であるウィンドウ領域
と、 前記ウィンドウ領域に複合データを組み立てていき、そ
の組立てにおいてOIDの検査に基づいて二次記憶領域
上のみに存在するデータではなく主記憶領域上にも存在
するデータを優先してアクセスし、オブジェクトを辿る
場合にそのオブジェクトのOIDから得られるPIDを
用いてページ毎のオブジェクトの遷移を行いうる複合デ
ータ取得部と、 前記複合データ取得部からの指示に基づき、前記ウィン
ドウ領域内の複合データの条件判定を行う条件判定処理
部とを有することを特徴とする複合オブジェクト集合に
対するデータベースアクセス方式。
1. In an object-oriented database management system, a main storage area for acquiring composite data necessary for determining a condition of a query process when performing a database access process for a large-scale complex object set that is complicatedly associated. A window area, which is an arbitrary area above, and composite data is assembled into the window area, and in the assembly, not only data existing only in the secondary storage area based on the inspection of the OID but also existing in the main storage area. Data to be accessed preferentially, and when the object is traced, a composite data acquisition unit that can perform transition of the object for each page using a PID obtained from the OID of the object, and based on an instruction from the composite data acquisition unit , The condition judgment of the composite data in the window area A database access method for a complex object set, comprising: a condition determination processing unit for performing.
【請求項2】 前記複合データ取得部の制御に基づき、
主記憶領域上に目的のデータがない場合にはOIDをP
IDでハッシュすることにより物理ページのアクセス順
を考慮してデータベース内から主記憶領域にページを読
み込むことを可能ならしめるハッシュ処理部と、 前記複合データ取得部の制御に基づき、OIDがポイン
タ変換されている場合に当該OIDをソートすることに
より主記憶領域内のオブジェクト領域から前記ウィンド
ウ領域へのアドレス順のデータの取得を可能ならしめる
ソート処理部とを有することを特徴とする請求項1記載
の複合オブジェクト集合に対するデータベースアクセス
方式。
2. Based on the control of the composite data acquisition unit,
If the target data does not exist in the main memory area, P the OID
A hash processing unit that makes it possible to read a page from the database into the main storage area by considering the access order of physical pages by hashing with an ID, and the OID is pointer-converted based on the control of the composite data acquisition unit. And a sort processing unit that makes it possible to obtain data in an address order from the object area in the main storage area to the window area by sorting the OID. Database access method for complex object sets.
【請求項3】 問合せ処理に必要な複合データの属性情
報を持つ主記憶領域内の属性情報領域と、 前記属性情報領域内の属性情報を参照し、複合データが
部分的に組み立てられている場合でも当該複合データの
条件判定を行いうる前記条件判定処理部とを有すること
を特徴とする請求項1または請求項2記載の複合オブジ
ェクト集合に対するデータベースアクセス方式。
3. When the composite data is partially assembled by referring to the attribute information area in the main storage area having the attribute information of the composite data necessary for the inquiry processing and the attribute information in the attribute information area However, the database access method for the complex object set according to claim 1 or 2, further comprising: the condition determination processing unit capable of performing a condition determination of the composite data.
JP8054027A 1996-02-16 1996-02-16 Database access system for composite object set Pending JPH09223159A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8054027A JPH09223159A (en) 1996-02-16 1996-02-16 Database access system for composite object set

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8054027A JPH09223159A (en) 1996-02-16 1996-02-16 Database access system for composite object set

Publications (1)

Publication Number Publication Date
JPH09223159A true JPH09223159A (en) 1997-08-26

Family

ID=12959110

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8054027A Pending JPH09223159A (en) 1996-02-16 1996-02-16 Database access system for composite object set

Country Status (1)

Country Link
JP (1) JPH09223159A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001229060A (en) * 2000-02-17 2001-08-24 Nec Corp System and method for retrieving directory and computer readable recording medium with directory retrieval program recorded thereon
JP2022051517A (en) * 2020-09-18 2022-03-31 アーミク カンパニー,リミテッド Method and system for selectively separating organization data according to business division

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001229060A (en) * 2000-02-17 2001-08-24 Nec Corp System and method for retrieving directory and computer readable recording medium with directory retrieval program recorded thereon
JP2022051517A (en) * 2020-09-18 2022-03-31 アーミク カンパニー,リミテッド Method and system for selectively separating organization data according to business division

Similar Documents

Publication Publication Date Title
US7627615B2 (en) Copy-on-write versioning of documents
US6618727B1 (en) System and method for performing similarity searching
US5241648A (en) Hybrid technique for joining tables
US6178425B1 (en) Method of determining the visibility to a remote database client of a plurality of database transactions using simplified visibility rules
US9436779B2 (en) Techniques of efficient XML query using combination of XML table index and path/value index
US6105033A (en) Method and apparatus for detecting and removing obsolete cache entries for enhancing cache system operation
EP0875838B1 (en) Cardinality-based join ordering
US8015165B2 (en) Efficient path-based operations while searching across versions in a repository
US20030135523A1 (en) Method of using cache to determine the visibility to a remote database client of a plurality of database transactions
Vyawahare et al. A hybrid database approach using graph and relational database
US20030061244A1 (en) System and method for database query optimization
JPH10320423A (en) Method and device for executing connection question in data base system
CN111382226A (en) Database query retrieval method and device and electronic equipment
Lott et al. The FCC integrated surface hourly database: A new resource of global climate data
JP2001014329A (en) Database processing method and implementation device, and medium stored with the processing program
CN113535777A (en) Database query method, device and system
US7076490B2 (en) Object-relational database management system and method for deleting class instance for the same
CN109902101A (en) Transparent partition method and device based on SparkSQL
US20030159110A1 (en) Structured document management system, structured document management method, search device and search method
US6606631B1 (en) IMS on-line reorganization utility
US6980995B2 (en) Method, computer program product, and system for automatically generating a hierarchial database schema report to facilitate writing application code for accessing hierarchial databases
JPH09223159A (en) Database access system for composite object set
US20040193565A1 (en) Method for merging information from effective dated base tables
JPH08235033A (en) Joint arithmetic system for object-oriented data base management system
JP2000048024A (en) Structured document processor