(57)【要約】  本発明の実施形態はデータ区分方法および装置を提供する。本方法は、受信された混合負荷とデータベースの構造情報とに従ってタプル関係情報を決定するステップと、混合負荷が並列に実行可能であるかどうかに関する特徴とタプル関係情報とに従ってタプルスプリットコスト情報を決定するステップと、タプルスプリットコスト情報に従って複数の区分方式を取得して、データベースに記憶されたデータ上で区分処理を実施するために、それらの区分方式から、最小総コスト値をもつ区分方式を最適区分方式として決定するステップとを含む。このデータ区分方法および装置では、混合負荷が並列に実行可能であるかどうかに関する特徴に従って、データベース中の混合負荷に関連するデータ上で最適区分が実施され、区分の後に、データは、混合負荷中にトランザクション負荷と分析負荷との特徴を有し、したがって、異なる負荷がデータベースシステム中のデータにアクセスするとき、それらの負荷はより高いアクセス効率を取得することができ、それにより、混合負荷を指向するデータベースシステムの動作性能が改善される。
2016520938.tif 000002
【特許請求の範囲】
【請求項１】
データ区分方法であって、
ユーザによって入力される混合負荷とデータベースの構造情報とを受信するステップであって、前記混合負荷は、少なくとも1つのトランザクション負荷および／または少なくとも1つの分析負荷を含み、前記データベースの前記構造情報は、前記混合負荷に関連する少なくとも1つのタプルを含む、ステップと、
前記混合負荷と前記データベースの前記構造情報とに従ってタプル関係情報を決定するステップであって、前記タプル関係情報は、前記データベースの前記構造情報においていずれかの2つのタプル間のトランザクション相関を含む、ステップと、
前記混合負荷が並列に実行可能であるかどうかに関する特徴と前記タプル関係情報とに従ってタプルスプリットコスト情報を決定するステップであって、前記タプルスプリットコスト情報は、前記データベースの前記構造情報においてトランザクション相関を有するいずれかの2つのタプル間のスプリットコストを含み、前記スプリットコストは、前記トランザクション相関を有する前記2つのタプルが異なるパーティションに記憶されるとき、前記トランザクション相関を有する前記2つのタプルにアクセスすることにおける前記混合負荷の効率への影響の程度を示すために使用される、ステップと、
前記タプルスプリットコスト情報に従って複数の区分方式を取得して、前記区分方式から、最小総コスト値をもつ区分方式を最適区分方式として決定するステップであって、各区分方式の総コスト値は、前記区分方式が使用されるときの、前記データベースの前記構造情報においてトランザクション相関を有するタプル間のスプリットコストの和である、ステップと、
前記データベースに記憶されたデータ上で区分処理を前記最適区分方式に従って実施するステップと
を含む、データ区分方法。
【請求項２】
前記混合負荷と前記データベースの前記構造情報とに従ってタプル関係情報を決定する前記ステップは、
前記混合負荷中に含まれる各負荷に従って順に、前記データベースの前記構造情報において、前記各負荷に関連するすべてのタプルを別々に決定するステップと、
各負荷に関連するすべてのタプルのうちのいずれかの2つのタプル間のトランザクション相関に従って、前記負荷に関連するタプル間の関係サブ情報を決定するステップと、
前記タプル関係情報を取得するために、前記混合負荷中の各負荷に関連するタプル間の関係サブ情報を収集するステップと
を含む、請求項1に記載のデータ区分方法。
【請求項３】
前記混合負荷が並列に実行可能であるかどうかに関する特徴と前記タプル関係情報とに従ってタプルスプリットコスト情報を決定する前記ステップは、
前記特徴が、前記タプル関係情報においてトランザクション相関を有する2つのタプルに関連する前記混合負荷が並列に実行可能でないというものである場合、前記2つのタプル間のスプリットコストがプリセット正値であると決定するステップと、
前記特徴が、前記タプル関係情報においてトランザクション相関を有する2つのタプルに関連する前記混合負荷が並列に実行可能であるというものである場合、前記2つのタプル間のスプリットコストがプリセット負値であると決定するステップと
を含む、請求項2に記載のデータ区分方法。
【請求項４】
前記タプルスプリットコスト情報は関係図によって表され、前記関係図においてトランザクション相関を有するいずれかの2つのタプルは接続ラインによって接続され、前記タプルスプリットコスト情報に従って複数の区分方式を取得して、前記区分方式から、最小総コスト値をもつ区分方式を最適区分方式として決定する前記ステップは、
複数の区分方式を決定するためにイメージセグメント化アルゴリズムを使用することによって前記関係図上で複数のタイプのセグメント化処理を実施するステップであって、各タイプのセグメント化処理は1つの区分方式に対応する、ステップと、
各タイプのセグメント化処理が前記関係図上で実施されるとき、このタイプのセグメント化処理に対応する区分方式の総コスト値を取得するために、各セグメント化された接続ラインによって接続される2つのタプル間のスプリットコストを累積するステップと、
最小総コスト値に対応する区分方式を最適区分方式として決定するステップと
を含む、請求項3に記載のデータ区分方法。
【請求項５】
前記最適区分方式に従って前記データベース中の前記データ上で区分処理が実施された後に、前記方法は、前記タプルスプリットコスト情報が、調整されたタプルスプリットコスト情報に更新されるとき、複数の区分方式を決定するために前記イメージセグメント化アルゴリズムを使用することによって前記調整されたタプルスプリットコスト情報上で複数のタイプのセグメント化処理を実施し、各タイプのセグメント化処理は1つの区分方式に対応し、各区分方式の総コスト値を決定し、前記調整されたタプルスプリットコスト情報は関係図によって表され、前記関係図においてトランザクション相関を有するいずれかの2つのタプルは接続ラインによって接続される、ステップと、
最小総コスト値に対応する区分方式を第1の区分方式として決定するステップと、
前記最適区分方式と前記第1の区分方式とに従ってタプル移動コスト情報を生成し、前記タプル移動コスト情報に従って、調整された区分方式を決定する、ステップと
を含む、請求項3に記載のデータ区分方法。
【請求項６】
前記最適区分方式と前記第1の区分方式とに従ってタプル移動コスト情報を生成し、前記タプル移動コスト情報に従って、調整された区分方式を決定する、前記ステップは、
前記第1の区分方式に従って前記最適区分方式が調整されるとき、各最適パーティションにおいて移動されるべきタプルを決定するステップであって、前記最適パーティションは、前記最適区分方式に従って決定される記憶領域である、ステップと、
移動されるべき前記タプルと前記最適パーティションとの間の調整関係に従って、移動されるべき前記タプルと前記最適パーティションとの間の移動コストを決定するステップと、
前記調整されたタプルスプリットコスト情報に従って、移動されるべき前記タプルと前記最適パーティションとの間のスプリットコストを決定するステップと、
前記移動コストと前記スプリットコストとに従ってタプル移動コスト情報を生成するステップと、
複数のプリセット移動区分方式を取得するために前記タプル移動コスト情報に従って前記最適区分方式を調整するステップと、
前記イメージセグメント化アルゴリズムを使用することによって前記プリセット移動区分方式の各々に対応する調整された総コスト値を取得するステップと、
前記複数のプリセット移動区分方式から、最小の調整された総コスト値をもつプリセット移動区分方式を前記調整された区分方式として決定するステップと
を含む、請求項5に記載のデータ区分方法。
【請求項７】
前記最適区分方式に従う前記データベース中の前記データ上での区分処理が失敗した場合、前記方法は、
オンライン分析処理モードの各々に対応する候補区分方式を取得するために少なくとも2つの前記オンライン分析処理モードを使用することによってデータ区分を実施するステップと、
各候補区分方式と前記最適区分方式との間の差分値を決定するステップと、
最小差分値をもつ候補区分方式を現在の区分方式として決定し、前記現在の区分方式に従って前記データ上で区分を実施するステップと
をさらに含む、請求項1から4のいずれか一項に記載のデータ区分方法。
【請求項８】
前記少なくとも2つのオンライン分析処理モードは、以下のオンライン分析処理モード、
ハッシュ関数処理、置換関数処理、ラウンドロビンアルゴリズム処理、およびレプリカ管理処理
のうちの少なくとも2つを含む、請求項7に記載のデータ区分方法。
【請求項９】
データ区分装置であって、
ユーザによって入力される混合負荷とデータベースの構造情報とを受信する、受信モジュールであって、前記混合負荷は、少なくとも1つのトランザクション負荷および／または少なくとも1つの分析負荷を含むことと、前記データベースの前記構造情報は、前記混合負荷に関連する少なくとも1つのタプルを含む、受信モジュールと、
前記混合負荷と前記データベースの前記構造情報とに従ってタプル関係情報を決定する、関係決定モジュールであって、前記タプル関係情報は、前記データベースの前記構造情報においていずれかの2つのタプル間のトランザクション相関を含む、関係決定モジュールと、
前記混合負荷が並列に実行可能であるかどうかに関する特徴と前記タプル関係情報とに従ってタプルスプリットコスト情報を決定する、コスト決定モジュールであって、前記タプルスプリットコスト情報は、前記データベースの前記構造情報においてトランザクション相関を有するいずれかの2つのタプル間のスプリットコストを含み、前記スプリットコストは、前記トランザクション相関を有する前記2つのタプルが異なるパーティションに記憶されるとき、前記トランザクション相関を有する前記2つのタプルにアクセスすることにおける前記混合負荷の効率への影響の程度を示すために使用される、コスト決定モジュールと、
前記タプルスプリットコスト情報に従って複数の区分方式を取得し、前記区分方式から、最小総コスト値をもつ区分方式を最適区分方式として決定する、最適選択モジュールであって、各区分方式の総コスト値は、前記区分方式が使用されるときの、前記データベースの前記構造情報においてトランザクション相関を有するタプル間のスプリットコストの和である、最適選択モジュールと、
前記データベースに記憶されたデータ上で区分処理を前記最適区分方式に従って実施する、区分モジュールと
を備える、データ区分装置。
【請求項１０】
前記関係決定モジュールは、
前記混合負荷中に含まれる各負荷に従って順に、前記データベースの前記構造情報において、前記各負荷に関連するすべてのタプルを別々に決定し、
各負荷に関連するすべてのタプルのうちのいずれかの2つのタプル間のトランザクション相関に従って、前記負荷に関連するタプル間の関係サブ情報を決定し、
前記タプル関係情報を取得するために、前記混合負荷中の各負荷に関連するタプル間の関係サブ情報を収集する
ように特に構成される、請求項9に記載のデータ区分装置。
【請求項１１】
前記コスト決定モジュールは、前記特徴が、前記タプル関係情報においてトランザクション相関を有する2つのタプルに関連する前記混合負荷が並列に実行可能でないというものである場合、前記2つのタプル間のスプリットコストがプリセット正値であると決定し、
前記特徴が、前記タプル関係情報においてトランザクション相関を有する2つのタプルに関連する前記混合負荷が並列に実行可能であるというものである場合、前記2つのタプル間のスプリットコストがプリセット負値であると決定する
ように特に構成される、請求項10に記載のデータ区分装置。
【請求項１２】
前記タプルスプリットコスト情報は関係図によって表され、前記関係図においてトランザクション相関を有するいずれかの2つのタプルは接続ラインによって接続され、前記最適選択モジュールは、複数の区分方式を決定するためにイメージセグメント化アルゴリズムを使用することによって前記関係図上で複数のタイプのセグメント化処理を実施し、各タイプのセグメント化処理は1つの区分方式に対応し、
各タイプのセグメント化処理が前記関係図上で実施されるとき、このタイプのセグメント化処理に対応する区分方式の総コスト値を取得するために、各セグメント化された接続ラインによって接続される2つのタプル間のスプリットコストを累積し、
最小総コスト値に対応する区分方式を最適区分方式として決定する
ように特に構成される、請求項11に記載のデータ区分装置。
【請求項１３】
前記装置は、前記区分モジュールが前記最適区分方式に従って前記データベース中の前記データ上で区分処理を実施した後に、前記タプルスプリットコスト情報が、調整されたタプルスプリットコスト情報に更新されるとき、複数の区分方式を決定するために前記イメージセグメント化アルゴリズムを使用することによって前記調整されたタプルスプリットコスト情報上で複数のタイプのセグメント化処理を実施し、各タイプのセグメント化処理は1つの区分方式に対応し、各区分方式の総コスト値を決定し、前記調整されたタプルスプリットコスト情報は関係図によって表され、前記関係図においてトランザクション相関を有するいずれかの2つのタプルは接続ラインによって接続され、
最小総コスト値に対応する区分方式を第1の区分方式として決定し、
前記最適区分方式と前記第1の区分方式とに従ってタプル移動コスト情報を生成し、前記タプル移動コスト情報に従って、調整された区分方式を決定する
調整選択モジュールをさらに備える、請求項11に記載のデータ区分装置。
【請求項１４】
前記調整選択モジュールは、前記第1の区分方式に従って前記最適区分方式が調整されるとき、各最適パーティションにおいて移動されるべきタプルを決定し、前記最適パーティションは、前記最適区分方式に従って決定される記憶領域であり、
移動されるべき前記タプルと前記最適パーティションとの間の調整関係に従って、移動されるべき前記タプルと前記最適パーティションとの間の移動コストを決定し、
前記タプルスプリットコスト情報に従って、移動されるべき前記タプルと前記最適パーティションとの間のスプリットコストを決定し、
前記移動コストと前記スプリットコストとに従ってタプル移動コスト情報を生成し、
複数のプリセット移動区分方式を取得するために前記タプル移動コスト情報に従って前記最適区分方式を調整し、
前記イメージセグメント化アルゴリズムを使用することによって前記プリセット移動区分方式の各々に対応する調整された総コスト値を取得し、
前記複数のプリセット移動区分方式から、最小の調整された総コスト値をもつプリセット移動区分方式を前記調整された区分方式として決定する
ように特に構成される、請求項13に記載のデータ区分装置。
【請求項１５】
前記装置は、
前記区分モジュールが前記最適区分方式に従って前記データベース中の前記データ上で区分処理を実施することに失敗したとき、オンライン分析処理モードの各々に対応する候補区分方式を取得するために少なくとも2つの前記オンライン分析処理モードを使用することによってデータ区分を実施し、
各候補区分方式と前記最適区分方式との間の差分値を決定し、
最小差分値をもつ候補区分方式を現在の区分方式として決定し、前記現在の区分方式に従って前記データ上で区分を実施する、差分選択モジュール
をさらに備える、請求項9から12のいずれか一項に記載のデータ区分装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データベース技術の分野に関し、詳細には、データ区分方法および装置に関する。
【背景技術】
【０００２】
旧来のリレーショナルデータベースシステムは、それらが指向する異なる負荷に従って、オンライントランザクション処理（on-line transaction processing、OLTP）のために使用されるデータベースシステムと、オンライン分析処理（on-line analytical processing、OLAP）のために使用されるデータベースシステムとに分類される。OLTPのために使用されるデータベースシステムが指向する負荷はトランザクション負荷と呼ばれ、OLAPのために使用されるデータベースシステムが指向される負荷は分析負荷と呼ばれる。対応して、これらの2つの異なるデータベースシステムは異なる様式でデータベース中のデータを管理する。具体的には、トランザクション負荷が関与するアクセスタイプは、（データ更新、修正、挿入、削除などを含む）データクエリおよびデータ修正を含むので、トランザクション負荷を指向するデータベースシステムは、データベースの異なる領域中にデータを分配しデータアクセス効率に影響を及ぼすのを回避するために、関係するデータ上で集中型制御を実施すべきである。分析負荷が関与するアクセスタイプは主に読取り専用クエリ要求であり、各クエリ要求は大量のデータの走査、統計、および分析を通常伴う。したがって、分析負荷を指向するデータベースシステムは、データアクセスが複数の領域中で並列に実施され、それによってデータアクセス効率が改善され得るように、データを異なるパーティションに記憶すべきである。ユーザは、これらの2つのデータベースシステムを同時に保守する必要がある。しかしながら、データ量とシステムの複雑さとの継続的増加とともに、2つのシステムの同時保守はユーザへの負担を増す。したがって、ユーザの要求に応答して、混合負荷を指向し得る（すなわち、トランザクション負荷と分析負荷を同時に指向し得る）データベースシステムが開発される。
【０００３】
混合負荷を指向するデータベースシステムにおけるデータアクセス効率を保証するために、データベース中のデータは、トランザクション負荷と分析負荷の両方の特徴に従って区分される必要がある。従来技術では、データベースシステムにおけるデータ区分方法はオンライン分析処理システムによって主に実施され、例えば、データ区分は、データベースのリレーショナルテーブル中の1つまたは複数のフィールドのhash値に従ってハッシュ（hash）関数を使用することによって実施される。
【０００４】
上記の方法を使用することによって取得されるデータ区分方式は分析負荷の処理を可能にするが、このデータ区分方式はトランザクション負荷では不満足であり、トランザクション負荷の処理効率に影響を及ぼし、それにより、混合負荷を指向するデータベースシステムの動作性能が低減する。
【発明の概要】
【０００５】
本発明は、混合負荷を指向するデータベースの動作性能を改善するためのデータ区分方法および装置を提供する。
【課題を解決するための手段】
【０００６】
第1の態様によれば、本発明の一実施形態はデータ区分方法を提供し、本方法は、
ユーザによって入力される混合負荷とデータベースの構造情報とを受信するステップであって、混合負荷は、少なくとも1つのトランザクション負荷および／または少なくとも1つの分析負荷を含み、データベースの構造情報は、混合負荷に関連する少なくとも1つのタプルを含む、ステップと、
混合負荷とデータベースの構造情報とに従ってタプル関係情報を決定するステップであって、タプル関係情報は、データベースの構造情報においていずれかの2つのタプル間のトランザクション相関を含む、ステップと、
混合負荷が並列に実行可能であるかどうかに関する特徴とタプル関係情報とに従ってタプルスプリットコスト情報を決定するステップであって、タプルスプリットコスト情報は、データベースの構造情報においてトランザクション相関を有するいずれかの2つのタプル間のスプリットコストを含み、スプリットコストは、トランザクション相関を有する2つのタプルが異なるパーティションに記憶されるとき、トランザクション相関を有する2つのタプルにアクセスすることにおける混合負荷の効率への影響の程度を示すために使用される、ステップと、
タプルスプリットコスト情報に従って複数の区分方式を取得して、これらの区分方式から、最小総コスト値をもつ区分方式を最適区分方式として決定するステップであって、各区分方式の総コスト値は、区分方式が使用されるときの、データベースの構造情報においてトランザクション相関を有するタプル間のスプリットコストの和である、ステップと、
データベースに記憶されたデータ上で区分処理を最適区分方式に従って実施するステップと
を含む。
【０００７】
第1の態様に関して、第1の実装様式では、混合負荷とデータベースの構造情報とに従ってタプル関係情報を決定するステップは、
混合負荷中に含まれる各負荷に従って順に、データベースの構造情報において、各負荷に関連するすべてのタプルを別々に決定するステップと、
各負荷に関連するすべてのタプルのうちのいずれかの2つのタプル間のトランザクション相関に従って、負荷に関連するタプル間の関係サブ情報を決定するステップと、
タプル関係情報を取得するために、混合負荷中の各負荷に関連するタプル間の関係サブ情報を収集するステップと
を含む。
【０００８】
第1の態様の第1の実装様式に関して、第2の実装様式では、混合負荷が並列に実行可能であるかどうかに関する特徴とタプル関係情報とに従ってタプルスプリットコスト情報を決定するステップは、
特徴が、タプル関係情報においてトランザクション相関を有する2つのタプルに関連する混合負荷が並列に実行可能でないというものである場合、2つのタプル間のスプリットコストがプリセット正値であると決定するステップと、
特徴が、タプル関係情報においてトランザクション相関を有する2つのタプルに関連する混合負荷が並列に実行可能であるというものである場合、2つのタプル間のスプリットコストがプリセット負値であると決定するステップと
を含む。
【０００９】
第1の態様の第2の実装様式に関して、第3の実装様式では、タプルスプリットコスト情報は関係図によって表され、関係図においてトランザクション相関を有するいずれかの2つのタプルは接続ラインによって接続され、タプルスプリットコスト情報に従って複数の区分方式を取得して、これらの区分方式から、最小総コスト値をもつ区分方式を最適区分方式として決定するステップは、
複数の区分方式を決定するためにイメージセグメント化アルゴリズムを使用することによって関係図上で複数のタイプのセグメント化処理を実施するステップであって、各タイプのセグメント化処理は1つの区分方式に対応する、ステップと、
各タイプのセグメント化処理が関係図上で実施されるとき、このタイプのセグメント化処理に対応する区分方式の総コスト値を取得するために、各セグメント化された接続ラインによって接続される2つのタプル間のスプリットコストを累積するステップと、
最小総コスト値に対応する区分方式を最適区分方式として決定するステップと
を含む。
【００１０】
第1の態様の第2の実装様式に関して、第4の実装様式では、最適区分方式に従ってデータベース中のデータ上で区分処理が実施された後に、本方法は、タプルスプリットコスト情報が、調整されたタプルスプリットコスト情報に更新されるとき、複数の区分方式を決定するためにイメージセグメント化アルゴリズムを使用することによって、調整されたタプルスプリットコスト情報上で複数のタイプのセグメント化処理を実施し、各タイプのセグメント化処理は1つの区分方式に対応し、各区分方式の総コスト値を決定し、調整されたタプルスプリットコスト情報は関係図によって表され、関係図においてトランザクション相関を有するいずれかの2つのタプルは接続ラインによって接続される、ステップと
最小総コスト値に対応する区分方式を第1の区分方式として決定するステップと、
最適区分方式と第1の区分方式とに従ってタプル移動コスト情報を生成し、タプル移動コスト情報に従って、調整された区分方式を決定する、ステップと
をさらに含む。
【００１１】
第1の態様の第4の実装様式に関して、第5の実装様式では、最適区分方式と第1の区分方式とに従ってタプル移動コスト情報を生成し、タプル移動コスト情報に従って、調整された区分方式を決定する、ステップは、
第1の区分方式に従って最適区分方式が調整されるとき、各最適パーティションにおいて移動されるべきタプルを決定するステップであって、最適パーティションは、最適区分方式に従って決定される記憶領域である、ステップと、
移動されるべきタプルと最適パーティションとの間の調整関係に従って、移動されるべきタプルと最適パーティションとの間の移動コストを決定するステップと、
調整されたタプルスプリットコスト情報に従って、移動されるべきタプルと最適パーティションとの間のスプリットコストを決定するステップと、
移動コストとスプリットコストとに従ってタプル移動コスト情報を生成するステップと、
複数のプリセット移動区分方式を取得するためにタプル移動コスト情報に従って最適区分方式を調整するステップと、
イメージセグメント化アルゴリズムを使用することによってプリセット移動区分方式の各々に対応する調整された総コスト値を取得するステップと、
複数のプリセット移動区分方式から、最小の調整された総コスト値をもつプリセット移動区分方式を調整された区分方式として決定するステップと
を含む。
【００１２】
第1の態様、または第1の態様の第1の実装様式から第3の実装様式のいずれか1つに関して、第6の実装様式では、最適区分方式に従うデータベース中のデータ上での区分処理が失敗した場合、本方法は、
オンライン分析処理モードの各々に対応する候補区分方式を取得するために少なくとも2つのオンライン分析処理モードを使用することによってデータ区分を実施するステップと、
各候補区分方式と最適区分方式との間の差分値を決定するステップと、
最小差分値をもつ候補区分方式を現在の区分方式として決定し、現在の区分方式に従ってデータ上で区分を実施するステップと
をさらに含む。
【００１３】
第1の態様の第6の実装様式に関して、第7の実装様式では、少なくとも2つのオンライン分析処理モードは、以下のオンライン分析処理モード、
ハッシュ関数処理、置換関数処理、ラウンドロビンアルゴリズム処理、およびレプリカ管理処理
のうちの少なくとも2つを含む。
【００１４】
第2の態様によれば、本発明の一実施形態はデータ区分装置を提供し、本装置は、
ユーザによって入力される混合負荷とデータベースの構造情報とを受信するように構成される、受信モジュールであって、混合負荷は、少なくとも1つのトランザクション負荷および／または少なくとも1つの分析負荷を含むことと、データベースの構造情報は、混合負荷に関連する少なくとも1つのタプルを含む、受信モジュールと、
混合負荷とデータベースの構造情報とに従ってタプル関係情報を決定するように構成される、関係決定モジュール、関係決定モジュールであって、タプル関係情報は、データベースの構造情報においていずれかの2つのタプル間のトランザクション相関を含む、関係決定モジュールと、
混合負荷が並列に実行可能であるかどうかに関する特徴とタプル関係情報とに従ってタプルスプリットコスト情報を決定するように構成される、コスト決定モジュールであって、タプルスプリットコスト情報は、データベースの構造情報においてトランザクション相関を有するいずれかの2つのタプル間のスプリットコストを含み、スプリットコストは、トランザクション相関を有する2つのタプルが異なるパーティションに記憶されるとき、トランザクション相関を有する2つのタプルにアクセスすることにおける混合負荷の効率への影響の程度を示すために使用される、コスト決定モジュールと、
タプルスプリットコスト情報に従って複数の区分方式を取得し、これらの区分方式から、最小総コスト値をもつ区分方式を最適区分方式として決定するように構成される、最適選択モジュールであって、各区分方式の総コスト値は、区分方式が使用されるときの、データベースの構造情報においてトランザクション相関を有するタプル間のスプリットコストの和である、最適選択モジュールと、
データベースに記憶されたデータ上で区分処理を最適区分方式に従って実施するように構成される、区分モジュールと
を含む。
【００１５】
第2の態様に関して、第1の実装様式では、関係決定モジュールは、
混合負荷中に含まれる各負荷に従って順に、データベースの構造情報において、各負荷に関連するすべてのタプルを別々に決定し、
各負荷に関連するすべてのタプルのうちのいずれかの2つのタプル間のトランザクション相関に従って、負荷に関連するタプル間の関係サブ情報を決定し、
タプル関係情報を取得するために、混合負荷中の各負荷に関連するタプル間の関係サブ情報を収集する
ように特に構成される。
【００１６】
第2の態様の第1の実装様式に関して、第2の実装様式では、コスト決定モジュールは、特徴が、タプル関係情報においてトランザクション相関を有する2つのタプルに関連する混合負荷が並列に実行可能でないというものである場合、2つのタプル間のスプリットコストがプリセット正値であると決定し、
特徴が、タプル関係情報においてトランザクション相関を有する2つのタプルに関連する混合負荷が並列に実行可能であるというものである場合、2つのタプル間のスプリットコストがプリセット負値であると決定する
ように特に構成される。
【００１７】
第2の態様の第2の実装様式に関して、第3の実装様式では、タプルスプリットコスト情報は関係図によって表され、関係図においてトランザクション相関を有するいずれかの2つのタプルは接続ラインによって接続され、最適選択モジュールは、複数の区分方式を決定するためにイメージセグメント化アルゴリズムを使用することによって関係図上で複数のタイプのセグメント化処理を実施し、各タイプのセグメント化処理は1つの区分方式に対応し、
各タイプのセグメント化処理が関係図上で実施されるとき、このタイプのセグメント化処理に対応する区分方式の総コスト値を取得するために、各セグメント化された接続ラインによって接続される2つのタプル間のスプリットコストを累積し、
最小総コスト値に対応する区分方式を最適区分方式として決定する
ように特に構成される。
【００１８】
第2の態様の第2の実装様式に関して、第4の実装様式では、本装置は調整選択モジュールをさらに含み、調整選択モジュールは、区分モジュールが最適区分方式に従ってデータベース中のデータ上で区分処理を実施した後に、タプルスプリットコスト情報が、調整されたタプルスプリットコスト情報に更新されるとき、複数の区分方式を決定するためにイメージセグメント化アルゴリズムを使用することによって、調整されたタプルスプリットコスト情報上で複数のタイプのセグメント化処理を実施し、各タイプのセグメント化処理は1つの区分方式に対応し、各区分方式の総コスト値を決定し、調整されたタプルスプリットコスト情報は関係図によって表され、関係図においてトランザクション相関を有するいずれかの2つのタプルは接続ラインによって接続され、
最小総コスト値に対応する区分方式を第1の区分方式として決定し、
最適区分方式と第1の区分方式とに従ってタプル移動コスト情報を生成し、タプル移動コスト情報に従って、調整された区分方式を決定する
ように構成される。
【００１９】
第2の態様の第4の実装様式に関して、第5の実装様式では、調整選択モジュールは、第1の区分方式に従って最適区分方式が調整されるとき、各最適パーティションにおいて移動されるべきタプルを決定し、最適パーティションは、最適区分方式に従って決定される記憶領域であり、
移動されるべきタプルと最適パーティションとの間の調整関係に従って、移動されるべきタプルと最適パーティションとの間の移動コストを決定し、
タプルスプリットコスト情報に従って、移動されるべきタプルと最適パーティションとの間のスプリットコストを決定し、
移動コストとスプリットコストとに従ってタプル移動コスト情報を生成し、
複数のプリセット移動区分方式を取得するためにタプル移動コスト情報に従って最適区分方式を調整し、
イメージセグメント化アルゴリズムを使用することによってプリセット移動区分方式の各々に対応する調整された総コスト値を取得し、
複数のプリセット移動区分方式から、最小の調整された総コスト値をもつプリセット移動区分方式を調整された区分方式として決定する
ように特に構成される。
【００２０】
第2の態様、または第2の態様の第1の実装様式から第3の実装様式のいずれか1つに関して、第6の実装様式では、本装置は、
区分モジュールが最適区分方式に従ってデータベース中のデータ上で区分処理を実施することに失敗したとき、オンライン分析処理モードの各々に対応する候補区分方式を取得するために少なくとも2つのオンライン分析処理モードを使用することによってデータ区分を実施し、
各候補区分方式と最適区分方式との間の差分値を決定し、
最小差分値をもつ候補区分方式を現在の区分方式として決定し、現在の区分方式に従ってデータ上で区分を実施する
ように構成される、差分選択モジュール
をさらに含む。
【００２１】
本実施形態では、混合負荷が並列に実行可能であるかどうかに関する特徴に従って、データベース中の混合負荷に関連するデータ上で最適区分が実施され、混合負荷中のトランザクション負荷と分析負荷との特徴は、区分されたデータ中で考慮され、したがって、異なる負荷がデータベースシステム中のデータにアクセスするとき、それらの負荷はより高いアクセス効率を取得することができ、それにより、混合負荷を指向するデータベースシステムの動作性能が改善される。
【００２２】
本発明の実施形態または従来技術における技術的解決策についてより明らかに説明するために、以下で、本実施形態または従来技術について説明するために必要とされる添付の図面を手短に紹介する。明らかに、以下の説明における添付の図面は本発明のいくつかの実施形態を示すものであり、当業者なら、創造的な取り組みなしにこれらの添付の図面から他の図面をさらに導出するであろう。
【図面の簡単な説明】
【００２３】
【図１】本発明によるデータ区分方法の実施形態1のフローチャートである。
【図２Ａ】本発明の実施形態1によるタプル関係情報の概略図である。
【図２Ｂ】本発明の実施形態1によるタプルスプリットコスト情報の概略図である。
【図３】本発明によるデータ区分方法の実施形態2のフローチャートである。
【図４Ａ】本発明の実施形態2による負荷1に対応するタプル関係サブ情報の概略図である。
【図４Ｂ】本発明の実施形態2による負荷2に対応するタプル関係サブ情報の概略図である。
【図５】本発明によるデータ区分方法の実施形態3のフローチャートである。
【図６】本発明の実施形態3によるタプル移動コスト情報の概略図である。
【図７】本発明によるデータ区分方法の実施形態4のフローチャートである。
【図８】本発明によるデータ区分装置の実施形態1の構造図である。
【図９】本発明によるデータ区分装置の実施形態2の構造図である。
【図１０】本発明によるデータベース管理デバイスの実施形態1の構造図である。
【発明を実施するための形態】
【００２４】
本発明の実施形態の目的、技術的解決策、および利点をより明らかにするために、以下で、本発明の実施形態における添付の図面を参照しながら、本発明の実施形態における技術的解決策について明確で完全に説明する。明らかに、説明する実施形態は、本発明の実施形態のすべてではなく一部である。創造的な取り組みなしに本発明の実施形態に基づいて当業者によって取得されるすべての他の実施形態は、本発明の保護範囲内に入る。
【００２５】
図1は、本発明のデータ区分方法の実施形態1のフローチャートである。この実施形態によって提供される方法はデータ区分装置によって実装され得、ここで、本装置は、ハードウェアおよび／またはソフトウェアを使用することによって実装され得る。図1に示されているように、本方法は以下を含む。
【００２６】
S101．ユーザによって入力される混合負荷とデータベースの構造情報とを受信する。
【００２７】
データベースの構造情報は、データ管理のために使用されるデータベースシステムに事前に入力されており、ここで、データベースの構造情報は、大量のデータ情報とデータ間のリレーショナル構造とを含む。データ情報は、教育制度における学生の各科目の試験点数であるか、または病院における患者の臨床情報であり得る。一例として学生の試験点数を使用すると、試験点数を記録するデータは、データ間のいくつかのリレーショナル構造に従って記憶され、これらの構造は、表1に示されたリレーショナル構造「名前−番号」、表2に示されたリレーショナル構造「番号−科目−点数」などを含む。
【００２８】
【表１】
2016520938.tif 000003
【００２９】
【表２】
2016520938.tif 000004
【００３０】
上記の表1および表2中のエントリ、例えば、表1中の「張興−001」および表2中の「001−数学−A」は両方とも、データベースの構造情報を構成するタプルであり、すなわち、タプルは、データベースに記憶されたデータであり、これらのタプルは、データベースによって受信される負荷によってアクセスされる。例えば、受信された負荷が「張興の数学の点数を照会する」である場合、表1中で負荷に従って、張興に対応する番号が001であることが見つけられ、次いで、表2中でエントリ「001−数学−A」に従って、張興の数学の点数がAであることが見つけられる。
【００３１】
異なるタイプの負荷があるので、データベースシステム中で上記のタプルが区分されるとき、異なるタイプの負荷の特徴は、様々な負荷がデータベースシステムにアクセスするのが便利になるように考慮される必要がある。
【００３２】
様々な負荷によるアクセスを容易にするデータ区分方式を取得するために、この実施形態では、データ区分装置は、事前にユーザによって入力される混合負荷、またはある時間期間内にユーザによって入力される混合負荷を受信する必要がある。混合負荷は、少なくとも1つのトランザクション負荷および／または少なくとも1つの分析負荷を含み、上記のデータベースの構造情報は、混合負荷に関連する少なくとも1つのタプルを特に含む。トランザクション負荷によってアクセスされるタプルが集中型様式でデータベースに記憶されるとき、トランザクション負荷は、データベースにアクセスするのにより高い効率を有し得る。一方、分析負荷については、分析負荷によってアクセスされるタプルが異なるパーティションに記憶される場合、分析負荷はより高いアクセス効率を有し得る。
【００３３】
S102．混合負荷とデータベースの構造情報とに従ってタプル関係情報を決定する。
【００３４】
ユーザが「張興の数学の点数と歴史の点数とを照会する」およぼ「Bと点数を付けられた科目の統計値を作る」を入力したとき、負荷1「張興の数学の点数と歴史の点数とについて照会する」はほんの少しのデータのクエリに関与するので、負荷1はトランザクション負荷であり、負荷2「Bと点数を付けられた科目の統計値を作る」は大量のデータの分析と処理とに関与するので、負荷2は分析負荷である。すなわち、データ区分装置は、トランザクション負荷と分析負荷とを含む混合負荷を受信する。
【００３５】
説明しやすいように、表1において、タプル「張興−001」はS1によって表され、タプル「趙一−002」はS2によって表される。表2において、「001−数学−A」はC1によって表され、「001−歴史−B」はC2によって表され、「002−数学−B」はC3によって表される。この場合、負荷1がアクセスする必要があるタプルは、表1中のS1「張興−001」と、表2中のC1「001−数学−A」およびC2「001−歴史−B」とを含み、負荷2は、表2中のC2「001−歴史−B」およびC3「002−数学−B」をふるい落とす必要があり、ここで、負荷1に基づくと、トランザクション相関がS1とC1との間におよびS1とC2との間に存在し、負荷2に基づくと、トランザクション相関がC2とC3との間に存在する。このようにして、タプル関係情報が決定され得、すなわち、タプル関係情報は、いずれかの2つのタプル間のトランザクション相関を含む。
【００３６】
図2Aは、本発明の実施形態1におけるタプル関係情報の概略図である。図2Aに示されているように、タプル関係情報はイメージによって表される。タプル関係情報における各ノードは1つのタプルを表し、タプル間の接続関係はトランザクション相関を表す。例えば、負荷1について、C1とC2とに従って張興の数学の点数と歴史の点数とを知るために、張興に対応する番号がS1に従って取得される必要がある。すなわち、タプル関係情報において、トランザクション相関がS1とC1との間におよびS1とC2との間に存在し、これは、接続関係がS1とC1との間におよびS1とC2との間に存在することを示す。負荷2については、点数Bをもつ各タプルが照会される必要があり、したがって、トランザクション相関はC2とC3との間に存在し、これは、接続関係が2つのノードC2およびC3の間に存在することを表す。
【００３７】
S103．混合負荷が並列に実行可能であるかどうかに関する特徴とタプル関係情報とに従ってタプルスプリットコスト情報を決定する。
【００３８】
上記のタプルスプリットコスト情報は、データベースの構造情報においてトランザクション相関を有するいずれかの2つのタプル間のスプリットコストを含み、スプリットコストは、トランザクション相関を有する2つのタプルが異なるパーティションに記憶されるとき、トランザクション相関を有する2つのタプルにアクセスすることにおける混合負荷の効率への影響の程度を示すために使用される。
【００３９】
例えば、S1とC1が異なるパーティションに記憶されると仮定すると、S1とC1とにアクセスする負荷1の場合、最初に1つの記憶領域において、張興に対応する番号が知られる必要があり、次いで、別の記憶領域において、その番号に対応する点数が照会され得、すなわち、混合負荷中の負荷1は並列に実行可能でなく、異なるパーティションに記憶することは負荷のアクセス効率に影響を及ぼす。負荷2の場合、点数Bをもつタプルのみがアクセスされる必要がある。負荷2がデータベースにアクセスするとき、C2とC3が異なるパーティションに記憶される場合でも、負荷2は、1つの記憶領域において、点数BをもつタプルC2を照会し得、一方、別の記憶領域において、点数BをもつタプルC3を照会し得、すなわち、混合負荷中の負荷2は並列に実行可能である。
【００４０】
図2Bは、本発明の実施形態1におけるタプルスプリットコスト情報の概略図である。図2Bに示されているように、図2Aに示されたタプル関係情報に基づいて、混合負荷が並列に実行可能であるかどうかに関する特徴に従ってタプル関係情報においていずれかの2つのタプル間のスプリットコストが決定され、タプルスプリットコスト情報は完全な関係図によって表される。例えば、S1とC1との間のスプリットコストが1である場合、それは、S1とC1を異なるパーティションに記憶することが、負荷によるアクセスを可能にしないことを示し、C2とC3との間のスプリットコストが−1である場合、それは、C2とC3を異なるパーティションに記憶することが、負荷によるアクセスを可能にすることを示す。
【００４１】
この実施形態におけるスプリットコストの値は1または−1に限定されず、混合負荷中の負荷の比率に従って設定され得ることに留意されたい。例えば、負荷1のアクセス時間の量が負荷2のアクセス時間の量よりもはるかに大きいとき、並列に実行可能でない負荷1について、集中型様式で記憶される必要があるタプルが異なるパーティションに記憶された場合、データベースにアクセスすることにおける負荷1の効率は深刻に影響を受ける。適切な区分方式を取得するために、負荷1に関連するタプル間のスプリットコストの値は、負荷2に関連するタプル間のスプリットコストの値よりも大きくなり得、例えば、5、10、および他のより大きい値になり得る。
【００４２】
S104．タプルスプリットコスト情報に従って複数の区分方式を取得し、これらの区分方式から、最小総コスト値をもつ区分方式を最適区分方式として決定する。
【００４３】
各区分方式の総コスト値は、区分方式が使用されるときの、データベースの構造情報においてトランザクション相関を有するタプル間のスプリットコストの和である。具体的には、上記の区分方式において、いくつかのタプルは同じ領域に記憶されるべきでないことが示されており、トランザクション相関を有するいずれかの2つのタプルが、区分方式に従って異なるパーティションに記憶されるとき、区分方式に対応する総コスト値を取得するために、トランザクション相関を有するタプル間のスプリットコストが合計される。詳細は表3に示されている。
【００４４】
【表３】
2016520938.tif 000005
【００４５】
一例として方式1を使用すると、データベース中のデータが方式1に従って区分される場合、S1およびC1は第1の領域P1に記憶される必要があるが、C2およびC3は第2の領域P2に記憶される必要があり、したがって、C2とS1は異なるパーティションに記憶され、スプリットコスト値1が生成される。区分方式に従って区分が実施されるとき、トランザクション相関を有するタプル間のスプリットコストの和が計算されて、区分方式に対応する総コスト値が取得される。その後、方式1の総コスト値を取得するプロセスと同様のプロセスを使用することによって、方式2と方式3とに対応する総コスト値がそれぞれ取得される。理解できるように、総コスト値は、トランザクション相関を有するタプル間のスプリットコストの和であり、スプリットコストは、トランザクション相関を有する2つのタプルが異なるパーティションに記憶されるとき、トランザクション相関を有する2つのタプルにアクセスすることにおける混合負荷の効率への影響の程度を示すために使用される。したがって、総コスト値がより大きくなる場合、区分方式は、データベースにアクセスすることにおける負荷の効率に対してより大きい悪影響を及ぼす。したがって、最小総コスト値をもつ区分方式が最適区分方式として選択される。
【００４６】
S105．データベース中のデータ上で区分処理を最適区分方式に従って実施する。
【００４７】
この実施形態では、混合負荷が並列に実行可能であるかどうかに関する特徴に従って、データベース中の混合負荷に関連するデータ上で最適区分が実施され、区分の後に、データは、混合負荷中にトランザクション負荷と分析負荷との特徴を有し、したがって、異なる負荷がデータベースシステム中のデータにアクセスするとき、それらの負荷はより高いアクセス効率を取得することができ、それにより、混合負荷を指向するデータベースシステムの動作性能が改善される。
【００４８】
図3は、本発明のデータ区分方法の実施形態2のフローチャートである。図3に示されているように、この実施形態は、実施形態1に基づいてデータ区分方法についてさらに説明し、本方法は以下を含む。
【００４９】
S201．ユーザによって入力される混合負荷とデータベースの構造情報とを受信する。
【００５０】
本発明の実施形態1におけるS102の例において、混合負荷は複数の異なる負荷を含み、受信される混合負荷は経験的モデルであり、すなわち、経験に従って予測される混合負荷であり、例えば、学生の点数を記憶するデータベースでは、負荷によるデータベースへの通例のアクセスは、点数の充填、分析、およびすべての学生の平均点の計算などを含む。
【００５１】
S202．混合負荷中に含まれる各負荷に従って順に、データベースの構造情報において、各負荷に関連するすべてのタプルを別々に決定する。
【００５２】
データ区分装置は、受信された混合負荷を分析し、混合負荷中に含まれる各負荷に従って順に、負荷に関連するすべてのタプルを決定する。具体的には、実施形態1の例において説明したように、データ区分装置は、混合負荷中に含まれる2つの負荷、すなわち、負荷1および負荷2を分析し、負荷1に関連するすべてのタプルがS1、C1、およびC2であることと、負荷2に関連するすべてのタプルがC2およびC3であることとを別々に決定する。
【００５３】
S203．各負荷に関連するすべてのタプルのうちのいずれかの2つのタプル間のトランザクション相関に従って、負荷に関連するタプル間の関係サブ情報を決定する。
【００５４】
図4Aは、本発明の実施形態2における負荷1に対応するタプル関係サブ情報の概略図である。図4Bは、本発明の実施形態2における負荷2に対応するタプル関係サブ情報の概略図である。図4Aに示されているように、負荷1に関連するタプルはS1、C1、およびC2である。負荷1に関連するタプル間のタプル関係サブ情報が、タプル間のトランザクション相関に従って決定される。同様に、図4Bに示されているように、負荷2に関連するタプル間のタプル関係サブ情報が決定される。
【００５５】
この実施形態は、一例としてただ2つの負荷を含む混合負荷を使用する。ただし、実際の適用例では、混合負荷中に含まれる負荷の量はより大きく、したがって、複数のタプル関係サブ情報が決定され得る。
【００５６】
S204．タプル関係情報を取得するために、混合負荷中の各負荷に関連するタプル間の関係サブ情報を収集する。
【００５７】
各負荷に関連するタプル間のタプル関係サブ情報上で分析が実施される。一例として図4Aおよび図4Bに示された2つのタプル関係サブ情報を使用すると、図4Aおよび図4Bにおける2つのタプル関係サブ情報は、図2Aに示された1つの完全なタプル関係情報に組み合わされる。
【００５８】
S205．混合負荷が並列に実行可能であるかどうかに関する特徴とタプル関係情報とに従ってタプルスプリットコスト情報を決定する。
【００５９】
具体的には、特徴が、タプル関係情報においてトランザクション相関を有する2つのタプルに関連する混合負荷が並列に実行可能でないというものである場合、2つのタプル間のスプリットコストがプリセット正値であると決定される。
【００６０】
特徴が、タプル関係情報においてトランザクション相関を有する2つのタプルに関連する混合負荷が並列に実行可能であるというものである場合、2つのタプル間のスプリットコストがプリセット負値であると決定される。
【００６１】
例えば、図2Bに示されているように、負荷1が並列に実行可能でない場合、負荷1に関連するS1とC1との間のスプリットコストは正値1である。負荷2が並列に実行可能である場合、負荷2に関連するC2とC3との間のスプリットコストは負値−1である。実際の適用例では、負荷のアクセス頻度に従って特定の値がプリセットされ得る。
【００６２】
S206．タプルスプリットコスト情報に従って複数の区分方式を取得し、これらの区分方式から、最小総コスト値をもつ区分方式を最適区分方式として決定する。
【００６３】
S206において決定される区分方式の量は少なくとも2つの方式であり、例えば、表3に示された複数の方式である。
【００６４】
S207．イメージセグメント化アルゴリズムを使用することによって各区分方式の総コスト値を決定する。
【００６５】
上記のタプルスプリットコスト情報は、関係図によって、例えば、図2Bに示された関係図によって表され得る。関係図では、トランザクション相関を有するいずれかの2つのタプルが接続ラインによって接続され、ここで、接続ラインは、トランザクション相関を有する2つのタプル間のスプリットコストに対応する。この場合、複数の区分方式を決定するためにイメージセグメント化アルゴリズムを使用することによって関係図上で複数のタイプのセグメント化処理が実施され得、各タイプのセグメント化処理は1つの区分方式に対応し、各タイプのセグメント化処理が上記の関係図上で実施されるとき、セグメント化処理に対応する区分方式の総コスト値を取得するために、各セグメント化された接続ラインによって接続される2つのタプル間のスプリットコストが累積される。例えば、上記の表3において方式1を取得するために、図2Bに示されたS1とC2との間の接続ラインがセグメント化される必要があり、複数の接続ラインによって接続される2つのタプル間のスプリットコストの和を計算するために、接続ラインによって接続される2つのタプル間のスプリットコストが累積される。方式1を取得するためにS1とC2との間の接続ラインのみがセグメント化される必要があるので、方式1に対応する総コスト値は、S1とC2との間のスプリットコストである。
【００６６】
S208．最小総コスト値に対応する区分方式を最適区分方式として決定する。
【００６７】
この実施形態では、混合負荷が並列に実行可能であるかどうかに関する特徴に従って、およびイメージセグメント化アルゴリズムを使用することによって、データベース中の混合負荷に関連するデータ上で最適区分が実施され、区分の後に、データは、混合負荷中にトランザクション負荷と分析負荷との特徴を有し、したがって、異なる負荷がデータベースシステム中のデータにアクセスするとき、それらの負荷はより高いアクセス効率を取得することができ、それにより、混合負荷を指向するデータベースシステムの動作性能が改善される。
【００６８】
データベースの使用中に、ユーザの要件は変化することがあり、すなわち、入力負荷が変更される。例えば、新しい負荷3が入力され、負荷3に関連するタプルはS2およびC3であり得、1つのタプル関係サブ情報が追加される。したがって、混合負荷に従って決定されるタプル関係情報も変更される必要があり、データは再区分される必要がある。または、いくつかの負荷のアクセス頻度が変更され、例えば、前の時間において最適区分方式が決定されたとき、負荷1のアクセス頻度が比較的高いので、最適区分方式は、データベースにアクセスすることにおける混合負荷の効率が改善されるように、負荷1によるアクセスを一層可能にする。しかしながら、ユーザがある時間期間の間データベースを使用した後に、および様々な理由により、ユーザが負荷2を入力する頻度は、ユーザが負荷1を入力する頻度よりもはるかに高いが、最適データ区分方式は負荷2によるアクセスを可能にしない。したがって、データベースの区分方式は調整される必要があり、すなわち、上記の最適区分方式に従ってデータベース中のデータ上で区分処理が実施された後に、タプルスプリットコスト情報が、調整されたタプルスプリットコスト情報に更新されるとき、データベース中のデータパーティションは調整される必要がある。
【００６９】
図5は、本発明のデータ区分方法の実施形態3のフローチャートである。図5に示されているように、データ区分方法は、上記の実施形態1または実施形態2に基づいてさらに最適化される。具体的には、本方法は以下を含む。
【００７０】
S301．ユーザによって入力される混合負荷を受信する。
【００７１】
この実施形態では、データ区分装置によって受信される混合負荷は、ユーザがデータベースシステムを使用するとき、ある時間期間内にユーザによって入力される負荷である。
【００７２】
S302．受信された混合負荷に従って、調整されたタプルスプリットコスト情報を決定する。
【００７３】
調整されたタプルスプリットコスト情報は、ある時間期間内にデータ区分装置によって受信される混合負荷に従って、およびデータベース中のタプルを参照して取得される。
【００７４】
S303．調整されたタプルスプリットコスト情報に従って少なくとも2つの区分方式を決定する。
【００７５】
上記の調整されたタプルスプリットコスト情報は関係図によって表される。この関係図において、トランザクション相関を有するいずれかの2つのタプルは接続ラインによって接続され、すなわち、調整されたタプルスプリットコスト情報は、図2Bに示された関係図によっても表され得る。この場合、複数の区分方式を決定するために、イメージセグメント化アルゴリズムを使用することによって、調整されたタプルスプリットコスト情報上で複数のタイプのセグメント化処理が実施され得、各タイプのセグメント化処理は1つの区分方式に対応し、各区分方式の総コスト値が決定される。上記のS302およびS303の特定の実装プロセスについては、S201からS206の参照が行われ得、これらについて本明細書ではさらに説明しない。
【００７６】
S304．最小総コスト値に対応する区分方式を第1の区分方式として決定する。
【００７７】
第1の区分方式は、最小総コスト値をもつ区分方式であり、現在の時間期間内に受信される混合負荷に従って決定される。第1の区分方式は、現在の混合負荷によるアクセスを完全に可能にすることを理解されよう。
【００７８】
S305．最適区分方式と第1の区分方式とに従ってタプル移動コスト情報を生成する。 
【００７９】
第1の区分方式に従って最適区分方式が調整されるとき、各最適パーティションにおいて移動されるべきタプルが決定され、最適パーティションは、上記の最適区分方式に従って決定される記憶領域である。最適区分方式は、一例としてP1（S1およびC3）とP2（C1およびC2）とを使用し、ただし、P1およびP2は、最適区分方式に従って決定される2つの記憶領域であり、決定された第1の区分方式は、一例としてP1'（S1およびC2）とP2'（C1およびC3）とを使用する。最適区分方式が第1の区分方式に従って調整されるとき、最適区分方式と第1の区分方式とを分析および比較することによって、タプルC2およびC3が移動される必要があること、すなわち、C2およびC3が移動されるべきタプルであることが知られ得る。次いで、移動されるべきタプルと最適パーティションとの間の調整関係に従って、移動されるべきタプルと最適パーティションとの間の移動コストが決定される。例えば、第1の区分方式を取得するために最適区分方式が調整されるとき、C2は最適パーティションP2から出される必要があり、C3は最適パーティションP1から出される必要がある。この場合、調整関係がP2とC2との間におよびP1とC3との間にあり、移動コストの特定の値がプリセットされ得る。例えば、タプルC2は多くのデータを含み、C2中のデータを移動することは高いリソースコストを必要とする。したがって、C2の移動コストの値は、調整プロセスによって必要とされるリソースコストに対応するためにより大きい値に設定され得る。
【００８０】
移動コストが決定された後に、上記の調整されたタプルスプリットコスト情報に従って、移動されるべきタプルと最適パーティションとの間のスプリットコストも決定される必要があり、移動コストとスプリットコストとに従ってタプル移動コスト情報が生成される。
【００８１】
具体的には、図6は、本発明の実施形態3におけるタプル移動コスト情報の概略図である。図6に示されているように、第1の区分方式は、P2からC2を出すこととP1からC3を出すこととによってのみ取得され得、その場合、C2とP2との間のおよびC3とP1との間の接続関係は移動コストを表すが、C2とP1中のS1との間にスプリットコストがある。この場合、C2とP1中のS1との間のスプリットコストは、移動されるべきタプルC2と最適パーティションP1との間のスプリットコストである。
【００８２】
S306．調整されたタプル移動コスト情報に従って、調整された区分方式を決定する。
【００８３】
上記のタプル移動コスト情報は関係図によっても表され得る。この関係図において、移動されるべきタプルと最適パーティションとの間の調整関係、および移動されるべきタプルと最適パーティション中のタプルとの間のトランザクション相関は、接続ラインによって表される。この場合、複数のプリセット移動区分方式を決定するためにイメージセグメント化アルゴリズムを使用することによってタプル移動コスト情報上で複数のタイプのセグメント化処理が実施され得る。具体的には、どの1つの区分方式にも、スプリットコスト値が常にある。例えば、現在受信される混合負荷について、最適区分方式のスプリットコスト値は10であるが、第1の区分方式のスプリットコスト値は4である。この場合、最適区分方式は、スプリットコスト値を低減するために第1の区分方式に調整される。しかしながら、移動コスト情報によって、第1の区分方式を取得するために最適区分方式が調整される場合、5の移動コストが支払われる必要があることが知られ得る。10−4＋5＝11によれば、第1の区分方式上での調整プロセスにおいて起こる総コスト値は11である。分析によって、4のスプリットコスト値を低減するために5の移動コストが支払われる必要があることが知られ得、これはリソースを浪費する調整である。しかしながら、データベースの区分方式が現在の混合負荷に適用可能であるように、最適区分方式はプリセット移動区分方式に調整され得る。
【００８４】
具体的には、複数のプリセット移動区分方式を決定するために、タプル移動コスト情報に従っておよびイメージセグメント化アルゴリズムを使用することによって、タプル移動コスト情報上で複数のタイプのセグメント化処理が実施され得、複数のプリセット移動区分方式は、最適区分方式（すなわち、調整は実施されず、上記の最適区分方式が使用され続ける）、いくつかのタプル、例えば、P1"（S1）ならびにP2"（C1、C2、およびC3）を調整することによって取得される第1の区分方式または複数の区分方式を含む。
【００８５】
複数のプリセット移動区分方式が取得された後に、複数のプリセット移動区分方式から、最小の調整された総コスト値をもつプリセット移動区分方式が決定され、最適区分方式として使用される必要がある。具体的には、イメージセグメント化アルゴリズムを使用することによって、複数のプリセット移動方式に対応する調整された総コスト値が取得され、すなわち、プリセット移動区分方式において起こる調整された総コスト値は、調整された最適区分方式をプリセット移動区分方式になるように調整するプロセスにおいて計算される。最後に、複数のプリセット移動区分方式から、最小の調整された総コスト値をもつプリセット移動区分方式が決定され、調整された区分方式として使用される。
【００８６】
この実施形態では、データベースシステム上で最適区分が実施された後に、ユーザによって入力される負荷がデータベースシステムの使用中に変更された場合、データベースシステム中の既存のパーティションは、ユーザによって入力される負荷に従って調整され、最適区分方式が最小移動コストで取得されることを保証するために、調整によって必要とされる移動コストも調整中に考慮される。このようにして、異なる負荷がデータベースシステム中のデータにアクセスするとき、これらの負荷はより高いアクセス効率を取得することができ、それにより、混合負荷を指向するデータベースシステムの動作性能が改善される。
【００８７】
実際の適用例では、上記の方法は、いくつかの客観的要因により、データベース中のデータを区分するために使用され得ない。しかしながら、データベースシステムの区分方式が混合負荷に適用可能であるように、混合負荷に適用可能な区分方式は、データベースシステムによって使用される既存の区分方式から、および上記の方法を使用することによって決定される区分方式を参照して決定され得る。
【００８８】
図7は、本発明のデータ区分方法の実施形態4のフローチャートである。図7に示すように、この実施形態は、データベース中のデータ上で実施形態1または実施形態2において決定される最適区分方式に従う区分処理が失敗した後に実装されるデータ区分方法を提供する。本方法は以下を含む。
【００８９】
S401．最適区分方式を取得する。
【００９０】
いくつかのデバイスでは、S201からS209において説明する方法は、場合によってはサポートされない。デバイスにおけるデータパーティションを合理化するために、実施形態2を実行するデータ区分装置は、デバイスに外部的に接続され得る。データ区分装置は、デバイスによって受信される混合負荷とデバイスのデータ構造情報とに従って最適区分方式を取得する。特定のプロセスはS201からS209に一致し、それらについて本明細書ではさらに説明しない。
【００９１】
S402．オンライン分析処理モードの各々に対応する候補区分方式を取得するために少なくとも2つのオンライン分析処理モードを使用することによってデータ区分を実施する。
【００９２】
上記のオンライン分析処理モードは従来技術であり、例えば、ハッシュ関数処理、置換関数処理、ラウンドロビンアルゴリズム処理、およびレプリカ管理処理であり、オンライン分析処理モードは、オンライン分析処理モードの各々に対応する候補区分方式を取得するために上記のデバイスにおいて使用され得る。
【００９３】
S403．各候補区分方式と最適区分方式との間の差分値を決定する。
【００９４】
上記の最適区分方式はSによって表され、その場合、S＝（P1, P2, P3,...Pj...）であり、ただし、Pjは、最適区分方式におけるj番目のパーティションを表す。
【００９５】
候補区分方式はSiによって表され、ただし、iは複数の候補区分方式のうちの1つの区分方式の番号を表し、その場合、Si＝（Pi,1, Pi,2, Pi,3, ...Pi,j...）であり、ただし、Pi,jは区分方式iのj番目のパーティションを表し、i∈Mであり、ただし、Mは候補区分方式の総量を表す。
【００９６】
上記のパーティションPj中のタプルは（t1 t2 ...tj...）によって表され、Pi,j中のタプルは（ti,1 ti,2 ...ti,j...）によって表される。
【００９７】
Sと各候補区分方式Siとの間の差分値が計算され、ただし、差分値はDiによって表され、その場合、
【数１】
2016520938.tif 000006
である。
【００９８】
S404．最小差分値をもつ候補区分方式を現在の区分方式として決定し、現在の区分方式に従ってデータ上で区分を実施する。
【００９９】
最適区分方式と各候補区分方式との間の差分値Diが計算された後に、デバイスによって選択され得る最適区分方式として、最小差分値をもつ区分方式が決定される。
【０１００】
この実施形態では、実際の状況に関して、データベースシステム中のデータが区分されるとき、イメージセグメント化アルゴリズムを使用することによって取得される最適区分方式は、参照規格としてフレキシブルに使用され得る。参照規格に最も近い候補区分方式は、既存の方法を使用することによって取得される候補区分方式から選択され、したがって、データベースシステムが既存の方法を使用することができるとき、混合負荷はより高いアクセス効率を有することができる。したがって、デバイスの非サポートなどの客観的要因により、既存の方法を使用することによって、混合負荷によるアクセスを可能にする区分方式が取得され得ない場合が回避される。
【０１０１】
図8は、本発明のデータ区分装置の実施形態1の構造図である。図8に示されているように、データ区分装置は、
ユーザによって入力される混合負荷とデータベースの構造情報とを受信するように構成される、受信モジュール501であって、混合負荷は、少なくとも1つのトランザクション負荷および／または少なくとも1つの分析負荷を含み、データベースの構造情報は、混合負荷に関連する少なくとも1つのタプルを含む、受信モジュール501と、
混合負荷とデータベースの構造情報とに従ってタプル関係情報を決定するように構成される、関係決定モジュール502であって、タプル関係情報は、データベースの構造情報においていずれかの2つのタプル間のトランザクション相関を含む、関係決定モジュール502と、
混合負荷が並列に実行可能であるかどうかに関する特徴とタプル関係情報とに従ってタプルスプリットコスト情報を決定するように構成される、コスト決定モジュール502であって、タプルスプリットコスト情報は、データベースの構造情報においてトランザクション相関を有するいずれかの2つのタプル間のスプリットコストを含み、スプリットコストは、トランザクション相関を有する2つのタプルが異なるパーティションに記憶されるとき、トランザクション相関を有する2つのタプルにアクセスすることにおける混合負荷の効率への影響の程度を示すために使用される、コスト決定モジュール502と、
タプルスプリットコスト情報に従って複数の区分方式を取得し、これらの区分方式から、最小総コスト値をもつ区分方式を最適区分方式として決定するように構成される、最適選択モジュール504であって、各区分方式の総コスト値は、区分方式が使用されるときの、データベースの構造情報においてトランザクション相関を有するタプル間のスプリットコストの和である、最適選択モジュール504と、
データベースに記憶されたデータ上で区分処理を最適区分方式に従って実施するように構成される、区分モジュール505と
を含む。
【０１０２】
この実施形態では、混合負荷が並列に実行可能であるかどうかに関する特徴に従って、およびイメージセグメント化アルゴリズムを使用することによって、データベース中の混合負荷に関連するデータ上で最適区分が実施され、区分の後に、データは、混合負荷中にトランザクション負荷と分析負荷との特徴を有し、したがって、異なる負荷がデータベースシステム中のデータにアクセスするとき、それらの負荷はより高いアクセス効率を取得することができ、それにより、混合負荷を指向するデータベースシステムの動作性能が改善される。
【０１０３】
図9は、本発明のデータ区分装置の実施形態2の構造図である。図9に示されているように、関係決定モジュール502は、混合負荷中に含まれる各負荷に従って順に、データベースの構造情報において、各負荷に関連するすべてのタプルを別々に決定し、
各負荷に関連するすべてのタプルのうちのいずれかの2つのタプル間のトランザクション相関に従って、負荷に関連するタプル間の関係サブ情報を決定し、
タプル関係情報を取得するために、混合負荷中の各負荷に関連するタプル間の関係サブ情報を収集する
ように特に構成される。
【０１０４】
コスト決定モジュール503は、特徴が、タプル関係情報においてトランザクション相関を有する2つのタプルに関連する混合負荷が並列に実行可能でないというものである場合、2つのタプル間のスプリットコストがプリセット正値であると決定し、
特徴が、タプル関係情報においてトランザクション相関を有する2つのタプルに関連する混合負荷が並列に実行可能であるというものである場合、2つのタプル間のスプリットコストがプリセット負値であると決定する
ように特に構成される。
【０１０５】
タプルスプリットコスト情報は関係図によって表され、関係図においてトランザクション相関を有するいずれかの2つのタプルは接続ラインによって接続され、上記の最適選択モジュール504は、複数の区分方式を決定するためにイメージセグメント化アルゴリズムを使用することによって関係図上で複数のタイプのセグメント化処理を実施し、各タイプのセグメント化処理は1つの区分方式に対応し、
各タイプのセグメント化処理が関係図上で実施されるとき、このタイプのセグメント化処理に対応する区分方式の総コスト値を取得するために、各セグメント化された接続ラインによって接続される2つのタプル間のスプリットコストを累積し、
最小総コスト値に対応する区分方式を最適区分方式として決定する
ように構成される。
【０１０６】
さらに、本装置は調整選択モジュール506をさらに含み、調整選択モジュール506は、区分モジュールが最適区分方式に従ってデータベース中のデータ上で区分処理を実施した後に、タプルスプリットコスト情報が、調整されたタプルスプリットコスト情報に更新されるとき、複数の区分方式を決定するためにイメージセグメント化アルゴリズムを使用することによって、調整されたタプルスプリットコスト情報上で複数のタイプのセグメント化処理を実施し、各タイプのセグメント化処理は1つの区分方式に対応し、各区分方式の総コスト値を決定し、調整されたタプルスプリットコスト情報は関係図によって表され、関係図においてトランザクション相関を有するいずれかの2つのタプルは接続ラインによって接続され、
最小総コスト値に対応する区分方式を第1の区分方式として決定し、
最適区分方式と第1の区分方式とに従ってタプル移動コスト情報を生成し、タプル移動コスト情報に従って、調整された区分方式を決定する
ように構成される。
【０１０７】
さらに、調整選択モジュール506は、第1の区分方式に従って最適区分方式が調整されるとき、各最適パーティションにおいて移動されるべきタプルを決定するように特に構成され、最適パーティションは、最適区分方式に従って決定される記憶領域であり、移動されるべきタプルと最適パーティションとの間の調整関係に従って、移動されるべきタプルと最適パーティションとの間の移動コストを決定し、
タプルスプリットコスト情報に従って、移動されるべきタプルと最適パーティションとの間のスプリットコストを決定し、
移動コストとスプリットコストとに従ってタプル移動コスト情報を生成し、
複数のプリセット移動区分方式を取得するためにタプル移動コスト情報に従って最適区分方式を調整し、
イメージセグメント化アルゴリズムを使用することによってプリセット移動区分方式の各々に対応する調整された総コスト値を取得し、
複数のプリセット移動区分方式から、最小の調整された総コスト値をもつプリセット移動区分方式を調整された区分方式として決定する
ようにさらに構成される。
【０１０８】
よりフレキシブルには、本装置は差分選択モジュール507をさらに含み得、差分選択モジュール507は、区分モジュール505が最適区分方式に従ってデータベース中のデータ上で区分処理を実施することに失敗したとき、オンライン分析処理モードの各々に対応する候補区分方式を取得するために少なくとも2つのオンライン分析処理モードを使用することによってデータ区分を実施し、上記のオンライン分析処理モードは従来技術であり、例えば、ハッシュ関数処理、置換関数処理、ラウンドロビンアルゴリズム処理、およびレプリカ管理処理であり、
各候補区分方式と最適区分方式との間の差分値を決定し、
最小差分値をもつ候補区分方式を現在の区分方式として決定し、現在の区分方式に従ってデータ上で区分を実施する
ように構成される。
【０１０９】
この実施形態では、混合負荷が並列に実行可能であるかどうかに関する特徴に従って、およびイメージセグメント化アルゴリズムを使用することによって、データベース中の混合負荷に関連するデータ上で最適区分が実施され、区分の後に、データは、混合負荷中にトランザクション負荷と分析負荷との特徴を有し、したがって、異なる負荷がデータベースシステム中のデータにアクセスするとき、それらの負荷はより高いアクセス効率を取得することができ、それにより、混合負荷を指向するデータベースシステムの動作性能が改善される。
【０１１０】
上記の装置実施形態の各々の中の各モジュールは各方法実施形態に対応し、これらについて本明細書ではさらに説明しない。
【０１１１】
さらに、実際の適用例では、上記のデータ区分装置はデータベース管理デバイスであり得る。図10は、本発明のデータベース管理デバイスの実施形態1の構造図である。図10に示されているように、データベース管理デバイスは、プロセッサ601と、受信機602と、メモリ603と、バス604とを含む。
【０１１２】
プロセッサ601と、受信機602と、メモリ603とは、バス604を使用することによって相互に接続される。バス604はISAバス、PCIバス、EISAバスなどであり得る。バスはアドレスバス、データバス、制御バスなどにカテゴリー分類され得る。表現を簡単にするために、図10のバスはただ1つの実線によって表されているが、それは、1つのバスまたは1つのタイプのバスのみがあることを示すものではない。
【０１１３】
メモリ603は、プログラムとデータとを記憶するように構成される。具体的には、プログラムはプログラムコードを含み得、プログラムコードはコンピュータ演算命令を含む。メモリ603は、高速RAMメモリを含み得、不揮発性メモリ（non-volatile memory）、例えば、少なくとも1つの磁気ディスクメモリをも含み得る。プロセッサ601は、メモリ603に記憶されたプログラムを実行する。具体的には、データベース管理デバイスにおいて、受信機602は、ユーザによって入力される混合負荷とデータベースの構造情報とを受信するように構成され、混合負荷は、少なくとも1つのトランザクション負荷および／または少なくとも1つの分析負荷を含み、データベースの構造情報は、メモリ603によって記憶される、混合負荷に関連する少なくとも1つのタプルを含む。
【０１１４】
プロセッサ601は、混合負荷とデータベースの構造情報とに従ってタプル関係情報を決定するように構成され、タプル関係情報は、データベースの構造情報においていずれかの2つのタプル間のトランザクション相関を含む。
【０１１５】
プロセッサ601は、混合負荷が並列に実行可能であるかどうかに関する特徴とタプル関係情報とに従ってタプルスプリットコスト情報を決定するように構成され、タプルスプリットコスト情報は、データベースの構造情報においてトランザクション相関を有するいずれかの2つのタプル間のスプリットコストを含み、スプリットコストは、トランザクション相関を有する2つのタプルが異なるパーティションに記憶されるとき、トランザクション相関を有する2つのタプルにアクセスすることにおける混合負荷の効率への影響の程度を示すために使用される。
【０１１６】
プロセッサ601は、タプルスプリットコスト情報に従って複数の区分方式を取得し、これらの区分方式から、最小総コスト値をもつ区分方式を最適区分方式として決定するように構成され、各区分方式の総コスト値は、区分方式が使用されるときの、データベースの構造情報においてトランザクション相関を有するタプル間のスプリットコストの和である。
【０１１７】
プロセッサ601は、データベースに記憶されたデータ上で区分処理を最適区分方式に従って実施するように構成される。
【０１１８】
さらに、プロセッサ601は、混合負荷中に含まれる各負荷に従って順に、データベースの構造情報において、各負荷に関連するすべてのタプルを別々に決定する。
【０１１９】
プロセッサ601は、各負荷に関連するすべてのタプルのうちのいずれかの2つのタプル間のトランザクション相関に従って、負荷に関連するタプル間の関係サブ情報を決定する。
【０１２０】
プロセッサ601は、タプル関係情報を取得するために、混合負荷中の各負荷に関連するタプル間の関係サブ情報を収集する。
【０１２１】
特徴が、タプル関係情報においてトランザクション相関を有する2つのタプルに関連する混合負荷が並列に実行可能でないというものである場合、プロセッサ601は、2つのタプル間のスプリットコストがプリセット正値であると決定する。
【０１２２】
特徴が、タプル関係情報においてトランザクション相関を有する2つのタプルに関連する混合負荷が並列に実行可能であるというものである場合、プロセッサ601は、2つのタプル間のスプリットコストがプリセット負値であると決定する。
【０１２３】
タプルスプリットコスト情報は関係図によって表され、関係図においてトランザクション相関を有するいずれかの2つのタプルは接続ラインによって接続される。
【０１２４】
さらに、プロセッサ601は、複数の区分方式を決定するためにイメージセグメント化アルゴリズムを使用することによって関係図上で複数のタイプのセグメント化処理を実施し、各タイプのセグメント化処理は1つの区分方式に対応する。
【０１２５】
関係図上で各タイプのセグメント化処理を実施するとき、プロセッサ601は、このタイプのセグメント化処理に対応する区分方式の総コスト値を取得するために、各セグメント化された接続ラインによって接続される2つのタプル間のスプリットコストを累積する。
【０１２６】
プロセッサ601は、最小総コスト値に対応する区分方式を最適区分方式として決定する。
【０１２７】
さらに、最適区分方式に従ってデータベース中のデータ上で区分処理が実施された後に、タプルスプリットコスト情報が、調整されたタプルスプリットコスト情報に更新されるとき、プロセッサ601は、複数の区分方式を決定するためにイメージセグメント化アルゴリズムを使用することによって、調整されたタプルスプリットコスト情報上で複数のタイプのセグメント化処理を実施し、各タイプのセグメント化処理は1つの区分方式に対応し、各区分方式の総コスト値を決定し、調整されたタプルスプリットコスト情報は関係図によって表され、関係図においてトランザクション相関を有するいずれかの2つのタプルは接続ラインによって接続される。
【０１２８】
プロセッサ601は、最小総コスト値に対応する区分方式を第1の区分方式として決定する。
【０１２９】
プロセッサ601は、最適区分方式と第1の区分方式とに従ってタプル移動コスト情報を生成し、タプル移動コスト情報に従って、調整された区分方式を決定する。
【０１３０】
さらに、データベース管理デバイスのプロセッサ601は、第1の区分方式に従って最適区分方式が調整されるとき、各最適パーティションにおいて移動されるべきタプルを決定するように構成され、最適パーティションは、最適区分方式に従って決定される記憶領域である。
【０１３１】
プロセッサ601は、移動されるべきタプルと最適パーティションとの間の調整関係に従って、移動されるべきタプルと最適パーティションとの間の移動コストを決定するようにさらに構成される。
【０１３２】
プロセッサ601は、タプルスプリットコスト情報に従って、移動されるべきタプルと最適パーティションとの間のスプリットコストを決定する。
【０１３３】
プロセッサ601は、移動コストとスプリットコストとに従ってタプル移動コスト情報を生成する。
【０１３４】
プロセッサ601は、複数のプリセット移動区分方式を取得するためにタプル移動コスト情報に従って最適区分方式を調整する。
【０１３５】
プロセッサ601は、イメージセグメント化アルゴリズムを使用することによってプリセット移動区分方式の各々に対応する調整された総コスト値を取得する。
【０１３６】
プロセッサ601は、複数のプリセット移動区分方式から、最小の調整された総コスト値をもつプリセット移動区分方式を調整された区分方式として決定する。
【０１３７】
プロセッサ601は、最適区分方式に従ってデータベース中のデータ上で区分処理を実施することが失敗したとき、オンライン分析処理モードの各々に対応する候補区分方式を取得するために少なくとも2つのオンライン分析処理モードを使用することによってデータ区分を実施し、
各候補区分方式と最適区分方式との間の差分値を決定し、
最小差分値をもつ候補区分方式を現在の区分方式として決定し、現在の区分方式に従ってデータ上で区分を実施し、上記のオンライン分析処理モードは従来技術であり、例えば、ハッシュ関数処理、置換関数処理、ラウンドロビンアルゴリズム処理、およびレプリカ管理処理である
ようにさらに構成される。
【０１３８】
この実施形態では、混合負荷が並列に実行可能であるかどうかに関する特徴に従って、およびイメージセグメント化アルゴリズムを使用することによって、データベース管理デバイスは、データベース中の混合負荷に関連するデータ上で最適区分を実施し、区分の後に、データは、混合負荷中にトランザクション負荷と分析負荷との特徴を有し、したがって、異なる負荷がデータベースシステム中のデータにアクセスするとき、それらの負荷はより高いアクセス効率を取得することができ、それにより、混合負荷を指向するデータベースシステムの動作性能が改善される。
【０１３９】
当業者は、本方法実施形態のステップの全部または一部が、関連するハードウェアに命令するプログラムによって実装され得ることを理解されよう。プログラムはコンピュータ可読記憶媒体に記憶され得る。プログラムが動作すると、本方法実施形態のステップが実施される。上記の記憶媒体は、ROM、RAM、磁気ディスク、または光ディスクなど、プログラムコードを記憶することができる任意の媒体を含む。
【０１４０】
最後に、上記の実施形態は、本発明を限定するためではなく、本発明の技術的解決策について説明するためのものにすぎないものであることに留意されたい。上記の実施形態に関して本発明について詳細に説明したが、当業者は、本発明の実施形態の技術的解決策の範囲から逸脱することなく、上記の実施形態で説明した技術的解決策に修正をさらに加えるか、あるいはそれらの一部または全部の技術的特徴と等価な置換を製作し得ることを理解されたい。
【符号の説明】
【０１４１】
501  受信モジュール
502  関係決定モジュール
503  コスト決定モジュール
504  最適選択モジュール
505  区分モジュール
506  調整選択モジュール
507  差分選択モジュール
601  プロセッサ
602  受信機
603  メモリ
604  バス
【図１】
2016520938.tif 000007
【図２Ａ】
2016520938.tif 000008
【図２Ｂ】
2016520938.tif 000009
【図３】
2016520938.tif 000010
【図４Ａ】
2016520938.tif 000011
【図４Ｂ】
2016520938.tif 000012
【図５】
2016520938.tif 000013
【図６】
2016520938.tif 000014
【図７】
2016520938.tif 000015
【図８】
2016520938.tif 000016
【図９】
2016520938.tif 000017
【図１０】
2016520938.tif 000018
【手続補正書】
【提出日】平成28年1月15日(2016.1.15)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
データ区分方法であって、
ユーザによって入力される混合負荷とデータベースの構造情報とを受信するステップであって、前記混合負荷は、少なくとも1つのトランザクション負荷および／または少なくとも1つの分析負荷を含み、前記データベースの前記構造情報は、前記混合負荷に関連する少なくとも1つのタプルを含む、ステップと、
前記混合負荷と前記データベースの前記構造情報とに従ってタプル関係情報を決定するステップであって、前記タプル関係情報は、前記データベースの前記構造情報においていずれかの2つのタプル間のトランザクション相関を含む、ステップと、
前記タプル関係情報と前記混合負荷が並列に実行可能であるかどうかに関する特徴とに従ってタプルスプリットコスト情報を決定するステップであって、前記タプルスプリットコスト情報は、前記データベースの前記構造情報においてトランザクション相関を有するいずれかの2つのタプル間のスプリットコストを含み、前記スプリットコストは、前記トランザクション相関を有する前記2つのタプルが異なるパーティションに記憶されるとき、前記トランザクション相関を有する前記2つのタプルにアクセスすることにおける前記混合負荷の効率への影響の程度を示すために使用される、ステップと、
前記タプルスプリットコスト情報に従って複数の区分方式を取得して、前記区分方式から、最小総コスト値をもつ区分方式が最適区分方式であると決定するステップであって、各区分方式の総コスト値は、前記区分方式が使用されるときの、前記データベースの前記構造情報においてトランザクション相関を有するタプル間のスプリットコストの和である、ステップと、
前記データベースに記憶されたデータ上で区分処理を前記最適区分方式に従って実施するステップと
を含む、データ区分方法。
【請求項２】
前記混合負荷と前記データベースの前記構造情報とに従って前記タプル関係情報を決定するステップは、
前記混合負荷中に含まれる各負荷に従って、前記データベースの前記構造情報において、前記各負荷に関連するタプルを別々に決定するステップと、
前記各負荷に関連するすべてのタプルのうちのいずれかの2つのタプル間のトランザクション相関に従って、前記各負荷に関連するタプル間の関係サブ情報を決定するステップと、
前記タプル関係情報を取得するために、前記混合負荷中の各負荷に関連するタプル間の関係サブ情報を収集するステップと
を含む、請求項1に記載のデータ区分方法。
【請求項３】
前記タプル関係情報と前記混合負荷が並列に実行可能であるかどうかに関する特徴とに従ってタプルスプリットコスト情報を決定する前記ステップは、
前記特徴が、前記タプル関係情報においてトランザクション相関を有する2つのタプルに関連する前記混合負荷が並列に実行可能でないというものであるとき、前記2つのタプル間のスプリットコストがプリセット正値であると決定するステップと、
前記特徴が、前記タプル関係情報においてトランザクション相関を有する2つのタプルに関連する前記混合負荷が並列に実行可能であるというものであるとき、前記2つのタプル間のスプリットコストがプリセット負値であると決定するステップと
を含む、請求項1または2に記載のデータ区分方法。
【請求項４】
前記タプルスプリットコスト情報は関係図によって表され、前記関係図においてトランザクション相関を有するいずれかの2つのタプルは接続ラインによって接続され、前記タプルスプリットコスト情報に従って複数の区分方式を取得して、前記区分方式から、最小総コスト値をもつ区分方式が最適区分方式であると決定する前記ステップは、
複数の区分方式を決定するためにイメージセグメント化アルゴリズムを使用することによって前記関係図上で複数のタイプのセグメント化処理を実施するステップであって、各タイプのセグメント化処理は1つの区分方式に対応する、ステップと、
各タイプのセグメント化処理が前記関係図上で実施されるとき、各タイプのセグメント化処理に対応する区分方式の総コスト値を取得するために、各セグメント化された接続ラインによって接続される2つのタプル間のスプリットコストを累積するステップと、
最小総コスト値に対応する区分方式が最適区分方式であると決定するステップと
を含む、請求項1〜3のいずれか一項に記載のデータ区分方法。
【請求項５】
前記最適区分方式に従って前記データベース中の前記データ上で区分処理が実施された後に、前記方法は、前記タプルスプリットコスト情報が、調整されたタプルスプリットコスト情報に更新されるとき、複数の区分方式を決定するために前記イメージセグメント化アルゴリズムを使用することによって前記調整されたタプルスプリットコスト情報上で複数のタイプのセグメント化処理を実施し、各タイプのセグメント化処理は1つの区分方式に対応し、各区分方式の総コスト値を決定し、前記調整されたタプルスプリットコスト情報は関係図によって表され、前記関係図においてトランザクション相関を有するいずれかの2つのタプルは接続ラインによって接続される、ステップと、
最小総コスト値に対応する区分方式が第1の区分方式であると決定するステップと、
前記最適区分方式と前記第1の区分方式とに従ってタプル移動コスト情報を生成し、前記タプル移動コスト情報に従って、調整された区分方式を決定する、ステップと
を含む、請求項1〜4のいずれか一項に記載のデータ区分方法。
【請求項６】
前記最適区分方式と前記第1の区分方式とに従ってタプル移動コスト情報を生成し、前記タプル移動コスト情報に従って、調整された区分方式を決定する、ステップは、
前記第1の区分方式に従って前記最適区分方式が調整されるとき、各最適パーティションにおいて移動されるべきタプルを決定するステップであって、前記最適パーティションは、前記最適区分方式に従って決定される記憶領域である、ステップと、
移動されるべき前記タプルと前記最適パーティションとの間の調整関係に従って、移動されるべき前記タプルと前記最適パーティションとの間の移動コストを決定するステップと、
前記調整されたタプルスプリットコスト情報に従って、移動されるべき前記タプルと前記最適パーティションとの間のスプリットコストを決定するステップと、
前記移動コストと前記スプリットコストとに従ってタプル移動コスト情報を生成するステップと、
複数の移動区分方式を取得するために前記タプル移動コスト情報に従って前記最適区分方式を調整するステップと、
前記イメージセグメント化アルゴリズムを使用することによって前記移動区分方式の各々に対応する調整された総コスト値を取得するステップと、
前記複数の移動区分方式から、最小の調整された総コスト値をもつ移動区分方式が前記調整された区分方式であると決定するステップと
を含む、請求項5に記載のデータ区分方法。
【請求項７】
前記最適区分方式に従う前記データベース中の前記データ上での区分処理が失敗したとき、前記方法は、
オンライン分析処理モードの各々に対応する候補区分方式を取得するために少なくとも2つの前記オンライン分析処理モードを使用することによってデータ区分を実施するステップと、
各候補区分方式と前記最適区分方式との間の差分値を決定するステップと、
最小差分値をもつ候補区分方式が現在の区分方式であると決定し、前記現在の区分方式に従って前記データ上で区分処理を実施するステップと
をさらに含む、請求項1から6のいずれか一項に記載のデータ区分方法。
【請求項８】
前記少なくとも2つのオンライン分析処理モードは、以下のオンライン分析処理モード、
ハッシュ関数処理、置換関数処理、ラウンドロビンアルゴリズム処理、およびレプリカ管理処理
のうちの少なくとも2つを含む、請求項7に記載のデータ区分方法。
【請求項９】
データ区分装置であって、
ユーザによって入力される混合負荷とデータベースの構造情報とを受信する、受信モジュールであって、前記混合負荷は、少なくとも1つのトランザクション負荷および／または少なくとも1つの分析負荷を含むことと、前記データベースの前記構造情報は、前記混合負荷に関連する少なくとも1つのタプルを含む、受信モジュールと、
前記混合負荷と前記データベースの前記構造情報とに従ってタプル関係情報を決定する、関係決定モジュールであって、前記タプル関係情報は、前記データベースの前記構造情報においていずれかの2つのタプル間のトランザクション相関を含む、関係決定モジュールと、
前記タプル関係情報と前記混合負荷が並列に実行可能であるかどうかに関する特徴とに従ってタプルスプリットコスト情報を決定する、コスト決定モジュールであって、前記タプルスプリットコスト情報は、前記データベースの前記構造情報においてトランザクション相関を有するいずれかの2つのタプル間のスプリットコストを含み、前記スプリットコストは、前記トランザクション相関を有する前記2つのタプルが異なるパーティションに記憶されるとき、前記トランザクション相関を有する前記2つのタプルにアクセスすることにおける前記混合負荷の効率への影響の程度を示すために使用される、コスト決定モジュールと、
前記タプルスプリットコスト情報に従って複数の区分方式を取得し、前記区分方式から、最小総コスト値をもつ区分方式が最適区分方式であると決定する、最適選択モジュールであって、各区分方式の総コスト値は、前記区分方式が使用されるときの、前記データベースの前記構造情報においてトランザクション相関を有するタプル間のスプリットコストの和である、最適選択モジュールと、
前記データベースに記憶されたデータ上で区分処理を前記最適区分方式に従って実施する、区分モジュールと
を備える、データ区分装置。
【請求項１０】
前記関係決定モジュールは、
前記混合負荷中に含まれる各負荷に従って、前記データベースの前記構造情報において、前記各負荷に関連するタプルを別々に決定し、
前記各負荷に関連するすべてのタプルのうちのいずれかの2つのタプル間のトランザクション相関に従って、前記各負荷に関連するタプル間の関係サブ情報を決定し、
前記タプル関係情報を取得するために、前記混合負荷中の各負荷に関連するタプル間の関係サブ情報を収集する
ように特に構成される、請求項9に記載のデータ区分装置。
【請求項１１】
前記コスト決定モジュールは、前記特徴が、前記タプル関係情報においてトランザクション相関を有する2つのタプルに関連する前記混合負荷が並列に実行可能でないというものであるとき、前記2つのタプル間のスプリットコストがプリセット正値であると決定し、
前記特徴が、前記タプル関係情報においてトランザクション相関を有する2つのタプルに関連する前記混合負荷が並列に実行可能であるというものであるとき、前記2つのタプル間のスプリットコストがプリセット負値であると決定する
ように特に構成される、請求項9または10に記載のデータ区分装置。
【請求項１２】
前記タプルスプリットコスト情報は関係図によって表され、前記関係図においてトランザクション相関を有するいずれかの2つのタプルは接続ラインによって接続され、前記最適選択モジュールは、複数の区分方式を決定するためにイメージセグメント化アルゴリズムを使用することによって前記関係図上で複数のタイプのセグメント化処理を実施し、各タイプのセグメント化処理は1つの区分方式に対応し、
各タイプのセグメント化処理が前記関係図上で実施されるとき、各タイプのセグメント化処理に対応する区分方式の総コスト値を取得するために、各セグメント化された接続ラインによって接続される2つのタプル間のスプリットコストを累積し、
最小総コスト値に対応する区分方式が最適区分方式であると決定する
ように特に構成される、請求項9〜11のいずれか一項に記載のデータ区分装置。
【請求項１３】
前記装置は、前記区分モジュールが前記最適区分方式に従って前記データベース中の前記データ上で区分処理を実施した後に、前記タプルスプリットコスト情報が、調整されたタプルスプリットコスト情報に更新されるとき、複数の区分方式を決定するために前記イメージセグメント化アルゴリズムを使用することによって調整されたタプルスプリットコスト情報上で複数のタイプのセグメント化処理を実施し、各タイプのセグメント化処理は1つの区分方式に対応し、各区分方式の総コスト値を決定し、前記調整されたタプルスプリットコスト情報は関係図によって表され、前記関係図においてトランザクション相関を有するいずれかの2つのタプルは接続ラインによって接続され、
最小総コスト値に対応する区分方式が第1の区分方式であると決定し、
前記最適区分方式と前記第1の区分方式とに従ってタプル移動コスト情報を生成し、前記タプル移動コスト情報に従って、調整された区分方式を決定する
調整選択モジュールをさらに備える、請求項9〜12のいずれか一項に記載のデータ区分装置。
【請求項１４】
前記調整選択モジュールは、前記第1の区分方式に従って前記最適区分方式が調整されるとき、各最適パーティションにおいて移動されるべきタプルを決定し、前記最適パーティションは、前記最適区分方式に従って決定される記憶領域であり、
移動されるべき前記タプルと前記最適パーティションとの間の調整関係に従って、移動されるべき前記タプルと前記最適パーティションとの間の移動コストを決定し、
前記調整されたタプルスプリットコスト情報に従って、移動されるべき前記タプルと前記最適パーティションとの間のスプリットコストを決定し、
前記移動コストと前記スプリットコストとに従ってタプル移動コスト情報を生成し、
複数の移動区分方式を取得するために前記タプル移動コスト情報に従って前記最適区分方式を調整し、
前記イメージセグメント化アルゴリズムを使用することによって前記移動区分方式の各々に対応する調整された総コスト値を取得し、
前記複数の移動区分方式から、最小の調整された総コスト値をもつ移動区分方式を前記調整された区分方式として決定する
ように特に構成される、請求項13に記載のデータ区分装置。
【請求項１５】
前記装置は、
前記区分モジュールが前記最適区分方式に従って前記データベース中の前記データ上で区分処理を実施することに失敗したとき、オンライン分析処理モードの各々に対応する候補区分方式を取得するために少なくとも2つの前記オンライン分析処理モードを使用してデータ区分を実施し、
各候補区分方式と前記最適区分方式との間の差分値を決定し、
最小差分値をもつ候補区分方式を現在の区分方式として決定し、前記現在の区分方式に従って前記データ上で区分処理を実施する、差分選択モジュール
をさらに備える、請求項9から14のいずれか一項に記載のデータ区分装置。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００２４
【補正方法】変更
【補正の内容】
【００２４】
本発明の実施形態の目的、技術的解決策、および利点をより明らかにするために、以下で、本発明の実施形態における添付の図面を参照しながら、本発明の実施形態における技術的解決策について明確に説明する。説明する実施形態は、本発明の実施形態のすべてではなく一部である。創造的な取り組みなしに本発明の実施形態に基づいて当業者によって取得されるすべての他の実施形態は、本発明の保護範囲内に入る。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００３６
【補正方法】変更
【補正の内容】
【００３６】
図2Aは、本発明の実施形態1におけるタプル関係情報の概略図である。図2Aに示されているように、タプル関係情報は関係図によって表される。タプル関係情報における各ノードは1つのタプルを表し、タプル間の接続関係はトランザクション相関を表す。例えば、負荷1について、C1とC2とに従って張興の数学の点数と歴史の点数とを知るために、張興に対応する番号がS1に従って取得される必要がある。すなわち、タプル関係情報において、トランザクション相関がS1とC1との間におよびS1とC2との間に存在し、これは、接続関係がS1とC1との間におよびS1とC2との間に存在することを示す。負荷2については、点数Bをもつ各タプルが照会される必要があり、したがって、トランザクション相関はC2とC3との間に存在し、これは、接続関係が2つのノードC2およびC3の間に存在することを表す。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００３７
【補正方法】変更
【補正の内容】
【００３７】
S103．タプル関係情報と混合負荷が並列に実行可能であるかどうかに関する特徴とに従ってタプルスプリットコスト情報を決定する。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００８４
【補正方法】変更
【補正の内容】
【００８４】
具体的には、複数のプリセット移動区分方式を決定するために、イメージセグメント化アルゴリズムを使用することによって、タプル移動コスト情報上で複数のタイプのセグメント化処理が実施され得、複数のプリセット移動区分方式は、最適区分方式（すなわち、調整は実施されず、上記の最適区分方式が使用され続ける）、いくつかのタプル、例えば、P1"（S1）ならびにP2"（C1、C2、およびC3）を調整することによって取得される第1の区分方式または複数の区分方式を含む。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００９２
【補正方法】変更
【補正の内容】
【００９２】
上記のオンライン分析処理モードは、例えば、従来技術に関連しているハッシュ関数処理、置換関数処理、ラウンドロビンアルゴリズム処理、およびレプリカ管理処理であり、オンライン分析処理モードは、オンライン分析処理モードの各々に対応する候補区分方式を取得するために上記のデバイスにおいて使用され得る。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】０１０６
【補正方法】変更
【補正の内容】
【０１０６】
さらに、本装置は調整選択モジュール506をさらに含み、調整選択モジュール506は、区分モジュール505が最適区分方式に従ってデータベース中のデータ上で区分処理を実施した後に、タプルスプリットコスト情報が、調整されたタプルスプリットコスト情報に更新されるとき、複数の区分方式を決定するためにイメージセグメント化アルゴリズムを使用することによって、調整されたタプルスプリットコスト情報上で複数のタイプのセグメント化処理を実施し、各タイプのセグメント化処理は1つの区分方式に対応し、各区分方式の総コスト値を決定し、調整されたタプルスプリットコスト情報は関係図によって表され、関係図においてトランザクション相関を有するいずれかの2つのタプルは接続ラインによって接続され、
最小総コスト値に対応する区分方式を第1の区分方式として決定し、
最適区分方式と第1の区分方式とに従ってタプル移動コスト情報を生成し、タプル移動コスト情報に従って、調整された区分方式を決定する
ように構成される。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】０１１２
【補正方法】変更
【補正の内容】
【０１１２】
プロセッサ601と、受信機602と、メモリ603とは、バス604を使用することによって相互に接続される。バス604は業界標準アーキテクチャ(ISA)バス、周辺構成要素相互接続(PCI)バス、拡張ISA(EISA)バスなどであり得る。バスはアドレスバス、データバス、制御バスなどにカテゴリー分類され得る。表現を簡単にするために、図10のバスはただ1つの実線によって表されているが、それは、1つのバスまたは1つのタイプのバスのみがあることを示すものではない。
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】０１１３
【補正方法】変更
【補正の内容】
【０１１３】
メモリ603は、プログラムとデータとを記憶するように構成される。具体的には、プログラムはプログラムコードを含み得、プログラムコードはコンピュータ演算命令を含む。メモリ603は、高速ランダムアクセスメモリ(RAM)メモリを含み得、不揮発性メモリ、例えば、少なくとも1つの磁気ディスクメモリをも含み得る。プロセッサ601は、メモリ603に記憶されたプログラムを実行する。具体的には、データベース管理デバイスにおいて、受信機602は、ユーザによって入力される混合負荷とデータベースの構造情報とを受信するように構成され、混合負荷は、少なくとも1つのトランザクション負荷および／または少なくとも1つの分析負荷を含み、データベースの構造情報は、メモリ603によって記憶される、混合負荷に関連する少なくとも1つのタプルを含む。
【手続補正１０】
【補正対象書類名】明細書
【補正対象項目名】０１３９
【補正方法】変更
【補正の内容】
【０１３９】
当業者は、本方法実施形態のステップの全部または一部が、関連するハードウェアに命令するプログラムによって実装され得ることを理解されよう。プログラムはコンピュータ可読記憶媒体に記憶され得る。プログラムが動作すると、本方法実施形態のステップが実施される。上記の記憶媒体は、読み出し専用メモリ(ROM)、RAM、磁気ディスク、または光ディスクなど、プログラムコードを記憶することができる任意の媒体を含む。
【国際調査報告】
2016520938.tif 000019
2016520938.tif 000020
2016520938.tif 000021
2016520938.tif 000022