JP2013516017A - Method and apparatus for storing data - Google Patents

Method and apparatus for storing data Download PDF

Info

Publication number
JP2013516017A
JP2013516017A JP2012547050A JP2012547050A JP2013516017A JP 2013516017 A JP2013516017 A JP 2013516017A JP 2012547050 A JP2012547050 A JP 2012547050A JP 2012547050 A JP2012547050 A JP 2012547050A JP 2013516017 A JP2013516017 A JP 2013516017A
Authority
JP
Japan
Prior art keywords
identifier
sub
tid
database
oid
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.)
Withdrawn
Application number
JP2012547050A
Other languages
Japanese (ja)
Inventor
シモン モリッツ,
ヨナス ビェルク,
マティアス リドストレム,
Original Assignee
テレフオンアクチーボラゲット エル エム エリクソン(パブル)
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 テレフオンアクチーボラゲット エル エム エリクソン(パブル) filed Critical テレフオンアクチーボラゲット エル エム エリクソン(パブル)
Publication of JP2013516017A publication Critical patent/JP2013516017A/en
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/289Object oriented databases

Landscapes

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

Abstract

各々がオブジェクトデータを格納できる1つ以上の属性を含むルートテーブルと、階層レベルのサブテーブルとを含む階層データベース(702)に対する方法及び装置(700)。構成機能(708)は、各サブテーブルの親テーブルと関連付けられた一連の素数を乗算することで生成されたテーブル識別子TIDをそのサブテーブルに割り当てる。格納機能(704)は、種々の連続したレベルで階層的に接続されたサブテーブルのパスのテーブル識別子TIDがオブジェクト識別子OIDに符号化されるようにデータベースにおいてオブジェクト識別子OIDを各オブジェクトに割り当て、接続されたサブテーブルのそのオブジェクトに関するデータをテーブルパスに格納する。
【選択図】 図7
A method and apparatus (700) for a hierarchical database (702) that includes a root table that includes one or more attributes each capable of storing object data, and a hierarchical level sub-table. The configuration function (708) assigns a table identifier TID generated by multiplying a series of prime numbers associated with the parent table of each sub-table to that sub-table. The storage function (704) assigns an object identifier OID to each object in the database so that the table identifier TID of the path of sub-tables hierarchically connected at various consecutive levels is encoded into the object identifier OID, and connects Store the data related to that object in the sub-table in the table path.
[Selection] Figure 7

Description

本発明は、一般に、データベースにおいてデータを効率的に格納し、検索する方法及び装置に関する。   The present invention generally relates to a method and apparatus for efficiently storing and retrieving data in a database.

大量のデータが、種々のオブジェクト毎に、データベースに格納される場合においては、特定のオブジェクトに関するデータクエリ又はデータ要求を受け取る際に関連するデータを容易に検索できるようにデータを編成することが有用である。格納データは、階層構造の種々のクラス又はカテゴリに論理的に配置されるあらゆる種類のオブジェクト情報に関連する。例えば項目、資産、エンティティ等の他の用語が更に使用されてよいが、本明細書中では「オブジェクト」という用語が使用される。そのようなデータベースに存在するオブジェクトのいくつかの実際の例は、メディア項目、販売品、電気通信加入者等である。   When large amounts of data are stored in the database for different objects, it is useful to organize the data so that relevant data can be easily retrieved when receiving a data query or data request for a particular object It is. Stored data relates to any kind of object information that is logically arranged in various classes or categories of the hierarchical structure. For example, the term “object” is used herein, although other terms such as items, assets, entities, etc. may be further used. Some practical examples of objects that exist in such a database are media items, sales items, telecommunications subscribers, and the like.

一般に複数の属性が各オブジェクトに関連し、そのような属性を示すデータは、データクエリに応答して検索できるデータベースに格納される。実際には、一般に属性は、データベースの1つ以上のテーブルにおいて列を形成する。本明細書において、「属性」という用語は、オブジェクトを説明することに関連するあらゆる主題、態様又は特徴を示す。属性は、一般的なものであっても固有のものであってもよい。   In general, multiple attributes are associated with each object, and data representing such attributes is stored in a database that can be retrieved in response to a data query. In practice, attributes generally form columns in one or more tables of the database. As used herein, the term “attribute” refers to any subject matter, aspect, or feature associated with describing an object. Attributes may be general or unique.

例えば、メディア項目は、「動画」及び「静止画」のクラスに分割され、更に「動画」は、「映画」、「スポーツ」及び「ドキュメンタリ」等のクラスに分割される。このように、種々のクラスは、データベースのテーブルが示せる階層構造を形成できる。各クラスは、そのクラスに関連する1つ以上の属性と関連付けられる。   For example, the media item is divided into classes “moving image” and “still image”, and “moving image” is further divided into classes such as “movie”, “sports”, and “documentary”. In this way, various classes can form a hierarchical structure that can be represented by a database table. Each class is associated with one or more attributes associated with that class.

図1は、オブジェクトに対するデータを論理的に編成できる種々のクラスの階層構造を概略的に示す。階層の最上位は、「Info 1」、「Info 2」、「Info 3」...と示された属性を含む「ルートクラス」である。これらの属性は、メディア項目の例を使用してデータベースの全てのオブジェクトに関連する一般的又は「抽象的」なデータ、例えばタイトル、説明、言語、入力データ等を示す。オブジェクトアイデンティティ「オブジェクトID」は、このクラスのフィールドにおいて更に特定され、データを探索するための主キーとして使用できる各オブジェクトを識別する。例として、ルートクラスを「資産クラス(asset class)」と呼ぶ。   FIG. 1 schematically illustrates a hierarchical structure of various classes that can logically organize data for objects. The top of the hierarchy is “Info 1”, “Info 2”, “Info 3”. . . It is a “root class” including the attribute indicated by These attributes indicate general or “abstract” data related to all objects in the database, eg title, description, language, input data, etc., using the example media item. The object identity “object ID” is further specified in this class of fields and identifies each object that can be used as a primary key for searching the data. As an example, the root class is called an “asset class”.

次のレベルは、それぞれ、「Info A1」、「Info A2」、「Info A3」...及び「Info B1」、「Info B2」、「Info B3」...を示す属性を含む2つのサブクラスA及びBを含む。各サブクラスの属性は、そのサブクラスに適合するオブジェクトのみに関連する。再度メディア項目の例を使用すると、サブクラスAは動画を示し、その属性は符号化、持続時間、色等を示し、静止画を示すサブクラスBは、例えば幅、高さ、解像度、形式等の他の関連する属性を有する。   The next levels are “Info A1”, “Info A2”, “Info A3”,. . . And “Info B1”, “Info B2”, “Info B3”. . . 2 subclasses A and B including the attribute indicating The attributes of each subclass are only relevant for objects that fit that subclass. Using the media item example again, subclass A indicates moving images, its attributes indicate encoding, duration, color, etc., and subclass B indicating still images, for example, other than width, height, resolution, format, etc. With related attributes.

同様に、次のレベルのサブクラスAA及びサブクラスABは、サブクラスAの下に編成され、各々が1つ以上のサブクラス別の属性を有する映画及びスポーツをそれぞれ示す。全てのサブクラスA、B、AA、BB...は、オブジェクトIDフィールドを有し、それぞれのサブクラスに適合するオブジェクトを識別する。   Similarly, the next level of subclass AA and subclass AB represent movies and sports, respectively, organized under subclass A and each having one or more subclass attributes. All subclasses A, B, AA, BB. . . Has an object ID field and identifies the object that fits the respective subclass.

今日、一般にリレーショナルデータベースは、上述のクラスに基づく階層的な方法で編成可能なデータを保持するために使用される。しかし、オブジェクト又はクラス定義をデータベーステーブルにマッピングすることは、問題と関連付けられる。この問題は「オブジェクトに関連するインピーダンス不整合」と呼ばれるものである。以下において、リレーショナルデータベースの分野で一般に使用される3つの異なる手法を簡単に説明する。   Today, relational databases are commonly used to hold data that can be organized in a hierarchical manner based on the classes described above. However, mapping an object or class definition to a database table is associated with a problem. This problem is called "impedance mismatch associated with objects". In the following, three different approaches commonly used in the field of relational databases will be briefly described.

1)単一のテーブルが、クラス階層全体の全てのサブクラス及び属性に対して使用される。その為、そのテーブルは、データベースにおいて使用される全ての属性に対する列(columns)などを含む。図1の例において、テーブルは、全てのサブクラスにおいて全ての属性Infor 1−3、Info A1−A3、Info B1−B3、Info AA1−AA3、Info AB1−AB3...に対する列を含むため、一般にテーブルは多数の列がある。従って、データクエリは、オブジェクトに対するデータを検索する際に1つのテーブル探索しか必要としない。一方、一般に単一のテーブルは非常に大きくなるため、データベースの可読性及び性能は低くなる。また、多くの属性がオブジェクトに無関係であることが多いため、多くの列は空となり、すなわちヌル値を含む。従って、データベースの多くの空間は未使用のままであり、データベースは必要以上の大きさとなる。オブジェクトの種類を示すためにデータベースにおいて追加の識別情報が更に必要である。   1) A single table is used for all subclasses and attributes of the entire class hierarchy. Therefore, the table contains columns for all attributes used in the database. In the example of FIG. 1, the table includes all attributes Info 1-3, Info A1-A3, Info B1-B3, Info AA1-AA3, Info AB1-AB3. . . In general, a table has a large number of columns. Thus, a data query requires only one table search when retrieving data for an object. On the other hand, since a single table is generally very large, the readability and performance of the database is low. Also, since many attributes are often unrelated to the object, many columns are empty, i.e. contain null values. Therefore, much space in the database remains unused, and the database becomes larger than necessary. Additional identification information is further required in the database to indicate the type of object.

2)1つのテーブルが、各サブクラスに対して使用され、且つ、そのサブクラスに適合するオブジェクトに関連する全ての属性を含み、それらの属性はそのサブクラスに接続する全ての上位クラスの属性を含む。図1の例において、サブクラスAAに対するテーブルは、属性Info AA1−AA3、Info A1−A3、Info 1−3に対する列を含み、サブクラスABに対するテーブルは、属性Info AB1−AB3、Info A1−A3、Info 1−3に対する列を含む。この手法の利点は、オブジェクトに対する全てのデータが同一のテーブルに格納され、他のテーブルでの探索が不要になることである。一方、オブジェクトに対してデータが格納されるテーブルは認識されていないため、探索されたオブジェクトに対してデータが見つけられるまでテーブルを1つずつ探索しなければならない。また、例えば上述の例のように多くの属性が多数のテーブルに存在するため、データが重複することにより多くの冗長が発生し、データベースはこの手法においても必要以上の大きさとなる。   2) One table is used for each subclass and includes all attributes associated with objects that conform to that subclass, and those attributes include attributes of all superclasses that connect to that subclass. In the example of FIG. 1, the table for subclass AA includes columns for attributes Info AA1-AA3, Info A1-A3, Info 1-3, and the table for subclass AB includes attributes Info AB1-AB3, Info A1-A3, Info. Includes columns for 1-3. The advantage of this approach is that all data for an object is stored in the same table, and no search in other tables is required. On the other hand, since a table storing data for an object is not recognized, the table must be searched one by one until data is found for the searched object. In addition, since many attributes exist in many tables as in the above example, for example, a large amount of redundancy occurs due to duplication of data, and the database becomes larger than necessary even in this method.

3)1つのテーブルがサブクラス毎に使用され、そのサブクラスの属性のみを含むため、冗長及びデータの重複を回避する。しかし、この手法において、種々のクラスが階層構造において互いに接続される方法は明らかではない。オブジェクトのデータを探索する場合、探索を開始する場所は認識されていないが階層の知識を使用して、探索のためにテーブルを選択でき且つ他のテーブルを無視できる。多くのテーブルは依然としてヌル結果をもたらし、これは、非常に時間がかかり、処理リソースを浪費にする。   3) Since one table is used for each subclass and includes only attributes of the subclass, redundancy and duplication of data are avoided. However, in this method, it is not clear how various classes are connected to each other in a hierarchical structure. When searching for object data, the location where the search begins is not known, but using the knowledge of the hierarchy, tables can be selected for searching and other tables can be ignored. Many tables still give a null result, which is very time consuming and wastes processing resources.

データベースにおいてテーブルを使用する上述の3つの手法において、3つ目の手法のみがテーブル間で情報を結合する必要がある。しかし、上述したように、いずれの手法も記憶空間を有効に使用できず、迅速な探索もできない。従って、特定のオブジェクトに関する示すデータクエリ又はデータ要求に応答して関連するデータを検索するために大量の格納データを探索しなければならず、それには時間がかかり、多くの処理リソースが必要であるため、問題である。別の問題は、上述の冗長及び格納データの重複の結果、データベースが過度な大きさになることである。   In the three approaches described above using tables in the database, only the third approach needs to join information between the tables. However, as described above, none of the methods can use the storage space effectively, and a quick search cannot be performed. Therefore, a large amount of stored data must be searched to retrieve relevant data in response to an indicated data query or data request for a particular object, which is time consuming and requires a lot of processing resources So it is a problem. Another problem is that the database becomes excessively large as a result of the above-described redundancy and duplication of stored data.

本発明の目的は、上述した問題のうちの少なくともいくつかに対処することである。更なる目的は、データベースにおける重複及び冗長を回避でき、それと同時に必要以上の処理遅延及びデータベースを探索する負荷を回避するデータベースの解決策を得ることである。添付の独立請求項に記載の方法及び装置を使用することでこれらの目的及び他の目的を実現できる。   The object of the present invention is to address at least some of the problems mentioned above. A further object is to obtain a database solution that can avoid duplication and redundancy in the database while at the same time avoiding unnecessary processing delays and the load of searching the database. These and other objects can be realized by using the methods and apparatus described in the attached independent claims.

一態様によれば、各々がオブジェクトデータを格納できる1つ以上の属性を含むルートテーブルと、前記ルートテーブルの下の多数の階層レベルで編成された複数の事前定義されたサブテーブルとを含む階層データベースにおいてオブジェクト関連データを処理する方法が提供される。この方法において、テーブル識別子TIDは、各サブテーブルに割り当てられる。ここで、テーブル識別子TIDは、前記サブテーブルの親テーブルと関連付けられた一連の素数を乗算することで生成される。更にオブジェクト識別子OIDは、種々の連続したレベルで階層的に接続されたサブテーブルのパスのテーブル識別子TIDがオブジェクト識別子OIDに符号化されるようにデータベースにおいて各オブジェクトに割り当てられる。オブジェクトに関するデータは、適宜テーブルパスに接続されたサブテーブルに格納される。   According to one aspect, a hierarchy including a root table that includes one or more attributes each capable of storing object data, and a plurality of predefined sub-tables organized at a number of hierarchical levels below the root table A method is provided for processing object-related data in a database. In this method, a table identifier TID is assigned to each sub-table. Here, the table identifier TID is generated by multiplying a series of prime numbers associated with the parent table of the sub-table. Furthermore, the object identifier OID is assigned to each object in the database so that the table identifier TID of the path of sub-tables connected hierarchically at various successive levels is encoded into the object identifier OID. Data about the object is stored in a subtable connected to the table path as appropriate.

これにより、複数のテーブル繰り返される属性に起因するデータベースにおける格納データの重複及び冗長を回避できる。同時に、探索されるオブジェクトに対して有効なテーブル及び有効なテーブルパスをオブジェクト識別子OIDに符号化することでオブジェクトに関するデータが見つけられると予想される場所にデータの探索を限定できるため、処理遅延及びデータベースを探索する負荷を最小限にできる。   Thereby, it is possible to avoid duplication and redundancy of stored data in the database due to the repeated attributes of a plurality of tables. At the same time, encoding the valid table and valid table path for the searched object into the object identifier OID can limit the search for data to where the data about the object is expected to be found, thereby reducing processing delays and The load for searching the database can be minimized.

別の態様によれば、上述の階層データベースにおいてオブジェクト関連データを処理するように構成される装置が提供される。データベース装置は、各サブテーブルの親テーブルと関連付けられた一連の素数を乗算することで生成されたテーブル識別子TIDを前記サブテーブルに割り当てるように構成された構成機能を含む。データベース装置は、種々の連続したレベルで階層的に接続されたサブテーブルのパスのテーブル識別子TIDがオブジェクト識別子OIDに符号化されるようにデータベースにおいてオブジェクト識別子OIDを各オブジェクトに割り当て、接続されたサブテーブルの前記オブジェクトに関するデータをテーブルパスに格納するように構成された格納機能を更に含む。   According to another aspect, an apparatus is provided that is configured to process object related data in a hierarchical database as described above. The database device includes a configuration function configured to assign a table identifier TID generated by multiplying a series of prime numbers associated with the parent table of each sub-table to the sub-table. The database device assigns an object identifier OID to each object in the database so that the table identifier TID of the path of the sub-tables hierarchically connected at various successive levels is encoded into the object identifier OID, and connects the connected sub-tables. A storage function configured to store data relating to the object of the table in a table path is further included.

上述の方法及びデータベース装置は、種々の実施形態に従って構成され、実現される。一実施形態において、テーブル識別子TIDは、前記親テーブルの次に使用可能な素数に隣接レベルのサブテーブルの親テーブルの親テーブル識別子PIDを乗算することでそのサブテーブルに対して生成される。それにより、テーブルパスは、素数の因数分解を用いてオブジェクト識別子OIDとして使用された単一の番号に容易に符号化される。   The method and database device described above are configured and implemented according to various embodiments. In one embodiment, the table identifier TID is generated for the sub-table by multiplying the next available prime number of the parent table by the parent table identifier PID of the parent table of the adjacent-level sub-table. Thereby, the table path is easily encoded into a single number used as the object identifier OID using prime factorization.

別の実施形態において、オブジェクトに関連するデータは、前記オブジェクトに関連する識別されたサブテーブル及び前記サブテーブルに階層的に接続された親テーブルを含むテーブルパスを判定し、判定された関連するサブテーブルのテーブル識別子TIDから算出されたオブジェクトにオブジェクト識別子OIDを割り当て、前記パスのテーブルにデータ及びオブジェクト識別子OIDを格納することでデータベースに格納される。   In another embodiment, the data associated with the object determines a table path that includes an identified sub-table associated with the object and a parent table hierarchically connected to the sub-table, The object identifier OID is assigned to the object calculated from the table identifier TID of the table, and the data and the object identifier OID are stored in the path table, and stored in the database.

オブジェクト識別子OIDは、OID=2k・n+TIDのように算出される。式中、kは、データベース階層においてテーブル識別子TIDの最大値として2kを設定するように選択された整数であり、nは、判定された関連するサブテーブルのオブジェクトに対する順序番号である。このように、テーブル識別子TIDはオブジェクト識別子OIDに符号化され、全ての親テーブル識別子PIDは、その素因数分解でそのテーブル識別子TIDから判定される。 The object identifier OID is calculated as OID = 2 k · n + TID. Where k is an integer selected to set 2 k as the maximum value of the table identifier TID in the database hierarchy, and n is the sequence number for the determined object of the associated subtable. Thus, the table identifier TID is encoded into the object identifier OID, and all the parent table identifiers PID are determined from the table identifier TID by the prime factorization.

更なる実施形態において、要求されたオブジェクトのオブジェクト識別子OIDに関するデータクエリを受け取る場合、受け取ったオブジェクト識別子OIDから要求されたオブジェクトに関連するサブテーブルのテーブル識別子TIDを算出することでデータベースからオブジェクト関連データを検索できる。次に、受け取ったオブジェクト識別子OIDに符号化されたテーブルパスは、ルートテーブルに到達するまで逐次レベルの親テーブル識別子PIDを算出することで判定される。その後オブジェクトデータは、判定されたテーブルパスにおいてテーブルから取り出され、取り出されたデータは、最終的にデータクエリに応答して返送される。   In a further embodiment, when receiving a data query regarding the object identifier OID of the requested object, the object related data from the database is calculated by calculating a table identifier TID of a sub-table associated with the requested object from the received object identifier OID. Can be searched. Next, the table path encoded in the received object identifier OID is determined by calculating the parent table identifier PID at successive levels until reaching the route table. The object data is then retrieved from the table in the determined table path, and the retrieved data is finally returned in response to the data query.

要求されたオブジェクトに関連するサブテーブルのテーブル識別子TIDは、TID=mod(OID,2k)のように算出される。式中、kは、データベース階層においてテーブル識別子TIDの最大値として2kを設定するように選択された整数であり、OIDは受け取ったオブジェクト識別子である。また、親テーブル識別子PIDの各々は、現在のテーブル識別子TIDを最大素因数で除算することで算出される。 The table identifier TID of the sub-table associated with the requested object is calculated as TID = mod (OID, 2 k ). Where k is an integer selected to set 2 k as the maximum value of the table identifier TID in the database hierarchy, and OID is the received object identifier. Each parent table identifier PID is calculated by dividing the current table identifier TID by the maximum prime factor.

更なる実施形態において、新しいサブテーブルは、親テーブルのテーブル識別子PIDに次に使用可能な素数を乗算することで新しいサブテーブルに対するテーブル識別子PIDを算出することによりデータベースに追加される。算出されたテーブル識別子TIDが2kを下回らない場合、kは1だけ増分され、データベースに格納されたオブジェクトのオブジェクト識別子OIDは新しいkに従って更新される。kは、データベース階層においてテーブル識別子TIDの最大値として2kを設定するように選択された整数である。新しいサブテーブルは、算出されたテーブル識別子TIDを使用してデータベースに追加される。 In a further embodiment, the new sub-table is added to the database by calculating the table identifier PID for the new sub-table by multiplying the table identifier PID of the parent table by the next available prime number. If the calculated table identifier TID does not fall below 2 k , k is incremented by 1 and the object identifier OID of the object stored in the database is updated according to the new k. k is an integer selected to set 2 k as the maximum value of the table identifier TID in the database hierarchy. A new sub-table is added to the database using the calculated table identifier TID.

本発明の更なる可能な特徴及び利点は、以下の詳細な説明から明らかとなるだろう。   Further possible features and advantages of the present invention will become apparent from the following detailed description.

次に、例示的な実施形態を使用し、添付の図面を参照して、本発明を更に詳細に説明する。   The invention will now be described in more detail using exemplary embodiments and with reference to the accompanying drawings.

図1は、オブジェクト情報の種々のクラスを含む例示的な階層構造を示す図である。FIG. 1 is a diagram illustrating an exemplary hierarchical structure that includes various classes of object information. 図2は、可能な一実施形態に従って論理探索機能によりデータクエリを処理できる方法を示す概略ブロック図である。FIG. 2 is a schematic block diagram illustrating a method by which a data query can be processed by a logical search function according to one possible embodiment. 図3は、可能な別の実施形態に係る例示的なデータベース構造を示す概略図である。FIG. 3 is a schematic diagram illustrating an exemplary database structure according to another possible embodiment. 図4は、更なる例示的な実施形態に従ってオブジェクトデータをデータベースに格納する論理格納機能により実行されるステップを含むフローチャートである。FIG. 4 is a flowchart including steps performed by a logical storage function for storing object data in a database according to a further exemplary embodiment. 図5は、更なる例示的な実施形態に従ってデータベースにおいてオブジェクトデータを探索する論理探索機能により実行されるステップを含むフローチャートである。FIG. 5 is a flow chart that includes steps performed by a logical search function that searches object data in a database in accordance with a further exemplary embodiment. 図6は、更なる例示的な実施形態に従って新しいテーブルをデータベースに追加する論理構成機能により実行されるステップを含むフローチャートである。FIG. 6 is a flow chart that includes steps performed by a logical configuration function that adds a new table to a database in accordance with a further exemplary embodiment. 図7は、更なる例示的な実施形態に従ってデータベースに接続された論理格納機能、論理探索機能及び論理構成機能を含む装置を更に詳細に示すブロック図である。FIG. 7 is a block diagram illustrating in more detail an apparatus including a logical storage function, a logical search function, and a logical configuration function connected to a database in accordance with a further exemplary embodiment.

先ず簡潔に説明すると、種々の論理的なクラス又はカテゴリと関連付けられたテーブルを階層的に配置してオブジェクトデータを効率的に格納し、データベースから迅速に検索できる解決策が提供される。各テーブルは、データを種々のオブジェクトに対して格納できる列、或るい同等のものに配置された1つ以上の属性を含む。データベースは、基本的に上述の手法3)に従って、すなわちそのサブクラスの属性のみを含むサブクラス毎にたった1つのテーブルを使用して構成される。この場合、多数のテーブルにおける属性及び格納データは必ずしも重複しない。従って、データベースは、例えば階層において最上位レベルにルートテーブル及び続いて下位層に多数のサブテーブルを含む図1に示された方式に従って、テーブルの階層構造において論理的に編成される。本明細書において使用される専門用語によれば、「親テーブル」は、階層構造において1つ以上の従属サブテーブルが接続されたテーブルである。従って、各サブテーブルは親テーブルに接続される。   Briefly described, a solution is provided in which tables associated with various logical classes or categories are arranged hierarchically to efficiently store object data and to be quickly retrieved from a database. Each table includes one or more attributes arranged in columns, or the like, that can store data for various objects. The database is basically constructed according to the above method 3), i.e. using only one table for each subclass containing only the attributes of that subclass. In this case, attributes and stored data in many tables do not necessarily overlap. Thus, the database is logically organized in a hierarchical structure of tables, for example, according to the scheme shown in FIG. 1, including a root table at the highest level in the hierarchy and a number of sub-tables at the lower level. According to the terminology used herein, a “parent table” is a table in which one or more subordinate subtables are connected in a hierarchical structure. Therefore, each sub-table is connected to the parent table.

本発明の解決策において、オブジェクト識別子(object identifier)「OID」が、データベースに格納された各オブジェクトに割り当てられ、特定のオブジェクトに関連する相互接続された全てのサブテーブルのアイデンティティがそのオブジェクトのOIDに効果的に符号化される。従って、探索に関連するテーブルは要求されたオブジェクトのOIDのみから判定でき、更なるテーブルを探索する必要がないため、基本的にあらゆる不要な探索が回避される。同時に、探索されるオブジェクトに関連しないテーブルは探索対象から免れる。   In the solution of the present invention, an object identifier “OID” is assigned to each object stored in the database, and the identities of all interconnected sub-tables associated with a particular object are the OID of that object. Is effectively encoded. Therefore, the table related to the search can be determined only from the OID of the requested object, and there is no need to search for a further table, so basically any unnecessary search is avoided. At the same time, tables that are not related to the searched object are exempt from the search target.

また、データベースにおける各テーブルには、以下の通りオブジェクト識別子OIDに符号化可能な番号のテーブル識別子「TID」が割り当てられている。一連の素数を乗算することで各TIDが生成される。そのため、親テーブルに接続されたサブテーブルのTIDは、「次に使用可能な素数」、すなわち親テーブルに接続された他のあらゆるサブテーブルを生成するためにまだ使用されていない素数に、その親テーブルのTIDを乗算することで生成される。以下において、これについて例を用いて更に詳細に説明する。   Each table in the database is assigned a table identifier “TID” having a number that can be encoded in the object identifier OID as follows. Each TID is generated by multiplying a series of prime numbers. Therefore, the TID of the subtable connected to the parent table is the “next available prime number”, that is, the prime number that has not yet been used to generate any other subtable connected to the parent table. It is generated by multiplying the TID of the table. In the following, this will be described in more detail using an example.

従って、或る親テーブルに接続された全てのサブテーブルは、親テーブルの最大素因数(gretest prime number factor)より大きい素因数を有さなければならず、各素数は、親テーブルが従属サブテーブルを生成するために一度だけ使用される。例えば、素数7、11及び13がTID=5を有する特定の親テーブルに接続される3つの特定のサブテーブルのTIDを生成するために使用されている場合、次に使用可能な素数は17であり、新しいサブテーブルのTIDは、17に親テーブルのTIDを乗算することで生成される。その結果、TID=5・17=85となる。従って、TID=5を含む親テーブルに接続された他の3つのサブテーブルは、それぞれTID=5・13=65、TID=5・11=55及びTID=5・7=35を有する。このようにTIDを生成することにより、データベースの各テーブルは、一意のTIDを割り当てられる。   Thus, all subtables connected to a parent table must have a prime factor greater than the parent table's gretest prime number factor, and each prime is generated by the parent table as a dependent subtable. Used only once to do. For example, if primes 7, 11, and 13 are used to generate TIDs for three specific sub-tables connected to a specific parent table with TID = 5, then the next available prime number is 17 Yes, a new sub-table TID is generated by multiplying 17 by the parent table TID. As a result, TID = 5 · 17 = 85. Thus, the other three sub-tables connected to the parent table containing TID = 5 have TID = 5 · 13 = 65, TID = 5 · 11 = 55 and TID = 5 · 7 = 35, respectively. By generating the TID in this way, each table in the database is assigned a unique TID.

データベース構造及びテーブルの階層は予め決められているため既知であり、所定のオブジェクトに最も関連する(最下位の)サブテーブルを論理的に判定できると仮定する。オブジェクトのデータは、最下位の最も関連するサブテーブルが接続される親テーブルに更に格納される。それにより、相互接続されたテーブルのパス(path)における全てのテーブルが所定のオブジェクトに対して有効であるため、そのオブジェクトのOIDに関するデータクエリが実行される場合は常に探索されなければならない連続階層レベルでそのテーブルパスを形成する。しかし、データを格納する際にオブジェクトに最も関連するサブテーブルを論理的に識別する処理は本発明の範囲外である。   It is assumed that the database structure and table hierarchy are known because they are predetermined, and the sub-table most relevant (lowest) to a given object can be logically determined. The object data is further stored in the parent table to which the lowest most related subtable is connected. Thus, since all tables in the path of interconnected tables are valid for a given object, a continuous hierarchy that must be searched whenever a data query on the OID of that object is executed Form that table path by level. However, the process of logically identifying the subtable most relevant to an object when storing data is outside the scope of the present invention.

従って、最初にオブジェクトに最も関連するサブテーブルを論理的に識別又は判定し、次に、以下のようにオブジェクトに対してOIDを生成するためにそのサブテーブルのTIDを使用することにより、OIDをオブジェクトに割り当てられる。
OID=2k・n+TID (1)
Thus, the OID is determined by first logically identifying or determining the most relevant subtable for the object, and then using the TID of that subtable to generate an OID for the object as follows: Assigned to an object.
OID = 2 k・ n + TID (1)

式(1)において、kは、データベース階層全体においてTIDの最大値として2kを設定するように選択された整数であり、nは、判定された関連するサブテーブルのオブジェクトに対する順序番号である。従って、例えば、サブテーブルTIDに格納された第1のオブジェクトはn=1を有し、そのサブテーブルの第2のオブジェクトはn=2を有する。実際には、パラメータkは、TIDの最大値を格納するために必要なビット数である。例えば、値256を示すために8個のバイナリビットを使用できるため、k=8の場合に最大TID=256である。データベースの新しいテーブルに対してTID>256である必要がある場合、kは1だけ増分されなければならないため、格納されたオブジェクトに対して既に生成されているOIDに影響を及ぼす。その結果、データベースにおいてより高いTID値に「空間」を与えるようにkが増分される場合は常に、データベースに既に格納されたオブジェクトのOIDは、式(1)の新しいk値に従って更新されなければならない。 In Equation (1), k is an integer selected to set 2 k as the maximum value of TID in the entire database hierarchy, and n is the sequence number for the determined related sub-table object. Thus, for example, a first object stored in sub-table TID has n = 1 and a second object in that sub-table has n = 2. In practice, the parameter k is the number of bits necessary to store the maximum value of TID. For example, since 8 binary bits can be used to indicate the value 256, the maximum TID = 256 when k = 8. If TID> 256 is required for a new table in the database, k must be incremented by 1, thus affecting the OID already generated for the stored object. As a result, whenever k is incremented to give “space” to a higher TID value in the database, the OID of the object already stored in the database must be updated according to the new k value in equation (1). Don't be.

次に、図2を参照して、論理探索機能によりデータクエリを処理できる方法を説明する。探索機能200は、以下のように、オブジェクトデータに対する探索クエリ又は探索要求を受け取ると、階層データベース202においてオブジェクトデータを探索するように構成される。データベース202は、基本的に上述したように構成される。   Next, with reference to FIG. 2, a method capable of processing a data query by the logic search function will be described. The search function 200 is configured to search for object data in the hierarchical database 202 upon receiving a search query or search request for object data as follows. The database 202 is basically configured as described above.

探索されるオブジェクトのOIDに関する探索クエリを受信した場合、探索機能200は、ブロック204に示されるように、おそらく要求されたオブジェクトに最も関連する(最下位の)サブテーブルを示す、受け取ったOIDに符号化された最大TID値を判定する。上述したように素数を乗算することでデータベースの全てのTIDが生成されているため、OIDに符号化された最大TID値は、以下のように算出される。
TID=mod(OID,2k) (2)
式中、「mod」は、OIDを2kで除算した後の整数剰余を判定する剰余演算子である。
If a search query is received regarding the OID of the object being searched, the search function 200 will probably return the received OID, which indicates the (lowest) sub-table most relevant to the requested object, as shown in block 204. Determine the maximum encoded TID value. Since all TIDs of the database are generated by multiplying prime numbers as described above, the maximum TID value encoded in the OID is calculated as follows.
TID = mod (OID, 2 k ) (2)
In the formula, “mod” is a remainder operator that determines an integer remainder after dividing the OID by 2 k .

次に探索機能200は、ブロック206に示されるように、第1のTIDを生成する素数を識別することで相互接続されたサブテーブルのパスにおいて全てのより低いTIDを抽出する。上述したようにサブテーブルTIDの各々が親テーブルTIDから生成されているため、すなわち「次に使用可能な素数」に親テーブルのTIDを乗算することで生成されているため、この演算は可能である。基本的に、上述のブロック204で(2)により判定されたTIDは、ブロック206で因数分解された素数である。   The search function 200 then extracts all lower TIDs in the interconnected sub-table path by identifying the prime number that generates the first TID, as shown in block 206. Since each of the sub-tables TID is generated from the parent table TID as described above, that is, it is generated by multiplying the “next available prime number” by the TID of the parent table, this calculation is possible. is there. Basically, the TID determined by (2) in block 204 described above is a prime number factorized in block 206.

テーブルパスにおいて全てのテーブルTIDが判定されている場合、データは、ブロック208に示されるように、それに応じてデータベース202においてオブジェクトを探索する。そのオブジェクトのデータがパス外の他のあらゆるテーブルに存在することは予想できないため、このような探索は判定されたパスのテーブルだけに限定される。従って、判定されたテーブルパスは、OIDに符号化される時にオブジェクトに対して有効である。最終的に、ブロック210に示されるように、探索結果、すなわち見つけられたデータをクエリ要求側に返送できる。   If all table TIDs have been determined in the table path, the data searches for objects in the database 202 accordingly, as shown in block 208. Since the object's data cannot be expected to exist in any other table outside the path, such a search is limited to the determined path table only. Thus, the determined table path is valid for the object when encoded into OID. Finally, as shown in block 210, the search results, i.e., the data found, can be returned to the query requester.

図3は、階層において最上位レベル300にルートテーブル及び続いて下位層302、304、306...に多数のサブテーブルを含むテーブルの階層構造で編成されたデータベースに対するTID方式を示す。テーブルのTIDは示されたスポット内に与えられる。そして、基礎となるTIDを生成するために使用された素数は、それぞれの接続矢印で与えられる。ルートテーブルはTID=1を有し、以下のレベル302で示された3つのサブテーブルは、一連の素数、すなわち2、3及び5に1を乗算することで生成され、結果としてそれぞれTID2、3及び5となるTIDを有する。次のレベル304において、4つのサブテーブルは、一連の素数、すなわち3、5、7及び11に2を乗算することで生成され、結果としてそれぞれTID6、10、14及び22となるTIDを有する親テーブル2に接続される。   3 shows a route table at the highest level 300 in the hierarchy, followed by lower layers 302, 304, 306. . . Shows a TID method for a database organized in a hierarchical structure of tables including a large number of sub-tables. The TID of the table is given in the indicated spot. And the prime number used to generate the underlying TID is given by each connection arrow. The route table has TID = 1 and the three sub-tables shown at level 302 below are generated by multiplying a series of prime numbers, ie 2, 3 and 5, by 1, resulting in TID 2, 3 respectively. And a TID of 5. At the next level 304, the four sub-tables are generated by multiplying a series of prime numbers, ie 3, 5, 7, and 11, by 2, resulting in a parent having TIDs resulting in TIDs 6, 10, 14, and 22, respectively. Connected to table 2.

例えば、TIDの同様の計算は、一連の素数、すなわち5、7、11及び13に3を乗算することで生成され、結果としてそれぞれTID15、21、33及び39となるTIDを有する親テーブル3に接続された4つのサブテーブルに対して行われている。尚、各TIDは、次に使用可能な素数、すなわち親テーブルに接続された他のあらゆるサブテーブルに対して使用されていない素数をその親テーブルのTIDに乗算することで生成される。従って、基礎となるTIDを生成するために使用された各素数が各親テーブルに対して1回だけ使用されるため、「次に使用可能な素数」という用語は、TIDがデータベースの全てのテーブルに対して一意となることを保証する。   For example, a similar calculation for TID is generated by multiplying a series of prime numbers, ie 5, 7, 11 and 13, by 3 and results in a parent table 3 having TIDs of TIDs 15, 21, 33 and 39 respectively. This is done for the four connected sub-tables. Each TID is generated by multiplying the TID of the parent table by the next available prime number, that is, a prime number not used for any other sub-table connected to the parent table. Thus, because each prime used to generate the underlying TID is used only once for each parent table, the term “next available prime” is used for all tables in the database. Guaranteed to be unique.

次に、図4のフローチャートを参照して、新しいオブジェクトに関連するデータをデータベースに格納する例示的な手順を説明する。この手順は、データベース装置においてデータベースに接続された「データ格納機能」等により実行される。データベースは、ルートテーブルと、ルートテーブルの下の多数の階層レベルで編成された複数の事前定義されたサブテーブルとを含み、各テーブルは、オブジェクトデータを格納できる1つ以上の属性を含むと仮定する。上述したようにそれぞれの親テーブルと関連付けられた一連の素数を乗算することで生成されているテーブル識別子TIDは、各サブテーブルに割り当てられていると更に仮定する。   Next, an exemplary procedure for storing data relating to a new object in a database will be described with reference to the flowchart of FIG. This procedure is executed by a “data storage function” connected to the database in the database device. Assume that the database includes a root table and a plurality of predefined sub-tables organized in a number of hierarchical levels below the root table, each table including one or more attributes that can store object data. To do. It is further assumed that the table identifier TID generated by multiplying a series of prime numbers associated with each parent table as described above is assigned to each sub-table.

第1のステップ400において、オブジェクトに関連したデータは、データベースに格納するために受け取られる。次のステップ402において、オブジェクト及び割り当てられたTIDに最も関連するサブテーブルは、基本的にデータ格納機能において受け取られる。オブジェクトに最も関連するサブテーブルを識別することは、データベースにおいてオブジェクトの特性及び事前定義されたサブテーブルの定義に依存する論理演算である。関連するサブテーブルを識別する演算は、ある程度管理者により手動で、あるいは予め設定された論理に従って、例えばオブジェクトの種類及び/又は格納されるデータに基づいて自動的に実行される。しかし、この演算の詳細は本発明の範囲外である。   In a first step 400, data associated with the object is received for storage in a database. In the next step 402, the sub-table most relevant to the object and assigned TID is basically received in the data storage function. Identifying the subtable most relevant to an object is a logical operation that depends on the properties of the object and the definition of the predefined subtable in the database. The operation of identifying related sub-tables is performed manually to some extent by an administrator or automatically according to preset logic, for example based on the type of object and / or stored data. However, the details of this operation are outside the scope of the present invention.

最も関連するサブテーブル及び割り当てられたTIDが決められると、階層において続いて上位層に相互接続された親テーブルを含む有効なテーブルパスは、後続のステップ404で関連するサブテーブルのTIDから判定される。本明細書において、親テーブルに対するTIDは、親テーブル識別子「PID」とも示される。親テーブルは、親テーブル識別子PIDの各々が現在のテーブル識別子TIDを最大素因数で除算することで1つずつ算出されるように判定される。図3の例示的なテーブル構造を使用すると、最も関連するテーブルが例えば第4の階層レベル306に配置されるTID=231を有するサブテーブルとして識別されている場合、最大素因数を11として判定できる結果、TID=231/11=21を含む親テーブルが得られる。また、このサブテーブルが最大素因数として7を有する結果、TID=21/7=3を含む次の親テーブルが得られる。ルートテーブルに到達すると、このテーブルパスの判定は基本的に終了する。   Once the most relevant sub-table and assigned TID are determined, a valid table path including the parent table that is subsequently interconnected to the upper layer in the hierarchy is determined from the TID of the associated sub-table in a subsequent step 404. The In this specification, the TID for the parent table is also indicated as a parent table identifier “PID”. The parent table is determined such that each parent table identifier PID is calculated one by one by dividing the current table identifier TID by the maximum prime factor. Using the example table structure of FIG. 3, a result that can determine that the most prime factor is 11 if the most relevant table is identified as a sub-table with TID = 231 located at the fourth hierarchical level 306, for example. , A parent table including TID = 2311/11 = 21 is obtained. Further, as a result of this sub-table having 7 as the largest prime factor, the next parent table including TID = 21/7 = 3 is obtained. When the route table is reached, the determination of this table path basically ends.

更なるステップ406において、OIDは、オブジェクトに割り当てられ、上記のステップ402で識別された最も関連するサブテーブルのTIDを入力として使用する上記の式(1)を用いて算出される。上述したように、kは、データベース階層全体においてTIDの最大値として2kを設定するように選択された整数であり、nは、判定された関連するサブテーブルのオブジェクトに対する順序番号である。順序番号nは、テーブルにおいて一意のオブジェクト番号、例えばそのテーブルにおいて他のあらゆる前のオブジェクトに対して使用されない次に使用可能な番号としてオブジェクトに対して設定される。最終的に、ステップ408において、ステップ400で受け取ったオブジェクトデータ及びステップ406で算出され且つ割り当てられたOIDは、適宜ステップ404で判定されたテーブルパスのテーブルに格納される。尚、格納できるデータに依存して、このステップにおいてパスのテーブルの全ての属性にデータを入力する必要はない。 In a further step 406, the OID is calculated using equation (1) above, using as input the TID of the most relevant sub-table identified in step 402 above, assigned to the object. As described above, k is an integer selected to set 2 k as the maximum value of TID in the entire database hierarchy, and n is the sequence number for the determined related sub-table object. The sequence number n is set for an object as a unique object number in the table, eg, the next available number that is not used for any other previous object in the table. Finally, in step 408, the object data received in step 400 and the OID calculated and assigned in step 406 are stored in the table of the table path determined in step 404 as appropriate. Depending on the data that can be stored, it is not necessary to input data to all attributes of the path table in this step.

次に、図5のフローチャートを参照して、データベースにおいて新しいオブジェクトに関連するデータを探索する例示的な手順を説明する。この手順は、データベース装置においてデータベースに接続された「データ探索機能」等により実行される。ここでも、データベースは、各々が1つ以上の属性を含むルートテーブルと、ルートテーブルの下のサブテーブルとを含むと仮定する。上述したように素数を乗算することで生成されたテーブル識別子TIDは、各サブテーブルに割り当てられていると更に仮定する。   Next, an exemplary procedure for searching for data associated with a new object in the database will be described with reference to the flowchart of FIG. This procedure is executed by a “data search function” or the like connected to the database in the database device. Again, assume that the database includes a route table, each containing one or more attributes, and a sub-table below the route table. It is further assumed that the table identifier TID generated by multiplying prime numbers as described above is assigned to each sub-table.

第1のステップ500において、オブジェクトのOIDに関するデータクエリは、クエリ要求側から受け取られる。次のステップ502において、オブジェクトに最も関連するテーブルのTIDは、上記の式(2)を使用することで、受け取ったOIDから算出される。その結果、OIDに符号化された最も高いTID値が得られる。例えば、kが10に設定されている場合、2k=1024である。受け取ったOIDが4369である場合、mod(OID,2k)=273である。これは、OID/2k=4369/1024=4+273/1024の時の整数剰余である。従って、TID=273であり、レベル306の第2のテーブルとして図3にも偶発的に存在する。13が273の最大素因数であるため、TID=273の親テーブルをPID=273/13=21として識別できる。 In a first step 500, a data query for an object's OID is received from a query requester. In the next step 502, the TID of the table most relevant to the object is calculated from the received OID using equation (2) above. As a result, the highest TID value encoded in the OID is obtained. For example, if k is set to 10, 2 k = 1024. If the received OID is 4369, mod (OID, 2 k ) = 273. This is an integer remainder when OID / 2 k = 4369/1024 = 4 + 273/1024. Therefore, TID = 273, and it happens to exist in FIG. Since 13 is the maximum prime factor of 273, the parent table with TID = 273 can be identified as PID = 273/13 = 21.

更なるステップ504において、算出されたTIDの最大素因数が判定され、第1のサブテーブルに接続された親テーブルの次のPIDは、先に算出されたTIDを最大素因数で除算することでそこから算出される。次にステップ506において、ルートテーブルに既に到達したかが判定される。まだ到達していない場合、ステップ504に戻り、次のPIDは、引き続き先に算出されたPIDに最大素因数を除算することで算出される。従って、ステップ504及び506は、ルートテーブルに到達するまで親テーブルを1つずつ見つけるように繰り返される。   In a further step 504, the maximum prime factor of the calculated TID is determined and the next PID of the parent table connected to the first sub-table is derived from that by dividing the previously calculated TID by the maximum prime factor. Calculated. Next, in step 506, it is determined whether the route table has already been reached. If not reached yet, the process returns to step 504, and the next PID is calculated by continuously dividing the previously calculated PID by the maximum prime factor. Thus, steps 504 and 506 are repeated to find the parent table one by one until the route table is reached.

ステップ506で最終的にルートテーブルに到達したことが分かると、有効なテーブルパスの判定が完了し、次のステップ508で算出されたTID/PIDに従ってパスにおいてテーブルからオブジェクトデータを探索し、取り出せる。上述したように、判定されたテーブルパスにある以外のあらゆるテーブルを探索する必要はない。その後、最後に示されるステップ510において、取り出されたオブジェクトのデータはクエリ要求側に返送される。   When it is determined in step 506 that the route table is finally reached, the valid table path determination is completed, and the object data can be searched from the table in the path according to the TID / PID calculated in the next step 508 and extracted. As described above, it is not necessary to search every table other than in the determined table path. Thereafter, in the last shown step 510, the retrieved object data is returned to the query requester.

次に、図6のフローチャートを参照して、新しいテーブルを追加することでデータベースを拡張する例示的な手順を説明する。この手順は、データベース装置においてデータベースに接続された「データベース構成機能」等により実行される。ここでも、データベースは、各々が1つ以上の属性を含むルートテーブルと、ルートテーブルの下のサブテーブルとを含むと仮定する。上述したように素数を乗算することで生成されたテーブル識別子TIDは、各サブテーブルに割り当てられていると更に仮定する。   Next, an exemplary procedure for extending the database by adding a new table will be described with reference to the flowchart of FIG. This procedure is executed by a “database configuration function” or the like connected to the database in the database device. Again, assume that the database includes a route table, each containing one or more attributes, and a sub-table below the route table. It is further assumed that the table identifier TID generated by multiplying prime numbers as described above is assigned to each sub-table.

この例において、例えばいくつかの点において既存のテーブル定義と適合しない新しい特徴を有するオブジェクトがデータベースに格納される場合、あるいは特定の既存のテーブルが非常に大量の格納データに実装され、そこでの探索を容易にするために細分化される必要がある場合、新しいテーブルをテーブル階層に追加することが望ましいと更に仮定する。最初に示されるステップ600において、新しいテーブルに関する情報は、一般に、例えばテーブルに対して名前を設定し、属性を規定することで規定されているデータベース構成機能において受け取られる。この詳細は本発明の範囲外である。新しいデーブルがテーブル階層のどこに位置すべきかが更に判定されている。すなわち、親テーブルが判定されている。   In this example, for example, if an object with new features that does not fit in some way with an existing table definition is stored in the database, or a specific existing table is implemented in a very large amount of stored data and searched there Further assume that it is desirable to add a new table to the table hierarchy if it needs to be subdivided to facilitate. In the first shown step 600, information about the new table is generally received at a database configuration function defined, for example, by setting a name for the table and defining attributes. This detail is outside the scope of the present invention. It is further determined where the new table should be located in the table hierarchy. That is, the parent table is determined.

次のステップ602において、TIDは、上述した方法で親テーブルのPIDに次に使用可能な素数を乗算することで新しいテーブルに対して生成される。次に後続のステップ604において、生成されたTIDがデータベース階層全体においてTIDの最大値として設定されているパラメータ2kに達しないかをチェックする。 In the next step 602, a TID is generated for the new table by multiplying the PID of the parent table by the next available prime number in the manner described above. Then in a subsequent step 604, the generated TID is checked or not reach the parameter 2 k which is set as the maximum value of the TID in the whole database hierarchy.

生成されたTIDがステップ604でパラメータ2k以上である場合、ステップ606で示されるように、kは1だけ増分され、すなわちk=k+1となり、データベースにおいてより大きなTIDに対して更なる「空間」を空け、データベースに既に格納されたOIDは、新たに増分されたkに基づいて更新されなければならない。上述したように、各OIDは式(1)に従って算出される。一方、生成されたTIDがステップ604でパラメータ2k未満である場合、kの現在の値を維持でき、OIDの更新が必要ないため、ステップ606は除外される。最終的に、最後に示されるステップ608において、新しいテーブルをデータベースに追加できる。 If the generated TID is greater than or equal to parameter 2 k in step 604, k is incremented by 1, as shown in step 606, ie k = k + 1, and additional “space” for larger TIDs in the database. And the OID already stored in the database must be updated based on the newly incremented k. As described above, each OID is calculated according to the equation (1). On the other hand, if the generated TID is less than parameter 2 k in step 604, step 606 is excluded because the current value of k can be maintained and no OID update is required. Finally, in the last shown step 608, a new table can be added to the database.

次に、図7のブロック図を参照して、データベース用の装置を更に詳細に説明する。データベース装置700は、図7には示されないが、ルートテーブルと、ルートテーブルの下の多数の階層レベルで編成された複数の事前定義されたサブテーブルとを含む階層データベース702においてオブジェクト関連データを処理するように構成される。各テーブルは、オブジェクトデータを格納できる1つ以上の属性を含む。データベース装置700は、上述の手順及び実施形態のいずれかを実行するために使用される。データベース装置700の種々の機能は、ユニット、ブロック、要素又は構成要素としても見なされるが、本明細書において「モジュール」と呼ばれる。   Next, the database apparatus will be described in more detail with reference to the block diagram of FIG. Although not shown in FIG. 7, the database device 700 processes object related data in a hierarchical database 702 that includes a root table and a plurality of predefined sub-tables organized at a number of hierarchical levels below the root table. Configured to do. Each table includes one or more attributes that can store object data. The database device 700 is used to perform any of the procedures and embodiments described above. The various functions of the database device 700 are also considered as units, blocks, elements or components, but are referred to herein as “modules”.

示されたデータベース装置は、格納機能704と、探索機能706と、構成機能708とを含む。構成機能708は、各サブテーブルの親テーブルと関連付けられた一連の素数を乗算することで生成されたテーブル識別子TIDをそのサブテーブルに割り当てるように構成される。格納機能704は、種々の連続したレベルで階層的に接続されたサブテーブルのパスのテーブル識別子TIDがオブジェクト識別子OIDに符号化されるようにデータベースにおいてオブジェクト識別子OIDを各オブジェクトに割り当て、接続されたサブテーブルのオブジェクトに関するデータをテーブルパスに格納するように構成される。   The illustrated database device includes a storage function 704, a search function 706, and a configuration function 708. The configuration function 708 is configured to assign a table identifier TID generated by multiplying a series of prime numbers associated with the parent table of each sub-table to that sub-table. The storage function 704 assigns an object identifier OID to each object in the database so that the table identifier TID of the path of sub-tables hierarchically connected at various consecutive levels is encoded into the object identifier OID, and is connected. It is configured to store data related to the objects in the subtable in the table path.

構成機能708は、親テーブルの次に使用可能な素数に隣接レベルのサブテーブルの親テーブルの親テーブル識別子PIDを乗算することでそのサブテーブルに対してテーブル識別子TIDを生成するように更に構成される。例えば、図3に示されたようなレベル306のTID=399は、次に使用可能な素数19にPID=21を乗算することで生成される。この場合、すなわち21・19=399である。   The configuration function 708 is further configured to generate a table identifier TID for the sub-table by multiplying the next available prime number of the parent table by the parent table identifier PID of the parent table of the adjacent level sub-table. The For example, TID = 399 at level 306 as shown in FIG. 3 is generated by multiplying the next available prime number 19 by PID = 21. In this case, that is 21 · 19 = 399.

図7において、格納機能704は、識別されたサブテーブル及びそのサブテーブルに階層的に接続された親テーブルを含むテーブルパスを判定するように構成された判定モジュール704aと、判定された関連するサブテーブルのテーブル識別子TIDから算出されたオブジェクトにオブジェクト識別子OIDを割り当てるように構成された割り当てモジュール704bと、パスのテーブルにデータ及びオブジェクト識別子OIDを格納するように構成された格納モジュール704cとを含む。   In FIG. 7, the storage function 704 includes a determination module 704a configured to determine a table path that includes an identified sub-table and a parent table that is hierarchically connected to the sub-table, and a determined associated sub-table. An allocation module 704b configured to allocate the object identifier OID to the object calculated from the table identifier TID of the table, and a storage module 704c configured to store the data and the object identifier OID in the path table are included.

割り当てモジュールは、オブジェクト識別子OIDをOID=2k・n+TIDのように算出するように更に構成される。式中、kは、データベース階層においてテーブル識別子TIDの最大値として2kを設定するように選択された整数であり、nは、判定された関連するサブテーブルのオブジェクトに対する順序番号である。 The allocation module is further configured to calculate the object identifier OID as OID = 2 k · n + TID. Where k is an integer selected to set 2 k as the maximum value of the table identifier TID in the database hierarchy, and n is the sequence number for the determined object of the associated subtable.

示されたデータベース装置は、受け取ったオブジェクト識別子OIDに基づいて、要求されたオブジェクトのオブジェクト識別子OIDに関するデータクエリが受け取られる場合に探索すべきテーブルを判定するように構成された探索機能706を更に含む。探索機能706は、受け取ったオブジェクト識別子OIDから要求されたオブジェクトに最も関連するサブテーブルのテーブル識別子TIDを算出するように構成された算出モジュール706aを含む。探索機能706は、ルートテーブルに到達するまで逐次レベルの親テーブル識別子PIDを算出することにより、受け取ったオブジェクト識別子OIDに符号化されたテーブルパスを判定するように構成された判定モジュール706bと、判定されたテーブルパスにおいてテーブルからオブジェクトデータを取り出し、データクエリに応答して取り出されたデータを返送するように構成された検索モジュール706cとを更に含む。   The illustrated database device further includes a search function 706 configured to determine, based on the received object identifier OID, a table to search when a data query regarding the object identifier OID of the requested object is received. . The search function 706 includes a calculation module 706a configured to calculate the table identifier TID of the sub-table most relevant to the requested object from the received object identifier OID. The search function 706 includes a determination module 706b configured to determine a table path encoded in the received object identifier OID by calculating a sequential level parent table identifier PID until the route table is reached. And a search module 706c configured to retrieve the object data from the table in the configured table path and return the retrieved data in response to the data query.

算出モジュール706aは、最も関連するサブテーブルのテーブル識別子TIDをTID=mod(OID,2k)のように算出するように更に構成される。式中、kは、データベース階層においてテーブル識別子TIDの最大値として2kを設定するように選択された整数であり、OIDは受け取ったオブジェクト識別子である。判定モジュール706bは、現在のテーブル識別子TIDを最大素因数で除算することで各親テーブル識別子PIDを算出するように更に構成される。 The calculation module 706a is further configured to calculate the table identifier TID of the most relevant sub-table as TID = mod (OID, 2 k ). Where k is an integer selected to set 2 k as the maximum value of the table identifier TID in the database hierarchy, and OID is the received object identifier. The determination module 706b is further configured to calculate each parent table identifier PID by dividing the current table identifier TID by the maximum prime factor.

構成機能708は、親テーブルのテーブル識別子PIDに親テーブルの次に使用可能な素数を乗算することでデータベースに追加される新しいサブテーブルに対するテーブル識別子TIDを算出するように構成された算出モジュール708aを含む。構成機能708は更新モジュール708bを更に含む。算出されたテーブル識別子TIDが2kを下回らない場合、更新モジュール708bは、kを1だけ増分し、新しいkに従ってデータベースに格納されたオブジェクトのオブジェクト識別子OIDを更新するように構成される。kは、データベース階層においてテーブル識別子TIDの最大値として2kを設定するように選択された整数である。構成機能708は、算出されたテーブル識別子TIDを使用して新しいサブテーブルをデータベースに追加するように構成された追加モジュール708cを更に含む。 The configuration function 708 includes a calculation module 708a configured to calculate a table identifier TID for a new sub-table added to the database by multiplying the table identifier PID of the parent table by the next available prime number of the parent table. Including. The configuration function 708 further includes an update module 708b. If the calculated table identifier TID does not fall below 2 k , the update module 708b is configured to increment k by 1 and update the object identifier OID of the object stored in the database according to the new k. k is an integer selected to set 2 k as the maximum value of the table identifier TID in the database hierarchy. The configuration function 708 further includes an add module 708c configured to add a new sub-table to the database using the calculated table identifier TID.

尚、当業者は、適切なソフトウェア手段及びハードウェア手段を使用して実際にこれらの機能を自由に実現するが、図7は、論理的な意味でデータベース装置における種々の機能ユニット又は機能モジュールを示すだけである。従って、一般に本発明は示されたそれぞれの機能704、706及び708の構造に限定されず、機能モジュール704a〜704c、706a〜706c及び708a〜708cは、適宜図2〜図6に対して上述した方法及び手順に従って動作するように構成される。   Note that those skilled in the art can freely implement these functions using appropriate software means and hardware means, but FIG. 7 shows various functional units or functional modules in the database apparatus in a logical sense. It just shows. Thus, in general, the present invention is not limited to the structure of each of the functions 704, 706, and 708 shown, and the functional modules 704a-704c, 706a-706c, and 708a-708c are described above with respect to FIGS. Configured to operate according to methods and procedures.

特定の例示的な実施形態を参照して本発明を説明したが、一般に明細書は、本発明の概念を示すことだけを意図し、本発明の範囲を限定するものとして解釈されるべきではない。本発明は添付の請求の範囲により規定される。   Although the invention has been described with reference to specific exemplary embodiments, in general, the specification is intended only to illustrate the concepts of the invention and should not be construed as limiting the scope of the invention. . The invention is defined by the appended claims.

Claims (17)

ルートテーブルと、前記ルートテーブルの下の多数の階層レベルで編成された複数の事前定義されたサブテーブルとを含む階層データベースにおいてオブジェクト関連データを処理する方法であって、ここで、各テーブルはオブジェクトデータを格納できる1つ以上の属性を含む、
テーブル識別子TIDが各サブテーブルに割り当てられ、
ここで、前記テーブル識別子IDは前記サブテーブルの親テーブルと関連付けられた一連の素数を乗算することで生成される;
種々の連続したレベルで階層的に接続されたサブテーブルのパスの前記テーブル識別子TIDがオブジェクト識別子OIDに符号化されるように、前記データベースにおいて各オブジェクトに前記オブジェクト識別子OIDが割り当てられ、
ここで、前記オブジェクトに関するデータが前記テーブルパスにおいて前記接続されたサブテーブルに格納される
ことを特徴とする方法。
A method for processing object related data in a hierarchical database comprising a root table and a plurality of predefined sub-tables organized at a number of hierarchical levels below said root table, wherein each table is an object Contains one or more attributes that can store data,
A table identifier TID is assigned to each sub-table,
Wherein the table identifier ID is generated by multiplying a series of prime numbers associated with the parent table of the sub-table;
The object identifier OID is assigned to each object in the database such that the table identifier TID of the path of sub-tables hierarchically connected at various successive levels is encoded into the object identifier OID;
Wherein the data about the object is stored in the connected sub-table in the table path.
1つのサブテーブルに対するテーブル識別子TIDは、隣接レベルにおける当該サブテーブルの親テーブルの親テーブルPIDと該親テーブルの次に使用可能な素数とを乗算することで生成されることを特徴とする請求項1に記載の方法。   The table identifier TID for one sub-table is generated by multiplying a parent table PID of a parent table of the sub-table at an adjacent level by a prime number that can be used next to the parent table. The method according to 1. オブジェクトに関連するデータを前記データベースに格納するため、
前記オブジェクトに関連する識別されたサブテーブル及び前記サブテーブルに階層的に接続された親テーブルを含むテーブルパスを判定するステップと、
前記判定された関連するサブテーブルの前記テーブル識別子TIDから算出された前記オブジェクトにオブジェクト識別子OIDを割り当てるステップと、
前記パスの前記テーブルに前記データ及び前記オブジェクト識別子OIDを格納するステップと
を備えることを特徴とする請求項1又は2記載の方法。
To store data related to objects in the database,
Determining a table path including an identified sub-table associated with the object and a parent table hierarchically connected to the sub-table;
Assigning an object identifier OID to the object calculated from the table identifier TID of the determined related sub-table;
The method according to claim 1, further comprising: storing the data and the object identifier OID in the table of the path.
前記オブジェクト識別子OIDは、OID=2k・n+TIDとして算出される、
ここで、kは、前記データベース階層において前記テーブル識別子TIDの最大値として2kを設定するように選択された整数であり、nは、前記判定された関連するサブテーブルのオブジェクトに対する順序番号である
ことを特徴とする請求項3に記載の方法。
The object identifier OID is calculated as OID = 2 k · n + TID.
Here, k is an integer selected to set 2 k as the maximum value of the table identifier TID in the database hierarchy, and n is a sequence number for the determined related sub-table object. The method according to claim 3.
要求されたオブジェクトのオブジェクト識別子OIDに関するデータクエリを受信した場合に前記データベースからオブジェクト関連データを検索するため、
前記受信したオブジェクト識別子OIDから前記要求されたオブジェクトに関連するサブテーブルのテーブル識別子TIDを算出するステップと、
前記ルートテーブルに到達するまで逐次レベルの親テーブル識別子PIDを算出することにより、前記受信したオブジェクト識別子OIDに符号化された前記テーブルパスを判定するステップと、
前記判定されたテーブルパスにおいて前記テーブルからオブジェクトデータを取り出すステップと、
前記データクエリに応答して前記取り出されたデータを返送するステップと
を備えることを特徴とする請求項1乃至4のいずれか1項に記載の方法。
To retrieve object related data from the database upon receiving a data query for the object identifier OID of the requested object;
Calculating a table identifier TID of a sub-table associated with the requested object from the received object identifier OID;
Determining the table path encoded in the received object identifier OID by calculating successive levels of the parent table identifier PID until reaching the route table;
Retrieving object data from the table in the determined table path;
The method according to any one of claims 1 to 4, comprising the step of returning the retrieved data in response to the data query.
前記要求されたオブジェクトに関連する前記サブテーブルの前記テーブル識別子TIDは、TID=mod(OID,2k)として算出される
ここで、kは、前記データベース階層において前記テーブル識別子TIDの最大値として2kを設定するように選択された整数であり、OIDは前記受信したオブジェクト識別子であることを特徴とする請求項5に記載の方法。
The table identifier TID of the sub-table associated with the requested object is calculated as TID = mod (OID, 2 k ), where k is 2 as the maximum value of the table identifier TID in the database hierarchy. 6. The method of claim 5, wherein k is an integer selected to set and OID is the received object identifier.
親テーブル識別子PIDの各々は、現在のテーブル識別子TIDを最大素因数で除算することで算出されることを特徴とする請求項5又は6に記載の方法。   The method according to claim 5 or 6, wherein each of the parent table identifiers PID is calculated by dividing the current table identifier TID by the maximum prime factor. 新しいサブテーブルを前記データベースに追加するため、
親テーブルの前記テーブル識別子PIDに次に使用可能な素数を乗算することで前記新しいサブテーブルに対するテーブル識別子TIDを算出するステップと、
前記算出されたテーブル識別子TIDが2kを下回らない場合、kを1だけ増分し、前記新しいkに従って前記データベースに格納されたオブジェクトの前記オブジェクト識別子OIDを更新するステップと、
ここで、kは前記データベース階層において前記テーブル識別子TIDの最大値として2kを設定するように選択された整数である;
前記算出されたテーブル識別子TIDを使用して前記新しいサブテーブルを前記データベースに追加するステップと
を更に備えることを特徴とする請求項1乃至7のいずれか1項に記載の方法。
To add a new subtable to the database,
Calculating a table identifier TID for the new sub-table by multiplying the table identifier PID of the parent table by a next available prime number;
If the calculated table identifier TID is not less than 2 k , increment k by 1 and update the object identifier OID of the object stored in the database according to the new k;
Where k is an integer selected to set 2 k as the maximum value of the table identifier TID in the database hierarchy;
The method according to claim 1, further comprising: adding the new sub-table to the database using the calculated table identifier TID.
ルートテーブルと、前記ルートテーブルの下の多数の階層レベルで編成された複数の事前定義されたサブテーブルとを含む階層データベース(702)においてオブジェクト関連データを処理するように構成されたデータベース装置(700)であって、ここで各テーブルはオブジェクトデータを格納できる1つ以上の属性を含む;
各サブテーブルの親テーブルと関連付けられた一連の素数を乗算することで生成されたテーブル識別子TIDを前記サブテーブルに割り当てるように構成される構成機能(708)と、
種々の連続したレベルで階層的に接続されたサブテーブルのパスの前記テーブル識別子TIDがオブジェクト識別子OIDに符号化されるように、前記データベースにおいて前記オブジェクト識別子OIDを各オブジェクトに割り当て、前記接続されたサブテーブルの前記オブジェクトに関するデータを前記テーブルパスに格納するように構成された格納機能(704)と、
を備えることを特徴とするデータベース装置(700)。
A database device (700) configured to process object related data in a hierarchical database (702) comprising a root table and a plurality of predefined sub-tables organized at a number of hierarchical levels below the root table. Where each table includes one or more attributes that can store object data;
A configuration function (708) configured to assign a table identifier TID generated by multiplying a series of prime numbers associated with a parent table of each sub-table to the sub-table;
Assigning the object identifier OID to each object in the database such that the table identifier TID of the path of sub-tables hierarchically connected at various successive levels is encoded into the object identifier OID, and the connected A storage function (704) configured to store data relating to the object of the sub-table in the table path;
A database apparatus (700) comprising:
前記構成機能(708)は、前記親テーブルの次に使用可能な素数に隣接レベルのサブテーブルの親テーブルの前記親テーブル識別子PIDを乗算することで、当該サブテーブルに対して前記テーブル識別子TIDを生成するように更に構成されることを特徴とする請求項9に記載の装置。   The configuration function (708) multiplies the next available prime number of the parent table by the parent table identifier PID of the parent table of the sub-table of the adjacent level, and thereby adds the table identifier TID to the sub table. The apparatus of claim 9, further configured to generate. 前記格納機能(704)は、
前記オブジェクトに関連する識別されたサブテーブル及び前記サブテーブルに階層的に接続された親テーブルを含むテーブルパスを判定するように構成された判定モジュール(704a)と、
前記判定された関連するサブテーブルの前記テーブル識別子TIDから算出された前記オブジェクトにオブジェクト識別子OIDを割り当てるように構成された割り当てモジュール(704b)と、
前記パスの前記テーブルに前記データ及び前記オブジェクト識別子OIDを格納するように構成された格納モジュール(704c)と
を含むことを特徴とする請求項9又は10に記載の装置。
The storage function (704)
A determination module (704a) configured to determine a table path including an identified sub-table associated with the object and a parent table hierarchically connected to the sub-table;
An assignment module (704b) configured to assign an object identifier OID to the object calculated from the table identifier TID of the determined related sub-table;
11. A device according to claim 9 or 10, comprising a storage module (704c) configured to store the data and the object identifier OID in the table of the path.
前記割り当てモジュールは、前記オブジェクト識別子OIDをOID=2k・n+TIDとして算出するように更に構成され、
ここで、kは、前記データベース階層において前記テーブル識別子TIDの最大値として2kを設定するように選択された整数であり、nは、前記判定された関連するサブテーブルのオブジェクトに対する順序番号である
ことを特徴とする請求項11に記載の装置。
The allocation module is further configured to calculate the object identifier OID as OID = 2 k · n + TID;
Here, k is an integer selected to set 2 k as the maximum value of the table identifier TID in the database hierarchy, and n is a sequence number for the determined related sub-table object. The apparatus according to claim 11.
前記受信したオブジェクト識別子OIDに基づいて、要求されたオブジェクトのオブジェクト識別子OIDに関するデータクエリが受け取られる場合に探索すべきテーブルを判定するように構成された探索機能706を更に含むことを特徴とする請求項9乃至12のいずれか1項に記載の装置。   The method further comprises a search function 706 configured to determine a table to search when a data query regarding the object identifier OID of the requested object is received based on the received object identifier OID. Item 13. The device according to any one of Items 9 to 12. 前記探索機能(706)は、
前記受け取ったオブジェクト識別子OIDから前記要求されたオブジェクトに関連するサブテーブルのテーブル識別子TIDを算出するように構成された算出モジュール(706a)と、
前記ルートテーブルに到達するまで逐次レベルの親テーブル識別子PIDを算出することにより、前記受け取ったオブジェクト識別子OIDに符号化されたテーブルパスを判定するように構成された判定モジュール(706b)と、
前記判定されたテーブルパスにおいて前記テーブルからオブジェクトデータを取り出し、前記データクエリに応答して前記取り出されたデータを返送するように構成された検索モジュール(706c)と
を含むことを特徴とする請求項13に記載の装置。
The search function (706)
A calculation module (706a) configured to calculate a table identifier TID of a sub-table associated with the requested object from the received object identifier OID;
A determination module (706b) configured to determine a table path encoded in the received object identifier OID by calculating a sequential level parent table identifier PID until reaching the route table;
A search module (706c) configured to retrieve object data from the table in the determined table path and return the retrieved data in response to the data query. 13. The apparatus according to 13.
前記算出モジュール(706a)は、前記要求されたオブジェクトに関連する前記サブテーブルの前記テーブル識別子TIDをTID=mod(OID,2k)として算出する
ここで、kは、前記データベース階層において前記テーブル識別子TIDの最大値として2kを設定するように選択された整数であり、OIDは前記受信したオブジェクト識別子であることを特徴とする請求項14に記載の装置。
The calculation module (706a) calculates the table identifier TID of the sub-table associated with the requested object as TID = mod (OID, 2 k ), where k is the table identifier in the database hierarchy a selected integer to set the 2 k as the maximum value of the TID, OID apparatus according to claim 14, characterized in that the object identifier to the received.
前記判定モジュール(706b)は、現在のテーブル識別子TIDを最大素因数で除算することで親テーブル識別子PIDの各々を算出するように更に構成されることを特徴とする請求項14又は15に記載の装置。   The apparatus according to claim 14 or 15, wherein the determination module (706b) is further configured to calculate each of the parent table identifiers PID by dividing the current table identifier TID by a maximum prime factor. . 前記構成機能(708)は、
親テーブルの前記テーブル識別子PIDに前記親テーブルの次に使用可能な素数を乗算することで前記データベースに追加される新しいサブテーブルに対するテーブル識別子TIDを算出するように構成された算出モジュール(708a)と、
前記算出されたテーブル識別子TIDが2kを下回らない場合、kを1だけ増分し、前記新しいkに従って前記データベースに格納されたオブジェクトの前記オブジェクト識別子OIDを更新するように構成される更新モジュール(708b)と、
ここで、kは前記データベース階層において前記テーブル識別子TIDの最大値として2kを設定するように選択された整数である;
前記算出されたテーブル識別子TIDを使用して前記新しいサブテーブルを前記データベースに追加するように構成された追加モジュール(708c)と
を含むことを特徴とする請求項9乃至16のいずれか1項に記載の装置。
The configuration function (708)
A calculation module (708a) configured to calculate a table identifier TID for a new sub-table added to the database by multiplying the table identifier PID of the parent table by the next available prime number of the parent table; ,
If the calculated table identifier TID is not less than 2 k, increments k by 1, and update module to update the object identifier OID of the object the stored in the database according to the new k (708b )When,
Where k is an integer selected to set 2 k as the maximum value of the table identifier TID in the database hierarchy;
17. An add module (708c) configured to add the new sub-table to the database using the calculated table identifier TID, according to any one of claims 9 to 16 The device described.
JP2012547050A 2009-12-29 2009-12-29 Method and apparatus for storing data Withdrawn JP2013516017A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/SE2009/051511 WO2011081580A1 (en) 2009-12-29 2009-12-29 Method and arrangement for data storage

Publications (1)

Publication Number Publication Date
JP2013516017A true JP2013516017A (en) 2013-05-09

Family

ID=44226699

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012547050A Withdrawn JP2013516017A (en) 2009-12-29 2009-12-29 Method and apparatus for storing data

Country Status (3)

Country Link
EP (1) EP2519899A4 (en)
JP (1) JP2013516017A (en)
WO (1) WO2011081580A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102955843B (en) * 2012-09-20 2015-07-22 北大方正集团有限公司 Method for realizing multi-key finding of key value database
CN112395293B (en) * 2020-11-27 2024-03-01 浙江诺诺网络科技有限公司 Database and table dividing method, database and table dividing device, database and table dividing equipment and storage medium

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040122825A1 (en) * 2002-12-20 2004-06-24 International Business Machines Corporation Method, system, and program product for managing hierarchical structure data items in a database
GB2422924A (en) * 2005-02-04 2006-08-09 Sony Comp Entertainment Europe Determining derived relationships in a hierarchical structure
US7487143B2 (en) * 2005-11-17 2009-02-03 International Business Machines Corporation Method for nested categorization using factorization
GB0623059D0 (en) * 2006-11-18 2006-12-27 Etgar Ran Database system and method

Also Published As

Publication number Publication date
EP2519899A4 (en) 2016-11-09
WO2011081580A1 (en) 2011-07-07
EP2519899A1 (en) 2012-11-07

Similar Documents

Publication Publication Date Title
CN101727465B (en) Methods for establishing and inquiring index of distributed column storage database, device and system thereof
US20100299337A1 (en) Computer System for Processing a Query
JP2002529819A (en) Method and apparatus for occupying sparse matrix entries with corresponding data
US20200250192A1 (en) Processing queries associated with multiple file formats based on identified partition and data container objects
US10936606B2 (en) Method and system for processing data in a parallel database environment
US11036709B2 (en) Single-level, multi-dimension, hash-based table partitioning
CN111107131A (en) Management method and device of Internet of things equipment, server and storage medium
CN107203532A (en) Construction method, the implementation method of search and the device of directory system
US20080097971A1 (en) Peer-to-peer based secondary key search method and system for cluster database
JPH10240765A (en) Method for retrieving similar object and device therefor
CN114090695A (en) Query optimization method and device for distributed database
US6704721B1 (en) Systems and methods for automated navigation between dynamic data with dissimilar structures
CN107704475B (en) Multilayer distributed unstructured data storage method, query method and device
JP2013516017A (en) Method and apparatus for storing data
CN107341221B (en) Index structure establishing and associated retrieving method, device, equipment and storage medium
JPH08110912A (en) Device and method for retrieving moving image
CN107239568A (en) Distributed index implementation method and device
CN117171161A (en) Data query method and device
JP2001160070A (en) Hierarchical method for retrieval of content base picture
EP1569132B1 (en) Computer system and method of performing a database access
US20100121837A1 (en) Apparatus and Method for Utilizing Context to Resolve Ambiguous Queries
JP2000010989A (en) Similar object retrieval method/device and recording medium recording similar object retrieval program
US8135665B2 (en) Systems and methods for executing a database query to perform multi-level deployment
JP2003316811A (en) Inquiry optimization processing device in different kind of database integration system, method and program making computer execute the method
US7159019B2 (en) Information collection apparatus and method

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130911

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20130912