JP2004518226A - データベースシステムおよびクエリオプティマイザ - Google Patents

データベースシステムおよびクエリオプティマイザ Download PDF

Info

Publication number
JP2004518226A
JP2004518226A JP2002561716A JP2002561716A JP2004518226A JP 2004518226 A JP2004518226 A JP 2004518226A JP 2002561716 A JP2002561716 A JP 2002561716A JP 2002561716 A JP2002561716 A JP 2002561716A JP 2004518226 A JP2004518226 A JP 2004518226A
Authority
JP
Japan
Prior art keywords
data
tree
database
elements
type
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2002561716A
Other languages
English (en)
Inventor
フォン ベルゲン アクセル
シュヴァルツ アルネ
ザウアーマン フォルカー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SAP SE
Original Assignee
SAP SE
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SAP SE filed Critical SAP SE
Publication of JP2004518226A publication Critical patent/JP2004518226A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • G06F16/24534Query rewriting; Transformation
    • G06F16/24542Plan optimisation
    • G06F16/24545Selectivity estimation or determination
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2246Trees, e.g. B+trees
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99942Manipulating data structure, e.g. compression, compaction, compilation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99943Generating database or data structure, e.g. via user interface

Abstract

本発明は、データベース構造に対するクエリの最適化方法に関する。この場合、特定のデータソースに関するデータベース情報を受け取り、受け取ったデータソース情報に基づきこのデータソースのためのサーチデータベース構造を生成する。さらにデータソースに対するクエリ要求を受け取り、このクエリ要求の個々のセクションに対するヒット数の計数によりサーチデータベース構造を分析する。そして実行された分析に基づき最適化されたクエリ要求を計算する。

Description

【0001】
本発明はデータベースシステムのような情報記憶システムに関する。コンピュータベースのこのようなデータ記憶システムの場合、データはメモリやハードディスクドライブのような何らかの媒体に格納され、そこから取り出される。データベースにアクセスする最も一般的な手法はデータベースクエリによるものであって、これはたとえばSQL命令文によって行われる。このようなデータベースクエリは実際には常に複合的な形態をとり、つまりデータベースクエリは少なくとも2つの満たすべき条件を要求する。クエリに適合するデータのサーチは複数のやり方で行うことができる。たいていはクエリオプティマイザが使用され、これはたとえばルールベースのオプティマイザやコストベースのオプティマイザである。ルールベースのオプティマイザはまえもって定義されたルールセットを使用する。コストベースのオプティマイザは、クエリを構成するデータに関する統計的な情報を使用し、これは各クエリコンポーネントのセレクティビティ(selectivity)を推定し、最もセレクティブなコンポーネントに沿ったサーチパスを最初に導くことによって行われる。公知のオプティマイザを使用すると平均レスポンスタイムを短くすることができるけれども、どのような特有のクエリでも最適化するオプティマイザに対するニーズがある。
【0002】
公知のシステムの場合、データはたとえばリレーショナルモデルをベースとする構造のようなデータ構造に格納されている。公知のデータ記憶システムを利用して格納されるデータを記憶させ、サーチし取り出すことはできるけれども、取り出しに要する時間がかなりかかる可能性があり、殊に複合的なクエリの場合には相当な時間がかかることになる。さらに効率的なデータベース構造を構築するのは複雑であり、したがってコストがかかる。また、データベースの設計が標準どおりではないと、程度の差こそあれサーバのパフォーマンスの劣化がたやすく引き起こされてしまう。しかもデータベースレイアウトまたはデータモデルがいったん定義されてしまうと、あとから変更を加えるのが難しくなってしまい、たいていの場合はそれによってパフォーマンスの損失が生じてしまう。したがって、望ましくないパフォーマンス上の制約が生じることなくインプリメントおよび変更を行えるデータベースシステムに対するニーズが存在する。
【0003】
最初の目的は、請求項1記載のクエリオプティマイザを提供することによって達成される。サーチパスの決定を複合クエリの各セクションに対するヒット数をベースとすることにより、最少のヒット数によってサーチを最初に導くことができ、したがってクエリに対する結果を迅速に戻すチャンスが増える。請求項4に記載されているようにデータレコード関係を表す付加的なリンクをサーチ構造に設けることによって、オプティマイザは所定のクエリセクションのヒット数を考慮できるだけでなく、最もセレクティブなサーチキーを引き出すこともできる。
【0004】
請求項6に記載されているようにデータ構造を設けることで、パフォーマンスが制約されることなくインプリメント可能なデータベース構造が実現され、このデータベース構造は上述のクエリオプティマイザ手法によって利用することができる。パフォーマンスの犠牲というリスクを生じさせることなく、後から簡単に変更することができる。本発明のデータ構造を使用することによって、クエリオプティマイザのあらゆる利点がデータ構造自身の中に取り込まれる。これによって別個のサーチデータ構造の必要性がなくなる。
【0005】
その他の特徴や利点は本発明の複数の実施形態に示されている。従属請求項には本発明の有利な実施形態が示されている。
【0006】
図1にはデータベースがテーブルとともに示されている。図2には本発明によるツリー構造の一例が示されている。図3には本発明によるツリー構造に関する別の例が示されている。図4には本発明によるデータ構造の一例が示されている。図5には本発明によるデータ構造の詳細が示されている。図6には本発明によるデータ要素が略示されている。
【0007】
図1には本発明の実施形態に関する最初の例が示されている。ここにはデータを含むデータソースDS(これはたとえばデータベースまたはアプリケーションとすることができる)が、列A,Bをもち複数のデータ要素から成るテーブルCとして格納されたデータの若干の部分とともに示されている。なお、データソースDSはいかなる種類のものであってもよく、テーブルCは1つの例である。
【0008】
本発明によれば、外部データ構造Eには図2に示されているような形態が与えられている。便宜上、データ構造Eをサーチデータ構造と称し、これはデータクエリに基づき構造を分析するためこの構造においてサーチを実行するために用いられることになる。データ構造Eにおいて、個々の列A,Bの要素はバイナリツリー構造としてまとめられている。ツリーにおける各要素は図2では円として描かれており、その上部左側部分には属性の値(VAL)が、上部右側部分には要素のタイプの特有の識別子(ID)が示されており、さらに下部には、個々の要素の下位の分岐にはいくつの要素が存在するのかを少なくとも表す数字(COUNT)が示されている。なお、この例では下部の数には個々の要素自身も含まれている。列AまたはBにおいてあるインスタンスに対し複数のエントリが存在するならば、個々のエントリの個数によって上述の数字COUNTを増加させることでそれらのエントリが考慮される。要素がツリーに加えられたりツリーから消去されたりしたときには、COUNT数字を更新する必要がある。たとえばインターネットのようなデータ通信リンクを介するなど何らかのやり方によって、データソースDSから本発明によるプログラムのインプリメンテーションへデータを伝送することができ、さらに本発明のためのデータ構造を何らかの適切なやり方で構築することができる。有利にはサーチデータ構造は、高速なアクセスタイムが得られたとえばRAMのようにランダムにアクセス可能なメモリに格納される。
【0009】
この例ではデータソースDSのごく小さなセクションだけしか示されていない。実際にはかなり多くの列が使用され(したがってツリーも相応の個数)、同様に非常に多くの個数のテーブルまたは同等の構造が使用される。さらにツリーは何らかの手段によってインプリメンテーションにおいてアクセス可能となり、これはたとえば複数のツリー構造にわたり階層状に配置されたポインタなどのようなリンク要素によって行われることになる。このリンク要素自体は、ツリー構造をアクセスできるようにする別のコンフィギュレーションの一部分とすることができる。
【0010】
データソースDSにおけるサーチのためのクエリがたとえばQ1 AND Q2AND Q3のような複合クエリのかたちで要求されると(ここでQ1,Q2,Q3はデータベースサーチのための程度の差こそあれ各々セレクティブなステートメントであるセクション)、本発明によるクエリオプティマイザはデータベース構造Eにおけるサーチを以下のようにして行うことになる。クエリの各セクション(すなわちQ1,Q2,Q3)ごとに、要求された要素が見つかるまでパスに沿ってツリーA,Bの個々の分岐を辿っていくことでヒット数が求められ、個々の値COUNTからヒット数を計算することができる。規準(criterion)に合致する要素の個数を見つかった要素自体のCOUNTパラメータからそのまま得ることができるし、あるいは見つかった複数の要素の単純な加算および/または減算により得ることができる。したがって要求されたデータを取得するためにツリーを最後まで完全に辿る必要がない。なお、このような(バイナリ)ツリーのサーチは(バイナリ)ツリーにおけるレンジのサーチと同様、従来技術において知られている。
【0011】
その結果、個々のコンポーネントQ1,Q2,Q3各々に対するヒット数は既知である。この情報に基づきオプティマイザはクエリの実行順序を選択することができ、最少ヒット数のコンポーネントはおそらくは最もセレクティブな条件(selective condition)であることから、有利には最少ヒット数のコンポーネントから開始する。また、コンポーネントごとのヒット数を他の何らかのやり方で最適化に利用することもでき、そのようなやり方には他のクリテリアと合成することあるいはそれといっしょに使用することが含まれる。
【0012】
この例の場合、構造Eをリアルタイムに更新する必要はない。データソースDS内でデータを変更するレートに応じて構造Eを周期的に更新することができ、たとえば毎時または毎日更新することができる。構造Eを完全に更新しておかないと、データソースDSに対して正確なヒット数が計算されないという誤差が引き起こされるが、この誤差が所定の範囲内で維持されていれば推定を効果的に使用することができる。周期的な更新の利点は、リアルタイムの更新であれば必要とするような多くのリソースを必要としないことである。
【0013】
本発明のさらに別の実施形態によれば、要素数だけでなく各要素間の関係も構造に取り込まれる。次にこれについて図3にE′として示す。この場合、リンク要素Hが破線で示されており、これはたとえば1つのレコードに組み込まれたデータを表す。この破線は1つのレコードの各フィールド間のリンクを表す。その際、リンク要素をたとえばポインタとしてインプリメントすることができる。ここでは別のツリーFが示されており、このツリーはテーブルCの別の列を表している。図3に示されているようにテーブルCの後続の列が1つのツリー構造として配置されており、これは個々のID番号によってソートされている。その利点は、個々のツリーA,B,Fへのアクセスを非常に高速かつ効率的に行えることである。
【0014】
クエリコンポーネントの分析にあたりヒット数を計算できるだけでなく、最もセレクティブなキーを見つけることもでき、この場合、どのようなキーでも選択することができる。その結果としてクエリオプティマイザはクエリコンポーネントを最適な順序で戻すことになり、ここでクエリコンポーネントはもともとのクエリと同じである必要はない。このような新たなクエリを用いてデータベースをサーチすることができる。このインプリメンテーションによって、最適なクエリキーを得るための迅速かつ効率的な手法が提供される。
【0015】
有利にはすべてのツリーは整数の識別値(ID)によって識別され、それらの要素も有利には整数またはその他の単純な識別子形式によって識別される。このようにすることの利点はサーチ中、かなり単純な(したがって高速な)比較を行えばよいことである。なお、バイナリツリーを設けるということは本質的なことではなく、本発明をたとえばAVLツリー、2−3ツリー、Bツリー、スプレイツリーによって適用することもでき、さらに基本的にレンジサーチを許容するいかなるデータ構造によっても適用可能である。とはいうもののバイナリツリー(およびたとえばバランスツリー)によって最も高速な総アクセスタイムが保証され、これはインプリメントおよび使用法が非常に簡単である。
【0016】
これまで説明してきた例の場合、本発明は別個のデータソースといっしょに使用される。これによって得られる利点とは、既存のデータベースシステムを利用できることであり、アプリケーションをメインのデータソースとは別個に使用できることである。本発明のさらに別の実施例によれば第2の例のサーチデータベースは、データベース構造を得るために所定のフィーチャによって大きくされており、そのデータを記憶し取り出すことができる一方、高速なクエリオプティマイザの利点が取り込まれる。
【0017】
図4にはテーブルKが示されており、このテーブルは3つの列すなわちそれぞれ名前、年齢および体重の列をもっている。本発明によるデータベース構造の場合、各列はバイナリツリー有利にはバランスAVLツリーで作成されている。このツリーはテーブルのデータを含む複数のセルから成る。個々のツリー中の個々のセル間のリンクはテーブルにおいて1つの行(つまりデータレコード)を表すリンクであって、これは構造H′を介して行われる。たとえばポインタから成るこの構造H′によって、隣接するツリーの個々のセルが結ばれる。この場合、構造H′も、テーブルの列を表す個々のツリーの識別子についてソートされたツリーを成している。前述の例と同様、各セルにはCOUNTパラメータが設けられており、これは各セルの隣りのボックスとして示されている。前述の例と同じようにCOUNTパラメータは、個々の要素の下位の分岐中にいくつの要素が存在するのかを表している。
【0018】
本発明による構造を利用すれば、キーの形態でリジッドな構造をg強制することなくデータベースにデータを格納することができる。ツリーやリンクを単に加えることにより、パフォーマンスを妥協することなく本発明の構造を拡張、修正、変更することができる。高速なサーチルーチンに必要とされるパラメータはデータ構造に含まれており、したがってクエリオプティマイザの上述の例をデータベース構造に対する制約なく利用できる。二次的なサーチデータベース構造を構築する必要がない。
【0019】
先行の例の場合、ツリーの要素はすべて異なる。このようなことは何らかのアプリケーションの場合にはあり得るけれども、記憶すべき大半のデータは複数の同一のエントリをもつことになる。このような状況のため図5に示されているような構造が使用される。この例の場合、エントリBOBが3回現れている。データ構造構築中、BOBに関する連続するセル各々はすでにそこにあるセルの隣りに置かれ、ポインタリングを介して他のセルとリンクされる。図示されている例の場合、ポインタリングは双方向である。片方向リングでも十分であるかもしれないが、双方向のアーキテクチャはリングを介したナビゲーションにおいて有利である。最後に加えられたセルはそのままツリー構造の一部分となる。セルフリング中に隣接セルをもつツリー構造のセルとそうでないセルとを区別するため、図5のセルの下方のセクションに示されているように各セルごとに変数が設けられている。この事例では変数0はセルが隣接セルをもたないことを表し、つまり複数のオカレンスが存在しないことを表す。図5に示されているように1つのリング内の各セルは、破線で示されているように次のツリーへのリンクを維持している。このようにして、この構造によりすべてのデータ情報が完全に保持される。さらにリングゆえにいかなる複数のオカレンスについてもCOUNTパラメータを調整する必要があり、その目的はCOUNTパラメータによって個々のセルの下位の分岐中にいくつのセルが存在するのかを表せるようにすることである。COUNTパラメータにセルフリング中の要素数を含めることができる。また、セルフリングコンフィギュレーションを最初の2つの例で示したサーチ法とともに使用することもできる。
【0020】
データ構造をさらに利用しやすくするためツリー構造の終端要素すべてに、個々のツリーの上方セクションまたはスタートセクションを指すリンク要素が設けられる。このようなリンク要素をインプリメントするにはポインタが効率的な手法である。リンク要素によってツリーに対するリング構造が用意され、構造を介したナビゲーションのインプリメントがいっそう容易になり、ポインタを使用した場合にヌルポインタの発生が回避される。
【0021】
データ構造をインプリメントするため、図6に示されているように本発明によるデータ要素Gを用いることができる。このデータ要素はデータ構造全体にわたって汎用的に利用することができ、必要に応じて変更を行ってフィーチャを取り除いたり特別なフィーチャを含めたりすることができる。なお、本発明はこの特定のデータ形式に限定されるものではなく、他のインプリメンテーションも利用できる。
【0022】
図6ではデータ要素は概略的に示されている。要素Gにはポインタの3つのペアと単独のポインタが設けられている。第1のペアのポインタには参照符号LVRとRVR(それぞれ Left Vertical Ring, Right Vertical Ring)が付されており、第2のペアのポインタには参照符号LHRとRHR(それぞれ Left Horizontal Ring, Right Horizontal Ring)が、第3のポインタのペアには参照符号LSRとRSR(それぞれ Left Self Ring, Right Self Ring)が、さらに単独のポインタには参照符号IF(Information bridge)が付されている。LVR/RVRのペアは、同じタイプの要素を包含するツリー構造のために用いることができる。LHR/RHRのペアは、ある要素を隣接ツリーとリンクするために用いることができる。LSR/RSRのペアは、同様の要素を1つのセルフリング構造に含めるために用いることができる。
【0023】
図6に示されているように初期状態では、すべてのポインタはデータ要素自体を指している。要素が構造に加えられるか挿入されると、リングコンフィギュレーションが維持されるようポインタの向きが変えられ、その結果、構造中のすべてのポインタが有効なアドレスをもつようになり未定義のポインタ(ヌルポインタ)の発生する状況が回避される。これに加えて、データ要素に複数のパラメータ値を設けることができる。データ構造内の他の何らかのインスタンスとのリンクのためにIFポインタを用いることができ、それはたとえば同じツリーまたは別のツリーの他の要素であったり、あるいは1つまたは複数高い階層レベルの要素などである。IFポインタをたとえばインフォブリッジ InfoBridge として使用することができ、これはYアダプタ Y−adapter のように見えるリンク要素である。インフォブリッジ InfoBridge によって、どのような内部データ構造でも本発明のデータ構造のコンテキスト内で構築できる。
【0024】
この例ではデータベースのごく僅かなセクションしか示されていない。実際には多数の列(したがって相応の個数のツリー)が用いられ、同様に多数のテーブルまたは類似の構造が用いられる。しかもツリーはインプリメンテーションにあたり何らかの手段によってアクセスしやすくなり、たとえばそれはポインタのようなリンク要素であって、このようなリンク手段自体を、ツリー構造のアクセスを容易にするさらに別のコンフィギュレーションにおける1つのパートとすることができる。
【0025】
本発明によるデータ構造および方法のインプリメンテーションは図示の例に限定されるものではなく、何らかの公知の適切な手法を使用して実現できる。典型的には本発明はコンピュータプログラムとしてインプリメントされ、これはコンピュータメモリまたはデータ担体に記憶される。プログラムはプログラムセクションを有しており、コンピュータシステムで実行させたときにこれによって本発明による方法のステップが実行されることになる。
【0026】
上述のシステムのインプリメンテーションは、適切な手法やプログラミング言語を用いて行うことができる。インプリメンテーションの言語がポインタをサポートしていると有用である。さらにたとえばC++などプログラミング言語がオブジェクト指向であるのも有用であり、このような言語はポインタ、オブジェクトおよびオブジェクトクラスを利用できるという付加的な利点をもつ。たいていのインプリメンテーションに関してはテンポラリ要素をもつ付加的な制御構造が必要であるかもしれないが、この種のインプリメンテーションの詳細は公知であり、当業者の理解の及ぶ範囲である。
【0027】
本発明によるデータ構造は殊にランダムにアクセス可能なメモリ(たとえばRAM形式のメモリなど)にインプリメント可能であり、この場合、ランダムにアドレスをアクセスすることができる。さらにランダムアクセスメモリを使用することの利点は、どのようなやり方であろうとデータ構造に対する変更によっても効率に作用を及ぼさないことでもある。本発明は有利にはランダムアクセスの行われるメモリにインプリメントされるけれども、このインプリメンテーションはこのような形態に限定されるものではなく、記憶装置における異なるインプリメンテーションも可能である。
【図面の簡単な説明】
【図1】
データベースをテーブルとともに示す図である。
【図2】
本発明によるツリー構造の一例を示す図である。
【図3】
本発明によるツリー構造に関する別の例を示す図である。
【図4】
本発明によるデータ構造の一例を示す図である。
【図5】
本発明によるデータ構造の詳細を示す図である。
【図6】
本発明によるデータ要素の概略図である。

Claims (11)

  1. データベース構造に対するクエリの最適化方法において、
    特定のデータソース(DS)に関するデータベース情報を受け取り、
    受け取ったデータソース情報に基づき該データソース(DS)のためのサーチデータベース構造(E)を生成し、
    前記データソース(DS)に対するクエリ要求を受け取り、
    前記クエリ要求の個々のセクションに対するヒット数の計数によりサーチデータベース構造(E)を分析し、
    実行された分析に基づき最適化されたクエリ要求を計算することを特徴とする、
    データベース構造に対するクエリの最適化方法。
  2. 個々のツリー構造(A,B)における同タイプのデータ要素を編成することにより前記サーチデータベース構造を生成する、請求項1記載の方法。
  3. ツリーのデータ要素各々に番号(COUNT)を設け、該番号により、ツリー構造(A,B)において前記データ要素の下に配置されたデータ要素の個数を表す、請求項2記載の方法。
  4. リンク要素(H)を介して第1のツリー(A)の要素と第2のツリー(B)の要素とをリンクし、1つのリンク要素は1つのデータレコード関係を表す、請求項1から3のいずれか1項記載の方法。
  5. 最適化されたクエリ要求のためのキーセットを決定する、請求項4記載の方法。
  6. コンピュータシステムにデータを格納するためのデータベース構造において、
    データベースエントリを表す第1のタイプ(G)のデータ要素と、該第1のタイプ(G)のデータ要素に割り当てられた第2のタイプ(H)のデータ要素が設けられており、
    前記第1のタイプ(G)のデータ要素は第1のツリー構造中に配置されており、前記第2のタイプ(H)のデータ要素は第2のツリー構造中に配置されていることを特徴とする、
    コンピュータシステムにデータを格納するためのデータベース構造。
  7. ツリー構造の最終セクションはリンク要素を介してツリー構造の開始セクションとリンクされている、請求項6記載のデータ構造。
  8. 第1のタイプ(G)である同様のデータ要素の複数のオカレンスが、リンク要素を介して相互にリンクされたデータ要素から成る集合に配置されており、該集合の1つのデータ要素はそのまま個々のツリー構造の一部分である、請求項6または7記載のデータ構造。
  9. 請求項6から8のいずれか1項記載のデータベース構造のためのデータ要素において、第1のポインタペア(LSR,RSR)と第2のポインタペア(LHR,RHR)と第3のポインタペア(LVR,RVR)を有することを特徴とするデータベース要素。
  10. IFポインタ(IF)が設けられている、請求項9記載のデータ要素。
  11. コンピュータメモリにロードされると請求項1から5のいずれか1項記載の方法のステップを実行するコード部分を有するコンピュータプログラム製品。
JP2002561716A 2001-02-01 2002-02-01 データベースシステムおよびクエリオプティマイザ Pending JP2004518226A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE10104831A DE10104831A1 (de) 2001-02-01 2001-02-01 Datenstruktur für Informationssysteme
PCT/EP2002/001027 WO2002061613A2 (en) 2001-02-01 2002-02-01 Database system and query optimiser

Publications (1)

Publication Number Publication Date
JP2004518226A true JP2004518226A (ja) 2004-06-17

Family

ID=7672701

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2002561715A Expired - Lifetime JP3959027B2 (ja) 2001-02-01 2002-02-01 情報システムのためのデータ構造
JP2002561716A Pending JP2004518226A (ja) 2001-02-01 2002-02-01 データベースシステムおよびクエリオプティマイザ

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2002561715A Expired - Lifetime JP3959027B2 (ja) 2001-02-01 2002-02-01 情報システムのためのデータ構造

Country Status (8)

Country Link
US (3) US20040088307A1 (ja)
EP (2) EP1393206B1 (ja)
JP (2) JP3959027B2 (ja)
AT (2) ATE316266T1 (ja)
AU (2) AU2002229734B2 (ja)
CA (1) CA2434081C (ja)
DE (3) DE10104831A1 (ja)
WO (2) WO2002061613A2 (ja)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6785668B1 (en) * 2000-11-28 2004-08-31 Sas Institute Inc. System and method for data flow analysis of complex data filters
DE10104831A1 (de) 2001-02-01 2002-08-08 Sap Ag Datenstruktur für Informationssysteme
KR101035043B1 (ko) 2002-07-01 2011-05-19 아르키온 라이프 사이언씨즈 엘엘씨 글루코사민 및 n-아세틸글루코사민의 제조를 위한 물질및 공정
US7590683B2 (en) 2003-04-18 2009-09-15 Sap Ag Restarting processes in distributed applications on blade servers
WO2004092951A2 (en) 2003-04-18 2004-10-28 Sap Ag Managing a computer system with blades
DE60330955D1 (de) 2003-07-08 2010-03-04 Sap Ag Verfahren und Computersystem zur Abfrageverarbeitung
EP1498828B1 (en) * 2003-07-17 2010-09-29 Sap Ag Method and computer system for storing multiple attribute values
ATE522873T1 (de) * 2003-07-18 2011-09-15 Sap Ag Verfahren und computersystem für zusammengestellte informationen
US7337295B2 (en) 2003-07-24 2008-02-26 Sap Aktiengesellschaft Memory management frame handler
US7310719B2 (en) 2003-07-24 2007-12-18 Sap Aktiengesellschaft Memory management tile optimization
EP1503297A1 (en) * 2003-07-30 2005-02-02 Sap Ag Computer implemented methods of retrieving hit count data from a data base system and according computer program product
DE60315291T2 (de) 2003-08-27 2008-04-17 Sap Aktiengesellschaft Computersystem und Verfahren zum Betreiben eines Computersystems
EP1510932A1 (en) 2003-08-27 2005-03-02 Sap Ag Computer implemented method and according computer program product for storing data sets in and retrieving data sets from a data storage system
US20060101018A1 (en) * 2004-11-08 2006-05-11 Mazzagatti Jane C Method for processing new sequences being recorded into an interlocking trees datastore
US8706686B2 (en) * 2003-12-24 2014-04-22 Split-Vision Kennis B.V. Method, computer system, computer program and computer program product for storage and retrieval of data files in a data storage means
GB2431742A (en) * 2005-10-27 2007-05-02 Hewlett Packard Development Co A method of retrieving data from a data repository
US20070118510A1 (en) * 2005-11-18 2007-05-24 Microsoft Corporation Optimization of leaf-level multi-dimensional calculation using scripts
US8738639B1 (en) * 2006-02-23 2014-05-27 Verizon Data Services Llc Methods and systems for an information directory providing audiovisual content
US9367553B2 (en) * 2006-12-30 2016-06-14 Sap Se Computer file system traversal
US7752229B2 (en) 2007-01-26 2010-07-06 International Business Machines Corporation Real-time identification of sub-assemblies containing nested parts
US20090037386A1 (en) 2007-08-03 2009-02-05 Dietmar Theobald Computer file processing
JP4834054B2 (ja) * 2008-11-19 2011-12-07 新日鉄ソリューションズ株式会社 情報処理装置、情報処理方法及びプログラム
US10564944B2 (en) * 2010-01-07 2020-02-18 Microsoft Technology Licensing, Llc Efficient immutable syntax representation with incremental change
US9009137B2 (en) 2010-03-12 2015-04-14 Microsoft Technology Licensing, Llc Query model over information as a networked service
DE102011087843B4 (de) * 2011-12-06 2013-07-11 Continental Automotive Gmbh Verfahren und System zur Auswahl mindestens eines Datensatzes aus einer relationalen Datenbank
US9781075B1 (en) * 2013-07-23 2017-10-03 Avi Networks Increased port address space
US9870417B2 (en) 2014-04-22 2018-01-16 Business Objects Software Ltd. Merging business object hierarchies
US9838303B2 (en) * 2015-03-20 2017-12-05 Juniper Networks, Inc. PIM source discovery by last hop router
EP3091449B1 (en) * 2015-05-04 2018-07-25 Deloitte Consulting GmbH Operating a database system
US9998292B2 (en) 2015-09-30 2018-06-12 Juniper Networks, Inc. PIM source discovery by last hop router on shared tree
US10671630B2 (en) 2016-05-09 2020-06-02 Sap Se External access to database container artifacts
US10776330B2 (en) 2017-06-29 2020-09-15 Sap Se Optimized re-deployment of database artifacts
US11093443B2 (en) 2017-06-29 2021-08-17 Sap Se Database-level container group management
US10674438B2 (en) 2017-06-29 2020-06-02 Sap Se Restricting access to external schemas from within a database level container by whitelisting allowed schemas
US10984021B2 (en) 2017-06-29 2021-04-20 Sap Se Deployment of independent database artifact groups
US10657114B2 (en) 2017-11-28 2020-05-19 Sap Se Reserving key specifications
US11030164B2 (en) 2018-01-18 2021-06-08 Sap Se Artifact deployment for application managed service instances

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4829427A (en) * 1984-05-25 1989-05-09 Data General Corporation Database query code generation and optimization based on the cost of alternate access methods
US4849905A (en) 1987-10-28 1989-07-18 International Business Machines Corporation Method for optimized RETE pattern matching in pattern-directed, rule-based artificial intelligence production systems
US4956774A (en) * 1988-09-02 1990-09-11 International Business Machines Corporation Data base optimizer using most frequency values statistics
US5257365A (en) * 1990-03-16 1993-10-26 Powers Frederick A Database system with multi-dimensional summary search tree nodes for reducing the necessity to access records
JPH04299459A (ja) * 1991-03-27 1992-10-22 Nec Corp データベースアクセスシステム
US5355473A (en) * 1991-06-20 1994-10-11 Lawrence Au Indexed record locating and counting mechanism
FR2696853B1 (fr) * 1992-10-12 1994-12-23 Bull Sa Procédé d'aide à l'optimisation d'une requête d'un système de gestion, de base de données relationnel et procédé d'analyse syntaxique en résultant.
JP3526585B2 (ja) * 1992-03-12 2004-05-17 株式会社リコー 分散データベースの質問処理最適化方式
US5737732A (en) * 1992-07-06 1998-04-07 1St Desk Systems, Inc. Enhanced metatree data structure for storage indexing and retrieval of information
US5548770A (en) * 1993-02-25 1996-08-20 Data Parallel Systems, Inc. Method and apparatus for improving retrieval of data from a database
US5560007A (en) * 1993-06-30 1996-09-24 Borland International, Inc. B-tree key-range bit map index optimization of database queries
US5657437A (en) * 1993-12-10 1997-08-12 Lucent Technologies Inc. Data processing apparatus and method including proportional updating of data
US5557786A (en) * 1994-01-24 1996-09-17 Advanced Computer Applications, Inc. Threaded, height-balanced binary tree data structure
US5742806A (en) 1994-01-31 1998-04-21 Sun Microsystems, Inc. Apparatus and method for decomposing database queries for database management system including multiprocessor digital data processing system
CA2124094C (en) * 1994-05-20 1999-07-20 K. Bernhard Schiefer Method and apparatus for optimizing data retrieval using index scanning
DE19515020A1 (de) * 1994-07-01 1996-01-04 Hewlett Packard Co Verfahren und Vorrichtung zum Optimieren von Abfragen mit Gruppieren-nach-Operatoren
US5664172A (en) * 1994-07-19 1997-09-02 Oracle Corporation Range-based query optimizer
US5659728A (en) * 1994-12-30 1997-08-19 International Business Machines Corporation System and method for generating uniqueness information for optimizing an SQL query
US5701400A (en) * 1995-03-08 1997-12-23 Amado; Carlos Armando Method and apparatus for applying if-then-else rules to data sets in a relational data base and generating from the results of application of said rules a database of diagnostics linked to said data sets to aid executive analysis of financial data
US6175835B1 (en) * 1996-07-26 2001-01-16 Ori Software Development, Ltd. Layered index with a basic unbalanced partitioned index that allows a balanced structure of blocks
US5819255A (en) * 1996-08-23 1998-10-06 Tandem Computers, Inc. System and method for database query optimization
US5822747A (en) * 1996-08-23 1998-10-13 Tandem Computers, Inc. System and method for optimizing database queries
US6021405A (en) * 1996-08-23 2000-02-01 Tandem Computers, Inc. System and method for optimizing database queries with improved performance enhancements
GB2330221B (en) * 1997-10-09 2002-07-03 Ibm Optimisation of relational database queries
WO1999028505A1 (en) * 1997-12-03 1999-06-10 Curagen Corporation Methods and devices for measuring differential gene expression
US6675173B1 (en) * 1998-01-22 2004-01-06 Ori Software Development Ltd. Database apparatus
US7016910B2 (en) * 1999-12-30 2006-03-21 Decode Genetics Ehf. Indexing, rewriting and efficient querying of relations referencing semistructured data
DE10104831A1 (de) 2001-02-01 2002-08-08 Sap Ag Datenstruktur für Informationssysteme

Also Published As

Publication number Publication date
DE10104831A1 (de) 2002-08-08
ATE487186T1 (de) 2010-11-15
US7257599B2 (en) 2007-08-14
WO2002061612A3 (en) 2003-11-27
WO2002061613A2 (en) 2002-08-08
JP2004518225A (ja) 2004-06-17
EP1393206B1 (en) 2006-01-18
WO2002061612A2 (en) 2002-08-08
EP1360616A2 (en) 2003-11-12
DE60238179D1 (de) 2010-12-16
US20040088307A1 (en) 2004-05-06
CA2434081C (en) 2009-06-16
ATE316266T1 (de) 2006-02-15
US20040093329A1 (en) 2004-05-13
AU2002229734B2 (en) 2005-05-05
WO2002061613A3 (en) 2003-09-04
US20040139046A1 (en) 2004-07-15
DE60208778D1 (de) 2006-04-06
EP1360616B1 (en) 2010-11-03
JP3959027B2 (ja) 2007-08-15
CA2434081A1 (en) 2002-08-08
EP1393206A2 (en) 2004-03-03
AU2002249161B2 (en) 2005-05-19
DE60208778T2 (de) 2006-09-07

Similar Documents

Publication Publication Date Title
JP2004518226A (ja) データベースシステムおよびクエリオプティマイザ
US6105018A (en) Minimum leaf spanning tree
EP2924594B1 (en) Data encoding and corresponding data structure in a column-store database
US8996502B2 (en) Using join dependencies for refresh
AU2002229734A1 (en) Database system and query optimiser
CA2388515C (en) System for managing rdbm fragmentations
US9141666B2 (en) Incremental maintenance of range-partitioned statistics for query optimization
AU2002249161A1 (en) Data structure for information systems
CN107783985B (zh) 一种分布式数据库查询方法、装置及管理系统
Hadian et al. Interp olation-friendly B-tr ees: Bridging the Gap Betw een AlgorithmicandLearnedInde xes
CN110928882B (zh) 一种基于改进红黑树的内存数据库索引方法及系统
CN108460102A (zh) 社交网络数据查询方法、装置、计算机设备和存储介质
US7512617B2 (en) Interval tree for identifying intervals that intersect with a query interval
CN111666302A (zh) 用户排名的查询方法、装置、设备及存储介质
CN110263108A (zh) 一种基于道路网的关键词Skyline模糊查询方法及系统
CN112860734A (zh) 地震数据多维度范围查询方法及装置
US9015187B1 (en) Mapping table rows to characters
KR100743927B1 (ko) 공간 데이터 웨어하우스에서 시공간 데이터의 집계정보관리방법
JP2018081603A (ja) Kvデータ構造変換装置、kvデータ構造変換方法、および、kvデータ構造変換プログラム
CN116263793A (zh) 逆序检索方法、装置、设备及存储介质
Xiong et al. An extended model for active rule condition evaluation of spatial database
JPH05313971A (ja) リレーショナル・データベースにおけるキーワード管理方式
JP2004021797A (ja) データベース管理方法および装置
JPH04337867A (ja) データベース検索システム
KR20080087356A (ko) 검색 데이터베이스의 자동 색인어 추가 방법 및 시스템

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060726

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20061023

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20061030

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070124

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070307