JP6898320B2 - インデックス確立の方法およびデバイス - Google Patents
インデックス確立の方法およびデバイス Download PDFInfo
- Publication number
- JP6898320B2 JP6898320B2 JP2018524442A JP2018524442A JP6898320B2 JP 6898320 B2 JP6898320 B2 JP 6898320B2 JP 2018524442 A JP2018524442 A JP 2018524442A JP 2018524442 A JP2018524442 A JP 2018524442A JP 6898320 B2 JP6898320 B2 JP 6898320B2
- Authority
- JP
- Japan
- Prior art keywords
- index
- column
- type
- time interval
- search
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 30
- 230000014509 gene expression Effects 0.000 claims description 35
- 230000004044 response Effects 0.000 claims description 15
- 238000012545 processing Methods 0.000 claims description 4
- 230000027455 binding Effects 0.000 claims description 2
- 238000009739 binding Methods 0.000 claims description 2
- 230000006835 compression Effects 0.000 description 5
- 238000007906 compression Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 230000002354 daily effect Effects 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2272—Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
-
- 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/221—Column-oriented storage; Management thereof
-
- 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/2237—Vectors, bitmaps or matrices
-
- 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
-
- 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/2255—Hash tables
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/31—Indexing; Data structures therefor; Storage structures
- G06F16/316—Indexing structures
- G06F16/319—Inverted lists
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
(1)既存のインデックス型は不変なものであり、いくつかのシナリオで不十分なクエリパフォーマンスを招く。従来のデータのインデックス型は、比較的不変のものであり、B−ツリーインデックスが多くを占めている。B−ツリーインデックスは、あらゆるデータ特徴に適したものではない。例えば、検索速度はキー−値モードにおいて非常に遅い。結合を有する構造化問い合わせ言語(SQL)では、1つのSQLに対して複数の検索が行われるだろう。結合SQLのパフォーマンスは、B−ツリーが検索に用いられるか否かに強く影響される。
(2)ログは、インデックスを最適化するために手動解析され、不十分な運用性および保全性につながる。
予め設定された時間閾値内のデータベースの列のインデックスの状態の情報にしたがって、インデックスが列に対して確立される必要があるかどうかを判定するステップと、
インデックスが列に対して確立される必要があると判定された場合、列のデータ情報にしたがってインデックス型を判定し、インデックス型にしたがって列に対するインデックスを確立するステップとを含む。
インデックスが列に対して確立される必要がないと判定された場合、時間閾値の後で、かつ、時間閾値内の列のインデックス使用状態の情報にしたがって、インデックスが列に対して確立される必要があるかどうかを判定することを含む。
時間閾値内の列のインデックスの状態の情報を取得することと、
インデックスの状態の情報にしたがって、時間閾値内にインデックスが列に対して用いられるかどうかを判定し、判定結果が肯定であるとき、列に対するインデックスが時間閾値内に用いられる回数が予め設定された回数閾値以上であるかどうかを判定することと、
時間閾値内にインデックスが列に対して用いられない場合、または、列に対するインデックスが時間閾値内に用いられる回数が予め設定された回数閾値未満である場合、インデックスが列に対して確立される必要がないと判定すること、または、
時間閾値内に列に対するインデックスが用いられる回数が回数閾値以上である場合、インデックスが列に対して確立される必要があると判定することである。
列が連続値型である場合、インデックス型はB−ツリーインデックスであると判定することと、
列で結合が起きている場合、インデックス型はハッシュインデックスであると判定することと、
列の単語数が予め設定された単語数閾値より多い場合、インデックス型は転置インデックスであると判定すること、または、
列の単語数が予め設定された単語数閾値以下であり、結合が起きておらず、列が不連続値型である場合、インデックス型はビットマップインデックスであると判定することである。
ユーザが送信した検索式を、検索式が受信されたときに複数の部分式に分割することと、
各部分式に対応する検索結果がキャッシュ内に存在するかどうかを問い合わせることと、
検索結果が存在する場合、部分式に対応する検索結果および他の部分式の検索結果にしたがって、ユーザに戻される検索応答を生成すること、または、
部分式に対応する検索結果が存在しない場合、列のインデックスを用いることによって部分式に関する検索を行い、ユーザに戻される検索応答が検索結果および他の部分式の検索結果にしたがって生成された後、検索結果をキャッシュに格納することと、を含む。
データベースを初期化後、デフォルトのインデックス型にしたがってデータベースの列ごとにインデックスを構築し、予め設定された時間に達すると、列ごとに再度インデックスを構築することを含む。
予め設定された時間閾値内のデータベースの列のインデックスの状態の情報にしたがって、インデックスが列に対して確立される必要があるかどうかを判定するように構成された判定モジュールと、
判定モジュールが、インデックスが列に対して確立される必要があると判定すると、列のデータ情報にしたがってインデックス型を判定し、インデックス型にしたがって列に対するインデックスを確立するように構成された確立モジュールとを含むインデックス確立デバイスを提供する。
時間閾値内の列のインデックスの状態の情報を取得し、
インデックスの状態の情報にしたがって、時間閾値内にインデックスが列に対して用いられるかどうかを判定し、判定結果が肯定であるとき、列に対するインデックスが時間閾値内に用いられる回数が予め設定された回数閾値以上であるかどうかを判定し、
インデックスが時間閾値内に列に対して用いられない場合、または、列に対するインデックスが時間閾値内に用いられる回数が回数閾値未満である場合、インデックスが列に対して確立される必要がないと判定するか、または、
列に対するインデックスが時間閾値内に用いられる回数が回数閾値以上である場合、インデックスが列に対して確立される必要があると判定するように構成される。
列が連続値型である場合、インデックス型はB−ツリーインデックスであると判定し、
列で結合が起きている場合、インデックス型はハッシュインデックスであると判定し、
列の単語数が予め設定された単語数閾値より多い場合、インデックス型は転置インデックスであると判定するか、または、
列の単語数が予め設定された単語数閾値以下であり、結合が起きておらず、列が不連続値型である場合、インデックス型はビットマップインデックスであると判定する。
ユーザが送信した検索式を、検索式が受信されたときに複数の部分式に分割するように構成された分割モジュールと、
各部分式に対応する検索結果がキャッシュ内に存在するかどうかを問い合わせるように構成されたクエリモジュールと、
検索結果が存在するとき、部分式に対応する検索結果および他の部分式の検索結果にしたがって、ユーザに戻される検索応答を生成するか、または、部分式に対応する検索結果が存在しないとき、列のインデックスを用いることによって部分式に関して検索を行い、ユーザに戻される検索応答が検索結果および他の部分式の検索結果にしたがって生成された後、検索結果をキャッシュに格納するように構成された処理モジュールと、を含む。
データベースを初期化後、デフォルトのインデックス型にしたがってデータベースの列ごとにインデックスを構築し、予め設定された時間に達すると、列ごとにインデックスを再度構築するように構成された初期化モジュールを含む。
S101:予め設定された時間閾値内のデータベースの列のインデックスの状態の情報にしたがって、インデックスが列に対して確立される必要があるかどうかが判定される。
インデックスが列に対して確立される必要があると判定された場合、ステップS102が実行される。
ステップa):時間閾値内の列のインデックスの状態の情報が取得される。
ステップb):インデックスの状態の情報にしたがって、時間閾値内にインデックスが列に対して用いられるかどうかが判定され、判定結果が肯定のとき、時間閾値内に列に対するインデックスが用いられる回数が予め設定された回数閾値以上であるかどうかが判定される。
(1)列が連続値型である場合、インデックス型はB−ツリーインデックスであると判定される。
(2)列で結合が起きている場合、インデックス型はハッシュインデックスであると判定される。
結合はリレーショナルデータベースシステムにおいて重要な演算の1つであることに留意されるべきである。SQLサーバにおける広く知られた結合として、内部結合、外部結合、交差結合などが挙げられる。1つのテーブルの行および別のテーブルの行の一致しているデータが2つ以上のテーブルから取得される必要がある場合、結合はテーブルまたは機能を結合してクエリを実行することによって特徴付けられるので、結合演算の使用が検討される必要がある。
(3)列の単語数が予め設定された単語数閾値より多い場合、インデックス型は転置インデックスであると判定される。
ここで、列の単語数は、具体的には、列に含まれる変数値の数である。
(4)列の単語数が予め設定された単語数閾値以下であり、結合が起きておらず、列が不連続値型である場合、インデックス型はビットマップインデックスであると判定される。
(1)検索結果が存在する場合、ユーザに戻される検索応答は、部分式に対応する検索結果および他の部分式の検索結果にしたがって生成されるか、または、
(2)部分式に対応する検索結果が存在しない場合、列のインデックスを用いることによって部分式に関して検索が行われ、検索結果は、ユーザに戻される検索応答が検索結果及び他の部分式の検索結果にしたがって生成された後、キャッシュに格納される。
(1)クエリビルダ(キュー作成構成要素)は、where式にしたがって、エンジンクエリ(キューエンジン)オブジェクトツリーを生成する。
(2)Rowid選択ツリーがエンジンクエリオブジェクトツリーにしたがって構築される。
(3)Rowid設定は様々なインデックスから取得されリーフノードに挿入され、中間ノードは論理演算マージャーである。
(4)選択はルートノードから1つずつ行われ、Rowidは収集される。
(1)ストリームされたマージャーは、異なるインデックスのクエリ結果および計算層間のインタラクションを統一することに関与している。異なるインデックスを用いたクエリによる結果は、ビットマップを用いることによって格納され、次いで、ストリームされたマージャーツリーが、where式のブール演算にしたがって生成され、次いで、マージャーは、where式を満たす行番号を1つずつ出力する。
(2)インデックスマネージャは、インデックス管理、型選択および自動的なインデックス最適化手続きに関与している。
(3)部分式キャッシュ(ビットマップキャッシュ)は、where部分式のキャッシングに関与している。このことから、インデックスは、異なるSQLが同一の部分式を有するとき、もはやクエリされる必要はなく、クエリは直接キャッシュ内で作成され得る。
所定時間閾値内のデータベースの列のインデックスの状態の情報にしたがって、インデックスが列に対して確立される必要があるかどうか判定するように構成された判定モジュール610と、
判定モジュールが、インデックスが列に対して確立される必要があると判定すると、列のデータ情報にしたがってインデックス型を判定し、インデックス型にしたがって列に対するインデックスを確立するように構成された確立モジュール620とを含む。
時間閾値内の列のインデックスの状態の情報を取得し、
インデックスの状態の情報にしたがって、時間閾値内にインデックスが列に対して用いられるかどうかを判定し、判定結果が肯定であるとき、列に対するインデックスが時間閾値内に用いられる回数が予め設定された回数閾値以上であるかどうかを判定し、
時間閾値内にインデックスが列に対して用いられない場合、または、列に対するインデックスが時間閾値内に用いられる回数が回数閾値未満である場合、インデックスが列に対して確立される必要がないと判定するか、または、
列に対するインデックスが時間閾値内に用いられる回数が回数閾値以上である場合、インデックスが列に対して確立される必要があると判定するように構成される。
列が連続値型である場合、インデックス型はB−ツリーインデックスであると判定し、
列で結合が起きている場合、インデックス型はハッシュインデックスであると判定し、
列の単語数が予め設定された単語数閾値よりも多い場合、インデックス型は転置インデックスであると判定するか、または、
列の単語数が予め設定された単語数閾値よりも多いものではなく、結合が起きておらず、列が不連続値型である場合、インデックス型はビットマップインデックスであると判定する。
ユーザが送信した検索式を、検索式が受信されたときに複数の部分式に分割するように構成された分割モジュールと、
各部分式に対応する検索結果がキャッシュ内に存在するかどうかを問い合わせるように構成されたクエリモジュールと、
検索結果が存在するとき、部分式に対応する検索結果及び他の部分式の検索結果にしたがって、ユーザに戻される検索応答を生成するか、または、部分式に対応する検索結果が存在しないとき、列のインデックスを用いることによって部分式に関する検索を実行し、検索結果を、ユーザに戻される検索応答が検索結果および他の部分式の検索結果にしたがって生成された後、キャッシュに格納するように構成された処理モジュールと、を含む。
データベースを初期化後、デフォルトのインデックス型にしたがって、データベースの列ごとにインデックスを構築し、予め設定された時間に達すると、列ごとにインデックスを再度構築するように構成された初期化モジュールを含む。
Claims (15)
- インデックス確立の方法であって、
コンピュータデバイスが、データベースを初期化後、デフォルトのインデックス型にしたがって前記データベースの列ごとにインデックスを構築することと、
前記コンピュータデバイスが、予め設定された時間間隔内の前記データベースの列のインデックスの使用状態にしたがって、インデックスが前記列に対して再構築される必要があるかどうかを判定することと、
前記コンピュータデバイスが、インデックスが前記列に対して再構築される必要があると判定された場合、前記列のデータ情報にしたがってインデックス型を判定し、前記列に対するインデックスを前記インデックス型にしたがって再構築することとを含み、
前記データ情報は、列が連続値型であるか否かの情報、列で結合が起きているか否かの情報、列の単語数が予め設定された単語数閾値より多いか否かの情報、のいずれかを含む、方法。 - 前記コンピュータデバイスが、インデックスが前記列に対して再構築される必要がないと判定された場合、次の時間間隔の経過後に、前記次の時間間隔内の前記列のインデックスの使用状態にしたがって、インデックスが前記列に対して再構築される必要があるかどうかを再び判定することをさらに含む、請求項1に記載の方法。
- 前記コンピュータデバイスが、予め設定された時間間隔内のデータベースの列の前記インデックスの使用状態にしたがって、インデックスが前記列に対して再構築される必要があるかどうかを判定することが、
前記コンピュータデバイスが、前記時間間隔内の前記列の前記インデックスの使用状態を判断すること、
前記コンピュータデバイスが、前記インデックスの使用状態にしたがって、前記時間間隔内にインデックスが前記列に対して用いられたかどうかを判定し、判定結果が肯定であるとき、前記列に対するインデックスが前記時間間隔内に用いられた回数が予め設定された回数閾値以上であるかどうかを判定すること、
前記コンピュータデバイスが、インデックスが前記時間間隔内に前記列に対して用いられない場合、または、前記列に対するインデックスが前記時間間隔内に用いられた回数が前記回数閾値未満である場合、インデックスが前記列に対して再構築される必要がないと判定すること、および、
前記コンピュータデバイスが、前記列に対するインデックスが前記時間間隔内に用いられた回数が前記回数閾値以上である場合、インデックスが前記列に対して再構築される必要があると判定することを含む、請求項2に記載の方法。 - 前記インデックス型が、B−ツリーインデックス、ハッシュインデックスおよびビットマップインデックスを少なくとも含み、前記コンピュータデバイスが、前記列の前記データ情報にしたがってインデックス型を判定することが、
前記コンピュータデバイスが、前記列が連続値型である場合、前記インデックス型がB−ツリーインデックスであると判定すること、
前記コンピュータデバイスが、前記列に結合が起きている場合、前記インデックス型がハッシュインデックスであると判定すること、
前記コンピュータデバイスが、前記列の単語数が予め設定された単語数閾値より多い場合、前記インデックス型が転置インデックスであると判定すること、および、
前記コンピュータデバイスが、前記列の単語数が予め設定された単語数閾値以下であり、結合が起きておらず、前記列が不連続値型である場合、前記インデックス型がビットマップインデックスであると判定することを含む、請求項1に記載の方法。 - 前記コンピュータデバイスが、ユーザが送信した検索式を、前記検索式が受信されたときに複数の部分式に分割すること、
前記コンピュータデバイスが、各部分式に対応する検索結果がキャッシュ内に存在するかどうかを問い合わせすること、
前記コンピュータデバイスが、前記検索結果が存在する場合、前記部分式に対応する検索結果および他の部分式の検索結果にしたがって、前記ユーザに戻される検索応答を生成すること、および、
前記コンピュータデバイスが、前記部分式に対応する検索結果が存在しない場合、前記列のインデックスを用いることによって前記部分式に関する検索を実行し、前記検索結果を、前記ユーザに戻される検索応答が前記検索結果および他の部分式の検索結果にしたがって生成された後、前記キャッシュに格納することをさらに含む、請求項1に記載の方法。 - データベースを初期化後、デフォルトのインデックス型にしたがって前記データベースの列ごとにインデックスを構築するように構成された初期化モジュールと、
予め設定された時間間隔内の前記データベースの列のインデックスの使用状態にしたがって、インデックスが前記列に対して再構築される必要があるかどうかを判定するように構成された判定モジュールと、
前記判定モジュールが、インデックスが前記列に対して再構築される必要があると判定すると、前記列のデータ情報にしたがってインデックス型を判定し、前記インデックス型にしたがって、前記列に対するインデックスを再構築するように構成された再構築モジュールとを備え、
前記データ情報は、列が連続値型であるか否かの情報、列で結合が起きているか否かの情報、列の単語数が予め設定された単語数閾値より多いか否かの情報、のいずれかを含む、インデックス確立デバイス。 - 前記再構築モジュールが、前記判定モジュールによりインデックスが前記列に対して再構築される必要がないと判定されたとき、次の時間間隔の経過後に、前記次の時間間隔内の前記列のインデックスの使用状態にしたがって、インデックスが前記列に対して再構築される必要があるかどうかを再び判定するようにさらに構成される、請求項6に記載のデバイス。
- 前記判定モジュールが、
前記時間間隔内の前記列の前記インデックスの使用状態を判断し、
前記インデックスの使用状態にしたがって、前記時間間隔内にインデックスが前記列に対して用いられたかどうかを判定し、判定結果が肯定のとき、前記列に対するインデックスが前記時間間隔内に用いられた回数が予め設定された回数閾値以上であるかどうかを判定し、
前記時間間隔内にインデックスが前記列に対して用いられない場合、または、前記列に対するインデックスが前記時間間隔内に用いられた回数が前記回数閾値未満である場合、インデックスが前記列に対して再構築される必要がないと判定し、
前記列に対するインデックスが前記時間間隔内に用いられた回数が前記回数閾値以上である場合、インデックスが前記列に対して再構築される必要があると判定するように構成される、請求項7に記載のデバイス。 - 前記インデックス型が、B−ツリーインデックス、ハッシュインデックスおよびビットマップインデックスを少なくとも含み、前記再構築モジュールが、
前記列が連続値型である場合、前記インデックス型がB−ツリーインデックスであると判定し、
前記列で結合が起きている場合、前記インデックス型がハッシュインデックスであると判定し、
前記列の単語数が予め設定された単語数閾値より多い場合、前記インデックス型は転置インデックスであると判定し、
前記列の単語数が予め設定された単語数閾値以下であり、結合が起きておらず、前記列が不連続値型である場合、前記インデックス型はビットマップインデックスであると判定するように構成される、請求項6に記載のデバイス。 - ユーザが送信した検索式を、前記検索式が受信されたときに複数の部分式に分割するように構成された分割モジュールと、
各部分式に対応する検索結果がキャッシュ内に存在するかどうかを問い合わせるように構成されたクエリモジュールと、
前記検索結果が存在するとき、前記部分式に対応する検索結果および他の部分式の検索結果にしたがって、前記ユーザに戻される検索応答を生成し、前記部分式に対応する検索結果が存在しないとき、前記列のインデックスを用いることによって前記部分式に関する検索を実行し、前記検索結果を、前記ユーザに戻される検索応答が前記検索結果および他の部分式の検索結果にしたがって生成された後、前記キャッシュに格納するように構成された処理モジュールと、をさらに備える、請求項6に記載のデバイス。 - 命令のセットを格納する非一時的コンピュータ可読媒体であって、前記命令のセットは、コンピューティングシステムにインデックス確立の方法を実行させるために、前記コンピューティングシステムの少なくとも1つのプロセッサによって実行可能であり、前記方法が、
データベースを初期化後、デフォルトのインデックス型にしたがって前記データベースの列ごとにインデックスを構築することと、
予め設定された時間間隔内の前記データベースの列のインデックスの使用状態にしたがって、インデックスが前記列に対して再構築される必要があるかどうかを判定することと、
インデックスが前記列に対して再構築される必要があると判定された場合、前記列のデータ情報にしたがってインデックス型を判定し、前記列に対するインデックスを前記インデックス型にしたがって再構築することとを含み、
前記データ情報は、列が連続値型であるか否かの情報、列で結合が起きているか否かの情報、列の単語数が予め設定された単語数閾値より多いか否かの情報、のいずれかを含む、
非一時的コンピュータ可読媒体。 - 前記方法が、インデックスが前記列に対して再構築される必要がないと判定された場合、次の時間間隔の経過後に、前記次の時間間隔内の前記列のインデックスの使用状態にしたがって、インデックスが前記列に対して再構築される必要があるかどうかを再び判定することをさらに含む、請求項11に記載の非一時的コンピュータ可読媒体。
- 予め設定された時間間隔内のデータベースの列の前記インデックスの使用状態にしたがって、インデックスが前記列に対して再構築される必要があるかどうかを判定することが、
前記時間間隔内の前記列の前記インデックスの使用状態を判断すること、
前記インデックスの使用状態にしたがって、前記時間間隔内にインデックスが前記列に対して用いられたかどうかを判定し、判定結果が肯定であるとき、前記列に対するインデックスが前記時間間隔内に用いられた回数が予め設定された回数閾値以上であるかどうかを判定すること、
インデックスが前記時間間隔内に前記列に対して用いられない場合、または、前記列に対するインデックスが前記時間間隔内に用いられた回数が前記回数閾値未満である場合、インデックスが前記列に対して再構築される必要がないと判定すること、および、
前記列に対するインデックスが前記時間間隔内に用いられた回数が前記回数閾値以上である場合、インデックスが前記列に対して再構築される必要があると判定することを含む、請求項12に記載の非一時的コンピュータ可読媒体。 - 前記インデックス型が、B−ツリーインデックス、ハッシュインデックスおよびビットマップインデックスを少なくとも含み、前記列の前記データ情報にしたがってインデックス型を判定することが、
前記列が連続値型である場合、前記インデックス型がB−ツリーインデックスであると判定すること、
前記列に結合が起きている場合、前記インデックス型がハッシュインデックスであると判定すること、
前記列の単語数が予め設定された単語数閾値より多い場合、前記インデックス型が転置インデックスであると判定すること、および、
前記列の単語数が予め設定された単語数閾値以下であり、結合が起きておらず、前記列が不連続値型である場合、前記インデックス型がビットマップインデックスであると判定することを含む、請求項11に記載の非一時的コンピュータ可読媒体。 - 前記方法が、
ユーザが送信した検索式を、前記検索式が受信されたときに複数の部分式に分割すること、
各部分式に対応する検索結果がキャッシュ内に存在するかどうかを問い合わせすること、
前記検索結果が存在する場合、前記部分式に対応する検索結果および他の部分式の検索結果にしたがって、前記ユーザに戻される検索応答を生成すること、および、
前記部分式に対応する検索結果が存在しない場合、前記列のインデックスを用いることによって前記部分式に関する検索を実行し、前記検索結果を、前記ユーザに戻される検索応答が前記検索結果および他の部分式の検索結果にしたがって生成された後、前記キャッシュに格納することをさらに含む、請求項11に記載の非一時的コンピュータ可読媒体。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510868254.X | 2015-12-01 | ||
CN201510868254.XA CN106815260B (zh) | 2015-12-01 | 2015-12-01 | 一种索引建立方法及设备 |
PCT/CN2016/106581 WO2017092583A1 (zh) | 2015-12-01 | 2016-11-21 | 一种索引建立方法及设备 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2019502980A JP2019502980A (ja) | 2019-01-31 |
JP2019502980A5 JP2019502980A5 (ja) | 2019-12-19 |
JP6898320B2 true JP6898320B2 (ja) | 2021-07-07 |
Family
ID=58796259
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018524442A Active JP6898320B2 (ja) | 2015-12-01 | 2016-11-21 | インデックス確立の方法およびデバイス |
Country Status (5)
Country | Link |
---|---|
US (1) | US11003649B2 (ja) |
EP (1) | EP3385864B1 (ja) |
JP (1) | JP6898320B2 (ja) |
CN (1) | CN106815260B (ja) |
WO (1) | WO2017092583A1 (ja) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106815260B (zh) | 2015-12-01 | 2021-05-04 | 阿里巴巴集团控股有限公司 | 一种索引建立方法及设备 |
US11023439B2 (en) * | 2016-09-01 | 2021-06-01 | Morphick, Inc. | Variable cardinality index and data retrieval |
CN110851438A (zh) * | 2018-08-20 | 2020-02-28 | 北京京东尚科信息技术有限公司 | 一种数据库索引优化建议与验证的方法和装置 |
CN110874358B (zh) * | 2018-08-30 | 2023-05-05 | 阿里巴巴集团控股有限公司 | 多属性列的存储、检索方法和装置以及电子设备 |
US10545960B1 (en) * | 2019-03-12 | 2020-01-28 | The Governing Council Of The University Of Toronto | System and method for set overlap searching of data lakes |
CN111046130B (zh) * | 2019-11-08 | 2023-05-23 | 杭州安恒信息技术股份有限公司 | 结合ElasticSearch和FSM的关联检索方法 |
CN113535733A (zh) * | 2021-07-26 | 2021-10-22 | 北京锐安科技有限公司 | 数据存储、查询方法、装置、计算机设备及存储介质 |
CN117573680B (zh) * | 2024-01-17 | 2024-04-12 | 深圳市进择科技有限公司 | 一种基于大数据的定位数据传输管理系统及方法 |
Family Cites Families (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63201716A (ja) | 1987-02-17 | 1988-08-19 | Nec Corp | インデツクス保守方式 |
US5404510A (en) | 1992-05-21 | 1995-04-04 | Oracle Corporation | Database index design based upon request importance and the reuse and modification of similar existing indexes |
JPH0785093A (ja) | 1993-09-16 | 1995-03-31 | Nissan Motor Co Ltd | インデックス自動設定方法 |
US5907837A (en) * | 1995-07-17 | 1999-05-25 | Microsoft Corporation | Information retrieval system in an on-line network including separate content and layout of published titles |
US7640244B1 (en) * | 2004-06-07 | 2009-12-29 | Teredata Us, Inc. | Dynamic partition enhanced joining using a value-count index |
US7392266B2 (en) * | 2005-03-17 | 2008-06-24 | International Business Machines Corporation | Apparatus and method for monitoring usage of components in a database index |
JP2007122405A (ja) | 2005-10-28 | 2007-05-17 | Hitachi Ltd | データベース管理システムの性能チューニングシステム |
JP5162215B2 (ja) | 2007-11-22 | 2013-03-13 | 株式会社エヌ・ティ・ティ・データ | データ処理装置、データ処理方法、および、プログラム |
JP4237813B2 (ja) | 2008-05-26 | 2009-03-11 | 株式会社東芝 | 構造化文書管理システム |
US8489565B2 (en) * | 2009-03-24 | 2013-07-16 | Microsoft Corporation | Dynamic integrated database index management |
CN101609460B (zh) * | 2009-07-22 | 2011-12-14 | 中国科学院地理科学与资源研究所 | 一种支持异构地学数据资源的检索方法及检索系统 |
US8655867B2 (en) * | 2010-05-13 | 2014-02-18 | Salesforce.Com, Inc. | Method and system for optimizing queries in a multi-tenant database environment |
US8412701B2 (en) * | 2010-09-27 | 2013-04-02 | Computer Associates Think, Inc. | Multi-dataset global index |
CN102467572B (zh) * | 2010-11-17 | 2013-10-02 | 英业达股份有限公司 | 支持重复数据删除程序的数据区块查询方法 |
US8396858B2 (en) * | 2011-08-11 | 2013-03-12 | International Business Machines Corporation | Adding entries to an index based on use of the index |
CN102779180B (zh) * | 2012-06-29 | 2015-09-09 | 华为技术有限公司 | 数据存储系统的操作处理方法,数据存储系统 |
US8825664B2 (en) * | 2012-08-17 | 2014-09-02 | Splunk Inc. | Indexing preview |
CN103810212B (zh) * | 2012-11-14 | 2017-05-24 | 阿里巴巴集团控股有限公司 | 一种数据库索引的自动创建方法及系统 |
US20140317093A1 (en) * | 2013-04-22 | 2014-10-23 | Salesforce.Com, Inc. | Facilitating dynamic creation of multi-column index tables and management of customer queries in an on-demand services environment |
US20150032720A1 (en) * | 2013-07-23 | 2015-01-29 | Yahoo! Inc. | Optimizing database queries |
CN103390066B (zh) * | 2013-08-08 | 2016-02-17 | 上海新炬网络信息技术有限公司 | 一种数据库全局性自动化优化预警装置及其处理方法 |
CN104714984A (zh) | 2013-12-17 | 2015-06-17 | 中国移动通信集团湖南有限公司 | 一种数据库优化的方法和装置 |
CN104112011B (zh) * | 2014-07-16 | 2017-09-15 | 深圳国泰安教育技术股份有限公司 | 一种海量数据提取的方法及装置 |
CN104182460B (zh) * | 2014-07-18 | 2017-06-13 | 浙江大学 | 基于倒排索引的时间序列相似性查询方法 |
US9846746B2 (en) * | 2014-11-20 | 2017-12-19 | Facebook, Inc. | Querying groups of users based on user attributes for social analytics |
CN104834736A (zh) * | 2015-05-19 | 2015-08-12 | 深圳证券信息有限公司 | 构建索引库的方法、装置及检索的方法、装置和系统 |
CN105045851A (zh) * | 2015-07-07 | 2015-11-11 | 福建天晴数码有限公司 | 根据日志分析自动创建数据库索引的方法及系统 |
CN106815260B (zh) | 2015-12-01 | 2021-05-04 | 阿里巴巴集团控股有限公司 | 一种索引建立方法及设备 |
US10601593B2 (en) * | 2016-09-23 | 2020-03-24 | Microsoft Technology Licensing, Llc | Type-based database confidentiality using trusted computing |
-
2015
- 2015-12-01 CN CN201510868254.XA patent/CN106815260B/zh active Active
-
2016
- 2016-11-21 JP JP2018524442A patent/JP6898320B2/ja active Active
- 2016-11-21 WO PCT/CN2016/106581 patent/WO2017092583A1/zh active Application Filing
- 2016-11-21 EP EP16869893.4A patent/EP3385864B1/en active Active
-
2018
- 2018-06-01 US US15/996,237 patent/US11003649B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
EP3385864B1 (en) | 2024-01-03 |
US11003649B2 (en) | 2021-05-11 |
WO2017092583A1 (zh) | 2017-06-08 |
EP3385864A4 (en) | 2018-10-10 |
JP2019502980A (ja) | 2019-01-31 |
CN106815260B (zh) | 2021-05-04 |
EP3385864A1 (en) | 2018-10-10 |
US20180276264A1 (en) | 2018-09-27 |
CN106815260A (zh) | 2017-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6898320B2 (ja) | インデックス確立の方法およびデバイス | |
Yang et al. | Druid: A real-time analytical data store | |
US11157473B2 (en) | Multisource semantic partitioning | |
CA2939903C (en) | Transparent discovery of semi-structured data schema | |
JP6338817B2 (ja) | データベースミドルウェアを用いたデータ管理システム及びその方法 | |
EP3285178A1 (en) | Data query method in crossing-partition database, and crossing-partition query device | |
CN109815283B (zh) | 一种异构数据源可视化查询方法 | |
US8949222B2 (en) | Changing the compression level of query plans | |
US11275738B2 (en) | Prefix N-gram indexing | |
US11372860B2 (en) | Processing techniques for queries where predicate values are unknown until runtime | |
US10769126B1 (en) | Data entropy reduction across stream shard | |
CN107291770B (zh) | 一种分布式系统中海量数据的查询方法及装置 | |
US9984081B2 (en) | Workload aware data placement for join-based query processing in a cluster | |
US9405801B2 (en) | Processing a data stream | |
CN108228654A (zh) | 一种大数据分布式存储方法和系统 | |
CN108319604B (zh) | 一种hive中大小表关联的优化方法 | |
MahmoudiNasab et al. | AdaptRDF: adaptive storage management for RDF databases | |
Xu et al. | Banian: a cross-platform interactive query system for structured big data | |
Guzun et al. | A two-phase mapreduce algorithm for scalable preference queries over high-dimensional data | |
Li et al. | The research of performance optimization methods based on Impala cluster | |
US20170293658A1 (en) | Partition aware evaluation of top-n queries | |
US11880369B1 (en) | Pruning data based on state of top K operator | |
Lai et al. | Evaluating data storage structures of MapReduce | |
Wang et al. | Research on the Optimization of Spark Big Table Equal Join | |
Ttito et al. | Query co-planning for shared execution in key-value stores |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20191106 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20191106 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20201126 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20201222 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210319 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20210518 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210610 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6898320 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |