JP2004518226A - データベースシステムおよびクエリオプティマイザ - Google Patents
データベースシステムおよびクエリオプティマイザ Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
- G06F16/24534—Query rewriting; Transformation
- G06F16/24542—Plan optimisation
- G06F16/24545—Selectivity estimation or determination
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2246—Trees, e.g. B+trees
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99933—Query processing, i.e. searching
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99942—Manipulating data structure, e.g. compression, compaction, compilation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99943—Generating database or data structure, e.g. via user interface
Abstract
Description
本発明はデータベースシステムのような情報記憶システムに関する。コンピュータベースのこのようなデータ記憶システムの場合、データはメモリやハードディスクドライブのような何らかの媒体に格納され、そこから取り出される。データベースにアクセスする最も一般的な手法はデータベースクエリによるものであって、これはたとえば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)
- データベース構造に対するクエリの最適化方法において、
特定のデータソース(DS)に関するデータベース情報を受け取り、
受け取ったデータソース情報に基づき該データソース(DS)のためのサーチデータベース構造(E)を生成し、
前記データソース(DS)に対するクエリ要求を受け取り、
前記クエリ要求の個々のセクションに対するヒット数の計数によりサーチデータベース構造(E)を分析し、
実行された分析に基づき最適化されたクエリ要求を計算することを特徴とする、
データベース構造に対するクエリの最適化方法。 - 個々のツリー構造(A,B)における同タイプのデータ要素を編成することにより前記サーチデータベース構造を生成する、請求項1記載の方法。
- ツリーのデータ要素各々に番号(COUNT)を設け、該番号により、ツリー構造(A,B)において前記データ要素の下に配置されたデータ要素の個数を表す、請求項2記載の方法。
- リンク要素(H)を介して第1のツリー(A)の要素と第2のツリー(B)の要素とをリンクし、1つのリンク要素は1つのデータレコード関係を表す、請求項1から3のいずれか1項記載の方法。
- 最適化されたクエリ要求のためのキーセットを決定する、請求項4記載の方法。
- コンピュータシステムにデータを格納するためのデータベース構造において、
データベースエントリを表す第1のタイプ(G)のデータ要素と、該第1のタイプ(G)のデータ要素に割り当てられた第2のタイプ(H)のデータ要素が設けられており、
前記第1のタイプ(G)のデータ要素は第1のツリー構造中に配置されており、前記第2のタイプ(H)のデータ要素は第2のツリー構造中に配置されていることを特徴とする、
コンピュータシステムにデータを格納するためのデータベース構造。 - ツリー構造の最終セクションはリンク要素を介してツリー構造の開始セクションとリンクされている、請求項6記載のデータ構造。
- 第1のタイプ(G)である同様のデータ要素の複数のオカレンスが、リンク要素を介して相互にリンクされたデータ要素から成る集合に配置されており、該集合の1つのデータ要素はそのまま個々のツリー構造の一部分である、請求項6または7記載のデータ構造。
- 請求項6から8のいずれか1項記載のデータベース構造のためのデータ要素において、第1のポインタペア(LSR,RSR)と第2のポインタペア(LHR,RHR)と第3のポインタペア(LVR,RVR)を有することを特徴とするデータベース要素。
- IFポインタ(IF)が設けられている、請求項9記載のデータ要素。
- コンピュータメモリにロードされると請求項1から5のいずれか1項記載の方法のステップを実行するコード部分を有するコンピュータプログラム製品。
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)
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)
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 |
-
2001
- 2001-02-01 DE DE10104831A patent/DE10104831A1/de not_active Withdrawn
-
2002
- 2002-02-01 US US10/470,720 patent/US20040088307A1/en not_active Abandoned
- 2002-02-01 JP JP2002561715A patent/JP3959027B2/ja not_active Expired - Lifetime
- 2002-02-01 AT AT02718074T patent/ATE316266T1/de not_active IP Right Cessation
- 2002-02-01 AU AU2002229734A patent/AU2002229734B2/en not_active Expired
- 2002-02-01 DE DE60238179T patent/DE60238179D1/de not_active Expired - Lifetime
- 2002-02-01 WO PCT/EP2002/001027 patent/WO2002061613A2/en active IP Right Grant
- 2002-02-01 WO PCT/EP2002/001026 patent/WO2002061612A2/en active IP Right Grant
- 2002-02-01 US US10/470,716 patent/US20040093329A1/en not_active Abandoned
- 2002-02-01 JP JP2002561716A patent/JP2004518226A/ja active Pending
- 2002-02-01 AU AU2002249161A patent/AU2002249161B2/en not_active Expired
- 2002-02-01 EP EP02718074A patent/EP1393206B1/en not_active Expired - Lifetime
- 2002-02-01 DE DE60208778T patent/DE60208778T2/de not_active Expired - Lifetime
- 2002-02-01 AT AT02710826T patent/ATE487186T1/de not_active IP Right Cessation
- 2002-02-01 EP EP02710826A patent/EP1360616B1/en not_active Expired - Lifetime
- 2002-02-01 CA CA002434081A patent/CA2434081C/en not_active Expired - Lifetime
-
2003
- 2003-08-08 US US10/637,004 patent/US7257599B2/en not_active Expired - Lifetime
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 |