"1つまたは複数のディジタルデータ処理システム上で実施されるデータ記憶および/または検索システムであって、エンティティ型ごとの複数のデータトンネルと、属性ごとの固定された複数のデータトンネルとを備え、前記データトンネルのうちの1つまたは複数が複数のデータセルを備える記憶媒体であり、前記データセルのそれぞれが、エンティティ型のそれぞれのインスタンスについての属性のそれぞれのインスタンスと関連付けられたデータを含み、前記データトンネルのうちの1つまたは複数について、前記データトンネルのうちの1つまたは複数のそれぞれにおける前記データセルが、属性のそれぞれのインスタンスが1つまたは複数のオペランドの所与の集合についてそれぞれの演算子によって特徴付けられる可能性または不可能性を指示するブール値の結果に前記演算子が評価するためのデータを有する前記記憶媒体と、前記記憶媒体と通信結合状態にあり、前記演算子のうちの1つまたは複数および1つまたは複数のオペランドの所与の集合に基づいて1つまたは複数のデータトンネルにアクセスする記憶エンジンとを備えるシステム。エンティティ型ごとの複数の連結データトンネルと、属性ごとの固定された複数の連結データトンネルとを備え、前記連結データトンネルのうちの1つまたは複数が複数の連結データセルを備える記憶媒体であり、前記連結データセルのそれぞれが、エンティティ型のそれぞれのインスタンスについての属性のそれぞれのインスタンスと関連付けられたデータを含み、属性のそれぞれのインスタンスが、ただ1つのそれぞれの連結データトンネルにおいて1つのそれぞれの連結データセルを有し、前記連結データトンネルのうちの1つまたは複数について、前記連結データトンネルのうちの1つまたは複数のそれぞれにおける前記連結データセルが、属性のそれぞれのインスタンスが1つまたは複数のオペランドの所与の集合について等価である可能性または不可能性を指示するブール値の結果にそれぞれの等価演算子が評価するためのデータを有する前記記憶媒体と、前記記憶媒体と通信結合状態にあり、前記等価演算子のうちの1つまたは複数および1つまたは複数のオペランドの所与の集合に基づいて1つまたは複数の連結データトンネルにアクセスする記憶エンジンとを備える、請求項1、45、75、76、77、79、および81のいずれかに記載のデータ記憶および/または検索システム。エンティティ型ごとの複数の連結データトンネルと、属性ごとの固定された複数の連結データトンネルとを備え、前記連結データトンネルのうちの1つまたは複数が複数の連結データセルを備える記憶媒体であり、前記連結データセルのそれぞれが、エンティティ型のそれぞれのインスタンスについての属性のそれぞれのインスタンスと関連付けられたデータを含み、前記連結データトンネルのうちの1つまたは複数について、前記連結データトンネルのうちの1つまたは複数のそれぞれにおける前記連結データセルが、属性のそれぞれのインスタンスが1つまたは複数のオペランドの所与の集合について等価である可能性または不可能性を指示するブール値の結果にそれぞれの等価演算子が評価するためのデータを有し、連結データセルの過半数が、1つまたは複数のオペランドの所与の集合について同様の結果をもたらす前記記憶媒体と、前記記憶媒体と通信結合状態にあり、前記等価演算子のうちの1つまたは複数および1つまたは複数のオペランドの所与の集合に基づいて1つまたは複数の連結データトンネルにアクセスする記憶エンジンとを備える、請求項2に記載のデータ記憶および/または検索システム。前記連結データセルが、前記属性の前記それぞれのインスタンスのダイジェストを含み、前記それぞれの連結データトンネルが、前記属性の前記それぞれのインスタンスの定義済みハッシュ符号化から、前記ハッシュ符号化に前記複数の連結データトンネルの数のモジュロを適用することによって選択される、請求項3に記載のデータ記憶および/または検索システム。前記属性の前記それぞれのインスタンスのサイズが十分に小さいときに、前記それぞれのインスタンスの前記ダイジェストが前記それぞれのインスタンスの値自体であり、それによって前記等価演算子が等価を確実視することができる、請求項4に記載のデータ記憶および/または検索システム。エンティティ型ごとの複数の組合せデータトンネルと、属性ごとの固定された複数の組合せデータトンネルとを備え、前記データトンネルのうちの1つまたは複数が複数の組合せデータセルを備える記憶媒体であり、前記組合せデータセルのそれぞれが、エンティティ型のそれぞれのインスタンスについての属性のそれぞれのインスタンスと関連付けられたデータを含み、属性のそれぞれのインスタンスが、すべてのそれぞれの組合せデータトンネルにおいて1つのそれぞれの組合せデータセルを有し、前記組合せデータトンネルのうちの1つまたは複数について、前記組合せデータトンネルのうちの1つまたは複数のそれぞれにおける前記組合せセルが、属性のそれぞれのインスタンスが1つまたは複数のオペランドの所与の集合について範囲を定められる可能性または不可能性を指示するブール値の結果にそれぞれの範囲限定演算子が評価するためのデータを有する前記記憶媒体と、前記記憶媒体と通信結合状態にあり、前記範囲限定演算子のうちの1つまたは複数および1つまたは複数のオペランドの所与の集合に基づいて1つまたは複数の組合せデータトンネルにアクセスする記憶エンジンとを備える、請求項1、45、75、76、77、79、および81のいずれかに記載のデータ記憶および/または検索システム。それぞれの属性の各インスタンスが、一元的な位取りで、固定小数点に対する有効数字部として表現され、各組合せデータトンネルが前記有効数字部の部分に対応し、すべての組合せデータトンネルが前記有効数字部に関しては相互排他的であり、すべての組合せデータトンネルが前記有効数字部の全体を囲む、請求項6に記載のデータ記憶および/または検索システム。前記記憶システムの前記属性の前記組合せトンネルの読取りアクセスの間の範囲限定演算子の前記評価についてのさらなる改善が、前記範囲限定演算子内のそれぞれの境界オペランドを、固定小数点を有する一元的な位取りの有効数字部に変換するステップと、それぞれの境界オペランドの有効数字部ビットを有効桁の降順で比較して、前記オペランド間で異なる最初の有効数字部ビットを見つけ、すべての先行する共通ビットを決定データ値とみなすステップと、前記決定値の有効数字の厳密な部分集合を含む最低有効数字の組合せデータトンネルを見つけ、前記組合せデータトンネルを決定データトンネルとみなすステップと、前記属性にかかわる他の組合せデータトンネルの前にまず前記決定データトンネルにアクセスするステップと、前記決定データトンネルのすべての組合せデータセルを検査し、前記組合せデータセルが前記決定データ値と等しくない場合に、それぞれのエンティティインスタンスの適合性を前記範囲限定演算子について不可能であるとみなし、それによって、前記決定データトンネル以外の組合せデータトンネルにおける、適合性不可能とみなされないエンティティインスタンスにかかわる組合せデータセルだけが、前記それぞれの範囲限定演算子および前記範囲限定演算子のそれぞれのオペランドへのそれぞれのエンティティインスタンスの適合性を判定する目的で検査されさえすればよいステップとを含む、請求項7に記載のデータ記憶および/または検索システム。エンティティ型ごとの複数の特性データトンネルと、属性ごとの固定された複数の特性データトンネルとを備え、前記特性データトンネルのうちの1つまたは複数が複数のデータセルを備える記憶媒体であり、前記特性データセルのそれぞれが、エンティティ型のそれぞれのインスタンスについての属性のそれぞれのインスタンスと関連付けられたデータを含み、属性のそれぞれのインスタンスが、すべてのそれぞれの特性データトンネルにおいて1つのそれぞれの特性データセルを有し、前記特性データトンネルのうちの1つまたは複数について、前記特性データトンネルのうちの1つまたは複数における前記特性データセルが、属性のそれぞれのインスタンスが1つまたは複数のオペランドの所与の集合についてプロパティを所有する可能性または不可能性を指示するブール値の結果にそれぞれの所有演算子が評価するためのデータを有する前記記憶媒体と、前記記憶媒体と通信結合状態にあり、前記所有演算子のうちの1つまたは複数および1つまたは複数のオペランドの所与の集合に基づいて1つまたは複数の特性データトンネルにアクセスする記憶エンジンとを備える、請求項1、45、75、76、77、79、および81のいずれかに記載のデータ記憶および/または検索システム。各特性データトンネルが1つまたは複数のプロパティにかかわり、特性データセルが、前記属性の前記それぞれのインスタンスによるそれぞれのプロパティの所有のブール値の指示を含む、請求項9に記載のデータ記憶および/または検索システム。特性トンネルが、プロパティ識別情報をハッシュ符号化し、前記ハッシュ符号化に複数の特性データトンネルの数のモジュロを適用することによってプロパティにかかわるように選択される、請求項10に記載のデータ記憶および/または検索システム。特性トンネルが、厳密に単調に増加する序数を各一意のプロパティ識別情報に割り当て、前記序数に複数の特性データトンネルの数のモジュロを適用することによってプロパティにかかわるように選択され、それによって、前記所有演算子が、M-T<P<2Tである場合に所有を確実視することができ、式中、Pは前記プロパティの前記序数であり、Mは割り当てられる最大序数であり、Tは特性トンネルの前記数である、請求項10に記載のデータ記憶および/または検索システム。特性トンネルが、厳密に単調に増加する序数を前記それぞれの属性について各一意のプロパティ識別情報に割り当て、複数の特性データトンネルの数のモジュロを前記序数に適用することによってプロパティにかかわるように選択され、それによって、前記所有演算子が、M-T<P<2Tである場合に所有を確実視することができ、式中、Pは前記プロパティの前記序数であり、Mは前記それぞれの属性について割り当てられる最大序数であり、Tは特性トンネルの前記数である、請求項10に記載のデータ記憶および/または検索システム。エンティティ型ごとの複数の集合データトンネルを備え、前記集合データトンネルのうちの1つまたは複数が複数の集合データセルを備える記憶媒体であり、各集合データトンネルが、エンティティ型のそれぞれのインスタンスと関連付けられたデータを含み、前記集合データセルのそれぞれが、エンティティ型のそれぞれのインスタンスについての属性のそれぞれのインスタンスと関連付けられたデータを含み、前記集合データセルのそれぞれが、識別情報、測定、列挙または不透明度のうちの1つとして特徴付けられるデータを含む前記記憶媒体を備える、請求項1、45、75、76、77、79、および81のいずれかに記載のデータ記憶および/または検索システム。識別情報の1つとして特徴付けられる集合データセルが、前記それぞれの属性の前記それぞれのインスタンスについての識別情報の等価性の確実性が同様の並び順のビットの比較によって決定され得るように、前記識別情報を表す前記ビットのシーケンスを含む、請求項14に記載のデータ記憶および/または検索。測定の1つとして特徴付けられる集合データセルが、ある範囲によって境界が定められる前記それぞれの属性のそれぞれのインスタンスの確実性が、それぞれの符号ビット、有効数字部ビットおよび指数ビットの比較によって決定され得るように、前記符号ビット、複数の前記有効数字部ビットおよび複数の前記指数ビットを含む、請求項14に記載のデータ記憶および/または検索システム。列挙の1つとして特徴付けられる集合データセルが、前記それぞれの属性の前記それぞれのインスタンスによるプロパティの所有の確実性が、1つまたは複数のそれぞれのプロパティについての同様の並び順のビットの比較によって決定され得るように、各プロパティが前記ビットのシーケンスからなる複数のプロパティを含む、請求項14に記載のデータ記憶および/または検索システム。各データトンネルが、記憶への書込みアクセスの間に個別に暗号化され、記憶からの読取りアクセスの間に個別に解読される、請求項14に記載のデータ記憶および/または検索システム。各データセルが、記憶への書込みアクセスの間に個別に暗号化され、記憶からの読取りアクセスの間に個別に解読される、請求項14に記載のデータ記憶および/または検索システム。1つまたは複数のトンネルの特定の集合が、問合せクエリを構成する前記演算子および前記演算子のそれぞれのオペランドごとにアクセスされる、請求項1、14、45、75、76、77、79および81のいずれかに記載のデータ記憶および/または検索システム。1つまたは複数のデータトンネルが、前記各演算子および前記各演算子のオペランドの前記評価のために、独立して、同時にアクセスされる、請求項20に記載のデータ記憶および/または検索システム。各演算子評価が、可能性が高いとみなされるそれぞれのインスタンスについての確実性または不確実性のブール値の指示を含む、請求項20に記載のデータ記憶および/または検索システム。演算子評価が、いくつかの不確実なそれぞれのエンティティインスタンスが演算子評価から退けられ得るように、共通のそれぞれのエンティティ型について論理積的に組み合わされる、請求項22に記載のデータ記憶および/または検索システム。演算子評価の後の具体化が、不確実とみなされる属性の前記それぞれのインスタンスについての前記それぞれの集合データセルを検査することによって不確実性を解決することができる、請求項22に記載のデータ記憶および/または検索システム。データトンネルが、前記各演算子および前各記演算子のそれぞれのオペランドの前記評価のために、記憶媒体から一括して読取りアクセスされる、請求項20に記載のデータ記憶および/または検索システム。互いに異なる属性が、対応するデータトンネルにおける前記属性のそれぞれのデータセルの比較による前記属性のそれぞれのインスタンスの等価性によって相互に関連付けられ得る、請求項1、45、75、76、77、79、および81のいずれかに記載のデータ記憶および/または検索システム。互いに異なる属性が、対応する連結データトンネルにおける前記属性のそれぞれの連結データセルの比較による前記属性のそれぞれのインスタンスの等価性によって相互に関連付けられ得る、請求項1、45、75、76、77、79、および81のいずれかに記載のデータ記憶および/または検索システム。複数のデータトンネルおよびそれぞれの演算子が、任意の構造のエンティティのインスタンスに関連する、請求項1、45、75、76、77、79、および81のいずれかに記載のデータ記憶および/または検索システム。複数の連結データトンネルおよびそれぞれの演算子が、任意の構造のエンティティのインスタンスに関連する、請求項28に記載のデータ記憶および/または検索システム。複数の組合せデータトンネルおよびそれぞれの演算子が、任意の構造のエンティティのインスタンスに関連する、請求項28に記載のデータ記憶および/または検索システム。複数の特性データトンネルおよびそれぞれの演算子が、任意の構造のエンティティのインスタンスに関連する、請求項28に記載のデータ記憶および/または検索システム。複数のデータトンネルおよびそれぞれの演算子が、エンティティ型の互いに異なるインスタンスが構造を異にする前記エンティティ型のインスタンスに関連する、請求項28に記載のデータ記憶および/または検索システム。複数の連結データトンネルおよびそれぞれの演算子が、エンティティ型の互いに異なるインスタンスが構造を異にする前記エンティティ型のインスタンスに関連する、請求項32に記載のデータ記憶および/または検索システム。複数の組合せデータトンネルおよびそれぞれの演算子が、エンティティ型の互いに異なるインスタンスが構造を異にする前記エンティティ型のインスタンスに関連する、請求項32に記載のデータ記憶および/または検索システム。複数の特性データトンネルおよびそれぞれの演算子が、エンティティ型の互いに異なるインスタンスが構造を異にする前記エンティティ型のインスタンスに関連する、請求項32に記載のデータ記憶および/または検索システム。データセルが、前記それぞれの属性についての領域および符号化から独立したデータからなり、それによって、前記属性の互いに異なるインスタンスが領域または符号化を異にし得る、請求項1、45、75、76、77、79、および81のいずれかに記載のデータ記憶および/または検索システム。連結データセルが、前記それぞれの属性についての領域および符号化から独立したデータからなり、それによって、前記属性の互いに異なるインスタンスが領域または符号化を異にし得る、請求項36に記載のデータ記憶および/または検索システム。組合せデータセルが、前記それぞれの属性についての領域および符号化から独立したデータからなり、それによって、前記属性の互いに異なるインスタンスが領域または符号化を異にし得る、請求項36に記載のデータ記憶および/または検索システム。特性データセルが、前記それぞれの属性についての領域および符号化から独立したデータからなり、それによって、前記属性の互いに異なるインスタンスが領域または符号化を異にし得る、請求項36に記載のデータ記憶および/または検索システム。データベーススキーマからそれぞれの属性に適用可能な前記演算子およびそれぞれのデータトンネルを識別するためのさらなる改善が、前記属性のインスタンスについてのデータが前記属性にかかわる連結データトンネル内の連結データセルに記憶されるように、前記属性についての関係制約条件から等価演算子の適用可能性を識別するステップと、前記属性のインスタンスについてのデータが前記属性にかかわる組合せデータトンネル内の組合せデータセルに記憶されるように、前記属性についての数値もしくは時間領域または算術領域の制約条件から範囲限定演算子の適用可能性を識別するステップと、前記属性のインスタンスについてのデータが前記属性にかかわる特性データトンネル内の特性データセルに記憶されるように、前記属性についての特性領域または列挙領域の制約条件から所有演算子の適用可能性を識別するステップと、前記属性のインスタンスについてのデータが前記属性にかかわる任意の連結データトンネル、組合せデータトンネルまたは特性データトンネルに記憶されないように、前記属性についてのオブジェクトもしくはバイナリ領域または外部参照から前記演算子の適用不可能性を識別するステップとを含む、請求項1、45、75、76、77、79、および81のいずれかに記載のデータ記憶および/または検索システム。関係データベーススキーマからそれぞれの属性に適用可能な前記演算子およびそれぞれのデータトンネルを識別するためのさらなる改善が、前記属性のインスタンスについてのデータが前記属性にかかわる連結データトンネル内の連結データセルに記憶されるように、前記属性についての主キーおよび外部キーの制約条件から等価演算子の適用可能性を識別するステップと、前記属性のインスタンスについてのデータが前記属性にかかわる組合せデータトンネル内の組合せデータセルに記憶されるように、前記属性についての数値もしくは時間領域または算術検査の制約条件から範囲限定演算子の適用可能性を識別するステップと、前記属性のインスタンスについてのデータが前記属性にかかわる特性データトンネル内の特性データセルに記憶されるように、前記属性の特性領域または列挙検査の制約条件から所有演算子の適用可能性を識別するステップと、前記属性のインスタンスについてのデータが前記属性にかかわる任意の連結データトンネル、組合せデータトンネルまたは特性データトンネルに記憶されないように、前記属性についての大きなオブジェクト領域または外部参照から前記演算子の適用不可能性を識別するステップとを含む、請求項40に記載のデータ記憶および/または検索システム。問合せ結果の具体化を目的としてデータトンネルにアクセスするためのさらなる改善が、問合せ式をリファクタリングして演算子および前記演算子のそれぞれのオペランドの論理和正規形式を生成するステップと、前記演算子の結果が同じ論理積項内の1つまたは複数の他の演算子によって含意される場合に、前記論理和正規形式の各論理積項から各演算子およびそれぞれのオペランドを除去するステップと、前記論理積項が常に偽であるとみなされる演算子およびそれぞれのオペランドを含む場合に、前記論理和正規形式から各論理積項を除去するステップと、前記論理和正規形式の各演算子が単一のエンティティ型にかかわる場合に、前記演算子を評価して、コンピュータメモリに記憶するために、前記演算子ごとに独立して、同時に、前記演算子ごとのエンティティインスタンスの別々の関連集合を生成するステップと、エンティティインスタンスの前記関連集合が共通のエンティティ型にかかわる場合に、前記エンティティについてのあらゆる前記集合に対応しない前記集合のメンバが廃棄されるようにエンティティインスタンスの前記関連集合を縮小して、コンピュータメモリに記憶するために、前記論理和正規形の各論理積項内のそれぞれのエンティティ型ごとに独立して、同時に、前記エンティティ型についてのエンティティインスタンスの共通集合を生成するステップと、シーケンス内の演算子をバインドすることによって対にされた前記エンティティ型についての前記エンティティインスタンスの共通集合を相互に関連付けて、コンピュータメモリに記憶するために、前記論理積項ごとに独立して、同時に、それぞれのエンティティ型ごとのエンティティインスタンスの相関集合を生成するステップと、エンティティインスタンスの各前記相関集合にかかわるデータトンネルにアクセスして、コンピュータメモリに記憶するために、前記論理積項ごとに独立して、同時に、それぞれのエンティティ型ごとに独立して、別々に、問合せ結果インスタンスの集合を生成するステップと、問合せ結果インスタンスが前記それぞれの論理積項と競合する場合に、コンピュータメモリに記憶するために、前記論理積項ごとに独立して、同時に、問合せ結果インスタンスをボイドとマークするステップと、コンピュータメモリに記憶するために、各前記集合からのそれぞれの問合せ結果インスタンスが組み合わされて問合せ結果インスタンスの単一の集合になるように、前記論理積項ごとに問合せ結果インスタンスの前記集合をマージするステップとを含む、請求項1、14、45、75、76、77、79、および81のいずれかに記載のデータ記憶および/または検索システム。エンティティインスタンスの相関集合を生成する目的で前記論理積項内のエンティティインスタンスの前記共通集合を相互に関連付けるためのさらなる改善が、メモリに記憶するために、バインド演算子の定義済みの訪問順序における相互対応バインド演算子にまたがるエンティティインスタンスの共通集合の対を相互に関連付けるステップと、メモリに記憶するために、エンティティインスタンスのそれぞれの相関集合内のエンティティインスタンスの濃度を前記訪問順序と逆の順に更新するステップとを含む、請求項42に記載のデータ記憶および/または検索システム。前記論理積項を伴う前記バインド演算子の前記訪問順序を決定するためのさらなる改善が、前記論理積項内の最小数のそれぞれのエンティティインスタンスを有するエンティティインスタンスの共通集合を、エンティティインスタンスの原始集合として選択するステップと、エンティティインスタンスの前記原始集合に対応する前記バインド演算子の1つを、前記訪問順序における最初のバインド演算子として選択するステップと、前記訪問順序において出現していない、または前記訪問順序においてすでに出現しているが、その後に訪問されたバインド演算子の影響を受けている、エンティティインスタンスの同じ共通集合に対応するバインド演算子の中からの後続のバインド演算子を、最後に訪問されたバインド演算子として選択するステップと、エンティティインスタンスの相関集合が、コンピュータメモリに記憶するために前記訪問順序において生成されるように、次のバインド演算子が選択に利用できなくなるまで先のステップを繰り返すステップとを含む、請求項43に記載のデータ記憶および/または検索システム。1つまたは複数のディジタルデータ処理システム上で実施されるデータ記憶および/または検索システムであって、それぞれのデータベーストランザクションにおけるデータベース演算によって操作されるエンティティ型のインスタンスごとに複数のデータセグメントを備える記憶媒体であり、すべてのデータセグメントが、任意のサイズの連続したデータヒープ内で維持され、すべての新しいデータセグメントが前記データヒープに追加され、任意の順に、それぞれのトランザクションおよびそれぞれのエンティティインスタンスに割り当てられる前記記憶媒体と、前記記憶媒体と通信結合状態にあり、前記トランザクションのいずれか1つが前記トランザクションの状態をコミットするときに、最小限の数の記憶書込み演算において前記データヒープを記憶媒体に書き込む記憶エンジンとを備えるデータ記憶および/または検索システム。前記データヒープ内のすべての前記データセグメントが最小限の記憶書込み要求で記憶に書き込まれるように記憶書込み演算が行われる、請求項1、45、75、76、77、79、および81のいずれかに記載のデータ記憶および/または検索システム。トランザクションの状態をコミットする前記トランザクションが、前記データヒープについての次の記憶書込み演算が正常に完了するまで前記コミットを完了することができないように、前記データヒープについての記憶書込み演算が事前定義済みの一定の間隔でのみ行われる、請求項1、45、75、76、77、79、および81のいずれかに記載のデータ記憶および/または検索システム。エンティティ型のインスタンスが、前記それぞれのインスタンスの反転を追加することによって論理的に削除され、前記反転が、すべてのそれぞれの連結データトンネル、組合せデータトンネルおよび特性データトンネルにおいて前記それぞれのインスタンスと同一のように見え、エンティティ型ごとの単一の反転データトンネルが、前記エンティティ型のそれぞれのインスタンスの反転を表す複数のデータセルを含む、請求項1、45、75、76、77、79、および81のいずれかに記載のデータ記憶および/または検索システム。データトンネルおよびデータヒープへの追加アクセスが時系列順に行われ、データトンネルおよびデータヒープへの読取りアクセスが逆時系列順に行われ、読取りアクセスが、反転を累積し、対応するエンティティインスタンスに遭遇する際に前記対応するエンティティインスタンスを割り引くことによってエンティティインスタンス反転を解決する、請求項48に記載のデータ記憶および/または検索システム。少なくとも1つの前記トンネルの複数の前記セルが、前記セルのそれぞれのエンティティインスタンスの共通の特性に基づいてフレームにおいてグループ化される、請求項1、45、75、76、77、79、および81のいずれかに記載のデータ記憶および/または検索システム。少なくとも1つの前記トンネルの複数の前記セルが、すべてのトンネルにまたがるセルが共通のフレーム境界を守るように、前記それぞれのエンティティインスタンスの共通の特性に基づいてフレームにおいてグループ化される、請求項50に記載のデータ記憶および/または検索システム。前記共通の特性が期間である、請求項51に記載のデータ記憶および/または検索システム。前記記憶エンジンに結合されており、保持されるデータの経過時間に関して前記記憶媒体におけるセルの保持を管理するデータベースエンジンを備える、請求項52に記載のデータ記憶および/または検索システム。前記記憶エンジンに結合されており、問合せ内で表現される時間閾値に関して前記問合せの間に読取りアクセスからフレームを除くデータベースエンジンを備える、請求項52に記載のデータ記憶および/または検索システム。前記共通の特性がそれぞれのエンティティインスタンスのボリュームである、請求項51に記載のデータ記憶および/または検索システム。前記記憶エンジンに結合されており、保持されるデータのボリュームに関して前記記憶媒体におけるセルの保持を管理するデータベースエンジンを備える、請求項55に記載のデータ記憶および/または検索システム。複数のフレームにかかわる複数のデータトンネルにかかわる複数のデータセルが、複数の論理記憶システムファイルの単一の論理記憶システムファイル内に累積される、請求項51に記載のデータ記憶および/または検索システム。前記記憶エンジンに結合されており、前記記憶媒体におけるセルの保持を管理するデータベースエンジンを備える、請求項51に記載のデータ記憶および/または検索システム。複数のフレーム内のそれぞれのセルの共通の特徴付けが、複数のフレーム間隔にまたがり、複数のフレーム間隔サイズにまたがって維持され、それによって、複数のフレームおよびそれぞれのデータセルがそれぞれの演算子および前記演算子のオペランドによる考慮対象から除かれ得る、請求項50に記載のデータ記憶および/または検索システム。複数のフレーム内のデータセルについての属性のすべてのそれぞれのインスタンスに共通の複数のビットシーケンスが、複数のフレーム間隔にまたがり、複数のフレーム間隔サイズにまたがって維持され、それによって、複数のフレームおよびそれぞれのデータセルが、それぞれの等価演算子および前記等価演算子のオペランドによる考慮対象から除かれ得る、請求項59に記載のデータ記憶および/または検索システム。複数のフレーム内のデータセルについての属性のすべてのそれぞれのインスタンスに共通の境界が、複数のフレーム間隔にまたがり、複数のフレーム間隔サイズにまたがって維持され、それによって、複数のフレームおよびそれぞれのデータセルが、それぞれの範囲限定演算子および前記範囲限定演算子のオペランドによる考慮対象から除かれ得る、請求項59に記載のデータ記憶および/または検索システム。複数のフレーム内のデータセルについての属性のすべてのそれぞれのインスタンスに共通のプロパティが、複数のフレーム間隔にまたがり、複数のフレーム間隔サイズにまたがって維持され、それによって、複数のフレームおよびそれぞれのデータセルが、それぞれの所有演算子および前記所有演算子のオペランドによる考慮対象から除かれ得る、請求項59に記載のデータ記憶および/または検索システム。複数の前記データセグメントが、前記データセグメントのそれぞれのエンティティインスタンスの共通の特性に基づいてフレームにおいてグループ化される、請求項1、45、75、76、77、79、および81のいずれかに記載のデータ記憶および/または検索システム。前記共通の特性が期間である、請求項63に記載のデータ記憶および/または検索システム。前記共通の特性がそれぞれのエンティティインスタンスのボリュームである、請求項63に記載のデータ記憶および/または検索システム。完全なフレームを備えるデータセグメントに含まれるそれぞれのエンティティのインスタンスについてそれぞれのデータトンネルにデータセルを追加する記憶エンジンを備える、請求項63に記載のデータ記憶および/または検索システム。各フレームが完全になるときに、完全なフレームを備えるデータセグメントに含まれるそれぞれのエンティティのインスタンスについてそれぞれのデータトンネルにデータセルを追加する記憶エンジンを備える、請求項66に記載のデータ記憶および/または検索システム。前記複数のフレームが完全になるときに、複数の完全なフレームを備えるデータセグメントに含まれるそれぞれのエンティティのインスタンスについてそれぞれのデータトンネルにデータセルを追加する記憶エンジンを備える、請求項66に記載のデータ記憶および/または検索システム。前記記憶システムの問合せアクセスの間の重複エンティティインスタンスの解決のためのさらなる改善が、請求項63に記載のデータ記憶システムの前記フレームを、請求項50に記載のデータ記憶システムに使用されるフレームと全く同じやり方で割り当てるステップと、前記問合せアクセスの間に、請求項50に記載のデータ記憶システムの前記フレームにアクセスするのに先立ち、請求項63に記載のデータ記憶システムの前記フレームにアクセスするステップと、前記問合せアクセスの結果に影響を及ぼさずに前記エンティティインスタンスの存続を保証するために、各エンティティインスタンスを、請求項63に記載のデータ記憶システムと請求項50に記載のデータ記憶システムとにおいて同時に存続させることができるように、前記問合せアクセスの間に、請求項63に記載のデータ記憶システムにおいてアクセスされた前記フレームに対応する請求項50に記載のデータ記憶システムにおける前記フレームを割り引くステップとを含む、請求項66に記載のデータ記憶および/または検索システム。それぞれのエンティティ型およびそれぞれの属性の完全な定義が、前記定義が変更される度に、一意のバージョン識別情報によって識別される別個の記憶システムファイル内に記憶される、請求項1、14、45、75、76、77、79、および81のいずれかに記載のデータ記憶および/または検索システム。各別個のエンティティ型定義に、単一の単調に増加する序数シーケンスから一意の序数識別情報が割り当てられる、請求項70に記載本発明の一目的は、ディジタルデータ処理のための改善された装置、システムおよび方法を提供することである。本発明の別の目的は、データ記憶および検索のために使用することができるそのような装置、システムおよび方法を提供することである。本発明の別の目的は、旧来および新規のデータベースモデル、スキーマおよび作業負荷をサポートして利用することができるそのような装置、システムおよび方法を提供することである。本発明の別の目的は、データモデル、スキーマおよび/または作業負荷から独立したOLTPおよびOLAPアクティビティの支援としてのそのような装置、システムおよび方法を提供することである。本発明の別の目的は、改善された効率および速度を備えるそのようなアクティビティの支援としてのそのような装置、システムおよび方法を提供することである。以上は本発明によって達成される目的に含まれるものであり、本発明は、添付の特許請求の範囲において特徴付けられるデータ記憶および/または検索の各態様のための改善されたシステムを提供する。一態様では、エンティティ型ごとの複数のデータトンネルと、属性ごとの固定された複数のデータトンネルとを含み、データトンネルのうちの1つまたは複数が複数のデータセルを含む記憶媒体を含む、1つまたは複数のディジタルデータ処理システム上で実施されるデータ記憶および/または検索システムが提供される。各データセルは、エンティティ型のそれぞれのインスタンスについての属性のそれぞれのインスタンスと関連付けられたデータを含む。データトンネルのうちの1つまたは複数について、各データトンネルにおけるデータセルは、属性のそれぞれのインスタンスが1つまたは複数のオペランドの所与の集合について上記演算子によって特徴付けられる可能性または不可能性を指示するブール値の結果にそれぞれの演算子が評価するためのデータを有する。またシステムは、記憶媒体と通信結合状態にあり、上記演算子のうちの1つまたは複数および1つまたは複数のオペランドの所与の集合に基づいて1つまたは複数のデータトンネルにアクセスする記憶エンジンも含む。本発明の関連する態様は、エンティティ型ごとの複数の連結データトンネルと、属性ごとの固定された複数の連結データトンネルとを含み、連結データトンネルのうちの1つまたは複数が複数の連結データセルを備える記憶媒体を含む、例えば前述のようなシステムを提供する。連結データセルのそれぞれは、エンティティ型のそれぞれのインスタンスについての属性のそれぞれのインスタンスと関連付けられたデータを含み、属性のそれぞれのインスタンスは、ただ1つのそれぞれの連結データトンネルにおいて1つのそれぞれの連結データセルを有する。連結データトンネルのうちの1つまたは複数について、各連結データトンネルにおける連結データセルは、属性のそれぞれのインスタンスが1つまたは複数のオペランドの所与の集合について等価である可能性または不可能性を指示するブール値の結果にそれぞれの等価演算子が評価するためのデータを有する。またシステムは、記憶媒体と通信結合状態にあり、上記等価演算子のうちの1つまたは複数および1つまたは複数のオペランドの所与の集合に基づいて1つまたは複数の連結データトンネルにアクセスする記憶エンジンも含む。本発明の関連する態様は、エンティティ型ごとの複数の連結データトンネルと、属性ごとの固定された複数の連結データトンネルとを含み、連結データトンネルのうちの1つまたは複数が複数の連結データセルを備える記憶媒体を含む、例えば前述のようなシステムを提供する。連結データセルのそれぞれは、エンティティ型のそれぞれのインスタンスについての属性のそれぞれのインスタンスと関連付けられたデータを含む。連結データトンネルのうちの1つまたは複数について、各連結データトンネルにおける連結データセルは、属性のそれぞれのインスタンスが1つまたは複数のオペランドの所与の集合について等価である可能性または不可能性を指示するブール値の結果にそれぞれの等価演算子が評価するためのデータを有し、連結データセルの過半数は、1つまたは複数のオペランドの所与の集合について同様の結果をもたらす。またシステムは、記憶媒体と通信結合状態にあり、上記等価演算子のうちの1つまたは複数および1つまたは複数のオペランドの所与の集合に基づいて1つまたは複数の連結データトンネルにアクセスする記憶エンジンも含む。本発明の関連する態様は、連結データセルが属性のそれぞれのインスタンスのダイジェストを含み、それぞれの連結データトンネルが、属性のそれぞれのインスタンスの定義済みハッシュ符号化から、上記ハッシュ符号化に複数の連結データトンネルの数のモジュロを適用することによって選択される、例えば前述のようなシステムを提供する。本発明の関連する態様は、属性のそれぞれのインスタンスのサイズが十分に小さいときに、それぞれのインスタンスのダイジェストがそれぞれのインスタンスの値自体であり、それによって等価演算子が等価を確実視することができる、例えば前述のようなシステムを提供する。本発明の関連する態様は、エンティティ型ごとの複数の組合せデータトンネルと、属性ごとの固定された複数の組合せデータトンネルとを備え、データトンネルのうちの1つまたは複数が複数の組合せデータセルを備える記憶媒体を含む、例えば前述のようなシステムを提供する。組合せデータセルのそれぞれは、エンティティ型のそれぞれのインスタンスについての属性のそれぞれのインスタンスと関連付けられたデータを含み、属性のそれぞれのインスタンスは、すべてのそれぞれの組合せデータトンネルにおいて1つのそれぞれの組合せデータセルを有する。組合せデータトンネルのうちの1つまたは複数について、各組合せデータトンネル内の組合せセルは、属性のそれぞれのインスタンスが1つまたは複数のオペランドの所与の集合について範囲を定められる可能性または不可能性を指示するブール値の結果にそれぞれの範囲限定演算子が評価するためのデータを有する。またシステムは、記憶媒体と通信結合状態にあり、上記範囲限定演算子のうちの1つまたは複数および1つまたは複数のオペランドの所与の集合に基づいて1つまたは複数の組合せデータトンネルにアクセスする記憶エンジンも含む。本発明の関連する態様は、それぞれの属性の各インスタンスが、一元的な位取りで、固定小数点に対する有効数字部として表現され、各組合せデータトンネルが上記有効数字部の部分に対応し、すべての組合せデータトンネルが上記有効数字部に関しては相互排他的であり、すべての組合せデータトンネルが上記有効数字部の全体を囲む、例えば前述のようなシステムを提供する。本発明の関連する態様は、上記記憶システムの上記属性の上記組合せトンネルの読取りアクセスの間の範囲限定演算子の評価のためのさらなる改善が、上記範囲限定演算子内のそれぞれの境界オペランドを、固定小数点を有する一元的な位取りの有効数字部に変換するステップと、それぞれの境界オペランドの有効数字部ビットを有効桁の降順で比較して、上記オペランド間で異なる最初の有効数字部ビットを見つけ、すべての先行する共通ビットを決定データ値とみなすステップとを含む、例えば前述のようなシステムを提供する。また改善は、上記決定値の有効数字の厳密な部分集合を含む最低有効数字の組合せデータトンネルを見つけ、上記組合せデータトンネルを決定データトンネルとみなすステップと、上記属性にかかわる他の組合せデータトンネルの前にまず上記決定データトンネルにアクセスするステップと、上記決定データトンネルのすべての組合せデータセルを検査し、上記組合せデータセルが上記決定データ値と等しくない場合に、それぞれのエンティティインスタンスの適合性を上記範囲限定演算子について不可能であるとみなすステップも含む。上記決定データトンネル以外の組合せデータトンネルにおける、適合性不可能とみなされないエンティティインスタンスにかかわる組合せデータセルだけが、それぞれの範囲限定演算子および範囲限定演算子のそれぞれのオペランドへのそれぞれのエンティティインスタンスの適合性を決定する目的で検査されさえすればよい。本発明の関連する態様は、エンティティ型ごとの複数の特性データトンネルと、属性ごとの固定された複数の特性データトンネルとを備え、特性データトンネルのうちの1つまたは複数が複数のデータセルを備える記憶媒体を含む、例えば前述のようなシステムを提供する。特性データセルのそれぞれは、エンティティ型のそれぞれのインスタンスについての属性のそれぞれのインスタンスと関連付けられたデータを含み、属性のそれぞれのインスタンスは、すべてのそれぞれの特性データトンネルにおいて1つのそれぞれの特性データセルを有する。特性データトンネルのうちの1つまたは複数について、各特性データトンネル内の特性データセルは、属性のそれぞれのインスタンスが1つまたは複数のオペランドの所与の集合についてのプロパティを所有する可能性または不可能性を指示するブール値の結果にそれぞれの所有演算子が評価するためのデータを有する。またシステムは、記憶媒体と通信結合状態にあり、上記所有演算子のうちの1つまたは複数および1つまたは複数のオペランドの所与の集合に基づいて1つまたは複数の特性データトンネルにアクセスする記憶エンジンも含む。本発明の関連する態様は、各特性データトンネルが1つまたは複数のプロパティにかかわり、特性データセルが、属性のそれぞれのインスタンスによるそれぞれのプロパティの所有のブール値の指示を含む、例えば前述のようなシステムを提供する。本発明の関連する態様は、特性トンネルが、プロパティ識別情報をハッシュ符号化し、上記ハッシュ符号化に複数の特性データトンネルの数のモジュロを適用することによってプロパティにかかわるように選択される、例えば前述のようなシステムを提供する。本発明の関連する態様は、特性トンネルが、厳密に単調に増加する序数を各一意のプロパティ識別情報に割り当て、上記序数に複数の特性データトンネルの数のモジュロを適用することによって、プロパティにかかわるように選択される、例えば前述のようなシステムを提供する。所有演算子は、M-T<P<2Tである場合に所有を確実視することができ、式中、Pはプロパティの序数であり、Mは割り当てられる最大序数であり、Tは特性トンネルの数である。本発明の関連する態様は、特性トンネルが、それぞれの属性について厳密に単調に増加する序数を各一意のプロパティ識別情報に割り当て、上記序数に複数の特性データトンネルの数のモジュロを適用することによって、プロパティにかかわるように選択される、例えば前述のようなシステムを提供する。所有演算子は、M-T<P<2Tである場合に所有を確実視することができ、式中、Pはプロパティの序数であり、Mはそれぞれの属性について割り当てられる最大序数であり、Tは特性トンネルの数である。本発明の関連する態様は、エンティティ型ごとの複数の集合データトンネルを備え、集合データトンネルのうちの1つまたは複数が複数の集合データセルを備える記憶媒体を含む、例えば前述のようなシステムを提供する。集合データトンネルのそれぞれは、エンティティ型のそれぞれのインスタンスと関連付けられたデータを含み、集合データセルのそれぞれは、エンティティ型のそれぞれのインスタンスについての属性のそれぞれのインスタンスと関連付けられたデータを含む。集合データセルのそれぞれは、識別情報、測定、列挙または不透明性のうちの1つとして特徴付けられるデータを含む。本発明の関連する態様は、識別情報の1つとして特徴付けられる集合データセルが、それぞれの属性のそれぞれのインスタンスについての識別情報の等価性の確実性が同様の並び順のビットの比較によって決定され得るように、識別情報を表す上記ビットのシーケンスを含む、例えば前述のようなシステムを提供する。本発明の関連する態様は、測定の1つとして特徴付けられる集合データセルが、ある範囲によって境界が定められているそれぞれの属性のそれぞれのインスタンスの確実性が、それぞれの符号、有効数字部および指数の各ビットの比較によって決定され得るように、符号ビット、複数の有効数字部ビットおよび複数の指数ビットを含む、例えば前述のようなシステムを提供する。本発明の関連する態様は、列挙の1つとして特徴付けられる集合データセルが、それぞれの属性のそれぞれのインスタンスによるプロパティの所有の確実性が、1つまたは複数のそれぞれのプロパティについての同様の並び順のビットの比較によって決定され得るように、各プロパティが上記ビットのシーケンスからなる複数のプロパティを含む、例えば前述のようなシステムを提供する。本発明の関連する態様は、各データトンネルが、記憶への書込みアクセスの間に個別に暗号化され、記憶からの読取りアクセスの間に個別に解読される、例えば前述のようなシステムを提供する。本発明の関連する態様は、各データセルが、記憶への書込みアクセスの間に個別に暗号化され、記憶からの読取りアクセスの間に個別に解読される、例えば前述のようなシステムを提供する。本発明の関連する態様は、1つまたは複数のトンネルの特定の集合が、問合せを構成する上記演算子および上記演算子のそれぞれのオペランドごとにアクセスされる、例えば前述のようなシステムを提供する。本発明の関連する態様は、1つまたは複数のデータトンネルが、各上記演算子および上記演算子のそれぞれのオペランドの評価のために、独立して、同時にアクセスされる、例えば前述のようなシステムを提供する。本発明の関連する態様は、各演算子評価が、可能性が高いとみなされるそれぞれのインスタンスについての確実性または不確実性のブール値の指示を含む、例えば前述のようなシステムを提供する。本発明の関連する態様は、演算子評価が、いくつかの不確実なそれぞれのエンティティインスタンスが演算子評価から退けられ得るように、共通のそれぞれのエンティティ型について論理積的に組み合わされる、例えば前述のようなシステムを提供する。本発明の関連する態様は、演算子評価の後の具体化が、不確実とみなされる属性のそれぞれのインスタンスについてそれぞれの集合データセルを検査することによって不確実性を解決することができる、例えば前述のようなシステムを提供する。本発明の関連する態様は、データトンネルが、各上記演算子および上記演算子のそれぞれのオペランドの評価のために記憶媒体から一括して読取りアクセスされる、例えば前述のようなシステムを提供する。本発明の関連する態様は、互いに異なる属性が、対応するデータトンネルにおける各属性のそれぞれのデータセルの比較による各属性のそれぞれのインスタンスの等価性によって相互に関連付けられ得る、例えば前述のようなシステムを提供する。本発明の関連する態様は、互いに異なる属性が、対応する連結データトンネルにおける各属性のそれぞれの連結データセルの比較による各属性のそれぞれのインスタンスの等価性によって相互に関連付けられ得る、例えば前述のようなシステムを提供する。本発明の関連する態様は、複数のデータトンネルおよびそれぞれの演算子が、任意の構造のエンティティのインスタンスに関連する、例えば前述のようなシステムを提供する。本発明の関連する態様は、複数の連結データトンネルおよびそれぞれの演算子が、任意の構造のエンティティのインスタンスに関連する、例えば前述のようなシステムを提供する。本発明の関連する態様は、複数の組合せデータトンネルおよびそれぞれの演算子が、任意の構造のエンティティのインスタンスに関連する、例えば前述のようなシステムを提供する。本発明の関連する態様は、複数の特性データトンネルおよびそれぞれの演算子が、任意の構造のエンティティのインスタンスに関連する、例えば前述のようなシステムを提供する。本発明の関連する態様は、複数のデータトンネルおよびそれぞれの演算子が、エンティティ型の互いに異なるインスタンスが構造を異にする上記エンティティ型のインスタンスに関連する、例えば前述のようなシステムを提供する。本発明の関連する態様は、複数の連結データトンネルおよびそれぞれの演算子が、エンティティ型の互いに異なるインスタンスが構造を異にする上記エンティティ型のインスタンスに関連する、例えば前述のようなシステムを提供する。本発明の関連する態様は、複数の組合せデータトンネルおよびそれぞれの演算子が、エンティティ型の互いに異なるインスタンスが構造を異にする上記エンティティ型のインスタンスに関連する、例えば前述のようなシステムを提供する。本発明の関連する態様は、複数の特性データトンネルおよびそれぞれの演算子が、エンティティ型の互いに異なるインスタンスが構造を異にする上記エンティティ型のインスタンスに関連する、例えば前述のようなシステムを提供する。本発明の関連する態様は、データセルが、それぞれの属性についての領域および符号化から独立したデータからなり、それによって、上記属性の互いに異なるインスタンスが領域または符号化を異にし得る、例えば前述のようなシステムを提供する。本発明の関連する態様は、連結データセルが、それぞれの属性についての領域および符号化から独立したデータからなり、それによって、上記属性の互いに異なるインスタンスが領域または符号化を異にし得る、例えば前述のようなシステムを提供する。本発明の関連する態様は、組合せデータセルが、それぞれの属性についての領域および符号化から独立したデータからなり、それによって、上記属性の互いに異なるインスタンスが領域または符号化を異にし得る、例えば前述のようなシステムを提供する。本発明の関連する態様は、特性データセルが、それぞれの属性についての領域および符号化から独立したデータからなり、それによって、上記属性の互いに異なるインスタンスが領域または符号化を異にし得る、例えば前述のようなシステムを提供する。本発明の関連する態様は、データベーススキーマからそれぞれの属性に適用可能な演算子およびそれぞれのデータトンネルを識別するためのさらなる改善が、上記属性のインスタンスについてのデータが上記属性にかかわる連結データトンネル内の連結データセルに記憶されるように、上記属性についての関係制約条件から等価演算子の適用可能性を識別するステップと、上記属性のインスタンスについてのデータが上記属性にかかわる組合せデータトンネル内の組合せデータセルに記憶されるように、上記属性についての数値もしくは時間領域または算術領域の制約条件から範囲限定演算子の適用可能性を識別するステップとを含む、例えば前述のようなシステムを提供する。また改善は、上記属性のインスタンスについてのデータが上記属性にかかわる特性データトンネル内の特性データセルに記憶されるように、上記属性についての特性領域または列挙領域の制約条件から所有演算子の適用可能性を識別するステップと、上記属性のインスタンスについてのデータが上記属性にかかわるどんな連結データトンネルにも組合せデータトンネルにも特性データトンネルにも記憶されないように、上記属性についてのオブジェクトもしくはバイナリ領域または外部参照から上記演算子の適用不能性を識別するステップも含む。本発明の関連する態様は、関係データベーススキーマからそれぞれの属性に適用可能な演算子およびそれぞれのデータトンネルを識別するためのさらなる改善が、上記属性のインスタンスについてのデータが上記属性にかかわる連結データトンネル内の連結データセルに記憶されるように、上記属性についての主キーおよび外部キーの制約条件から等価演算子の適用可能性を識別するステップと、上記属性のインスタンスについてのデータが上記属性にかかわる組合せデータトンネル内の組合せデータセルに記憶されるように、上記属性についての数値もしくは時間領域または算術検査の制約条件から範囲限定演算子の適用可能性を識別するステップとを含む、例えば前述のようなシステムを提供する。また改善は、上記属性のインスタンスについてのデータが上記属性にかかわる特性データトンネル内の特性データセルに記憶されるように、上記属性についての特性領域または列挙検査の制約条件から所有演算子の適用可能性を識別するステップと、上記属性のインスタンスについてのデータが上記属性にかかわるどんな連結データトンネルにも組合せデータトンネルにも特性データトンネルにも記憶されないように、上記属性についての大きなオブジェクト領域または外部参照から上記演算子の適用不可能性を識別するステップも含む。本発明の関連する態様は、問合せ結果を具体化する目的でデータトンネルにアクセスするためのさらなる改善が、問合せ式をリファクタリングして演算子および演算子のそれぞれのオペランドの論理和正規形式を生成するステップと、上記演算子の結果が同じ論理積項内の1つまたは複数の他の演算子によって含意される場合に、上記論理和正規形式の各論理積項から各演算子およびそれぞれのオペランドを除去するステップとを含む、例えば前述のようなシステムを提供する。また改善は、上記論理積項が常に偽であるとみなされる演算子およびそれぞれのオペランドを含む場合に、上記論理和正規形式から各論理積項を除去するステップと、上記論理和正規形式の各演算子が単一のエンティティ型にかかわる場合に、上記論理和正規形式の各演算子を評価して、コンピュータメモリに記憶するために、上記演算子ごとに独立して、同時に、上記演算子ごとのエンティティインスタンスの別々の関連集合を生成するステップと、エンティティインスタンスの上記関連集合が共通のエンティティ型にかかわる場合に、上記エンティティについてのあらゆる上記集合に対応しない上記集合のメンバが廃棄されるようにエンティティインスタンスの上記関連集合を縮小して、コンピュータメモリに記憶するために、上記論理和正規形の各論理積項内のそれぞれのエンティティ型ごとに独立して、同時に、上記エンティティ型についてのエンティティインスタンスの共通集合を生成するステップと、シーケンス内の演算子をバインドすることによって対にされた上記エンティティ型についての上記エンティティインスタンスの共通集合を相互に関連付けて、コンピュータメモリに記憶するために、上記論理積項ごとに独立して、同時に、それぞれのエンティティ型ごとのエンティティインスタンスの相関集合を生成するステップも含む。また改善は、エンティティインスタンスの各上記相関集合に対応するデータトンネルにアクセスして、コンピュータメモリに記憶するために、上記論理積項ごとに独立して、同時に、それぞれのエンティティ型ごとに独立して、別々に、問合せ結果インスタンスの集合を生成するステップと、問合せ結果インスタンスがそれぞれの論理積項と競合する場合に、コンピュータメモリに記憶するために、上記論理積項ごとに独立して、同時に、問合せ結果インスタンスをボイドとマークするステップと、コンピュータメモリに記憶するために、各上記集合からのそれぞれの問合せ結果インスタンスが組み合わされて単一の問合せ結果インスタンスの集合になるように、上記論理積項ごとに問合せ結果インスタンスの上記集合をマージするステップも含む。本発明の関連する態様は、エンティティインスタンスの相関集合を生成する目的で上記論理積項内の上記エンティティインスタンスの共通集合を相互に関連付けるためのさらなる改善が、メモリに記憶するために、バインド演算子の定義済みの訪問順序における相互対応バインド演算子にまたがるエンティティインスタンスの共通集合の対を相互に関連付けるステップと、メモリに記憶するために、エンティティインスタンスのそれぞれの相関集合内のエンティティインスタンスの濃度カーディナリティを上記訪問順序と逆の順に更新するステップとを含む、例えば前述のようなシステムを提供する。本発明の関連する態様は、上記論理積項を伴う上記バインド演算子の上記訪問順序を決定するためのさらなる改善が、上記論理積項内の最小数のそれぞれのエンティティインスタンスを有するエンティティインスタンスの共通集合を、エンティティインスタンスの原始集合として選択するステップと、エンティティインスタンスの上記原始集合に対応する上記バインド演算子の1つを上記訪問順序における最初のバインド演算子として選択するステップと、上記訪問順序において出現していない、または上記訪問順序においてすでに出現しているが、その後に訪問されたバインド演算子の影響を受けている、エンティティインスタンスの同じ共通集合に対応するバインド演算子の中からの後続のバインド演算子を、最後に訪問されたバインド演算子として選択するステップと、エンティティインスタンスの相関集合が、コンピュータメモリに記憶するために上記訪問順序において生成されるように、次のバインド演算子が選択に利用できなくなるまで先のステップを繰り返すステップとを含む、例えば前述のようなシステムを提供する。本発明の関連する態様は、それぞれのデータベーストランザクションにおけるデータベース演算によって操作されるエンティティ型のインスタンスごとに複数のデータセグメントを備える記憶媒体を含む1つまたは複数のディジタルデータ処理システム上で実施されるデータ記憶および/または検索システムを提供する。すべてのデータセグメントは、任意のサイズの連続したデータヒープ内で維持され、すべての新しいデータセグメントは、データヒープに追加され、任意の順に、それぞれのトランザクションおよびそれぞれのエンティティインスタンスに割り当てられる。またシステムは、記憶媒体と通信結合状態にあり、上記トランザクションのいずれか1つがその状態をコミットするときに、最小限の数の記憶書込み演算で上記データヒープを記憶媒体に書き込む記憶エンジンも含む。本発明の関連する態様は、上記データヒープ内のすべての上記データセグメントが最小限の記憶書込み要求で記憶に書き込まれるように記憶書込み演算が行われる、例えば前述のようなシステムを提供する。本発明の関連する態様は、その状態をコミットするトランザクションが、上記データヒープについての次の記憶書込み演算が正常に完了するまで上記コミットを完了することができないように、上記データヒープについての記憶書込み演算が事前定義済みの一定の間隔でのみ行われる、例えば前述のようなシステムを提供する。本発明の関連する態様は、エンティティ型のインスタンスがそれぞれのインスタンスの反転を追加することによって論理的に削除される、例えば前述のようなシステムを提供する。上記反転は、すべてのそれぞれの連結データトンネル、組合せデータトンネルおよび特性データトンネル内のそれぞれのインスタンスと同一のように見え、エンティティ型ごとの単一の反転データトンネルは、上記エンティティ型のそれぞれのインスタンスの反転を表す複数のデータセルを含む。本発明の関連する態様は、データトンネルおよびデータヒープへの追加アクセスが時系列順に行われ、データトンネルおよびデータヒープへの読取りアクセスが逆時系列順に行われ、読取りアクセスが反転を累積し、対応するエンティティインスタンスに遭遇する際に上記対応するエンティティインスタンスを割り引くことによってエンティティインスタンス反転を解決する、例えば前述のようなシステムを提供する。本発明の関連する態様は、少なくとも1つの上記トンネルの複数のセルが、それらのセルのそれぞれのエンティティインスタンスの共通の特性に基づいてフレームにおいてグループ化される、例えば前述のようなシステムを提供する。本発明の関連する態様は、少なくとも1つの上記トンネルの複数のセルが、すべてのトンネルにまたがるセルが共通のフレーム境界を守るように、それぞれのエンティティインスタンスの共通の特性に基づいてフレームにおいてグループ化される、例えば前述のようなシステムを提供する。本発明の関連する態様は、記憶エンジンに結合されており、保持されるデータの経過時間に関して記憶媒体におけるセルの保持を管理するデータベースエンジンを含む、例えば前述のようなシステムを提供する。本発明の関連する態様は、記憶エンジンに結合されており、問合せ内で表現される時間閾値に関して上記問合せの間に読取りアクセスからフレームを除くデータベースエンジンを含む、例えば前述のようなシステムを提供する。本発明の関連する態様は、上記共通の特性がそれぞれのエンティティインスタンスのボリュームである、例えば前述のようなシステムを提供する。本発明の関連する態様は、記憶エンジンに結合されており、保持されるデータのボリュームに関して記憶媒体におけるセルの保持を管理するデータベースエンジンを含む、例えば前述のようなシステムを提供する。本発明の関連する態様は、複数のフレームにかかわる複数のデータトンネルにかかわる複数のデータセルが、複数の論理記憶システムファイルの単一の論理記憶システムファイル内に累積される、例えば前述のようなシステムを提供する。本発明の関連する態様は、記憶エンジンに結合されており、記憶媒体におけるセルの保持を管理するデータベースエンジンを含む、例えば前述のようなシステムを提供する。本発明の関連する態様は、複数のフレーム内のそれぞれのセルの共通の特徴付けが、複数のフレーム間隔にまたがり、複数のフレーム間隔サイズにまたがって維持され、それによって、複数のフレームおよびそれぞれのデータセルがそれぞれの演算子およびそのオペランドによる考慮対象から除かれ得る、例えば前述のようなシステムを提供する。本発明の関連する態様は、複数のフレーム内のデータセルについての属性のすべてのそれぞれのインスタンスに共通の複数のビットシーケンスが、複数のフレーム間隔にまたがり、複数のフレーム間隔サイズにまたがって維持され、それによって、複数のフレームおよびそれぞれのデータセルが、それぞれの等価演算子およびそのオペランドによる考慮対象から除かれ得る、例えば前述のようなシステムを提供する。本発明の関連する態様は、複数のフレーム内のデータセルについての属性のすべてのそれぞれのインスタンスに共通の境界が、複数のフレーム間隔にまたがり、複数のフレーム間隔サイズにまたがって維持され、それによって、複数のフレームおよびそれぞれのデータセルが、それぞれの範囲限定演算子およびそのオペランドによる考慮対象から除かれ得る、例えば前述のようなシステムを提供する。本発明の関連する態様は、複数のフレーム内のデータセルについての属性のすべてのそれぞれのインスタンスに共通のプロパティが、複数のフレーム間隔にまたがり、複数のフレーム間隔サイズにまたがって維持され、それによって、複数のフレームおよびそれぞれのデータセルが、それぞれの所有演算子およびそのオペランドによる考慮対象から除かれ得る、例えば前述のようなシステムを提供する。本発明の関連する態様は、複数の上記データセグメントが、そのそれぞれのエンティティインスタンスの共通の特性に基づいてフレームにおいてグループ化される、例えば前述のようなシステムを提供する。本発明の関連する態様は、上記共通の特性が期間である、例えば前述のようなシステムを提供する。本発明の関連する態様は、上記共通の特性がそれぞれのエンティティインスタンスのボリュームである、例えば前述のようなシステムを提供する。本発明の関連する態様は、完全なフレームを備えるデータセグメントに含まれるそれぞれのエンティティのインスタンスについてそれぞれのデータトンネルにデータセルを追加する記憶エンジンを含む、例えば前述のようなシステムを提供する。本発明の関連する態様は、記憶エンジンを含み、各フレームが完全になるときに、完全なフレームを備えるデータセグメントに含まれるそれぞれのエンティティのインスタンスについてそれぞれのデータトンネルにデータセルを追加する、例えば前述のようなシステムを提供する。本発明の関連する態様は、記憶エンジンを含み、上記複数のフレームが完全になるときに、複数の完全なフレームを備えるデータセグメントに含まれるそれぞれのエンティティのインスタンスについてそれぞれのデータトンネルにデータセルを追加する、例えば前述のようなシステムを提供する。本発明の関連する態様は、それぞれのエンティティ型およびそれぞれの属性の完全な定義が、上記定義が変更される度に、一意のバージョン識別情報によって識別される別個の記憶システムファイル内に記憶される、例えば前述のようなシステムを提供する。本発明の関連する態様は、各別個のエンティティ型定義に、単一の単調に増加する序数シーケンスから一意の序数識別情報が割り当てられる、例えば前述のようなシステムを提供する。本発明の関連する態様は、各別個の属性定義に、それぞれのエンティティ型についての単調に増加する序数シーケンスから一意の序数識別情報が割り当てられる、例えば前述のようなシステムを提供する。本発明の関連する態様は、各完全な定義に、単一の単調に増加するバージョン番号シーケンスから一意のバージョン識別情報が割り当てられる、例えば前述のようなシステムを提供する。本発明の関連する態様は、各完全な定義に、上記定義が作成されるそれぞれのフレームの識別情報が割り当てられる、例えば前述のようなシステムを提供する。本発明の別の態様は、添付の特許請求の範囲において特徴付けられるシステムのデータ記憶および/または検索の並列動作のための方法を提供する。本発明の別の態様は、前述のシステムおよび方法に従って動作するデータ記憶および/または検索のための装置を提供する。本発明の別の態様を、以下のテキストおよび図面において明らかにする。例示的実施形態の詳細な説明図2に、データモデルまたはスキーマから独立してOLTPおよびOLAPアクティビティをサポートする、本発明の一実施態様によるディジタルデータ処理のシステムおよび環境を示す。これは、例えば、関係データモデルや階層データモデルなどのいくつかのデータモデルのいずれか、およびそれらに付随する問合せ言語をサポートし、しかも、それらのモデルおよび言語から独立しているデータベースシステムの記憶層においてデータを存続させ、検索することを含むことができる。図示の実施形態では、システムは、ディジタルデータプロセッサ20~40を含み、それらは、パーソナルコンピュータ、ワークステーション、メインフレーム、または、アプリケーション、プログラムおよび/もしくはプロセスを実行することのできる、当分野で公知の種類の他のディジタルデータ処理装置とすることができる。図には3つのディジタルデータプロセッサ20~40が示されているが、図示のディジタルデータプロセッサに帰せられる機能は、すべて本発明の教示に従って、より少数のそのようなディジタルデータプロセッサ上へ組み合わされてもよく、より多数のディジタルデータプロセッサ上へ分散されてもよいことを当業者は理解するであろう。図示のディジタルデータプロセッサ20~40は、この場合、例えば、公衆回線、専用回線、IPベースなどとすることのできる、インターネット、ローカルエリアネットワークLAN、広域ネットワークWANをといったネットワーク70を介して、あるいは別の方法で、当分野で公知の従来の方式で通信するために結合されている。図示のディジタルデータプロセッサ20は、前述のように、パーソナルコンピュータ、ワークステーション、メインフレーム、または他のディジタルデータ処理装置を備え、開発者によって、本発明の教示と一致するデータベースシステムを構築し、試験し、配備するために使用される。そのために、ディジタルデータプロセッサ20は、例えばコンピュータ言語コンパイラなどを含めて、そのようなシステムを作成するために様々なアプリケーションを実行する。図示のディジタルデータプロセッサ30は、前述のように、パーソナルコンピュータ、ワークステーション、メインフレーム、または他のディジタルデータ処理装置を備え、ユーザによって、データベースシステムから、より詳細には例えばデータストア50などからの情報を存続させ、かつ/または検索するのに用いられる。このために、ディジタルデータプロセッサ30は、データの記憶および検索を求めるユーザ要求、より具体的には、例えば、データベースシステムにおいてデータを作成し、読み取り、更新し、削除することを求める要求などを受け入れ、本発明の教示と一致するように適合された、当分野で以前から公知の種類の対応する通知、データレコードまたは他の情報を生成する例えば、グラフィカル、テキスト、バッチ指向またはその他のインターフェース32を提供する。典型的なアプリケーションでは、ユーザによる要求およびインターフェース32によって生成される情報は、関係または階層のデータモデルまたはスキーマに関して、より一般的には、ユーザが、その周囲にデータベースシステムが編成されると認識するデータモデルまたはスキーマに関して作成される。したがって、ディジタルデータプロセッサ30は、すべて本発明の教示と一致するように適合された、例えば関係データベースを含む、どんな種類の従来のデータベースアプリケーションを実行してもよい。図示のディジタルデータプロセッサ40は、ネットワーク接続された記憶装置50上で維持されるデータを記憶、検索、更新、削除し、その他の管理を行う、本発明の教示と一致するディジタルデータ情報の記憶および検索のアプリケーションデータベースサーバなどを実行する、パーソナルコンピュータ、ワークステーション、メインフレーム、サーバ、または他のディジタルデータ処理装置を備え、記憶装置50は、当分野で公知の種類のハードディスクドライブおよび/または他の永続記憶装置とすることができる。ディジタルデータプロセッサ40およびデータストア50は、これまで当分野で知られていない記憶およびアクセスモデルを使用してデータを存続させ、検索するために、本発明の教示と一致するように適合された当分野で公知の従来のやり方で動作する。図3に、データベースサーバ40のためのソフトウェアアーキテクチャを示す。図面に示すように、このソフトウェアアーキテクチャは、すべて本発明の教示と一致するように適合された当分野で公知の種類の、ユーザインターフェース機能、言語インターフェース機能、スキーマ定義機能および実行エンジンを含むデータベースと表示されたデータベース管理ソフトウェアを含む。ソフトウェアアーキテクチャは、やはり本発明の教示と一致するように適合された当分野で公知の種類の、オペレーティングシステムとファイルシステムとをさらに含む。図示の種類の記憶エンジンの構築および動作を以下で詳細に説明する。本明細書では記憶エンジンを、以下のコンテキストにおいて明らかになるように、データベースシステム、図示のデータベースシステム、ディジタルデータ記憶システム、ディジタルデータ検索システムなどとも呼ぶ。図示のデータベースシステムは、関係データモデルや階層データモデルといった特定のデータモデルをサポートし、データ定義、データ操作およびデータ検索をサポートするために、データベースのユーザに問合せ言語を提供する。データモデルはデータベース内に記憶されたデータのセマンティクスを定義し、問合せ言語はデータモデルを使用するための構文を定義する。本明細書で論じるのは、使用されるデータモデルをサポートし、しかも、事実上どんなデータモデルでも効率よくサポートすることができるように、データモデルから独立しているアクセスモデルおよび記憶モデルである。アクセスモデルは、データモデルを効率よくサポートするのに必要な基本演算を定義し、記憶モデルは、アクセスモデルを十分にサポートするのに必要とされる記憶構造を定義する。図4に、このアクセスモデルおよび記憶モデルが、ユーザによって用いられる問合せ構文およびデータモデルにどのように関連するかを示す。アクセスモデルデータモデルから独立するために、アクセスモデルはデータ母集団を原子要素のコレクションとみなし、コレクションインスタンスは固有の構造を持たない要素インスタンスの束にすぎず、要素インスタンスは、他と区別される参照パスとその参照パスと関連付けられたデータ値との対である。すべてのコレクションインスタンスが、異なる特性のコレクションインスタンスを区別する一意のコレクションパスによって参照される。コレクションインスタンスは、全体として挿入され、削除されてもよい。またコレクションインスタンスは、コレクションインスタンス内で要素インスタンスを追加し、除去することにより更新されてもよい。したがって、コレクションインスタンスは、意のままに追加し、または除去することのできる要素インスタンスのクラウドとみなされる。図5に、論理コレクションおよび論理コレクション内の論理要素を示す。図5において、クラウドの中心にあるパスは論理コレクションパスを表し、各論理要素内のパスは要素パスを表す。これらのコレクションパスおよび要素パスは、このコレクションパスにおいて出現し得るコレクションインスタンスについてのメタデータを定義する。このモデルは、要素パス間に存在し得る論理関係についても、コレクションインスタンス内の要素インスタンス間の関係についても、コレクションインスタンスにまたがる要素インスタンス間に存在し得る関係についても何も知らないことに留意されたい。関係モデルと比べると、コレクションインスタンスは表の行にたとえられ、各要素インスタンスは表の列値に対応する。コレクションパスは表名と等価であり、要素パスは列名に対応する。これが図6に示されている。要素インスタンスの非存在は行における空の列値にたとえられる。表の行の挿入および削除は、全コレクションインスタンスの挿入および削除に対応する。行の更新は、既存のコレクションインスタンスの1つまたは複数の要素インスタンスの除去および/または追加としてモデル化される。上記を考慮すると、アクセスモデルは関係データ構造をサポートすることが理解されるであろう。オブジェクトモデルと比べると、コレクションインスタンスはオブジェクトインスタンスにたとえられ、各要素インスタンスは、オブジェクトインスタンス内の原子フィールドに対応する。しかし、他のオブジェクトの集合体とすることのできるオブジェクトの構造は、コレクションインスタンスにおいて反映されず、要素パス参照において反映されることに留意されたい。言い換えると、コレクションインスタンスはオブジェクト構造を平坦化し、要素パスはオブジェクト構造を保存する。例えば、要素パスは、.Object.Array[N].Fieldといったネストされたオブジェクト構造をモデル化し得る。図7の例を参照されたい。上記を考慮すると、アクセスモデルはオブジェクトデータ構造をサポートすることが理解されるであろう。階層モデルと比べると、コレクションインスタンスは階層の根にたとえられ、要素インスタンスは階層内に記憶された原子属性に対応する。オブジェクトモデルと全く同様に、階層はコレクションインスタンスによって平坦化されるが、要素パスによって保存される。例えば、要素パスは、book/page/paragraph本/ページ/段落といったXML階層を保存し得る。図8の例を参照されたい。上記を考慮すると、アクセスモデルは階層データ構造をサポートすることが理解されるであろう。どの場合も、要素インスタンスは単純なスカラデータ型であるが、要素インスタンスと関連付けられたパスはその周りのどんな複雑な構造も保存し、本質的に、要素パスは、構造直列化機能を果たすことに留意されたい。上記を考慮すると、データモデルの構造は、アクセスモデルのメタデータパスによって保存されることが理解されるであろう。すべての非スカラデータ構造は、スカラ数、スカラテキストまたはスカラオブジェクトの関連付けられた値を有する複数の参照パスへと分解される。例えば、複合座標構造X,Yは、それぞれ、X:数およびY:数のパスとスカラ数の対要素インスタンスへと分解される。よって、任意の複合データ型を、その要素パスが複合データ型の構造を保存する複数のスカラ要素インスタンスへと分解することができる。上記を考慮すると、アクセスモデルは任意の複合データ構造をサポートすることができることが理解されるであろう。上記を考慮すると、アクセスモデルはどんな特定のデータモデルからも独立していることが理解されるであろう。明確にするために、コレクションおよび要素は、標準的な実体関連モデルEntityRelationshipModelにおいて理解されるエンティティおよび属性と以下のように関連する。このアクセスモデルは、要素インスタンスの任意の集合がいつでもコレクションインスタンスに含まれることを可能にする。この流動性は、アクセスモデルが、ネイティブデータモデルと無関係な制約条件を課すことなく、ネイティブデータモデルによってサポートされる任意のスキーマ変更を受け入れることを可能にする。上記を考慮すると、アクセスモデルは不必要にネイティブデータモデルを制約しないことが理解されるであろう。上記を考慮すると、アクセスモデルは、コレクションパスおよび要素パスが、任意に、動的に意のままに作成されることを可能にすることが理解されるであろう。アクセスモデルは、コレクションパスが一意であることを必要とする。したがって、コレクションパスは、その識別情報を解決するのに十分な情報を含まなければならない。アクセスモデルは、要素パスがコレクションパス内で一意であることを必要とするが、要素パスは、コレクションコレクションパスにまたがって一意である必要はない。したがって、要素パスは、その識別情報を解決するためにそれが属するコレクションパスによって常に修飾されなければならない。例えば、関係コンテキストにおいて、‘C’という名前の列要素パスが複数の互いに異なる表コレクションパスにおいて出現し得る。したがって、要素パス‘C’の識別情報は、それが属するコレクションパスのコンテキストによってしか解決され得ない。アクセスモデルは、要素インスタンスのデータ型、領域、符号化エンコーディングまたはサイズが有意であるとはみなさない。そうではなく、要素意図が有意であるとみなされ、意図は、コレクションに付随する情報を提供する際の要素パスの目的を定義する。要素パスの意図は、識別意図、測定意図、列挙意図、および不透明意図のうちの正確に1つとして分類される。識別意図。要素パスは識別子として使用される。そのような要素パスは、コレクションインスタンスまたはコレクションインスタンスの部分を参照するためにまるごと使用されるにすぎない。例えば、‘employeenumber従業員番号’要素パスは、識別意図を有し、特定の従業員インスタンスを参照するのに使用され、他の有意性を持たない。識別要素インスタンスは、コレクションインスタンス内でいつでも1つの値を所有することしかできず、その値は値全体としてのみ意味を有し、同じ要素パス内の他の識別子の値と比べて含意される順序もメリットも持たない。例えば、従業員番号は、いつでも特定の従業員について1つの値しか持たなくてよく、その従業員番号全体がその従業員を識別するのに使用され、さらに、従業員番号同士の比較は有用な情報をもたらさない。測定意図。要素パスはあるプロパティの尺度として使用される。そのような要素パスは、メリットの順番を決定するための要素インスタンス間の比較をサポートする。例えば、‘employeesalary従業員給与’要素パスは、測定意図を有し、従業員同士を比較するのに使用されてよいが、特定の従業員を識別するのには使用されないはずである。測定要素インスタンスは、いつでも1つの値を所有することしかできず、その値は値全体としてのみ意味を有する値の部分からは意味のある情報が提供されない。例えば、従業員給与はいつでも特定の従業員について1つの値だけを有し、給与は給与値全体によって指定される。列挙意図。要素パスは1つまたは複数の互いに異なるプロパティの所有権を表すのに使用される。例えば、‘employeegender従業員性別’要素パスは、男性プロパティまたは女性プロパティのどちらかの単集合所有であるとみなされるはずであり、‘employeeaddress従業員アドレス’要素パスは、複数語プロパティの所有であるとみなされるはずである。列挙要素インスタンス内のプロパティの部分集合は、有用な情報を知らせることができる。例えば、アドレスインスタンスにおける都市名プロパティは、同じアドレス内のその他のプロパティから独立して有用な情報を提供することができる。不透明意図。この要素は外部情報を含み、アクセスモデルに関連した意図を持たない。例えば、PDF文書で添付された従業員契約書は、どんな有用な方法においても、従業員の識別、測定または列挙に使用することはできない。特定の意図を有する要素パスに属する要素インスタンスの完全に動的なコレクションインスタンスの当然の帰結は、新しい要素パスが作成される度に意図が指定されなければならないことである。したがって、この実施形態では、要素パスの作成はその意図を指示しなければならない。従来のデータモデルにおける要素意図との直接的な類似性はない。しかし、関係および値領域制約条件を使用して意図を確認することができる。以下の表に、ネイティブデータスキーマにおける基本データ型からどのようにして意図が認識され得るかの概要を提示する。表では、あらゆる要素インスタンス値はスカラ数、スカラテキストまたはスカラオブジェクトとして表現することができるものと仮定している。例えば、時間データは、あるエポック内の時間単位の数として表すことができる。上記を考慮すると、要素パスについて知る必要がある情報は、ネイティブデータモデルから容易に突き止められる要素パスの正規名および意図だけにすぎないことが理解されるであろう。以下の表に、関係データベーススキーマにおいて要素パスの意図を認識するための規則のリストを示す。これらの規則は、優先順位の低い順に適用され、条件が満たされるときに対応する意図が使用される。これらの規則を使用すると、前述の例で与えられた表定義は、以下の意図をもたらすはずである。createtableEmployeesNamevarchar64notnull,=>列挙EmployeeNumbernumberprimarykey,=>識別Salarynumber8,2notnull,=>測定CommissionRatenumber4,2,=>測定DepartmentNumbernumberreferencesDepartmentsDepartmentNumber;=>識別createtableDepartmentsNamevarchar64notnull,=>列挙DepartmentNumbernumberprimarykey,=>識別RegionNumbernumberreferencesRegionsRegionNumber;=>識別createtableRegionsNamevarchar64notnull,=>列挙RegionNumbernumberprimarykey;=>識別上記を考慮すると、関係モデル内の要素パスについて知る必要がある情報だけが、関係スキーマから容易に突き止められることが理解されるであろう。アクセスモデル演算このアクセスモデルがサポートするデータ操作演算は以下の通りである。A新しいコレクションインスタンス全体をコレクションパスに加える。コレクションインスタンスに含まれるあらゆる要素インスタンスは、要素パスと値の対として個別に指定される。B既存のコレクションインスタンス全体をコレクションパスから削除する。コレクションパス内に含まれるあらゆる要素インスタンスを含むコレクションインスタンス全体が除去される。C要素インスタンスを、コレクションパスを有する既存のコレクションインスタンスに加える。要素インスタンスは要素パスと値の対として指定される。Dコレクションパス内の既存のコレクションインスタンスから要素インスタンスを削除する。要素インスタンスはそのパスのみによって指定される。E要素インスタンス基準と一致するコレクションインスタンスを検索する。基準は、対象となる要素パスと要素インスタンス両方についての式を含む。これらの基本演算の組合せは、RDBMSといった従来のデータベースシステムにおいて見られるデータ操作演算をサポートするのに十分である。関係データベースシステムでは、特定の列値を有する新しい行の表への挿入は、A特定の要素インスタンス列値を含む新しいコレクションインスタンス行を挿入することによって実施される。列基準と一致する表からの行の問合せは、A必要な要素パス列基準と一致するコレクションインスタンス行を検索することによって実施される。列基準と一致する表からの行の削除は、A必要な要素パス列基準と一致するコレクションインスタンス行を検索すること、B検索されたコレクションインスタンスを削除することによって実施される。表の行の集合における列値の更新は、A必要な要素パス列基準と一致するコレクションインスタンス行を検索すること、B検索された各コレクションインスタンス行から既存の要素インスタンス列値を除去すること、C検索された各コレクションインスタンスに後継の要素インスタンス列値を追加することによって実施される。上記を考慮すると、アクセスモデルは、関係データベースシステムが必要とする基本データ操作演算をサポートすることが理解されるであろう。このアクセスモデルは、述語基準に合致するコレクションインスタンスだけが検索されるように1つまたは複数の要素パスに述語を適用することによるコレクションインスタンスの検索を可能にする。例えば、特定の従業員番号を有する従業員コレクションを、その従業員番号パスは必要な従業員番号を含むと断定することによって検索することが可能なはずである。述語の本質は、述語がそれに対して表現される要素パスの意図と分かちがたく結び付けられており、アクセスモデルは、意図ごとに以下の述語を許容する。Aすべての意図。コレクションインスタンスは、任意の意図の要素パスにおける要素インスタンス存在または非存在に関して断定され得る。B識別意図。コレクションインスタンスは、求められる識別情報に対する識別要素インスタンスの等価性に関して断定され得る。識別子は順序もメリットも含意せず、したがって、他のどの述語も適用されない。実際には、実世界の識別子は何らかの順序概念を含意する場合もあるが、これはこのアクセスモデルによっては知られず、想定もされない。C測定意図。コレクションインスタンスは、制限された範囲内に含まれる測定要素インスタンスに関して断定され得る。測定値は、可能値の範囲上の単一点を表すため、測定値の一部を試験しようとする試みは行われ得ず、測定値の一部を一致させようとするあらゆる試みは測定値の内部表現についての何らかの知識を含意するものであり、それはこのアクセスモデルでは不可能であり、非決定的である。アクセスモデルは、共通の境界を使用して制限された範囲を単一点へ変形されることを可能にし、また、下限が負の無限大として表現され、かつ/または上限が正の無限大として表現されることも可能にする。D列挙意図。コレクションインスタンスは、列挙要素インスタンスが列挙要素インスタンス内に1つまたは複数のプロパティを含むかどうかに関して断定され得る。E不透明意図。不透明意図の要素インスタンスは、その存在または非存在以外の有用な情報を提供しない。したがって、各意図は、その意図に付随する特定の述語演算子と関連付けられ、以下の述語演算子が提供される。A演算子‘is’。識別要素インスタンスが識別子と等価である‘is’と断定する。B演算子‘in’。測定要素インスタンスが制限された範囲内に‘in’含まれると断定する。C演算子‘has’。列挙要素インスタンスが1つまたは複数のプロパティの所有権を有する‘has’と断定する。D演算子‘exists’。要素インスタンスが存在し‘exists’、任意の意図の要素パスと共に使用され得るかどうか判定する。各述語演算子はコレクションインスタンスごとのブール値の結果を以下のように戻す。上記表では、各述語演算子が、要素パスeを含むコレクションパスによって完全修飾された要素パスeのコンテキストにおいて使用されている。以下の関係例に、各述語演算子の使用を例示する。cisnotnull;existsCに変換されるc=123456;isC,123456に変換されるcBETWEEN1AND10;inC,1,10に変換されるcLIKE‘JOHNSMITH’;hasC,‘JOHN’,‘SMITH’に変換される上記の例では、Cは、Cが属する表名コレクションパスによって修飾されるものと想定される列名要素パスである。このアクセスモデルにおける述語演算子によってサポートされる基準は、ネイティブデータモデルの演算子ほど豊富でない場合もある。例えば、‘has’演算子の表現力は、SQLのLIKE演算子よりも制限される。しかし、これらの述語演算子は、コレクションインスタンスの厳密な上位集合が識別され、検索され、次いで、ネイティブデータモデル演算子によってさらに縮小されることを可能にするのに十分な式を提供する。一実施形態では、‘is’演算子は、任意の数の識別定数および述語をサポートし、識別要素インスタンスが定数のうちのいずれか1つと等価であると断定する。一実施形態では、‘in’演算子は、測定要素インスタンスの囲い込みを決定するために左範囲および右範囲がそれぞれ包含的とみなされるべきか、それとも排他的とみなされるべきかを指定する左右の包含範囲限定標識をサポートする。一実施形態では、‘has’演算子は、各列挙要素インスタンスに、その一致性を求めるために適用される正規表現オペランドをサポートする。一実施形態では、各要素パスが複数の意図を有していてよく、あらゆる要素パスは、その測定意図または列挙意図以外に識別意図を有するものと仮定する。上記を考慮すると、アクセスモデルの述語演算子は、ネイティブデータモデルにおいて可能な述語基準との等価性または有用な近等価性をサポートすることが理解されるであろう。識別意図を有する要素パスは、コレクションパス間の関係を表現することに関与してよく、複数のコレクションインスタンスの識別要素インスタンスの等価性によるそれらのコレクションインスタンスのバインドをサポートするために別の演算子が提供される。この演算子は、2つの要素パスにまたがる要素インスタンスの等価性を断定するバインド演算子である。バインド演算子は以下のように定義される。この演算子は、関係データモデルにおける内部等結合innerequi-joinと等価である。例えば、whereEmployees.DepartmentNo=Departments.DepartmentNoといったSQLステートメントにおける結合joinは、バインド演算子によって以下のように表現することができる。bind‘Employees.DepartmentNo’,‘Department.DepartmentNo’この式は、‘Employees’および‘Departments’のコレクションパスにおけるコレクションインスタンスの組合せごとに、それらが‘DepartmentNo’要素パスにおいて等価の要素インスタンスを有する場合に、真を戻す。上記を考慮すると、アクセスモデルは、関係モデルにおける共通の述語および等結合条件をサポートすることが理解されるであろう。明らかに、バインド演算子は、関係の外部結合outer-join、交差結合cross-joinおよび自己結合self-joinと等価のバインド演算をサポートするためのオプションを含むように拡張することができる。外部結合では、一方または両方のコレクションパスを外部結合標識と関連付けることができる。交差結合では、要素パスオペランドを省略することができる。自己結合では、同じコレクションパスが異なるエイリアスの下に表示され、事実上、各異なるエイリアスの下の別々のコレクションパスとして取り扱われるように、コレクションパスエイリアスオペランドが各コレクションパスと関連付けられる。これは、関係SQLで使用されるエイリアス機構と同様である。上記を考慮すると、アクセスモデルは、関係モデルにおける自己結合、交差結合および外部結合の条件をサポートすることが理解されるであろう。一実施形態では、‘bind’演算子は、同じ表内の列が相等性について比較される場合の関係問合せをモデル化するために、コレクションパスの共通のコレクションインスタンス内の異なる要素パス間の等結合をサポートする。このアクセスモデルは、関係が識別要素インスタンスの等価性によって実施されることを必要とし、コレクションパス間の関係が、コレクションパスのそれぞれの識別情報要素パスをバインドすることによって検索時に確立されることを可能にする。識別情報意図を有する任意の2つの要素パスが随意に一緒にバインドされてよく、このアクセスモデルは、それらの別々の要素パスが問合せ時に明示的に一緒にバインドされるまで、それらの要素パスが関係を実施することを知らなくてよい。ネイティブデータベーススキーマは、エンティティ間の明示的関係を知り得るが、これらの関係は、問合せ定義までこのアクセスモデルに明らかにされなくてもよいことに留意されたい。上記を考慮すると、アクセスモデルは、問合せする目的でエンティティ間の関係が表現される前にエンティティ間の関係の定義を必要としないことが理解されるであろう。このモデルは、任意の識別情報要素パスが任意の他の識別情報要素パスにバインドされ得ると仮定するが、測定、列挙および不透明の各要素パスは、等価性バインドを行う目的で等価性を表現することがないため、決してバインドされないことを必要とする。このアクセスモデルは、複数の条件および要素パスを組み込んだ複合式を作成するためのブール代数を使用した複数の述語演算子とバインド演算子の組合せを可能にする。ネイティブデータモデルのステートメントの中には、複数の問合せを相互に組み合わせて単一のステートメントにし得るものもある。関係コンテキストでは、これは、副問合せ、および和集合unionや積集合intersectionといった集合演算を用いて行われる。個々の問合せには前述のアクセスモデル演算子によってサービスすることができ、複合ステートメントの論理は、問合せ実行エンジンによって解決することができる。バインド演算子解決以下で、述語演算子を独立に評価し、バインド条件を独立に適用して、複数のCPUおよび記憶リソースが同時に適用されることを可能にするための複合ブール式全体のバインド演算子を解決するための方法を説明する。バインド演算子を解決するこの実施形態では、複合演算子式が論理和正規形DNFで表現されなければならず、DNFは、それぞれが演算子リテラルの論理積を含む論理積項の論理和であることが必要とされる。あらゆる複合ブール式は、結合性、分配性、ドモルガンの法則といったブールの公理および法則を使用することにより、DNFへとリファクタリングすることができることが別の文献で数学的に証明されている。ブール式をDNFに変換するための方法は、別の文献で広範囲にわたって論じられており、ここではこれ以上考察しない。バインド演算子を解決するこの実施形態では、論理積項が、DNFの同じ論理積項内のどこかに出現するあらゆるコレクションパスについて少なくとも1つの述語演算子を含むことが必要とされる。この目的で、以下の自明の述語演算子がアクセスモデルによって提供される。バインド演算子を解決するこの実施形態では、各論理積項内で、それぞれ真または偽と普遍的に等しい演算子または論理積項が、以下のように除去されることが必要とされる。バインド演算子を解決するこの実施形態では、各論理積項内で、共通の要素パスに対する2つ以上の演算子が、以下のように論理積項を簡略化するために単一の演算子に変形されることが必要とされる。バインド演算子を解決するこの実施形態では、true演算子は、同じコレクションパスについての別の述語演算子が同じ論理積項内にすでに存在する場合、論理積項から除去される。バインド演算子を解決するこの実施形態では、論理積項を可能な限り簡略化するために、変形規則が反復して適用される。バインド演算子を解決するこの実施形態では、論理積項は、同じDNF内の他の論理積項と同一である演算子とオペランドの組合せを含む論理積を除去することによって重複排除される。以下に、SQLのwhere節の、前述のアクセスモデル演算子のブールDNFへの変換を例示する。...whereEmployees.salarybetween10000and35000andEmployees.CommissionisnotnullandEmployees.DepartmentNo=Departments.DepartmentNoandDepartments.RegionNo=Regions.RegionNoandRegions.Name=‘North’orRegions.Name=‘East’上記SQL節は、前述のアクセスモデル演算子を使用すると、以下のブール式になる。in‘Employees.Salary’,10000,35000andexists‘Employees.Commission’andbind‘Employees.DepartmentNo’,‘Departments.DepartmentNo’andbind‘Departments.RegionNo’,‘Regions.RegionNo’andis‘Regions.Name’,‘North’oris‘Regions.Name’,‘East’このブール式がDNFに変換されると、以下になる。in‘Employees.Salary’,10000,35000andexists‘Employees.Commission’andbind‘Employees.DepartmentNo’,‘Departments.DepartmentNo’andbind‘Departments.RegionNo’,‘Regions.RegionNo’andis‘Regions.Name’,‘North’andtrue‘Departments’orinEmployees.Salary,10000,35000andexists‘Employees.Commission’andbind‘Employees.DepartmentNo’,‘Departments.DepartmentNo’andbind‘Departments.RegionNo’,‘Regions.RegionNo’andis‘Regions.Name’,‘East’andtrue‘Departments’true演算子は、各論理積項において‘Departments’コレクションパスのために導入されていることに留意されたい。というのは、true演算子はバインド演算子内に出現するが、同じ論理積項において適用される述語演算子がないからである。バインド演算子を解決するこの実施形態では、各述語演算子が、コレクションインスタンスの集合を生成することによってそれ自体を評価することが必要とされる。この集合はコレクション集合と呼ばれ、述語演算子が真であるコレクションインスタンスごとに1メンバを含む。各集合メンバは以下の情報のベクトルである。識別情報。これは、コレクションのインスタンスを一意に識別する。本考察では、この識別情報は、コレクションパス内のコレクションインスタンスの順位であるものと仮定する。濃度。これは、メンバがバインド内で繰り返されなければならない回数を定義する。コレクション集合が最初に述語演算子によって生成されるとき、この濃度は常に1である。順序。これは、コレクションインスタンスがバインドされなければならない順番を定義する。コレクション集合が最初に述語演算子によって生成されるとき、この順序は常に0である。したがって、上記の例では、inEmployees.Salary,10000,35000についての演算子評価は、以下のコレクション集合になるはずである。exists‘Employees.Commission’についての演算子評価は、以下のコレクション集合になるはずである。バインド演算子を解決するこの実施形態では、論理積項内の同じコレクションパスに対応するコレクション集合が、次いで、あらゆる集合に出現しないメンバを廃棄するために組み合わされることが必要とされる。例では、これは、上記2つのコレクション集合から組み合わされるときに、‘Employees’パスについて以下のコレクション集合をもたらす。一実施形態では、述語演算子ごとに生成されるコレクション集合は、同じ演算子とオペランドの組合せが別の場所に出現する場合、再生成するのではなく論理積項間で共用することができる。また、一実施形態では、組み合わされたコレクション集合が全く同じ演算子とオペランドが組み合わさったものである場合、それらのコレクション集合を共用することもできる。この例では、上記の組み合わされたコレクション集合は、それが同じ演算子とオペランドとの組合せから生成されたものであるため、両方の論理積項間で共用することができる。上記の例の最初の論理積項に基づいて、‘Employees’、‘Department’および‘Regions’の各コレクションパスについてのコレクション集合は、以下になるはずである。この例では、‘Employee’コレクションパスに対する述語演算子‘in’および‘exists’は、DNF式の両方の論理積項において同じオペランドと共に出現し、したがって、それらから生成されるコレクション集合は、両方の論理積項間で共用することができることに留意されたい。‘Departments’パスにおける‘true’演算子についても同様である。他方、‘Regions’パスについての‘is’演算子は、異なるオペランドを使用するため共用することができない。バインド演算子を解決するこの実施形態では、次いで、あらゆるコレクション集合が、コレクションパスごとにバインド順序および濃度を更新するために、同じ論理積項内に出現するバインド演算子によってバインドされる。コレクション集合をバインドするための方法は後で詳しく説明するが、本考察では、バインドプロセスは、コレクションパスごとに以下のコレクション集合を生成するはずである。この実施形態では、バインドプロセスが完了した後で、問合せが必要とする結果を具体化するために、コレクションインスタンスを、コレクション集合ごとに独立に並行して検索することができる。コレクション集合ごとのコレクションインスタンスは、集合順序の順に戻され、各コレクションインスタンスがその集合濃度に従って繰り返される。濃度Nでは、コレクションインスタンスは、濃度0でコレクションインスタンスが完全に省かれるように、正確にN回出現する。この実施形態では、最終結果において必要とされず、バインド依存関係のためにのみ出現するにすぎないコレクションパスについてのコレクション集合は、廃棄することができ、検索する必要がない。この例は、‘Name’要素パスだけが、‘Employees’コレクションパスおよび‘Region’コレクションパスから必要とされる場合、以下の結果をもたらすはずである。この例は、単一の論理積項についての必要な結果を提供し、上記プロセスは、DNF式内のすべての論理積項について繰り返されなければならない。この実施形態では、各論理積項からの結果は、独立して同時に生成され、その後に累積されて、最終の完全な結果が提供される。結果が論理積項間で重複する可能性がある。したがって、各論理積項からの結果は、累積時に重複排除されなければならない。一実施形態では、これは、論理積結果が累積される際にコレクションインスタンス識別情報のベクトルのハッシュマップを生成することによってなされ、前の結果と符合するベクトル識別情報を有する結果を廃棄することができる。上記を考慮すると、この検索の方法は、各コレクションパス内および各論理積項内のコレクションインスタンスが、独立に並行して処理されることを可能にし、複数のハードウェアリソースが同時に用いられることを可能にすることが理解されるであろう。バインド伝搬以下で、問合せ結果が記憶から検索される前に組み合わされる論理積項内のコレクション集合をバインドし、各コレクションパスからの問合せ結果を独立して検索されることを可能にするための方法を説明する。前述のように、バインド演算子は、2つの完全修飾された要素パスを受け入れ、全DNF式の一部を形成する論理積のコンテキスト内で使用される。各バインド演算子は、同じ論理積項内の正確に2つのコレクション集合に結合される。バインド演算子内で、‘correlatedbinding相関バインド’は、演算子の一方の側のコレクション集合におけるコレクションインスタンス内の所与の要素インスタンスが、バインド演算子の他方の側のコレクション集合における1つまたは複数のコレクションインスタンスに少なくとも1つの等価の要素インスタンスを有する場合に発生する。上記のコレクション集合の例として、bind‘Employees.DepartmentNumber’,‘Departments.DepartmentNumber’を考える。‘Employees’コレクションパスにおけるコレクション識別情報2および3は、コレクション識別情報2の‘Departments’コレクションパスに相関バインドを有する200という‘DepartmentNumber’を有することが示されている。しかし、‘Departments’コレクションパスでは、コレクション識別情報3は相関バインドを持たない。各相関バインドは、バインドの各側の一致する要素インスタンスの数を反映する濃度を有する。よって、相関バインドの一方の側の所与の要素インスタンスについて、他方の側に、バインド濃度を定義するいくつかの等価の要素インスタンスがあることになる。上記の例では、‘Employees’コレクションパスにおけるコレクション識別情報2および3についてのバインド濃度はバインド濃度1を有し、‘Departments’コレクションパスにおいては、コレクション識別情報2は同じ相関バインドを越えて逆方向にバインド濃度2を有する。この実施形態では、単一の論理積項内でバインドプロセスを実施するのに以下の方法が使用される。方法は、任意の配置にある互いに異なるコレクション集合の対を結合する任意の数のバインド演算子を有する任意の数のコレクション集合を仮定する。バインド演算子は、コレクション集合をそれ自体にバインドすることができない。バインドプロセスのこの実施形態では、訪問序数属性が、コレクション集合のメンバについてのすでに説明したベクトルに含まれる。この訪問序数には、バインドの前に0の値が割り当てられる。したがって、コレクションインスタンス11、12、13を有するコレクション集合は、バインドプロセスの前には、以下のように見えるはずである。バインドがなければ、このコレクション集合は、コレクションインスタンス11、12、13を、この順に、反復なしでフェッチするのに使用されるはずである。この実施形態では、バインドプロセスの間に、バインド演算子およびコレクション集合が特定の順に訪問され、各バインド演算子に一意の訪問序数が割り当てられ、各コレクション集合に一意の訪問序数および伝搬数が割り当てられる。この実施形態では、バインド解決のプロセスは順に3つの段階に従い、以下のように、前の段階が完了した後に初めて後続の段階が開始される。段階1この段階は、原始選択段階と呼ばれる。論理積項内の単一のコレクション集合が原始コレクション集合として選択される。集合は任意に選択されてよいが、有利には、選択される集合は、問合せ結果に含まれるコレクションパスに対応する集合の中の最小集合とすることができる。選択された原始集合には訪問序数0が割り当てられる。原始集合のメンバは、その順序を、集合内の最初のメンバを1から開始する、厳密に単調に増加する順序で更新させる。上記集合が選択された場合、それは以下になるはずである。段階2この段階はメンバ伝搬段階と呼ばれ、あらゆるバインド演算子をまたいでメンバを伝搬することを伴う。この段階の間に、バインド演算子訪問の順が決定され、記録される。各バインド演算子には、選択される最初のバインド演算子を1から開始し、選択される後続バインド演算子ごとに増分する訪問序数が割り当てられる。各バインド演算子は2つのコレクション集合を結合し、それら2つのうち、訪問序数が割り当てられていない、または2つのコレクション集合のうち最低の訪問序数を有するコレクション集合に、そのバインド演算子の訪問序数が割り当てられる。訪問序数1が割り当てられる最初のバインド演算子は、原始集合に直接接続されたバインド演算子のうちの1つから任意に選択される。原始集合に対してバインド演算子の反対側にあるコレクション集合には訪問序数1が割り当てられる。この実施形態では、コレクション集合のメンバは、下位の訪問序数を有する起点集合から選択されたバインド演算子に接続された上位の訪問序数を有する終点集合まで伝搬される。現在伝搬しているバインド演算子の訪問序数より1小さい訪問序数を有する起点集合内の非ゼロ濃度メンバごとに、メンバが複製され、起点メンバと符合するバインドを有する終点メンバごとに終点集合内で追加される。終点集合に追加されるメンバごとに、コレクション識別情報が、そのコピー元の終点メンバと同じになるように割り当てられ、訪問序数に、伝搬するバインド演算子の訪問序数が割り当てられ、順序が起点メンバから割り当てられ、濃度が1として割り当てられる。この実施形態では、終点集合内に対応するバインドを持たない起点集合内のメンバは、その濃度に0を割り当てさせる。その後、起点メンバはボイドとみなされ、それ以上伝搬されない。この実施形態では、メンバは、メンバ構成順に起点集合から伝搬される。他の実施形態では別の順を選択してもよい。現在の訪問序数を有するすべての伝搬されたエントリの濃度の和が、その伝搬数として終点集合に割り当てられる。終点集合についての伝搬数が前の割り当てから低減される場合には、割り当てられた訪問序数を有する終点集合に接続され、そのバインド演算子と同じ訪問序数を有する別のコレクション集合に接続された任意の他のバインド演算子が、その演算子訪問序数を割り当て解除させる。その後、次のバインド演算子が、訪問序数が割り当てられておらず、訪問序数が割り当てられている集合に直接接続されたすべてのバインド演算子の中から選択され、その中から、最高の訪問序数が割り当てられたコレクション集合に接続されているバインド演算子が選択され、選択され得るバインド演算子のうちの1つまたは複数が、他端において訪問序数がすでに割り当てられた集合にも接続されている場合には、最低の訪問序数を有する集合に接続された演算子が選択される。選択されたバインド演算子および演算子の他方の側の終点集合に、次の訪問序数が割り当てられる。他方の側の集合に訪問序数がすでに割り当てられている場合、その訪問序数は新しい訪問序数で上書きされる。これは、訪問序数がなく、訪問序数が割り当てられた集合に接続されたバインド演算子がそれ以上見つからなくなるまで繰り返される。この段階の終わりに、訪問序数のない集合が存在する場合、問合せは誤っているとみなされ、問合せ全部が打ち切られる。最初の集合が原始集合である以下の2つのコレクション集合を考える。この例では、これらの集合間に訪問序数1を有するバインド演算子があるものと仮定し、明確にするために、その終点識別情報において対応する添字を有するメンバだけがバインド演算子をまたいで対応するバインドを有するものと仮定する。コレクションパス1メンバ伝搬の前コレクションパス2メンバ伝搬の前メンバ11Bの伝搬は以下の終点コレクション集合をもたらす。コレクションパス2演算子1によりメンバ11Bを伝搬した後メンバ12Aは対応するバインドを持たず、したがって、終点集合にはメンバが作成されず、このエントリの濃度は起点集合において0に設定される。これは起点集合について以下をもたらす。コレクションパス1メンバ12Aを伝搬した後メンバ13Cの伝搬は以下の終点集合をもたらす。コレクションパス2演算子1によりすべてのメンバを伝搬した後上記終点集合は、次いで、別のバインド演算子により別の集合へ伝搬されてもよいが、訪問序数1を有するメンバだけが伝搬されるはずであることに留意されたい。段階3この段階は濃度反映段階と呼ばれ、各バインド演算子が厳密に逆訪問序数順に訪問される。訪問されるバインド演算子は、反映演算子と呼ばれる。各反映演算子において、反映演算子より1小さい訪問序数を有する起点集合内の各メンバの濃度は、起点メンバと同じ順序、および反映演算子と同じ訪問序数を有するすべての終点メンバについての濃度の和で乗算される。上記の例では、起点集合の濃度は、以下のように更新されるはずである。コレクションパス1濃度反映後コレクションパス2濃度反映後以下で、どのようにして4つのコレクション集合が訪問され、バインドプロセスの第2の段階の間にその訪問序数を割り当てさせるかの一例を示す。長方形でコレクション集合を表し、線でコレクション集合間のバインド演算子を表す。図9:原始集合が選択され、訪問序数0が割り当てられる。図10:第1のバインド演算子が、原始集合に接続されたバインド演算子の中から選択され、選択されたバインド演算子に訪問序数1が割り当てられる。選択されたバインド演算子の他方の側の終点集合には、そのバインド演算子と同じ訪問序数が割り当てられる。図11:第2のバインド演算子が、訪問序数が割り当てられておらず、最高の訪問序数を有するコレクション集合に接続されたバインド演算子の中から選択される。図12:演算子2についての終点集合の伝搬数が低減される場合には、そのコレクション集合に接続され、他端のコレクション集合訪問序数と同じ演算子訪問序数を有する任意の他の演算子が、その演算子訪問序数を割り当て解除させる。図13:次のバインド演算子が、訪問序数が割り当てられておらず、最高の訪問序数を有するコレクション集合に接続されたバインド演算子の中から選択される。図14:集合3の伝搬数が演算子3によって低減されない場合には、後続の演算子が図示のように割り当てられることになる。訪問序数が割り当てられていない演算子がそれ以上見つからなくなり、バインドプロセスのこの段階が完了する。すべての集合に序数が割り当てられており、したがって、バインドは十分に形成されたとみなされ、次の段階に進むことができる。この実施形態では、3つのバインド段階すべてが完了した後で、コレクション集合ごとのコレクションインスタンスを、問合せ具体化のために独立して検索し、その独立の結果をマージすることができる。コレクションインスタンスは、以下のように、コレクション集合自体に割り当てられた訪問序数と同じ訪問序数を有するメンバについてのみ検索される。濃度0のコレクション集合内の各メンバは無視され、濃度1の各エントリは1回検索され、1より大きい濃度の各エントリは1回検索されるが、バインドの濃度を守るために複製される。一実施形態では、各集合メンバが並び順に検索され、同一の順序番号を有するエントリがコレクション識別情報順にフェッチされる。代替の実施形態では、メンバが、並び順にではなくコレクションインスタンスの識別子の順にまず検索され、結果が、マージの直前に並び順にメモリ内にソートされる。代替の実施形態では、共通の記憶域内の連続したコレクションインスタンスまたはほぼ連続したコレクションインスタンスは、1回の読取り要求において記憶から検索され得る。バインドプロセスによって操作される一時的構造は、論理積項の迅速な解決を支援するために物理メモリ内に置くことができることが理解されるであろう。バインドプロセスは、問合せが必要とする結果を具体化する前に、物理メモリ内で動作し、完了することができることが理解されるであろう。論理積項が完全に解決された後で、記憶エンジンは、問合せが必要とする結果を得るために、各コレクション集合を独立に並行して検索することができることが理解されるであろう。外部結合のためにマークされたコレクションパスについての結果は、ゼロ濃度を有するコレクション集合の中からコレクションインスタンスを検索し、それらを最終結果に含めることによって解決される。交差結合は、起点コレクション集合内のあらゆるメンバを、交差結合のためにマークされたバインド演算子の向こう側の終点コレクション集合内のあらゆるメンバと相関させることによって解決される。ある好都合な実施形態では、true演算子のコレクション集合は、それをバインドしようとする最初のbind演算子によって遅延評価され、true演算子のコレクション集合は、起点コレクション集合の対応するバインドから作成される。この実施形態では、true演算子のコレクション集合は決して原始集合として選択されない。この遅延評価の実施形態では、true演算子のコレクション集合のサイズは、先行評価と比べてずっと縮小される可能性が高いことが理解されるであろう。記憶構造以下で、前述のアクセスモデルを支援してデータを効率よく存続させ、検索するのに使用される記憶構造を説明する。記憶は多数の線形トンネルとして構築され、各トンネルは記憶アドレス空間と整合し、1つのコレクションパスおよび/または1つの要素パス、1つの演算子およびオペランドの部分集合に関連するコレクションインスタンスに関する情報を含む。単一の要素パストンネルは、要素パス内の要素インスタンスの大きな母集団についてのあらゆる要素インスタンスに関する部分情報を提供する。コレクションパストンネルは、コレクションパス内の単一のコレクションインスタンスに関する完全な情報を提供する。トンネルの構造はアクセスモデル演算子およびトンネルがサポートする必要のある演算に従って変化する。各トンネルは、あらゆるトンネルが記憶アドレス次元と最適に整合し、各演算子がそれに関連するトンネルを効率よくトラバースすることができるように、各トンネルに対応する演算子をサポートするのに必要な最小限の情報を含む。セル内に含まれる最小限の情報は、関連するアクセスモデル演算子が、エンティティインスタンスが所与のオペランドに関連する可能性または不可能性を指示するのに十分でありさえすればよい。アクセスモデル内の演算子ごとに異なるトンネルファミリが提供される。連結トンネルは、アクセスモデルIS演算子をサポートする情報を提供し、特性トンネルは、アクセスモデルHAS演算子をサポートする情報を提供し、組合せトンネルは、アクセスモデルIN演算子をサポートする情報を提供し、これらのファミリはそれぞれ、EXISTS演算子をサポートするトンネルを提供し、他方、集合トンネルは、効率のよいコレクション検索をサポートする情報を提供する。各トンネルはセルの線形シーケンスとして配置され、それによって、トンネルが逆時系列順にトラバースされる間に新しいトンネルおよび新しいセルが時系列順に追加される。トンネルおよびセルは、探査が必要に応じてトンネル間を移動することができるようにトンネル間のセルが符合するように配置される。これは図15に示されている。各トンネルファミリは、粘着性と速度両方の特性を有するとみなされる。粘着性は、どれ程の情報がトンネル内のコレクションインスタンスの周りで局所的に保持されるかを指示する。トンネルの速度は、トンネル内で局所的に保持されるコレクションインスタンス母集団のサイズを指示する。これらの特性は、相互に反対のものであり、そのため、特定のコレクションインスタンスの周りに局所的に多くの情報を含む高度に粘着性のトンネルは、母集団全体に関する情報をほとんど含まない。アクセスモデルの述語演算子およびバインド演算子に関連するトンネルは、高い速度および低い粘着性を呈する。コレクションインスタンス検索に使用されるトンネルは、高い粘着性および低い速度を呈する。集合トンネルは、要素インスタンスをコレクションインスタンスへグループ化する。あらゆるコレクションパスはあらゆるコレクションインスタンスについて別々のトンネルを含み、そのコレクショントンネルをトラバースすることによってコレクションインスタンス全体を検索することができ、コレクションインスタンスを迅速に検索することができる。これらのトンネルは、各コレクションインスタンス内の要素インスタンスの粘着性が高いために、コレクションインスタンス全体にわたって非常に低い速度を有するとみなされる。連結トンネルは、識別要素インスタンスをその等価類似性によってグループ化する。連結トンネルトンネルは、ISアクセスモデル演算子およびBINDアクセスモデル演算子をサポートし、IS演算子が、演算子オペランドと等価の識別要素インスタンスを含むコレクションインスタンスについてのコレクション集合を生成することを可能にすると同時に、BIND演算子が他のアクセスモデル演算子によって作成されるコレクション集合間の相関バインドを効率よく解決することを可能にする。識別要素パスごとに複数の連結トンネルがある。これらのトンネルは、コレクションインスタンス全体にわたって非常に高い速度を有するとみなされる。特性トンネルは、列挙要素インスタンスをそれらが含むプロパティによってグループ化する。特性トンネルは、HASアクセスモデル演算子をサポートし、HASアクセスモデル演算子が、演算子オペランドと等価の1つまたは複数のプロパティを含む列挙要素インスタンスを有するコレクションインスタンスについてのコレクション集合を生成することを可能にする。識別要素パスごとに複数の特性トンネルがある。これらのトンネルは、コレクションインスタンス全体にわたって高い速度を有するとみなされる。組合せトンネルは、小数点に対して測定要素インスタンスの部分的な大きさをグループ化する。組合せトンネルは、INアクセスモデル演算子をサポートし、INアクセスモデル演算子が、演算子オペランドによって範囲を定められる測定要素インスタンスを有するコレクションインスタンスについてのコレクション集合を生成することを可能にする。また組合せトンネルは集約演算もサポートし、測定要素インスタンスが完全なコレクションインスタンスを参照せずに、累積され、分類されることを可能にする。識別要素パスごとに複数の組合せトンネルがある。これらのトンネルは、コレクションインスタンス全体にわたって中程度の速度を有するとみなされる。あらゆる要素パスは、EXISTSアクセスモデル演算子をサポートするために対応する存在トンネルを有する。要素パスごとに1つの存在トンネルがある。これらのトンネルは、コレクションインスタンス全体にわたって高い速度を有するとみなされる。したがって、この実施形態では、述語演算子を有するあらゆる要素パスについて包括的なトンネルファミリが維持される。問合せで使用される述語演算子はトラバースされるべきトンネルファミリを決定し、そのオペランドは、コレクションパス、要素パスおよびトンネル番号を決定する。上記を考慮すると、どんな述語演算子も、別々の索引構造を必要とせず、存在する場合も存在しない場合もある索引構造の要求に応えるための多数の最適化戦略も必要とせずに、コレクションインスタンスの母集団を効率よくトラバースすることができることが理解されるであろう。トンネルの同質のセル構造は、複数のデータ項目に同時に作用するベクトル命令を提供するCPUによる処理に適することが理解されるであろう。演算子が評価されるときに、演算子は、集合の各メンバが評価に含まれる各コレクションインスタンスに関する情報を提供するメモリベースのコレクション集合を作成する。前述のように、演算子は、演算子オペランドに対するコレクションインスタンスの適合性の可能性または不可能性の指示を提供することができさえすればよいが、演算子は、適合性の完全な確実性を有していてもよい。したがって、各コレクション集合メンバは、その後の問合せ具体化が、要素の検査および検証を目的とするさらなる具体化が必要かどうか判定することができるように、確実性の標識を含む。好都合には、コレクション集合を組合せ、相関させるためのコレクション集合をバインドするプロセスは、不確実なコレクション集合メンバを廃棄することによって確実性を高めるように働く。時間は、あらゆるフレームが、定義済みのエポック日付に対する固定の定義済みの時間間隔を含むための絶対時間フレームへ細分され、それによって、エポック日付が時間フレーム0の開始時に発生するように、任意の所与の時間に、エポック日付以来発生した時間フレーム間隔の数から導出されたフレーム番号が割り当てられる。エポック日付およびフレームの持続期間は、フレーム番号が正であり、その大きさが妥当な精度内に含まれ得るように選択される。ある好都合な実施形態では、エポック日付が現在の世紀の開始時になるように選択され、フレーム持続期間が1時間になるように選択される。すべてのトンネルは、任意の所与の時間フレームがすべてのトンネルにわたって符合するように絶対時間フレームへ細分される。トンネル全体にわたるフレームの整合は、検索演算が、フレーム境界のところでトンネルファミリを切り換え、必要なナビゲーションの方向に最適なトンネルファミリを選択することを可能にする。例えば、特定のコレクションインスタンスを求めるサーチは、最初に連結トンネルを使用し、可能性の高い要素インスタンスセルが見つかったときに、対応するフレーム内の集合ファミリに切り換えてもよい。この実施形態では、トンネルは1つまたは複数のファイル内の連続したセルシーケンスとして記憶され、それによって、各トンネルファミリ集合、連結、特性、組合せがファイルの複数のシーケンスを有し、それによって、コレクションパスごとに1つのファイルシーケンスが生じ、各ファイルシーケンスは時間フレームごとに別々のファイルを有する。各ファイルシーケンスは、トンネルファミリおよびコレクションパス識別情報から決定されるディレクトリパス内に位置し、各ファイルはその名前の中にフレーム番号を含む。この構成が図16に示されている。複数の互いに異なるデータベースが存在する場合、データベースごとのディレクトリ構造は、別々のデータベースパスの下に置かれることになる。代替の実施形態では、トンネルファミリ集合、特性、組合せ、連結は、階層の最上部に配置され、各データベースパスはそれらの直下にある。これは、トンネルファミリが、トンネルファミリごとに最適な性能特性を有する異なる記憶システム上に容易に配置されることを可能にする。したがって、この実施形態では、各ファイルが、フレーム内のトンネルについてのセルの別々の連続したシーケンスを含み、各トンネルは、特定のコレクションパス、要素パス、演算子および演算子のオペランドに関連し、アクセスモデル演算子が、最小限の読取り要求で記憶から関連するトンネルを読み取り、最小限のキャッシュ汚染でトンネルをナビゲートすることが可能になる。したがって、この実施形態では、類似の作成時刻を有するコレクションインスタンスの母集団は、共通のフレームファイル内に局在化される。上記を考慮すると、類似の経過時間のコレクションインスタンスの大きな母集団を、それらが配置されているフレームファイルを除去することによって削除することができることが理解されるであろう。代替の実施形態では、フレーム境界が、それらがかかわるコレクションインスタンスの数についての定義済みの閾値によって決定され、それによってフレームは、各コレクションパス内で閾値に達した後で閉じられる。上記を考慮すると、個々のコレクションパス母集団のサイズは、最も古いフレームファイルのうちの1つまたは複数を除去することによって正確に管理することができることが理解されるであろう。業務OLTP問合せは性質上選択的であり、大多数はISアクセスモデル演算子およびBINDアクセスモデル演算子を使用し、したがって、業務問合せのためのナビゲーションは、関連するコレクションインスタンスを迅速に識別するために1つまたは複数の連結非常に高い速度トンネルに沿って行われ、続いて、特定のコレクションインスタンスデータを検索するための1つまたは複数の集合トンネル低い速度に沿ったナビゲーションが行われる可能性が高い。バインド解決作業の大部分は、物理メモリ内で発生し、少数の特定のコレクションインスタンスアドレスをもたらし、問合せ結果が、少数のランダム記憶読取り演算によって迅速に戻されることを可能にする。分析OLAP問合せは、広い範囲に及び、集合トンネルを使用する可能性が全くなく、連結非常に高い速度、特性高い速度および組合せトンネル中程度の速度内に完全に含まれ、OLAP問合せが、コレクションインスタンスの母集団を迅速にトラバースすることを可能にする。集約作業の大部分は、少数の大きな順次記憶の読取り演算によってメモリへ読み込むことができるランクトンネル上で直接行うことができる。有利には、コレクションパスおよびトンネルファミリによるファイルシーケンスの分離は、異なるトンネルファミリが、異なる性能特性を有する異なるファイル記憶域上に配置されることを可能にする。集合トンネルは、大多数は業務アクセスに使用され、短い集合トンネルを含む。これらのファイルは、小さいランダム読取り要求に最適な記憶媒体上に配置することができ、他のトンネルファミリは、大きい順次読取り要求に最適な記憶媒体上に配置することができる。上記を考慮すると、選択的問合せも一括問合せも、業務作業負荷と分析作業負荷の両方について効率よくサポートすることができることが理解されるであろう。この実施形態では、トンネルは、正方向の時系列順に追加され、コレクション追加およびコレクション反転セマンティクスを使用して、コレクションインスタンスを作成し、削除し、更新する。コレクションの削除は、元のコレクションインスタンスに関連するすべての演算が後に続く反転を認識するように、元のコレクションインスタンスに関連するすべてのトンネルにコレクション反転を追加することを伴う。したがって、この実施形態では、置き換え更新演算が行われず、コレクションパス内のトンネルファミリへのすべての更新が局在化される。上記を考慮すると、コレクションパス内の任意の所与のトンネルまたは任意の所与のトンネルファミリへのすべての更新は、1回または最小限の回数の記憶書込み要求を使用して効率よく適用することができることが理解されるであろう。上記を考慮すると、任意の所与のトンネルまたは任意の所与のトンネルファミリへのすべての更新は、最新の記憶システムが示す高転送速度を利用することができることが理解されるであろう。上記を考慮すると、完全なライフサイクル履歴があらゆるコレクションインスタンスについて維持されることが理解されるであろう。上記を考慮すると、コンプライアンスおよび調査の監査から生じる問合せを解決するのに必要なデータが保持されることが理解されるであろう。上記を考慮すると、述語演算子は、述語演算子がその問合せを、履歴時点問合せを都合よく提供する履歴時間フレームから開始し得るように任意選択の時相オペランドを含むことができることが理解されるであろう。コレクションインスタンスは、それが最初に作成された後で初めて反転させることができる。この実施形態では、コレクションインスタンスの存在を効率よく判定することができ、反転されたコレクションインスタンスを効果的に廃棄することができるように、コレクション反転を、それに対応する先のコレクション追加演算の前に検出させるために、トンネルが逆時系列順にトラバースされる。上記を考慮すると、述語演算子は、演算子ナビゲーションが始まって以後作成されたセルに遭遇することはなく、有利には、それらに対応する必要がないことが理解されるであろう。ある代替の実施形態では、指定されたコレクションパス内の指定されたフレームに先行する各トンネルファミリ内のすべてのフレームが任意選択で統合されてもよく、それによって各先行フレームファイルのコンテンツがスキャンされ、フレームファイルの新しいバージョンへ複写されるが、すべての発見された反転するコレクションインスタンスおよびそれらに対応する反転されたコレクションインスタンスは廃棄される。統合されたフレームファイルは完全なコレクションインスタンス履歴を含まず、それが置き換わるフレームファイルよりコンパクトになる。各要素パスは、現在のフレームに先行する単一の、または複数のフレーム内のすべての要素インスタンスに関する部分情報を知らせるあらゆるフレームを有するフレームマップを含む。各フレームマップは、アクセスモデル演算子が、どの先行フレームが演算子のオペランドに関連するか判定することを可能にし、演算子が関連情報を含まないフレームを除外することを可能にする。この実施形態では、識別意図の要素パスについてのフレームマップは、識別情報バイトシーケンス内のどのビットがフレーム間隔内のすべての要素インスタンスについての共通の値を含むかに関する情報を含む。したがって、この実施形態では、識別要素パス内の要素インスタンスが、すべての要素インスタンスのいくつかの部分がフレーム間隔全体にわたって共通になるように、識別バイトシーケンスの一部分または複数の部分において、一貫して単調に増加または減少するシーケンスを呈する場合には、1つまたは複数のフレーム間隔内のすべての要素インスタンスの共通の側面が、求められる識別子に合致しない場合に、それらのフレーム間隔を都合よく除くことができる。この実施形態では、測定意図の要素パスについてのフレームマップは、フレーム間隔内のすべての要素インスタンスについての最小値および最大値に関する情報を含む。したがって、この実施形態では、要素パス内の測定要素インスタンスが一貫して単調に増加または減少する値を呈する場合には、1つまたは複数のフレーム間隔についての最小値および最大値が求められる測定を囲まない場合に、それらのフレーム間隔を都合よく除くことができる。この実施形態では、列挙意図の要素パスについてのフレームマップは、フレーム間隔内の少なくとも1つの要素インスタンスにどのプロパティが存在するかに関する情報を含む。したがって、この実施形態では、要素パス内の列挙要素インスタンスがプロパティの疎分布を呈する場合には、求められる列挙が1つまたは複数のフレーム間隔内に存在しないプロパティを含む場合に、それらのフレーム間隔を都合よく除くことができる。上記を考慮すると、アクセスモデル演算子は、演算子および演算子のオペランドに関連するデータを含まないフレームを回避することによってトンネルを効率よくナビゲートすることができることが理解されるであろう。上記を考慮すると、アクセスモデル演算子は、索引といったさらに別のナビゲーション構造が特定の問合せ要件をサポートすることを必要とせずに選択的問合せアクセスと一括問合せアクセスの両方についてトンネルを効率よくトラバースすることができ、したがって、通常、そのような構造に必要とされる、設計、管理および維持の労力およびリソース投資が省かれることが理解されるであろう。上記を考慮すると、アクセスモデル演算子は、コストベースの問合せ最適化のための別々の統計収集も、複数の最適化戦略も不要となるようにトンネルをナビゲートすることができることが理解されるであろう。現在の時間フレームの前に発生する履歴フレーム内のトンネルおよびマップ構造は、1回の記憶読取り要求で完全な構造を読み取ることができるように連続した記憶配置として記憶される。有利には、複数のフレームからの非集合トンネルを前のフレームから累積し、新しいフレームのための後続のファイルに連続して書き込んで、所与のトンネルをトラバースするときに参照しなければならないフレームファイルの数を最小限に抑えることができる。これにより、所与のトンネルをトラバースするのに必要な記憶読取り要求回数が最小限に抑えられ、記憶システムから可能な転送速度がよりよく活用され得る。この実施形態では、NがVの正確な倍数である定義済みの間隔Vと、フレーム番号Nについて、フレームN内の各トンネルが、フレームN-1...N-Vからトンネルを読み取り、次いで、フレームNについてのトンネルコンテンツを追加し、累積をフレームNに記憶することによって累積される。この累積は、トンネルを効率よく累積するのに十分なメモリが利用できなくなるまで後続のフレームにおいて続行され、その結果フレームN内のトンネルはフレームNについてのコンテンツだけを含むことになる。したがって、フレームをナビゲートするアクセス演算子は、複数の先のフレームをナビゲートし、現在のフレームファイルに累積されているフレームファイルを訪問する必要を回避することができ、1回の大きな読取り要求で複数のフレームにまたがるトンネルを読み取ることができる。上記を考慮すると、アクセスモデル演算子は、最新のハードウェア環境に一般的な高転送速度を活用することにより効率よくトンネルをナビゲートし、最小限のキャッシュ汚染でトンネルをナビゲートすることができることが理解されるであろう。ある好都合な実施形態では、あらゆるフレームが、直前のフレームから可能な限り多くのコンテンツを累積するように、上記Vの値は1である。この実施形態では、演算子ナビゲーションの効率が最適化される。別の好都合な実施形態では、どのフレームもそのフレーム自体以外のコンテンツを累積しないように、上記Vの値は無限大である。この実施形態では、更新の効率が最適化され、記憶の利用率が最大化される。上記を考慮すると、上記Vの値は、特定の性能側面を最適化するように設定することができることが理解されるであろう。また、Vの値は、いつの時点においても、特定の性能需要に応じて特定の性能側面を最適化するように動的に変更することができることも理解されるであろう。有利には、各ファイルシーケンスは、望むときに最も古いフレームファイルが除去されるように短縮truncateすることができる。これはコレクションパスごとに別々に行うことができ、データベースが、コレクションパスごとに個別に保持されるデータのライフサイクルを正確に管理することを可能にする。上記を考慮すると、データのライフサイクルは、コレクションパスおよび時間フレームの細分性によって正確に管理することができることが理解されるであろう。一実施形態では、任意の単一のコレクションインスタンスに関連する全情報が単一のファイル位置において利用できないように、集合トンネルを個別にセキュアに暗号化することが可能である。有利には、各集合トンネルを個別に暗号化し解読することができ、単一の集合トンネルがアドレス指定されるときに、可能な最善の性能を与える。有利には、集合トンネルのための暗号化鍵は、各コレクションインスタンスが一意の暗号化鍵を有するようにするために、秘密シード、コレクションパス、フレーム番号およびトンネル番号基づくものとすることができる。二方向暗号化/解読のための方法は別の文献で広範囲にわたって記載されており、ここではこれ以上考察しない。代替の実施形態では、集合データトンネル内の集合セルを別々に個別にセキュアに暗号化し、解読することが可能である。上記を考慮すると、コレクションインスタンスデータは、全ファイルを暗号化し、解読することを必要とせずに、全コレクションデータへの無許可のアクセスを防止するために個別に効率よく暗号化し、解読することができることが理解されるであろう。この実施形態では、アクティブトランザクションが、現在の時間フレームのためのヒープファイルにおいて累積される。現在の時間フレームに関連する1つのヒープファイルと、最近閉じられた時間フレームに関連する0個以上のヒープファイルがある。各ヒープファイルの名前は、そのヒープファイルが作成された時間フレームの数を含む。ヒープファイルは、各セグメントが特定のトランザクション、特定のコレクションパス内の特定の集合トンネルに関連する固定サイズのセグメントのヒープとして構築される。いったん閉じられると、ヒープファイルのコンテンツは、同じ時間フレームに対応する複数のフレームファイルへ移行される。各フレームファイルは、メモリにおいて、同じコレクションパス、要素パスおよびトンネル番号に対応するセグメントを合体することによって構成される。この実施形態では、現在の時間フレームは、現在アクティブなトランザクションおよび最近アクティブであったトランザクションについての集合トンネル情報のインターリーブセグメントの単一のヒープとして配置され、アクティブトランザクションを相互に隔離されたままにすることができる。全ヒープを、すべてのセグメントを含む単一の大きな記憶書込み要求に書き込むことができ、よって、複数のトランザクションが単一の順次の記憶書込み要求内でそれらの状態を存続させることが可能になり、多数のトランザクションが同時に動作することを可能にする。上記を考慮すると、多数のトランザクションが、隔離されたままで、同時に動作し、最小限の記憶書込み要求で記憶において存続させることができることが理解されるであろう。上記を考慮すると、ヒープファイルとフレームファイルの分離は、トランザクションが可能な最短の時間でその状態を存続させることができるように、ヒープファイルが最小限の書込み待ち時間で記憶媒体上に位置決めされることを可能にすることが理解されるであろう。各ヒープファイルは単一の時間フレームに対応し、時間が絶対時間フレーム境界を越えて移動するときに新しいヒープが開かれる。これが発生するときに、前のヒープは閉じられたとみなされ、それ以上そのヒープに追加することができなくなる。トランザクションが閉じられると、そのトランザクションに関連するすべてのセグメントは、それらのセグメントがいつ作成されたかや、トランザクションがいつ最初に開かれたかにかかわらず、トランザクションの終了に対応する時間フレーム内に存在するとみなされる。一実施形態では、ヒープファイルはその時間フレームが満了した後で閉じられ、閉じられたトランザクションに付随する閉じられたヒープファイル内のセグメントは、対応するフレームファイルへ直ちに移行される。別の実施形態では、ヒープファイルはその時間フレームが満了した後で閉じられ、十分なトランザクションセグメントが累積されるまで保持される。それから、閉じられたトランザクションに付随するすべての閉じられたヒープファイル内のセグメントは、対応するフレームファイルへ移行される。ヒープファイル内のトランザクションセグメントが作成され、開かれているトランザクションに割り当てられる。開いたトランザクション内では、任意の数のコレクションパスに及ぶ任意の数のコレクションインスタンスが随意に作成され、または反転され得る。その後、トランザクションは破棄され、または適用され得る。トランザクションが破棄されるとき、トランザクションのコンテキスト内で作成されたすべてのトランザクションセグメントは、それらに割り当てられたトランザクションを破棄されたとマークすることによって論理的に廃棄される。トランザクションが適用されるとき、トランザクションは適用されるとマークされ、現在のヒープファイル内のすべてのトランザクションセグメントが、それらのトランザクション状況にかかわらず、記憶に存続する。適用されたトランザクションに関連するトランザクションセグメントだけがフレームファイルへ移行される。したがって、すべてのフレームファイルは、適用されたトランザクションセルだけを含み、すべての問合せ演算子に利用可能であるとみなすことができる。上記を考慮すると、すべてのフレームファイルのトランザクションコンテキストは静的であり、トランザクションの隔離への対応が必要なのはヒープファイルナビゲーションの間だけであるため、フレームファイルをナビゲートする演算子は、トランザクション隔離にも、読取り一貫性同期アクティビティにも関与しないことが理解されるであろう。この実施形態では、すべてのコレクションパス、コレクションパス内の要素パス、ならびにパスおよびフレーム内のトンネルが、決して再利用されず、序数を飛ばさないように順次に割り当てられる序数によって一意に識別される。これらの序数は、アクセス構造が密で、連続したものになるようにパスおよびトンネルをアドレス指定するために一貫して使用される。この実施形態では、コレクションパスおよび要素パスについての序数は、パス名がメタデータ内で、記憶システムに必要以上の影響を及ぼさずに随意に変更されることを可能にするために、それらに対応するパス名ではなく、ディレクトリ名およびファイル名内で使用される。記憶構造は、序数、コレクションパス、要素パスおよび要素意図の定義を存続することを必要とする。この実施形態では、これらの定義がメモリにおいて維持され、パス定義の完全な集合は、定義が変更されるときに、新しい別々のメタデータファイル内の記憶上でも存続する。各メタデータファイル名は、厳密に単調に増加するバージョン番号および更新の時点における時間フレーム番号を含む。またこれらの識別子は、ファイルのコンテキスト内でも出現する。データ定義コマンドは、新しいメタデータファイルが正常に書き込まれ、記憶と同期されるまで完了することができない。有利には、この実施形態では、プロセス障害が、その名前に最高のバージョン番号を含み、内部に一貫したバージョン番号を含むメタデータファイルを見つけることによって回復される。上記を考慮すると、メタデータファイルは、すべてのコレクションパスにおいて保持される最も古いフレームより前のものであるフレームに対応する場合に削除され得ることが理解されるであろう。上記を考慮すると、データベースのコンテンツが前の時間フレームへ戻される必要がある場合には、後続のフレーム番号を含むすべてのフレーム、ヒープおよびメタデータファイルを簡単に削除することができることが理解されるであろう。上記を考慮すると、コレクションパスおよび要素パスは、任意の時点に、動的に、随意に導入されてよく、それらに対応する定義は無期限に保持されることが理解されるであろう。フレームファイル構造閉じられた各フレームは、各セクタが特定のエンティティパスコレクションまたは要素に関連し、複数のサブセクタで構成され、各サブセクタが特定のトンネルに関連する記憶セクタの階層として配置される。階層は、図17に示すように配置される。あらゆるセクタは連続して記憶され、上位レベルの各セクタは、階層内の次の下位レベルにおける囲まれたサブセクタのセクタマップを含む。サブセクタについてのセクタマップはスーパセクタの開始のところに位置する。これらのセクタマップは、図18に示すように、サブセクタ序数ごとのサブセクタの開始アドレスを含む固定サイズのエントリの1次元アレイとして配置される。サブセクタNのアドレスは、オフセットNを調べることによって見つかる。サブセクタNのサイズは、セクタが連続して記憶されるため、後続のエントリから決定することができる。要素パスE内のトンネルTに到達するには、要素パスセクタマップおよびトンネルセクタマップによるナビゲーションが必要である。各トンネルは、その開始のところに、そのトンネルを先行するフレーム内のそれに対応するトンネルにリンクするためのトンネルリンクを含む。トンネルリンクは、各フレーム内のセクタマップを訪問することを必要とせずに、フレームにまたがるトンネルに沿ったナビゲーションを可能にする。したがって、各トンネルは、トンネルが続く場合には、それぞれ、フレームとフレームファイル内のアドレスとを識別する固定サイズのフレーム番号と固定サイズのトンネルアドレスとを用いて、図19に示すように配置される。ヒープファイル構造トランザクションセグメントはヒープファイル内で累積される。ヒープファイルは、より大きな空間が必要とされるときに拡大されるウォーターマークを有する。ヒープファイルのコンテンツは、1つまたは複数のトランザクションが適用される度に、ウォーターマークまでさかのぼって記憶に同期される。ウォーターマークまでのヒープ空間は、セグメントがトランザクション内でセグメントチェーンを作り出すように相互リンクされた、互いに異なる固定長の集合トンネルセグメントとして配置される。ヒープウォーターマークは、1つまたは複数のセグメントを追加することによって拡大される。各トランザクションセグメントは1つのトランザクションに属する。トランザクションは、集合トンネルセルを追加する際に、チェーンに1つまたは複数のセグメントを追加する。各セグメントは、それが属するコレクションパスおよびトランザクションを識別するヘッダを含む。また各セグメントは、図20に示すように、チェーン内の次のトランザクションセグメントを指し示すポインタおよび同じコレクションパスにおける次のセグメントを指し示すポインタも含む。トランザクションセグメントに付随するトランザクション情報は、ヒープファイルのヘッダ内に記憶される。図21に、単一のヒープファイルの構造を示す。あらゆるコレクションパスチェーンおよびトランザクションチェーンのヘッドはメモリにおいて維持される。したがって、特定のトランザクションに関連するすべてのセグメントまたは特定のコレクションパスに関連するすべてのセグメントを見つけることが可能である。チェーンヘッダもセグメントポインタも、フレーム番号およびセグメント番号を含み、フレームは、セグメントが属するヒープファイルのフレーム番号を識別し、セグメント番号は、ヒープファイル内のセグメントの順位を識別する。この実施形態では、トランザクションセグメントのチェーンは、単一のコレクションパスまたはトランザクションに属するセグメントが、単一のチェーンをたどることによって探し出されるように、ヒープファイルにまたがって延在することができる。上記を考慮すると、ヒープファイルの構造は、述語演算子が、それに関連する情報を探してヒープ記憶をすばやくナビゲートすることを可能にすることが理解されるであろう。上記を考慮すると、セグメントは、データベースがプロセス障害から回復する必要がある場合に、メモリ内チェーンヘッダを再構築し得るのに十分な情報を含むことが理解されるであろう。適用されたトランザクションに関連するセグメントは、ヒープファイルが閉じられた後で、フレームファイルへ移行される。ヒープファイルは、その内部のすべての適用されたトランザクションセグメントが移行されるまで保持されなければならない。その後ヒープファイルは削除されてよい。演算子は、ヒープファイルとフレームファイルの両方をスキャンするときに、前にスキャンされたヒープファイルに対応する番号を有するフレームファイルを無視する。上記を考慮すると、フレームファイルは、あらゆるコレクションインスタンスが、いつでも、ヒープファイルとフレームファイルの一方または他方または両方に安全に存在するようにするために、ヒープファイルが除去される前に作成し、記憶と安全に同期させることができることが理解されるであろう。長期間にわたるトランザクションは、複数のヒープファイルにトランザクションセグメントを含む場合がある。トランザクションが最終的に閉じられるときには、トランザクションセグメントをフレームファイルへ移行するために、開始フレームと終了フレームの間のヒープファイルが訪問されなければならない。トランザクション管理同時に開くトランザクションの数には上限があり、リサイクルされる一意のトランザクションハンドルの固定された集合がある。トランザクションハンドルは、トランザクションが閉じられ破棄され、または適用され、ヒープファイルが閉じられるまでアクティブのままである。ヒープファイルは、現在のフレームが失効するときに、またはトランザクションハンドルが再生される必要があるときに閉じられる。迅速なトランザクション検査および空きハンドルの割振りのために、トランザクションハンドルのプールがメモリにおいて維持される。トランザクションハンドルに好都合な上限は65535である。データベースシステムが停止されるときに開いているトランザクションは、理由のいかんを問わず、破棄されるとみなされる。データベースシステムが開始または再開されるときには、新しいヒープファイルが作成され、すべてのトランザクションハンドルが再生され、再利用のために提供される。開いたトランザクションは、記憶エンジンのシャットダウンを過ぎて続行することができない。各述語演算子は、開いたトランザクションのコンテキスト内でセグメントをナビゲートし、セグメントをスキャンする演算子は、外部トランザクション状態を知っており、従っている正確なトランザクションセマンティクスに応じて、外部トランザクションに対応するセグメントのコンテンツをスキップし、または含める必要がある。1つまたは複数のコレクションインスタンスを反転するのに先立ち、トランザクションは、どのコレクションインスタンスが反転され得るか識別し、各コレクションインスタンスに関する排他的反転ロックを取得しなければならない。反転ロックを直ちに許諾されないトランザクションは、ロックが取得されるのを待たなければならず、ロックが定義済みの期間内に許諾されなかった場合には、そのトランザクションは、起こり得るデッドロックを解決するために取得したすべての反転ロックを解除しなければならない。その後、トランザクションは、破棄され、または反転され得るコレクションインスタンスを識別し、ロックしようとする試みを繰り返さなければならない。多くのトランザクションがアクティブで、短命であり、頻繁にトランザクション適用を生じる大規模な同時並行ユーザ環境では、トランザクションを定義済みの間隔で適用するためのサイクルを提供することが好都合である。適用されようとするトランザクションは、次の利用可能な適用サイクルを待ち、適用サイクルが完了するまで続行することができない。これは個々のトランザクションを遅延させる可能性があるが、非常に多くのトランザクションが同時に完了し得るために、スループットを低下させない。適用サイクルに好都合な間隔は10ミリ秒である。これは、記憶への書込み要求の回数を適度に制限し、適用を待つトランザクションにごくわずかな遅延しか与えない。適用サイクルは、適用を待つトランザクションがない場合には、スキップされる。一実施形態では、適用サイクルの持続期間は、現在アクティブなトランザクションの数によって決定され、そのため、ただ1つのアクティブなトランザクションしか存在しない場合にはこの持続期間は0であり、この持続期間は、定義済みの最大時刻まで開いたトランザクションの数と共に増加する。上記を考慮すると、単一の、または最小限の数の大きな記憶書込み要求を使用して、複数のトランザクションを適用し、記憶に同期させることができ、そのため、最新の記憶システムが提供する高データ転送速度を利用することにより、良好なトランザクションスループットが提供されることが理解されるであろう。開いた各トランザクションには、それが最初に開かれるときに一連番号が割り当てられ、この番号は、すべての現在の開いているトランザクションの最大の一連番号より1大きい。この一連番号は、他のトランザクションが開いていないときには1である。トランザクション一連番号は、演算子が問合せにより必要とされるトランザクションセマンティクスを守るようにするために使用される。問合せは、他の開いたトランザクションからの隔離を必要としないときには、遭遇するすべての開いたトランザクションを含むことができる。問合せは、他の適用トランザクションからの隔離を必要としないときには、遭遇するすべての適用トランザクションを含むことができる。問合せは、問合せが開始して以来適用されたトランザクションからの隔離を必要とするときには、問合せの開始時の最高の一連番号より高い一連番号を有するトランザクションを無視することができる。問合せは、問合せトランザクションが開始して以来適用されたトランザクションからの隔離を必要とするときには、問合せトランザクションの開始時の最高の一連番号より高い一連番号を有するトランザクションを無視することができる。上記を考慮すると、複数のトランザクション隔離モードを提供することができること、および複数のトランザクション隔離モードを同時にサポートすることができることが理解されるであろう。上記を考慮すると、別の機構が複数の同時の開いたトランザクションのコンテキスト内で別々のトランザクション状態を解決する必要がないことが理解されるであろう。フレームマップフレーム内の各要素パスは、先行するフレーム全体に及ぶ要素パスについての要素インスタンスの母集団を要約するフレームマップを含む。このマップは、ある次元の倍率と別の次元の間隔によってアドレス指定される2次元アレイとして配置される。アレイ内の各エントリは、パスの種類によって異なるパスについての要約情報を含む。フレームマップ内の倍率の数Sおよび間隔の数Iは、すべての要素パスにわたって固定される。s<Sである倍率sにおいて、各エントリはサイズI^sのフレーム間隔に関連する。例えば、倍率4および間隔8では、倍率0で、各間隔は1フレームに及び、倍率1で、各間隔は8フレームに及び、倍率2で、各間隔は64フレームに及び、倍率3で、各間隔は512フレームに及ぶ。総じて、このマップは4096フレーム8×512を範囲に含むことができる。倍率および間隔の数は、I^Sが保持されるべき時間フレームの数より大きくなるように選択される。有利な値は、倍率および間隔について、それぞれ4および256である。これは、40億を超える時間フレームのデータの保持を可能にする。倍率sおよび時間フレームFについてのフレームマップにおける間隔数iは以下のように導出される。0...S-1におけるsについて、i=F/I^smoduloI。式中、Sは倍率の数であり、Iは間隔の数である。各フレーム境界が交差される際に、現在のフレームFについてのフレームマップエントリが、0...S-1の倍率sごとに間隔iについて設定される。s>0かつs<S-1である倍率sにおいて間隔i=0である場合には、あらゆる間隔0...Iについてのマップエントリが、sより小さいすべての倍率についてリセットされる。新しいフレームについてのフレームマップは、直前のフレームと同じになるように初期設定される。フレームマップは、累算器として動作し、先のフレームから新しいフレームごとに複写される。フレームマップは、フレーム間をナビゲートするのに使用されて、無関係とみなされるフレームが除かれる。各訪問先フレーム内で、演算子は、フレームマップを参照して次の関連するフレームを決定する。マップ間隔が参照されて、現在の訪問先フレーム番号から間隔数が低減され、ある倍率における検査済み間隔の数が間隔の最大数に到達するときに各倍率が使い果たされる際に倍率が増加される。関連する間隔が見つかると、その間隔および倍率内の最初のフレーム番号が次に訪問される。以下の例で、フレーム191およびフレーム192における倍率4および間隔4のフレームマップについての範囲を示す。倍率と間隔との各交差は、その交差において提供されるフレーム範囲を示す。フレーム191とフレーム192の間で変化するセルは、強調表示されている。フレーム191におけるS=4、I=4のフレームマップフレーム192におけるS=4、I=4のフレームマップ識別要素フレームマップ識別要素パスについての各フレームマップエントリは、要素インスタンス値内のどのビットがフレーム間隔内のすべての要素インスタンスに共通であるかに関する情報を含む。フレーム間隔内の共通ビットがサーチされている識別情報の値におけるビットと符合しない場合には、フレーム間隔が連結トンネルサーチから割り引かれる。フレームマップ内の各エントリは、可能な最長の識別要素インスタンスと同じ長さの2ビットシーケンスを含む。共通性マスクM共通性シーケンスBマスクMはセットビットを含み、間隔内のすべての要素インスタンス内の対応するビットは、常に設定され、または常にクリアされる。Bの対応するビットは、そのビットが常に設定されるか、それとも常にクリアされるかを指示する。例えば、要素パスにおけるビットの最大数が8である場合には、M=0はすべてのビットが異なることを含意し、M=1およびB=1は、最下位有効ビットがその間隔内の要素インスタンスについて常に設定されることを含意する。各要素インスタンスEがフレームに加えられる際に、ビットパターンMおよびBは以下のように更新される。これがフレームの最初の要素インスタンスである場合には、BがEになり、すべてのビットがMにおいて設定される。そうではなく、EANDM=BANDMである場合には、MもBも変更しない。それ以外の場合、以下を導出する。差D=NOTEANDMXORBANDMMはMANDDになる。BはBANDDになる。CANDMがBANDMと等しくない場合に候補識別情報Cと等価の識別要素インスタンスを求めてサーチしているときには、フレーム間隔が除外される。測定要素フレームマップ測定要素パスについての各フレームマップエントリは、フレーム間隔全体にわたる最小要素インスタンス値および最大要素インスタンス値に関する情報を含む。フレーム間隔境界がサーチされている境界とオーバーラップしない場合には、フレーム間隔が組合せトンネルサーチから割り引かれる。各フレームマップエントリは、間隔内のすべての要素インスタンスについて以下の2つの値を含む。間隔全体にわたる最小要素インスタンス値を表す要素最小N間隔全体にわたる最大要素インスタンス値を表す要素最大X各要素インスタンスEがフレームに加えられる際に、値Nおよび値Xは以下のように更新される。これがフレームにおける最初の要素である場合には、NおよびXはどちらもEに設定される。そうでなく、E>Xである場合には、XがEに設定される。そうでなく、E<Nである場合には、NがEに設定される。B<NORA>Xである場合に最小値Aおよび最大値Bの制限された範囲内の測定要素インスタンスをサーチしているときには、フレーム間隔が除外される。列挙要素フレームマップ列挙要素パスにおける各フレームマップエントリは、1ビットが各プロパティトンネルに対応するTビットのシーケンスを含む。各要素インスタンスEがフレームに加えられる際に、ビットシーケンスは以下のように更新される。これがフレーム内の最初の要素である場合には、すべてのビットがまずクリアされる。トンネルtに対応するビットは、この要素インスタンスについて真のセルを含むトンネルtごとに設定される。ビットPがTにおいてクリアである場合にプロパティPを含む列挙要素インスタンスをサーチしているときには、フレーム間隔が除外される。コレクションパスのフレームマップまたフレームマップは、集合トンネルフレーム内のコレクションパスごとにも維持される。コレクションパスについての各フレームマップエントリは以下の2つの数を含む。コレクショントンネルの数Cコレクション反転の数Dこれらは以下のように維持される。これがフレームに加えられる最初のインスタンスである場合には、これらの数は、非反転コレクションについてはC=1、D=0に、反転コレクションについてはC=1、D=1に設定される。そうでない場合、Cは加えられるコレクションごとに増分され、反転ごとに両方の数が増分される。これらの数は、反転がフレーム間隔内で解決される必要があるかどうか評価し、要素パストンネル内の累積されたトンネルにおけるフレーム境界を推論するのに使用される。セル各トンネルはセルのシーケンスを含む。セルの構造は、セルが出現するトンネルファミリおよびセルがサポートする演算子によって異なる。以下で、使用されるセルの種類を説明する。識別セルこれは、集合トンネル内の単一のコレクションインスタンスについての識別要素の全インスタンスを表す。これは、図22に示すように、セルサイズ、パスおよび領域が前に付くバイトのシーケンスである。パスは、要素インスタンスが属する要素パスを識別する。領域は、識別子を符号化するのに使用される数体系または文字集合を表す。識別要素セルは、それが候補値と同じ長さ、符号化領域およびバイトシーケンスを有するときにだけ、候補識別子と等価であるとみなされる。この種類のセルは、単一のコレクションインスタンスからの識別要素インスタンスの値を記憶し、検索するのに使用される。測定セルこれは、集合トンネル内の単一のコレクションインスタンスについての測定要素の全インスタンスを表す。これは、図23に示すように、要素の大きさを表すセルの長さ、領域、符号、指数および有効数字部を保持する。パスは、要素インスタンスが属する要素パスを識別する。領域は、ネイティブ値を符号化するのに使用される数体系または時間帯を定義する。符号は、この大きさが正であるかそれとも負であるかを指示する。指数は、有効数字部が固定小数点へ正規化するのに何ビットシフトされなければならないかを定義する。有効数字部は、測定の大きさの精度を表すのに十分なだけのビットまたはバイト数を含む。測定セルは、その相対的大きさを調べることによって候補測定と比較される。比較は、一貫性のある比較を行うために共通のオフセットおよび倍率を前提としなければならない。例えば、時刻値は標準協定世界時で表され、元の時間帯を表す領域を伴う。この種類のセルは、単一のコレクションインスタンスからの測定要素インスタンスの値を記憶し、検索するのに使用される。列挙セルこれは、集合トンネル内の単一のコレクションインスタンスについての列挙要素の全インスタンスを表す。これは、図24に示すように、それぞれの前にプロパティサイズが付いたプロパティ識別子のシーケンスであり、列挙シーケンスの前にはセルサイズ、パスおよび領域が付く。パスは、要素インスタンスが属する要素パスを識別する。領域は、ネイティブプロパティ値を符号化するのに使用される数体系または文字集合を定義する。列挙セルは、領域符号化が同じであり、プロパティのシーケンスが同じサイズおよびバイトシーケンスのプロパティを含む場合に、候補プロパティを含むとみなされる。この種類のセルは、単一のコレクションインスタンスからの列挙要素インスタンスの値を記憶し、検索するのに使用される。不透明セルこれは、集合トンネル内の単一のコレクションインスタンスについての不透明要素の全インスタンスへのリンクを表す。これは、図25に示すように、セルサイズ、パス、領域、不透明要素のサイズ、および不透明データが記憶されるリンクを含む。パスは、要素インスタンスが属する要素パスを識別する。領域は、リンク位置において不透明値を記憶するのに使用される符号化システムを定義する。要素サイズは、リンク位置において含まれる不透明オブジェクトのサイズを指定する。リンクは、不透明要素インスタンスのコンテンツが記憶される位置を表す。不透明要素は、文書といった大きなデータオブジェクトであるとみなされ、ファイルといった外部位置において記憶される。好都合には、リンクはURLとすることができる。この種類のセルは、単一のコレクションインスタンスからの不透明要素インスタンスの値を検索するのに使用される。反転セルこれは、集合トンネル内の以前に作成されたコレクションインスタンスの反転を表す。このセルは、図26に示すように、固定サイズのフレームおよびトンネル番号を含む。反転されたフレームおよび反転されたトンネル番号は、反転されているコレクションインスタンスの位置を指す。反転するトンネル番号は、現在のフレーム内の反転するセルのトンネル位置を指す。この種類のセルは、集合トンネル内のコレクションインスタンスの反転を指示するのに使用される。ダイジェストセルこれは、連結トンネル内の識別要素の部分インスタンスを表す。各セルは、図27に示すように、セルサイズ、ダイジェストおよび固定サイズのトンネル番号を含む。ダイジェストは、識別要素インスタンスの領域およびバイトシーケンスから計算され、トンネル番号は、それについてのダイジェストが計算されたそれぞれのコレクションインスタンスを含む集合トンネルを指す。この種類のセルは、識別要素パスにおける要素インスタンスごとに連結トンネルにおいて出現し、IS演算子によって、要素インスタンスと演算子オペランドとの間の等価性の可能性を評価するのに使用され、それによって、演算子オペランドのダイジェストと等価であるセルダイジェストが可能性の高い等価性であるとみなされ、それ以外は不可能とみなされる。計算されるダイジェストは、あるサイズを下回る識別要素インスタンスについての識別要素自体の値である。この場合、要素インスタンスの等価性は、単に可能性が高いというよりも確実であるとみなされる。サイズ閾値以上の要素インスタンスについて、ダイジェストは、MD5といった業界標準のダイジェストアルゴリズムから計算することができる。いずれの場合も、ダイジェストは、領域と識別バイトシーケンスの組合せから導出される。ランクセルこれは、固定精度および固定小数点の、符号なしの測定からの単一の符号なしのバイトを含む。例えば、測定は、1024番目のビットの直後に固定小数点を有する2048ビットの精度へ正規化されてもよい。これは、ランク1を最上位ランクとするランク1...256の256個のランクセルに分割される。この種類のセルは、測定要素パスにおける要素インスタンスごとの組合せトンネルにおいて出現し、IN演算子によって、要素インスタンスが演算子オペランドによって範囲を制限される可能性を評価するのに使用される。またこれは、集約演算によって要素インスタンス値の一部を累積するのにも使用される。ブールセルこれは、真または偽の標識を含む固定サイズのセルである。その最も有効な形において、このセルは、設定されると真を指示する単一ビットである。この種類のセルは、HAS演算子およびEXISTS演算子によって、それぞれ、プロパティまたは要素インスタンスの存在を判定するのに使用される。これは、後述する複数の種類のトンネルにおいて出現する。トンネル以下で、各トンネルファミリ内で作成されるトンネルを説明する。集合トンネル以下の集合トンネルは、コレクションパスごとに作成される。作成されるあらゆるコレクションインスタンスについて1つのコレクショントンネルが作成される。このトンネルは、コレクションインスタンス内の1つの要素インスタンスにつき1つのセルを含む。各セルの種類は、識別セル、測定セル、列挙セルまたは不透明セルのうちの1つである。論理的に除去されるあらゆるコレクションインスタンスについて1つのコレクショントンネルが作成される。これは、1つの反転セルの後に、除去されたとみなされているコレクションインスタンスから複写された1つの要素インスタンスにつき1つのセルが続くものを含む。これらのトンネルが作成される順番は、コレクションインスタンスが作成され、除去される順番を反映し、各フレームにおけるこれらのトンネルの数は様々になる。コレクショントンネルについてのトンネル番号は、新しいフレームについて1から開始する厳密に増分順に割り当てられる。1フレームにつき正確に1つの反転トンネルが生じる。これは、あらゆる反転するコレクショントンネルについて1つの反転セルを含む。このトンネルには常にトンネル番号0が割り当てられる。連結トンネル以下の連結トンネルは、識別要素パスごとに作成される。1つのフレームにつき固定数Nのダイジェストトンネルがあり、各ダイジェストトンネルは、0以上のダイジェストセルを含む。このフレームにおけるこの要素パス内のあらゆる識別要素インスタンスについてダイジェストセルが作成され、ダイジェストは要素値の領域およびバイトシーケンスから計算され、対応する集合トンネルのトンネル番号がこのダイジェストセルに割り当てられる。ダイジェストセルは、1...Nにマップし、要素値の領域およびバイトシーケンスから計算されるハッシュ関数によって与えられるダイジェストトンネルに割り当てられる。各ダイジェストトンネルは、図28に示すように配置され、セルは各トンネル内で厳密に時系列順に追加される。連結トンネルは、IS演算子によって、演算子オペランドに対する要素インスタンスの等価性の可能性または不可能性を評価するためにトラバースされる。セルが演算子オペランドのダイジェストと同じダイジェストを有する場合には、等価性の可能性が高いとみなされ、そうでない場合には、等価性が不可能であるとみなされる。ダイジェストセルが十分に小さく、要素インスタンスで構成される場合には、等価性は、可能性が高いというよりも確実であるとみなされる。1つのフレームにつき正確に1つの存在トンネルがある。これは、対応するフレーム内のあらゆるコレクショントンネルについて1つのブールセルを含み、この要素パスについての要素インスタンスが対応するコレクショントンネルにおいて存在するかどうか指示する。このトンネルには常にトンネル番号0が割り当てられる。各フレームは、存在トンネルにおいて真であるブールセルの数を含む。また各フレームは、1つのダイジェストトンネル番号につき1つのセル数も含む。これは、図29に示すように、そのトンネルにおけるセルの数を得るためにトンネル番号1...Nによってアドレス指定される1次元アレイである。各コレクションインスタンスは、1つのダイジェストトンネルにおいてのみ出現する。したがって、識別要素についての各フレーム内にダイジェストトンネルマップがある。このマップは、図30に示すように、対応するダイジェストトンネル番号を得るためにコレクショントンネル番号によってアドレス指定される1次元アレイである。ダイジェストトンネルマップは、フレームにおける1つのコレクショントンネルにつき1つのエントリを含む。対応する要素インスタンスがコレクショントンネル内に存在しない場合、ダイジェストトンネル番号は0に設定される。コレクションインスタンスについてのダイジェストセルを見つけるには、ダイジェストトンネルを見つけるためにコレクショントンネル番号によってダイジェストトンネルマップを検査し、次いで、対応するコレクショントンネル番号を見つけるためにそのダイジェストトンネルにおけるダイジェストセルを検査する必要がある。識別値に対応するコレクションインスタンスを見つけるには、ダイジェストおよびダイジェストトンネル番号を計算して、計算されたダイジェストについてのすべての一致するダイジェストセルを検索する必要がある。Nに有効な数は65535である。組合せトンネル以下の組合せトンネルは、測定要素パスごとに作成される。1つのフレームにつき固定数Nのランクトンネルがあり、各ランクトンネルは0以上のランクセルを含む。このフレームにおけるこの要素パス内のあらゆる要素インスタンスについてN個のランクセルが作成され、ランクトンネルN内のセルは、正規化測定表現でランクNを表す。ランクトンネルにおける各セルの位置は、このセルについての要素インスタンスを含む集合トンネル番号と符合する。各ランクトンネルは図31に示すように配置され、セルは各トンネル内で厳密に時系列順に追加される。1つのフレームにつき正確に1つの符号トンネルがある。これは、対応するフレームにおけるあらゆるコレクショントンネルについて1つのブールセルを含み、この要素パスについての要素インスタンスが対応するコレクショントンネルにおいて負の大きさを有するかどうか指示する。このトンネルには常にトンネル番号N1が割り当てられる。組合せトンネルは、IN演算子によって、要素インスタンスが演算子オペランドによって範囲を定められる可能性または不可能性を評価するためにトラバースされる。符号セルまたはランクセルが演算子境界内に含まれ得ない値を有する場合には、範囲の制限は不可能とみなされ、そうでない場合は可能性が高いとみなされる。可能性が高い範囲制限について、IN演算子は、さらに不可能性または確実性を判定するために、同じ要素インスタンスについてさらにランクセルを検査してもよい。1つのフレームにつき正確に1つの存在トンネルがある。これは、対応するフレームにおけるあらゆるコレクショントンネルについて1つのブールセルを含み、この要素パスについての要素インスタンスが対応するコレクショントンネル内に存在するかどうか指示する。このトンネルには常にトンネル番号0が割り当てられる。各コレクションインスタンスはあらゆる組合せトンネルにおいて1回出現する。各フレームは、存在トンネルにおいて真であるブールセルの数を含む。また各フレームは、1つのランクトンネルにつき可能な1つの符号なしのセル値につき1つのセル数を含む。これは、図32に示すように、対応するセル値を含むそのランクトンネルにおけるセルの数を得るために、バイト値0...255によってアドレス指定される1つのランクトンネルにつき1つの1次元アレイである。セル数は加算のために直接使用され、共通の符号があり、フレーム全体にわたって反転はなく、述語演算子もない。これらの状況では、各バイト値が対応するセル数で乗算され、これらはランクに関して組み合わされる。別の状況では、集約が各ランクトンネルに順に作用して、キャッシュチャーンを最小化する。加算のために、各ランクは別々に対応する符号セルと共に合計され、これらの合計は累積結果のために組み合わされる。最小値および最大値は、符号トンネルを使用して、どの符号が求められるか、および最小と最大どちらの大きさが求められるかを判定し、次いで、候補セルを見つけるために、まず非ゼロのセル値を含む最高ランクトンネルをスキャンし、その後、候補順に、次いで、ランクの高い順に直接対応する下位のランクトンネルを参照することによって候補が低減される。測定値に対応するコレクションインスタンスを見つけるには、関連する符号トンネルおよびランクトンネルをスキャンする必要がある。見つかる各セルの位置はコレクショントンネル番号に対応する。コレクションインスタンスCについてのランクRにおけるバイトの値を見つけるには、位置CにおけるトンネルR内のセルが検査される必要がある。制限された範囲内の測定をサーチするときに、低い境界と高い境界のランクバイトを比較して、境界が異なる最高ランクが決定される。これが決定ランクであり、決定ランクより下のランクトンネルは、決定ランクより高いランクをまずスキャンすることによって、適合可能なものとして識別された特定のコレクションインスタンスについて検査されさえすればよい。上記を考慮すると、多くのセルが、すべてのランクトンネルを調べることを必要とせずに、適合不可能なものとみなされ得ることが理解されるであろう。決定ランク値より上のランクについてのセル数は、必要なランク値が対応するランクトンネルに存在するか否か迅速に判定するためのスキャンより先に参照される。否である場合、全フレームが割り引かれる。Nに有効な数は256であり、この数は、2048ビットの精度を提供する。特性トンネル以下の特性トンネルは、列挙要素パスごとに作成される。1つのフレームにつき固定数Nのプロパティトンネルがあり、各プロパティトンネルは0以上のブールセルを含む。このフレームにおける要素パス内のあらゆる要素インスタンスについて、列挙セルがあらゆるプロパティトンネルに追加される。プロパティ領域およびバイトシーケンスから1...Nへマップするハッシュ関数が、列挙要素内のプロパティごとに計算され、プロパティハッシュ計算によって戻されるプロパティトンネル番号ごとに、そのトンネル内のセルが設定され、あるいはセルがクリアされる。好都合な代替の実施形態では、単調に増加する序数が各一意のプロパティ識別子に割り当てられる。トンネル番号は、プロパティ序数にNのモジュロを適用することによって導出される。別の好都合な代替の実施形態では、単調に増加する序数が、各要素パス内の各一意のプロパティ識別子に割り当てられる。トンネル番号は、プロパティ序数にNのモジュロを適用することによって導出される。特性トンネルは、HAS演算子によって、要素インスタンスによるプロパティの所有の可能性または不可能性を評価するためにトラバースされる。セルが所有を指示する場合には、所有の可能性が高いとみなされ、そうでない場合は、不可能であるとみなされる。トンネル番号がプロパティ序数から導出される場合には、M-N<P<2Nであれば、所有は、可能性が高いというよりも確実であるとみなされ、式中、Pがプロパティ識別子の序数であり、Mが割り当てられる最大序数であり、Nがトンネルの数である。プロパティトンネルにおける各セルの位置は、対応する要素インスタンスを含むコレクショントンネルのトンネル番号と符合する。1つのフレームにつき正確に1つの存在トンネルがある。これは、対応するフレームにおけるあらゆるコレクショントンネルについて1つのブールセルを含み、この要素パスについての要素インスタンスが対応するコレクショントンネルに存在するかどうか指示する。このトンネルには常にトンネル番号0が割り当てられる。各コレクションインスタンスは、あらゆるトンネルにおいて1回出現する。各フレームは、存在トンネルにおいて真であるブールセルの数を含む。また各フレームは、1つの列挙トンネルにつき1つの真のセル数も含む。これは、図33に示すように、そのトンネルにおける真セルの数を得るためにプロパティトンネル番号1...Nによってアドレス指定される1次元アレイである。Nに有効な数は65535である。トンネルの例以下に、前述の従業員表のセルおよびトンネルについての記憶レイアウトの一例を示す。セルは角括弧で囲まれたものとして示され、セルサイズはSで示され、領域はDで示されている。明確にするために、すべての従業員コレクションインスタンスは同じ時間フレーム内に存在し、どの従業員インスタンスも削除されたことがないものと仮定する。以下に、演算子ナビゲーションルートの例を示す。EXISTS‘Employees.Commission’は、要素パス4内の存在トンネル0をたどる。これは、コレクショントンネル番号2および3をもたらす。IS‘Employees.EmployeeNumber’,10は、要素パス2内のhash10によって与えられるダイジェストトンネルをたどる。これは、コレクショントンネル番号1をもたらす。IN‘Employee.Salary’,0,10000は、要素パス3内の符号トンネル11およびランクトンネル1をたどる。これは、コレクショントンネル1をもたらす。HAS‘Employees.Name’,‘Simon’,‘Jones’は、要素パス1のhash‘Simon’およびhash‘Jones’によって与えられるプロパティトンネルをたどり、これらを組み合わせる。これは、コレクショントンネルをもたらさない。トンネル圧縮前述のトンネルの多くは、トンネルサイズを縮小し、トンネルのスキャンをより高速にするために、従来の損失なしのランレングス符号化を使用して都合よく圧縮される。ランレングス符号化の方法は別の文献で詳細に記載されており、そのため、ここではこれ以上論じない。存在トンネルおよびプロパティトンネルは、事実上、設定ビットまたはクリアビットの連続した部分シーケンスがある可能性の高いビットシーケンスである。したがって、これらのトンネルは都合よくランレングス符号化される。測定要素についてのランクトンネル内では、所与のランクにおける、特に、0バイト値の大きな母集団があるであろう小数点から極端に離れたところにあるバイト値は類似している可能性が高い。したがって、ランクトンネルは、都合よくランレングス符号化される。コレクション集合定義済みの述語演算子およびバインド演算子はそれぞれ、コレクションインスタンスメンバのコレクション集合を生成し、操作する。各コレクション集合は、述語演算子評価によって生成され、演算子評価に関連するとみなされるコレクションインスタンスごとに以下の情報を含む。コレクションフレームおよび述語演算子評価に関連するとみなされるコレクションインスタンスを一意に識別する集合トンネル番号。述語演算子評価の確実性。述語演算子評価に対するコレクションインスタンスの適合性の確実性または可能性を指示するために述語演算子評価によって割り当てられるブール標識。バインド演算の間に割り当てられ、述語演算子評価によって0として割り当てられる訪問序数。バインド演算の間に割り当てられ、述語演算子評価によって0として割り当てられる順序番号。バインド演算の間に割り当てられ、述語演算子評価によって1に割り当てられる濃度。バインド演算の間に割り当てられ、述語演算子評価によって0として割り当てられるバインド要素インスタンスについてのダイジェストトンネル番号。コレクション集合内の、述語演算子評価によって増分的に割り当てられるメンバの順位。コレクションインスタンスについてのバインド要素インスタンスについてのダイジェストセルのダイジェスト値。バインド演算の間に割り当てられ、述語演算子評価によって0として割り当てられる。述語演算子によって生成された後で、各コレクション集合は、良好なフレーム局在性を呈し、コレクションインスタンスが各フレーム内で順序付けられる。有利には、コレクション集合は、迅速なアクセスを支援するためにメモリ内においてホストされ、コレクション集合に有利な構造は、固定サイズのメモリブロックのリストである。これが図34に示されている。有利には、オペレーティングシステムレベルの低レベルメモリ割振りサービスの呼び出しを必要としないコレクション集合の迅速な構築を可能にするために、未使用のメモリブロックがプールされる。有利には、バインド演算が進行するに従って、バインドプロセスの現在の段階および後続の段階と無関係なメンバしか含まないブロックは、リストから除去され、未使用メモリブロックのプールに戻される。コレクション集合は、組合せトンネルおよび/または集合トンネルにアクセスすることによって問合せ結果を具体化するのに使用される。コレクションメンバごとの確実性標識は、問合せ具体化によって、不確実性を解決するために要素インスタンスを検索する必要があるかどうか判定するのに使用される。データベースプロセス前述のアクセスモデルおよび記憶構造は、記憶内でデータを存続させ、データベース内の記憶から問合せ結果を検索するのに使用される。当該データベースのアーキテクチャは、図35に示す階層および構成要素からなる。3つの大きな層は、関係モデルといったネイティブデータモデル、およびSQLといったネイティブコマンド言語のコンテキスト内でのユーザコマンドの全般的調整を担当するデータベースエンジンAからなる。モデル変換層Bは、ネイティブデータモデルと記憶エンジンCによって使用されるアクセスモデルとの間の変換を担当する。記憶エンジンCは、パス定義への変更の存続およびコレクションインスタンスへの変更の存続、ならびに問合せが必要とするコレクションインスタンスおよび要素インスタンスの検索を担当する。モデル変換BによってデータベースエンジンAに提供されるインターフェースは、データベースエンジンAによってサポートされるネイティブデータモデルに依存する。関係データモデルについて、1つの好都合な実施形態では、このインターフェースは以下の通りである。モデル変換インターフェース記憶エンジンCによってモデル変換層Bに提供されるインターフェースは、アクセスモデルの演算および演算子をサポートする。1つの好都合な実施形態では、このインターフェースは以下の通りである。記憶エンジンインターフェースコマンドは、ユーザインターフェースA1によってネイティブ言語で受け入れられ、ネイティブ言語パーサA2によって構文解析される。ネイティブスキーマへの変更を伴うコマンドは、スキーマ定義A4を更新し、ネイティブエンティティからアクセスモデルエンティティへの変換のために、モデル変換Bを介してエンティティ変換B1へ渡される。コレクションパスおよび/または要素パスの定義への変更を伴うスキーマ変更は、パス定義C1による存続のために記憶エンジンCへ渡される。宣言されたスキーマ制約条件は、定義済みの各要素パスの意図を確認することができるようにエンティティ変換B1へ渡される。トランザクション更新を伴うコマンドは、コマンド実行A5とモデル変換Bを介して記憶エンジンCへ渡され、エンティティ変換B1、演算変換B2、およびデータ型変換B3を経由し、パス定義C1を経由して記憶構造C6へ渡される。通過の間に、エンティティ変換B1はネイティブデータモデルエンティティをコレクションエンティティおよび要素パスエンティティに変換し、パス定義C1はコレクションパス識別情報および要素パス識別情報を解決し、演算変換B2は、コレクションインスタンス更新を、アクセスモデルコレクションインスタンス反転および作成演算に変換し、データ型変換B3は、ネイティブデータ型を、識別、測定、列挙および不透明の各要素インスタンスについてのアクセスモデルデータ型に変換する。問合せを伴うコマンドは、コマンド実行A5とモデル変換Bを介して記憶エンジンCへ渡され、エンティティ変換B1、演算変換B2、データ型変換B3、演算子変換B4、パス定義C1、式リファクタリングC2、演算子フェッチC3および演算バインドC4、検索およびマージC5を経由する。通過の間に、エンティティ変換B1は、ネイティブデータモデルエンティティをコレクションパスエンティティおよび要素パスエンティティに変換し、演算変換B2は、複合問合せステートメントをその構成要素の問合せに変換し、データ型変換B3は、ネイティブデータ型を、識別、測定、列挙要素および不透明の各インスタンスについてのアクセスモデルデータ型に変換し、演算子変換B4は、すべてのネイティブ言語演算子を、アクセスモデル演算子IS、IN、HAS、EXISTSおよびBINDに変換する。記憶エンジンCは、パス定義C1を使用してコレクションパス名および要素パス名を解決し、式リファクタリングC2は、複合ブール式を論理和正規形の形に変換し、演算子フェッチC3で、記憶構造C6から、演算子ごとのコレクション集合を生成し、演算子バインドC4が、論理積項内の演算子からのコレクション集合をバインドし、検索およびマージC5が、記憶構造C6によるすべてのバインドされたコレクション集合および論理積からのすべての結果を検索し、マージする。問合せ結果は、集約演算および式評価演算のために演算変換B2を通り、次いで、アクセスモデルデータ型のネイティブモデルデータ型への変換のためにデータ型変換B3を通って戻る。これらの結果は、問合せを開始したユーザの最終レンダリングのために、最終的には、提示A3へ戻る。提示A3は、提示される結果の最終的なソートおよび整理を担当する。問合せ実行の間に、演算子変換B4は、元の演算子基準を適用することによって戻される結果を検証し、損失のある変換から生じる結果を選別することができるように、予測される要素インスタンスと求められる結果集合とを要求しようとすることができる演算実行B2に、潜在的に損失のある述語演算子の変換を指示する。領域定義といった制約条件は、ネイティブスキーマ定義A4内で定義され、コマンド実行A5によりデータベースエンジンA内で執行される。コマンド実行A5は、一意性および論理関係の制約条件を執行するときに、エンティティの存在または非存在を判定するために前述のような問合せを発行する。以下は、関係データベースのコンテキストで説明されるが、前述のアクセスモデルによってサポートされる他の任意のデータモデルにも同様に適用される。ユーザが新しいデータベースインスタンスを作成するためにA1を介してSQL言語を使用してコマンドを実行依頼するときに、SQLステートメントは、A2によってその言語構成要素へと構文解析され、データベース名およびデータベース位置が抽出される。データベースエンジンは、それが有効なコマンドあることを検証し、A4によってしかるべくスキーマ定義を更新する。データベース名および位置名は、記憶位置パスの導出のためにB1を介して記憶エンジンCへ渡され、C6内で新しいデータベースインスタンスのために新しいファイルシステムディレクトリが作成され、サブディレクトリおよびメタデータファイルが作成される。ユーザが、既存のデータベースインスタンスを開くために、A1を介してSQL言語を使用してコマンドを実行依頼するときに、SQLステートメントは、A2によってその言語構成要素へと構文解析され、データベース名が抽出される。データベースエンジンは、A4においてそのスキーマ定義を使用してそれが有効なコマンドであることを検証する。A4におけるデータベース名と関連付けられた位置は、記憶位置パスの導出のために、B1を介して記憶エンジンCへ渡され、ファイルシステムディレクトリがユーザに割り当てられ、最新のメタデータファイルがC6からメモリへロードされる。ユーザが、既存のデータベースインスタンスを削除するためにA1を介してSQL言語を使用してコマンドを実行依頼するときに、SQLステートメントは、A2によってその言語構成要素へと構文解析され、データベース名が抽出される。データベースエンジンは、A4においてそのスキーマ定義を使用してそれが有効なコマンドであることを検証する。A4においてデータベース名と関連付けられた位置は、記憶位置パスの導出のために、B1を介して記憶エンジンCへ渡され、ファイルシステムディレクトリ、その内のサブディレクトリおよびそこに含まれるファイルがC6内から削除される。ユーザが、表構造を作成するためにA1を介してSQL言語を使用してコマンドを実行依頼するときに、SQLステートメントは、A2によってその言語構成要素へと構文解析され、表名および列名が抽出される。データベースエンジンは、それが有効なコマンドであることを検証し、A4によってしかるべくスキーマ定義を更新する。表名および列名は、列のデータ型および制約条件と一緒にモデル変換Bへ渡される。そこで、任意のスキーマおよびデータベース修飾子を含む表名は、コレクションパスとして解釈され、各列名は、要素パスとして解釈され、各制約条件は、B1によって要素パスの意図を判定するのに使用される。コレクションパス、要素パスおよび要素パスの意図はC1へ渡され、コレクションパスに一意のコレクションパス序数が割り当てられ、各要素パスにコレクションパス内の一意の序数が割り当てられる。新しいコレクションパスについてのファイルシステムディレクトリが、C6によって各トンネルファミリディレクトリ内で作成される。データベースメタデータはC6内で存続する。ユーザが、既存の表構造に1つまたは複数の列を加えるためにA1を介してSQL言語を使用してコマンドを実行依頼するときに、SQLステートメントは、A2によってその言語構成要素へと構文解析され、表名および列名が抽出される。データベースエンジンは、それが有効なコマンドであることを検証し、A4によってしかるべくスキーマ定義を更新する。表/列識別子は、B1によって、それぞれ、コレクションパスと要素パスとに解決され、要素パスの意図が、列のデータ型および制約条件から導出される。コレクションパス、要素パスおよび要素パスの意図はC1へ渡され、要素パスにはコレクションパス内の一意の序数が割り当てられる。データベースメタデータはC6内で存続する。ユーザが、表構造を削除するためにA1を介してSQL言語を使用してコマンドを実行依頼するときに、SQLステートメントは、A2によってその言語構成要素へと構文解析され、表名が抽出される。データベースエンジンは、それが有効なコマンドであることを検証し、A4によってしかるべくスキーマ定義を更新する。表名はモデル変換層Bへ渡され、そこでコレクションパスがB1によって識別される。コレクションパスおよびその内のすべてのファイルに明確に関連するディレクトリは、C6内のファイルシステムから削除される。次いで、コレクションパスは削除されたとマークされ、データベースメタデータはC6内で存続する。ユーザが、表構造から1つまたは複数の列を削除するためにA1を介してSQL言語を使用してコマンドを実行依頼するときに、SQLステートメントは、A2によってその言語構成要素へと構文解析され、表名および列名が抽出される。データベースエンジンは、それが有効なコマンドであることを検証し、A4においてしかるべくスキーマ定義を更新する。表名および列名はモデル変換層Bへ渡され、コレクションパスおよび要素パスがB1によって識別される。次いで要素パスは削除されたとマークされ、データベースメタデータはC6内で存続する。ユーザが、表構造を名前変更するためにA1を介してSQL言語を使用してコマンドを実行依頼するときに、SQLステートメントは、A2によってその言語構成要素へと構文解析され、古い表名および新しい表名が抽出される。データベースエンジンは、それが有効なコマンドであることを検証し、A4においてしかるべくスキーマ定義を更新する。表名はモデル変換層Bへ渡され、コレクションパスがB1によって古い表名から識別される。そこで、古い名前についてのコレクションパスにC1において新しいコレクションパス名が割り当てられ、データベースメタデータはC6内で存続する。ユーザが、表構造内の列を名前変更するためにA1を介してSQL言語を使用してコマンドを実行依頼するときに、SQLステートメントは、A2によってその言語構成要素へと構文解析され、表名および列名が抽出される。データベースエンジンは、それが有効なコマンドであることを検証し、A4においてしかるべくスキーマ定義を更新する。表名および列名はモデル変換層Bへ渡され、古い列名についてのコレクションパスおよび要素パスがB1によって識別される。要素パスにはC1において新しい列名が割り当てられ、データベースメタデータはC6内で存続する。ユーザが、表構造を短縮するためにA1を介してSQL言語を使用してコマンドを実行依頼するときに、SQLステートメントは、A2によってその言語構成要素へと構文解析され、表名が抽出される。データベースエンジンは、A4を使用してそれが有効なコマンドであることを検証する。表名はモデル変換層Bへ渡され、コレクションパスがB1によって識別される。C6内で、コレクションパスに関連するすべてのフレームファイルが削除され、閉じられたトランザクションに属する短縮されたコレクションパスについてのすべてのトランザクションセグメントがコレクションパスから割り当て解除される。ユーザが、表構造に明示的行を挿入するためにA1を介してSQL言語を使用してコマンドを実行依頼するときに、SQLステートメントは、A2によってその言語構成要素へと構文解析される。データベースエンジンは、A4によってそれが有効なコマンドであることを検証し、列値を列名と関連付ける。表名、列名および列値はモデル変換層Bへ渡され、コレクションパスおよび要素パスがB1およびC1によって識別される。供給される各列値は、B3により要素パスの意図に従って要素セル識別、測定、列挙または不透明セルに変換される。C6内で、1つまたは複数のトランザクションセグメントが現在のヒープファイルにおいて作成され、要素セルはそれらのファイルに加えられる。ユーザが、1つまたは複数の表構造からの行を問合せするためにA1を介してSQL言語を使用してコマンドを実行依頼するときに、SQL選択ステートメントは、A2によってその言語構成要素へと構文解析され、A2はselect節ごとに階層式木を作成し、where節ごとに階層SQL演算子木を作成する。これらはモデル変換層Bへ渡される。そこで、式木および演算子木内のコレクションパスおよび要素パスが、B1によって識別される。任意の複合SQL問合せステートメントが、B2によって互いに異なる問合せへと分解され、B2はそれらを別々の問合せとして実行依頼する。問合せごとに、演算子木内のSQL演算子は、B4によってアクセスモデルの述語演算子およびバインド演算子に変換され、式木からのコレクションパス名および要素パス名のリストと一緒に記憶層Cへ渡され、演算子木はC2によって論理和正規形へリファクタリングされる。その後、別々のコレクション集合がC3によって述語演算子ごとに生成され、次いで、演算子木の論理積項内のコレクション集合が、C4においてバインド演算子によってバインドされる。必要なコレクションパスおよび要素パスについてのインスタンスが、C5によって演算子木の各論理積項内の各コレクション集合を介してC6からフェッチされ、C5において演算子木内の論理積項間で重複排除され、モデル変換層Bへ戻される。B2は、構成要素問合せの任意の必要な選別、集約または組換えを行う。これらの結果は、アクセスモデルデータ型からSQLデータ型へ再変換され、結果は、A3による提示のためにデータベースエンジンAへ返される。ユーザが、行を更新または削除する目的で表構造からの行を問合せするためにA1を介してSQL言語を使用してコマンドを実行依頼するときに、SQL選択ステートメントは、A2によってその言語構成要素へと構文解析され、A2は、問合せについての述語条件を定義する階層SQL演算子木を作成する。表の名前および演算子木はモデル変換層Bへ渡される。そこで、コレクションパスおよび要素パスがB1によって識別され、演算子木内のSQL演算子は、B4によってアクセスモデルの述語演算子に変換される。コレクションパスおよび演算子木は記憶エンジンCへ渡され、演算子木はC2によって論理和正規形へリファクタリングされる。その後、別々のコレクション集合がC3によって述語演算子ごとに生成され、演算子木内の各論理積項内でマージされる。コレクション集合は、C5によって演算子木内の論理積項間で重複排除される。排他的反転ロックが、その結果を処理する前に最終的なコレクション集合のあらゆるメンバについて要求される。ユーザが行の削除を選択している場合、結果集合内の各コレクションインスタンスがその集合トンネルから検索され、C5によってコレクションインスタンス反転を作成するために複写され、1つまたは複数のトランザクションセグメントが作成され、反転セルおよびコレクションインスタンスの要素セルと共に追加される。ユーザが行の更新を選択している場合、元の各コレクションインスタンスが前述のように反転され、次いで、新しいコレクションインスタンスが変更された要素セルと共に挿入され、1つまたは複数のトランザクションセグメントがヒープファイルにおいて作成され、要素セルがそこに加えられる。以下の演算は、使用されるネイティブデータモデルから独立して、記憶エンジンCにおいて行われる。トランザクションが開かれると、利用可能なトランザクションハンドルが利用可能なトランザクションハンドルのプールから割り当てられ、ヒープファイルトランザクションヘッダは、トランザクション状況開いているで更新されるが、記憶へは書き戻されない。トランザクションが適用されると、ヒープファイルトランザクションヘッダは、トランザクション状況適用されたで更新されるが、記憶へは書き戻されない。次いでトランザクションは、次の適用サイクルが完了するのを待つ。トランザクションによって保持された反転ロックは放棄される。トランザクションが破棄されると、ヒープファイルトランザクションヘッダはトランザクション状況破棄されたで更新されるが、記憶へは書き戻されない。トランザクションによって保持された更新は放棄される。適用サイクルが完了すると、ヒープファイル内のすべての新しいコンテンツおよび更新されたコンテンツは、記憶に書き戻され、同期される。コレクションインスタンスがトランザクションによってヒープファイルに追加されると、トランザクションについての集合トンネルが作成される。使用されるトンネル番号は、このヒープファイル内の同じコレクションパスについての最後の集合トンネル番号より1大きい。1つまたは複数のトランザクションセグメントが集合トンネルについて作成され、各要素インスタンス値に対応するセルが、作成されたトランザクションセグメントに追加される。コレクションインスタンス反転がトランザクションによってヒープファイルに追加されると、集合トンネルがトランザクションについて作成される。使用されるトンネル番号は、このヒープファイル内の同じコレクションパスについての最後の集合トンネル番号より1大きい。1つまたは複数のトランザクションセグメントが集合トンネルについて作成される。1つの反転セルが作成されたセグメントに追加され、その後に続いて元のコレクションインスタンスからの各要素インスタンス値に対応するセルが追加される。DNF式が開いたトランザクション内の問合せのコンテキスト内で評価されているときに、DNF内の論理積項について、後述するように、論理積項内の述語演算子リテラルごとにコレクション集合が作成される。各演算子は、DNF全体の他の演算子と同時に、それ自体のコレクション集合を生成することができる。同じコレクションパスエイリアスについてのすべてのコレクション集合は、そのコレクションパスにおけるあらゆるコレクション集合内で同じフレーム番号および集合トンネル番号を伴って発生する集合メンバだけが保持されるように、各論理積項内で一緒にマージされる。各論理積項内のコレクション集合は、後述するように、同じ論理積項内で出現するバインド演算子によってバインドされる。論理積項のバインドは、他の論理積項のバインドと同時に行うことができる。各コレクション集合は並び順でソートされる。コレクション集合は、DNF全体にわたって同時にソートされてもよい。各コレクション集合は、それらのコレクション集合において識別され、並び順に検索される対応する集合トンネルおよび/または組合せセルからデータを検索するのに使用される。コレクション集合ごとのエントリは、論理積項内のすべてのコレクション集合にわたって同時にエントリごとに検索され、エントリごとにマージされる。検索はDNF内の論理積項全体にわたって順次に行われ、結果は、2つの論理積項によって生み出される同じ結果が繰り返されないように重複排除される。問合せが、測定要素インスタンスが戻されることしか必要としない場合、検索されるメンバごとに、対応する組合せトンネルが、コレクション集合フレーム番号を使用してフレームファイルから読み取られ、集合トンネル番号を使用してランクトンネルにおける特定のランクセルがアドレス指定され、そうでない場合、集合トンネルが、コレクション集合フレーム番号および集合トンネル番号を使用してフレームファイルから読み取られる。単一のコレクションパスについてのDNF式が、開いたトランザクション内の更新のコンテキスト内で評価されているとき、DNF内の各論理積項について、後述するように、その論理積項内の述語演算子リテラルごとにコレクション集合が作成される。各演算子は、DNF全体の他の演算子と同時に、それ自体のコレクション集合を生成することができる。すべてのコレクション集合は、あらゆるコレクション集合において同じフレーム番号および集合トンネル番号を伴って発生するエントリだけが保持されるように、各論理積項内で一緒にマージされる。その後は、1つの論理積項につき1つのコレクション集合だけがあることになる。各コレクション集合は、フレーム番号および集合トンネル番号を直接戻すのに使用される。検索は論理積項全体にわたって順次に行われ、結果は、2つの論理積項によって生み出される同じ結果が繰り返されないように重複排除される。各結果が検索される際に、フレーム番号とトンネル番号の組合せに対して排他的ロックが要求される。ロックが直ちに許諾されない場合、プロセスはそれが許諾されるまで待機しなければならない。すでにロックを所有しているトランザクションにはそのロックが直ちに許諾される。構成可能なタイムアウト期間の後で、ロックがまだ許諾されていない場合、プロセスはすべてのコレクション集合リソースおよびそれまで獲得されたロックを放棄し、引き続きロックが許諾されるのを待つ。ロックが許諾されると、ロックは保持され、ここでいうDNF評価が再開される。DNF内の論理積項のコンテキスト内でコレクション集合をバインドするとき、コレクション集合およびバインド演算子は、前述した順に訪問される。各コレクション集合が訪問される際に、メンバごとのダイジェストトンネル番号に、対応するコレクショントンネル番号によってアクセスされるバインド要素パスについてのダイジェストトンネルマップから直接番号が読み込まれ、メンバ順位に集合内のメンバの順位が読み込まれる。次いで、ダイジェストトンネルおよび順位は、ソートされ、フレームおよびダイジェストトンネルおよび位置の昇順に並べ替えられ、次いで、各フレーム内のトンネル番号順のすべてのエントリについて、ダイジェストエントリに読み込まれる。各バインド演算子が訪問される際に、終点コレクション集合は希薄になり、そのため、起点集合内に対応するダイジェストトンネル番号のないメンバはその濃度を0にリセットさせる。これは、起点ダイジェストトンネルと関連付けられたセル数から求められる。相関する起点メンバは、前述のようにバインド演算子によって伝搬される。コレクション集合にまたがる任意の2つの相関するエントリは、等価のダイジェストトンネル番号および等価のダイジェストを持たなければならない。トンネル番号またはダイジェストのどちらかが異なる場合、メンバは可能な相関から割り引かれ、そうでない場合、エントリは相互に関連付けられる。バインド濃度は、前述のように、バインド演算子によって起点コレクション集合へ反映される。バインドプロセスが進行するに従って、前の伝搬シーケンスに関連する、すなわち設定された訪問序数より小さい訪問序数を有するすべてのメンバが廃棄される。開いたトランザクションのコンテキストにおいてexists演算子についてのコレクション集合を生成するとき、逆フレーム順のヒープファイルごとに、このコレクションパスについての、このトランザクションまたは任意の閉じられたトランザクションに関連するトランザクションセグメントが逆時系列順にナビゲートされる。反転を含むセルごとに、フレーム番号と集合トンネル番号の組合せをメモリベースの反転の集合に加える。必要な要素パスについての要素セルを含むセルは、そのフレーム番号と集合トンネル番号の組合せがメモリベースの反転の集合に含まれない場合に、コレクション集合に含まれる。要素パスについてのメモリ常駐フレームマップは、倍率の昇順に調べられ、倍率内で、現在のフレーム番号からフレームの降順に調べられる。一致するフレーム間隔が見つかる場合少なくとも1つ要素が存在する場合には、その間隔を開始するフレーム番号が選択される。すでにスキャンされたヒープファイルに関連するフレーム番号は無視する。選択されたフレーム番号が現在開いているフレームファイルのフレーム番号でない場合には、選択されたフレーム番号を有するコレクションパスの集合トンネルについてのフレームファイルおよび要素パスのトンネルファミリについてのフレームファイルが開かれる。コレクションパスについての反転トンネルおよび必要な要素パスについての存在トンネルが、開かれたフレームファイルから読み取られる。反転のビットマップマップが、現在のフレーム内のコレクショントンネルごとにクリアビットを伴って作成される。反転トンネルが、反転セルについて、見つかったセルごとにスキャンされ、反転されたフレームと反転されたトンネル番号の組合せが、メモリベースの反転の集合に加えられ、反転するトンネルに対応するビットが反転のビットマップにおいて設定される。存在トンネルが、要素の存在を指示するセルについてスキャンされる。メモリベースの反転の集合内に対応するエントリを有するセルは無視され、それ以外に、反転のビットマップにおいて対応するビットが設定されている各セルが無視され、それ以外に、フレーム番号および集合トンネル番号がコレクション集合に加えられる。コレクション集合エントリは常に確実としてマークされる。要素パスのフレームマップが、次の関連するフレームを決定するために要素パスに関連した現在開いているフレームファイルから読み取られ、次のフレームが見つからなくなるまで上記のように続行される。開いたトランザクションのコンテキストにおいてis演算子についてのコレクション集合を生成するとき、連結トンネル番号およびダイジェスト番号が演算子オペランドから導出される。逆フレーム順のヒープファイルごとに、このコレクションパスについての、このトランザクションまたは任意の閉じられたトランザクションに関連するトランザクションセグメントが、逆時系列順にナビゲートされる。反転を含むセルごとに、フレーム番号と集合トンネル番号の組合せをメモリベースの反転の集合に加える。演算子オペランドと等価の値を有する必要な要素パスについての識別要素セルを含むセルは、そのフレーム番号と集合トンネル番号の組合せがメモリベースの反転の集合に含まれない場合に、コレクション集合に含まれる。要素パスについてのメモリ常駐フレームマップは、倍率の昇順に調べられ、倍率内で、現在のフレーム番号からフレームの降順に調べられる。一致するフレーム間隔が見つかる場合間隔内のどの共通ビットも演算子オペランドと異ならない場合には、その間隔を開始するフレーム番号が選択される。すでにスキャンされたヒープファイルに関連するフレーム番号は無視する。選択されたフレーム番号が現在開いているフレームファイルのフレーム番号でない場合には、選択されたフレーム番号を有するコレクションパスについての集合トンネルおよび連結トンネルについてのフレームファイルが開かれる。コレクションパスについての反転トンネルおよび演算子オペランドから導出されたダイジェストトンネルが開かれたフレームファイルから読み取られる。反転のビットマップマップが、現在のフレームにおけるコレクショントンネルごとにクリアビットを伴って作成される。反転トンネルが、反転セルについて、見つかったセルごとにスキャンされ、反転されたフレームと反転されたトンネル番号の組合せが、メモリベースの反転の集合に加えられ、反転するトンネルに対応するビットが反転のビットマップにおいて設定される。ダイジェストトンネルは、一致するダイジェストセルについてスキャンされる。メモリベースの反転の集合内に対応するエントリを有するダイジェストセルは無視され、それ以外に、反転のビットマップにおいて対応するビットが設定されている各セルが無視され、それ以外に、フレーム番号および集合トンネル番号がコレクション集合に加えられる。コレクション集合エントリは、ダイジェストセルが十分である場合には確実としてマークされ、そうではなく、エントリがフレームファイルから生じる場合には、不確実とマークされ、他方、ヒープファイルから生じるエントリは、常に確実としてマークされる。要素パスのフレームマップが、次の関連するフレームを決定するために、要素パスに関連する現在開いているフレームファイルから読み取られ、次のフレームが見つからなくなるまで上記のように続行される。開いたトランザクションのコンテキストにおいて、in演算子についてのコレクション集合を生成するとき、両方の演算子オペランドが正である場合には、必要な符号を正とし、必要な範囲を、演算子オペランドの低い絶対値と高い絶対値の間とし、そうではなく、両方のオペランドが負である場合には、必要な符号を負とし、必要な範囲を、演算子オペランドの低い絶対値と高い絶対値の間とし、それ以外の場合には、サーチを、必要な範囲が最小の演算子オペランドと0との間であり、必要な符号が負であるサーチと、範囲が0と最大の演算子オペランドとの間であり、必要な符号が正であるサーチの2つに分割する。必要な範囲の両境界が、固定小数点の前後の固定数の有効数字部バイトへと正規化される。決定ランクが正規化境界から決定され、ピボットランクは、両正規化境界に共通の有効数字部バイトを有する最低のランクである。ピボットランクにおける共通のバイト値をピボット値と呼ぶ。逆フレーム順のヒープファイルごとに、コレクションパスについての、このトランザクションまたは任意の閉じられたトランザクションに関連するヒープセグメントが、逆時系列順にナビゲートされる。反転を含むセルごとに、フレーム番号と集合トンネル番号の組合せをメモリベースの反転の集合に加える。必要な範囲内の値および必要な符号を有する必要な要素パスについての測定要素セルを含むセルは、そのフレーム番号と集合トンネル番号の組合せがメモリベースの反転の集合に含まれない場合に、コレクション集合に含まれる。要素パスについてのメモリ常駐フレームマップは、倍率の昇順に調べられ、現在のフレーム番号からのフレームの降順に調べられる。一致するフレーム間隔が見つかる場合フレーム間隔範囲が演算子オペランド範囲とオーバーラップする場合には、その間隔を開始するフレーム番号が選択される。すでにスキャンされたヒープファイルに関連するフレーム番号は無視する。選択されたフレーム番号が現在開いているフレームファイルのフレーム番号でない場合には、選択されたフレーム番号を有するコレクションパスの集合トンネルおよび組合せトンネルについてのフレームファイルが開かれる。要素パスについての存在トンネル、符号トンネルおよびすべての組合せトンネルが、要素パスのフレームファイルから読み取られ、反転トンネルがコレクションパスのフレームファイルから読み取られる。反転のビットマップマップが、現在のフレームにおけるコレクショントンネルごとにクリアビットを伴って作成される。反転トンネルが、反転セルについて、見つかったセルごとにスキャンされ、反転されたフレームと反転されたトンネル番号の組合せが、メモリベースの反転の集合に加えられ、反転するトンネルに対応するビットが反転のビットマップにおいて設定される。ピボット値についての関連セルが存在するかどうか確かめるために、ピボットランクの組合せトンネルについてのセル数が調べられる。ピボット値についての関連セルが存在しない場合、現在のフレームマップ内の前のフレームへ移動し、上記を続行する。最高のランクからピボットランクまでのランクごとに、セル数を使用して、すべてのセルがそのランクより上のトンネルにおいて0であり、両オペランドにおける対応するランク値が0である最低のランクを見つける。このランクを高いランクと呼ぶ。最低のランクからピボットランクまでのランクごとに、セル数を使用して、すべてのセルがそのランクより下のトンネルにおいて0であり、両オペランドにおける対応するランク値が0である最高のランクを見つける。このランクを低いランクと呼ぶ。ピボットランクについての組合せトンネルが、ピボットバイトと一致するランクセルについてスキャンされる。対応する存在セルを持たないランクセルは無視され、それ以外に、メモリベースの反転の集合内に対応するエントリを有するランクセルが無視され、それ以外に、反転のビットマップにおいて対応するビットが設定されている各セルが無視され、それ以外には、対応する符号セルおよび高いランクと低いランクとの間のランクセルを参照して、符号が必要な符号であり、組合せトンネルのランクの大きさが必要な範囲内にあることを確認し、そうである場合、フレーム番号および集合トンネル番号がコレクション集合に加えられる。コレクション集合エントリが確実としてマークされる。要素パスのフレームマップが、次の関連するフレームを決定するために、要素パスに関連する現在開いているフレームファイルから読み取られ、次のフレームが見つからなくなるまで上記のように続行される。開いたトランザクションのコンテキストにおいて、has演算子についてのコレクション集合を生成するとき、特性トンネル番号が、演算子オペランドから導出される。逆フレーム順のヒープファイルごとに、コレクションパスについて、このトランザクションまたは任意の閉じられたトランザクションに関連するヒープセグメントが、逆時系列順にナビゲートされる。反転を含むセルごとに、フレーム番号と集合トンネル番号の組合せをメモリベースの反転の集合に加える。すべての演算子プロパティオペランドを含む必要な要素パスについての列挙要素セルを含むセルは、そのフレーム番号と集合トンネル番号の組合せがメモリベースの反転の集合に含まれない場合に、コレクション集合に含まれる。要素パスについてのメモリ常駐フレームマップは、倍率の昇順に調べられ、次いで、現在のフレーム番号からフレームの降順に調べられる。一致するフレーム間隔が見つかる場合すべての必要な特性トンネル番号のビットが設定されている場合には、その間隔を開始するフレーム番号が選択される。すでにスキャンされたヒープファイルに関連するフレーム番号は無視する。選択されたフレーム番号が現在開いているフレームファイルのフレーム番号でない場合には、選択されたフレーム番号を有するコレクションパスについての集合トンネルおよび特性トンネルについてのフレームファイルが開かれる。存在トンネルおよび演算子オペランドから導出された必要な特性トンネルが、要素パスのフレームファイルから読み取られ、反転トンネルがコレクションパスのフレームファイルから読み取られる。反転のビットマップマップが、現在のフレームにおけるコレクショントンネルごとにクリアビットを伴って作成される。反転トンネルが、反転セルについて、見つかったセルごとにスキャンされ、反転されたフレームと反転されたトンネル番号の組合せが、メモリベースの反転の集合に加えられ、反転するトンネルに対応するビットが反転のビットマップにおいて設定される。必要な特性トンネルが、ビットマップとして論理積的に組み合わされ、すべての必要な特性トンネルにおける対応するコレクションインスタンスにおいてビットが設定されているビット位置だけが設定される。組合せビットマップが設定ビットについてスキャンされ、対応する存在セルを持たない集合ビットが無視され、メモリベースの反転の集合内に対応するエントリを有する設定ビットが無視され、それ以外に、反転のビットマップにおいて対応するビットが設定されている各セルが無視され、それ以外に、フレーム番号および集合トンネル番号がコレクション集合に加えられる。コレクション集合エントリは、エントリがフレームファイルから生じる場合には、プロパティトンネル番号が一意のプロパティ序数から導出され、M-N<P<2Nであり、式中、Pはプロパティ序数であり、Mは割り当てられる最大序数であり、Nはプロパティトンネルの数である場合に、確実としてマークされ、他方、ヒープファイルから生じるエントリは、常に確実とマークされる。要素パスのフレームマップが、次の関連するフレームを決定するために、要素パスに関連する現在開いているフレームファイルから読み取られ、次のフレームが見つからなくなるまで上記のように続行される。開いたトランザクションのコンテキストにおいて、true演算子についてのコレクション集合を生成するとき、逆フレーム順のヒープファイルごとに、このコレクションパスについての、このトランザクションまたは任意の閉じられたトランザクションに関連するトランザクションセグメントが、逆時系列順にナビゲートされる。反転を含むセルごとに、フレーム番号と集合トンネル番号の組合せをメモリベースの反転の集合に加える。必要なコレクションパスについての任意のコレクションインスタンス識別情報は、そのフレーム番号と集合トンネル番号の組合せがメモリベースの反転の集合に含まれない場合に、コレクション集合に含まれる。コレクションパスについてのメモリ常駐フレームマップが、最低の倍率において、現在のフレーム番号からフレームの降順に調べられる。すでにスキャンされたヒープファイルに関連するフレーム番号は無視する。フレームマップエントリが1つまたは複数の反転を指示する場合には、集合フレームファイルを開き、反転トンネルを読み取り、反転のビットマップマップが、現在のフレーム内のコレクショントンネルごとにクリアビットを伴って作成され、反転トンネルをスキャンし、見つかった反転セルごとに、見つかった反転ごとのメモリベースの反転の集合に反転されたフレームと反転されたトンネル番号の組合せを加え、反転するトンネルに対応するビットが反転のビットマップにおいて設定される。トンネル1から開始し、フレームマップによって指定されるコレクションインスタンスの数において終了するが、反転のビットマップにおいてビットが設定されており、またはメモリベースの反転の集合に対応するエントリを有するものを除くコレクションインスタンストンネルの連続したシーケンスを追加する。これらのエントリのフレーム番号は、フレームマップエントリを検査するのに使用されるフレーム番号である。コレクション集合エントリは、常に確実としてマークされる。コレクションパスのフレームマップが、現在開いているフレームファイルから読み取られ、引き続き上記のように先行するフレームに進む。これは、次のフレームが見つからなくなるまで上記のように続行される。開いたトランザクションのコンテキストにおいて、論理積項を具体化するとき、コレクション集合内の不確実なエントリごとに、確実性または不可能性を判定するために、対応する集合トンネルが読み取られなければならず、対応する要素インスタンスが検査されなければならない。要素インスタンスが続いて不可能であるとみなされる場合、その濃度が0とマークされ、エントリがコレクション集合においてボイドとして取り扱われ、論理積項内のコレクション集合のマージの間にすべての対応するエントリを無効にする。ヒープファイルからフレームファイルへセグメントを移行するとき、まだ移行されていない適用されたトランザクションに関連するセグメントだけが移行される。破棄されたトランザクションに関連するセグメントは無視される。開いたトランザクションに関連するセグメントはカウントされる。各コレクションパスを個別に順に移行する。トンネルファミリごと、およびコレクションパス内の要素パスごとに、メモリセクタマップおよびトンネルを作成する。各トンネルの開始時にトンネルリンクを前のフレームとして初期設定する。コレクションパスを移行するに先立ち、コレクションパスおよびそれに関連した要素パスについてのフレームマップを、移行されるフレームに先行するフレームファイルからメモリへ読み取る。コレクションパスを移行するに先立ち、記憶マップ、コレクションパスについての反転トンネルおよびすべての関連する要素パストンネルについてのトンネルを、移行されるフレームへ累積させる必要のある任意のフレームファイルからメモリへ読み取る。移行されるセグメントごとに、メモリにおいて新しい集合トンネルを作成し、セグメントセルを集合トンネルへ複写する。反転について、反転トンネルに反転セルを追加する。コレクションパスのフレームマップを前述のように更新する。次いで、セグメント内の各要素セルを移行し、コレクションパスの記憶マップを更新する。識別要素ごとに、ダイジェストセルを前述のように構築し、それを関連するダイジェストトンネルに追加する。ダイジェストトンネル番号をトンネルマップに追加する。存在セルを要素パスの存在トンネルに追加する。要素値からの要素パスのフレームマップを前述のように更新し、要素パスの記憶マップを更新する。測定要素ごとに、ランクトンネルごとのランクセルを前述のように構築し、それらを関連するランクトンネルに追加する。存在セルを要素パスの存在トンネルに追加する。要素値からの要素パスのフレームマップを前述のように更新し、要素パスの記憶マップを更新する。列挙要素ごとに、プロパティトンネルごとのプロパティセルを前述のように構築し、それを関連するプロパティトンネルに追加する。存在セルを要素パスの存在トンネルに追加する。要素値からの要素パスのフレームマップを前述のように更新し、要素パスの記憶マップを更新する。セグメント内のあらゆる要素セルを移行した後で、非存在セルを、セグメントに含まれないあらゆる要素パスについての存在トンネルに追加し、0ランクセルを、セグメント内のすべての非存在要素パス内のあらゆるランクトンネルに追加し、非存在プロパティセルを、セグメント内のすべての非存在要素パス内のあらゆるプロパティトンネルに追加する。すべてのセグメントを移行した後で、最高のヒープファイルフレーム番号を使用してフレームファイルを作成し、すでに存在している可能性のあるそのようなフレームファイルを上書きする。セクタマップ、フレームマップおよびトンネルを各フレームファイルに書き込む。ヒープファイル内のすべての移行トランザクションハンドルを移行されたとマークし、ヒープファイルを記憶と同期させる。各移行トランザクションハンドルを再利用可能にする。ヒープファイルが開いたトランザクションに関連するセグメントを含む場合には、ヒープファイルを保持し、そうでない場合にはヒープファイルを削除する。以上は、特に、前述の目的を果たす装置、システム、および方法の説明である。本明細書で論じ、図示した実施形態は本発明の単なる例にすぎず、本明細書で図示し、説明した実施形態への変更を組み込んだ他の実施形態も、本発明の範囲内に含まれることが理解されるであろう。"