JP5266420B2 - データウェアハウスのための効率的なデータ逆流処理 - Google Patents

データウェアハウスのための効率的なデータ逆流処理 Download PDF

Info

Publication number
JP5266420B2
JP5266420B2 JP2012541064A JP2012541064A JP5266420B2 JP 5266420 B2 JP5266420 B2 JP 5266420B2 JP 2012541064 A JP2012541064 A JP 2012541064A JP 2012541064 A JP2012541064 A JP 2012541064A JP 5266420 B2 JP5266420 B2 JP 5266420B2
Authority
JP
Japan
Prior art keywords
data
backflow
generation system
destination table
group
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
Application number
JP2012541064A
Other languages
English (en)
Other versions
JP2013512502A (ja
Inventor
リー・シューシェン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Publication of JP2013512502A publication Critical patent/JP2013512502A/ja
Application granted granted Critical
Publication of JP5266420B2 publication Critical patent/JP5266420B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/254Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

[関連出願の相互参照]
本出願は、あらゆる目的のために参照によって本明細書に組み込まれる、発明の名称を「METHOD FOR BACKFLOW OF DATA AND DEVICE THEREOF(データの逆流のための方法及びその装置」とする、2009年11月24日付け出願の中国特許出願第200910246001.3号に基づく優先権を主張する。
本発明は、データウェアハウジング技術の分野に関し、特に、データ逆流(データバックフロー)技術に関する。
データウェアハウスは、企業や組織の意思決定及びデータ解析を促すために設計された、主題別、統合型、不揮発性、且つ時変性のデータセットである。
生成システムの正常な動作は、データウェアハウスによるサポートを必要とする。本明細書で使用されるデータの逆流とは、データウェアハウスの計算結果テーブルから対応する生成システムデータベースのテーブルへデータをロードすることを言う。生成システムが複雑さを増すにつれ、生成システムのデータベースにかかる負荷はますます過不可となる。生成システムのデータベースにかかる負荷を軽減するために、生成システムの既存のデータベースの多くでは、1つのデータベースに元々配置されている大テーブルが、所定のルールにしたがって、複数の安価なホストシステムにおける複数の独立したデータベース内の複数の小テーブルに分割される。この技術は、ハードウェア要求を下げるとともに、生成システムのデータベースにかかる負荷を低減することができる。しかしながら、生成システムのデータベースのデータストレージモードが1から複数へ変更されると、それに相応して、データウェアハウスから生成システムデータベースへのデータの逆流も変更される必要がある。本来、データの逆流は、データウェアハウジングシステムのテーブルから生成データベースのテーブルへ伝わるものである。生成システムデータベース内の大テーブルが複数の小テーブルに分割されるのに伴って、データの逆流は、データウェアハウスのテーブルから生成システムの複数のサブテーブルに伝わるようになる。
例えば、データウェアハウスのテーブルが、生成システムデータベースの多数のサブテーブルに対応しているならば(例えば、大テーブルが、幾千ものサブテーブルに分割されているときは)、既存のシステムは、生成システムデータベースの各サブテーブルについて、それに対応するサブテーブルをデータウェアハウスのなかに作成し、生成システムデータベースのこれらのサブテーブルを、データウェアハウスの中の対応するサブテーブルを用いて更新することによって、データの逆流を実現する。この技術は、データウェアハウスにおけるテーブルの数を大幅に増加させ、更に、維持されるべきテーブルの数を著しく増加させてメインテナンスを困難にする。更に、データウェアハウスにおいて1つのテーブルのデータを複数のサブテーブルに分配するプロセスは、複雑であり、これは、計算及び逆流の時間を長引かせて逆流の詰まりを招く。特に、生成システムデータベースのピークロード時間において逆流時間が長引くと、生成システムの信頼性が低下する恐れがある。
以下の詳細な説明及び添付の図面において、発明の様々な実施形態が開示される。
企業データシステムの一実施形態を示すシステム図である。
逆流プロセスの一実施形態を示すフローチャートである。
マルチスレッドデータ逆流伝送のためのプロセスの一実施形態を示すフローチャートである。
逆流データ処理のためのプロセスの一実施形態を示すフローチャートである。
逆流データ処理のためのデバイスの一実施形態を示すブロック図である。
分配ユニットの一実施形態を示すブロック図である。
本発明は、プロセス、装置、システム、合成物、コンピュータ可読ストレージ媒体に実装されたコンピュータプログラム製品、並びに/又は結合先のメモリに格納された命令及び/若しくは結合先のメモリによって提供される命令を実行するように構成されたプロセッサのようなプロセッサなどの、数々の形態で実装することができる。本明細書では、これらの実装形態、又は本発明がとりうるその他のあらゆる形態を、技術と称することができる。総じて、開示されたプロセスのステップの順序は、本発明の範囲内で異なってよい。別途明記されない限り、タスクを実施するように構成されるものとして説明されるプロセッサ又はメモリなどのコンポーネントは、所定時にタスクを実施するように一時的に構成された汎用コンポーネントとして、又はタスクを実施するように製造された特殊コンポーネントとして実装することができる。本明細書で使用される「プロセッサ」という用語は、コンピュータプログラム命令などのデータを処理するように構成された1つ又は2つ以上のデバイス、回路、及び/又は処理コアを言う。
本発明の原理を示した添付の図面とともに、以下で、本発明の1つ又は2つ以上の実施形態の詳細な説明が提供される。本発明は、このような実施形態との関連で説明されるが、いかなる実施形態にも限定されない。本発明の範囲は、特許請求の範囲によってのみ限定され、本発明は、数々の代替形態、変更形態、及び均等物を内包している。以下の説明では、本発明の完全な理解を可能にするために、数々の詳細が明記されている。これらの詳細は、例示を目的として提供されており、本発明は、これらの詳細の一部又は全部を伴わずとも、特許請求の範囲にしたがって実施することができる。明瞭さを期するために、本発明に関係した技術分野で知られる技工物は、本発明が不必要に不明瞭にされないように、詳細な説明を省略されている。
図1Aは、企業データシステムの一実施形態を示すシステム図である。システム150は、生成システム152と、データウェアハウス154とを含む。生成システムは、データを生成するための主要なソースである。一部の実施形態では、生成システムは、電子商取引プラットフォームのフロントエンドシステムのためのデータベース又はその他のストレージとして実装される。データウェアハウスは、生成システムによって生成されたデータを保存するために及び要求に応じてレポートを作成するために使用されるデータベースである。後ほど更に詳しく説明されるように、逆流データは、データウェアハウスから取得され、生成システムデータベース上の複数の宛先テーブルに送信される。
図1Bは、逆流プロセスの一実施形態を示したフローチャートである。プロセスは、150などのシステム上で実施することができる。
プロセスは、データウェアハウスから逆流データが取得される101から開始する。一部の実施形態では、逆流用のデータは、データウェアハウスからメモリへ抽出される。一部の実施形態では、データは、データ抽出率を向上させるために、複数のスレッド(例えば10又は11以上のスレッド)を使用して同時的に抽出される。逆流データは、全て一度にデータウェアハウスからメモリへ抽出されてよい。あるいは、逆流データは、まとまり(束)ごとに抽出されてもよく、すなわち、現在のまとまりの逆流データが終了してから次のまとまりの逆流データが処理され、これにより、処理効率が向上される。
ステップ102では、抽出された各逆流データ項目について、1つ又は2つ以上の逆流ルールに従って、生成システム内の宛先テーブルが決定される。
逆流ルールは、データウェアハウス内の逆流データ項目が生成システム内のどのテーブルを宛先にするかを決定する。一部の実施形態では、逆流ルールは、生成システム内の宛先テーブルの数と、逆流データの属性とにしたがって決定される。例えば、それは、逆流データの数値フィールドの値を生成システム内の宛先テーブル内のデータで割り算した余りを使用して、又は逆流データの文字列型フィールド内の幾らかのビットの値を使用して、又はデータ列の1つ若しくは2つ以上の行の値の特定の関数変換の結果を使用して決定することができる。
データウェアハウス内の逆流用の各データ項目は、生成システム内に宛先テーブルを有する、すなわち、逆流データ項目の送信先となる特定のテーブルを生成システム内に有する。逆流データ項目は、1つの宛先テーブルを有してよく、あるいは複数の宛先テーブルを有してよい。
逆流ルールを使用し、各逆流データ項目について、生成システム内の宛先テーブルが決定される。これは、全ての逆流データ項目がラベル付けされることも意味する。
ステップ103において、逆流データ項目は、決定された生成システム内のそれぞれの宛先テーブルに従って送信される。
上述のように、逆流データは、全て、ステップ102においてラベル付けされている。したがって、この時点で、逆流データ項目は、それぞれのラベルに従ってデータ項目が一時的に保存されているメモリから生成システム内の宛先テーブルに送信される。実際、逆流データは、まとまりごとにメモリへ抽出されてよく、ひとまとまりを構成する全ての逆流データ項目について生成システム内の宛先テーブルが決定されたときに、このまとまりを構成する逆流データ項目は、メモリからそれぞれの宛先テーブルへ送信される。この技術は、データの逆流の効率を向上させることができる。
選択肢として、逆流データは、データ送信効率を向上させるために、複数のスレッドを使用して同時的に送信されてもよい。図2は、マルチスレッドデータ逆流伝送のためのプロセスの一実施形態を示すフローチャートである。
ステップ202では、生成システム内の宛先テーブルに従って、全ての逆流データがグループ分けされる。例えば、逆流データ項目が100あり、プロセス100のステップ102において、これらのデータ項目が、001〜015の番号を振られた15の宛先テーブルを生成システム内に有することが決定されたものとする。したがって、宛先テーブル001を有する逆流データ項目は、グループ001としてグループ分けされ、宛先テーブル002を有する逆流データ項目は、グループ002としてグループ分けされ、宛先テーブル015を有するデータ項目がグループ015としてグループ分けされるまで、以下同様に続く。
ステップ204において、逆流データは、複数のスレッドを使用して送信され、各グループの逆流データ項目は、同じスレッドによって、生成システム内の同じ宛先テーブルに送信される。既述の例では、100の逆流データ項目は、5つのスレッドを使用して、5グループのデータをそれぞれ含む3つのまとまりとして同時的に送信されてよく、例えば、グループ001〜005の逆流データは、第1のまとまりとして送信されてよい。具体的には、生成システム内に同じ宛先テーブル001を有するグループ001の逆流データを送信するために、(スレッド1としてラベル付けされた)スレッドが使用されてよい。同様に、生成システム内に同じ宛先テーブル005を有するグループ005の逆流データを送信するために、(スレッド5としてラベル付けされた)別のスレッドが使用されてよい。
実際は、それぞれのグループのデータストリームは異なっていてよく、一部のスレッドのデータは、その他のスレッドのデータよりも速く送信されるかもしれない。グループ及びスレッドの分配は、データ送信に必要とされる時間を最短にするために、実際の状況に応じて調整されてよい。例えば、最も多量のデータを有するグループを最も少量のデータを有するグループと同じスレッドで送信することによって、スレッドによって送信されるデータの量を全体として釣り合わせ、送信時間を短縮することができる。
生成システムの既存のデータベースでは、ロジックテーブルのデータが、複数の物理テーブルに分配される。分配は、データウェアハウス内のデータの逆流に対する課題になっている。既存の方法は、生成システム内のテーブルに対応して複数の物理テーブルをデータウェアハウス内に作成するものである、すなわち、生成システム内の各サブテーブルについて、それに対応するデーターブルをデータウェアハウス内に作成するものである。先ず、データウェアハウスの大テーブル内のデータが、複数のサブテーブルにそれぞれ挿入され、次いで、データウェアハウスのサブテーブル内のデータが、生成システム内の対応するサブテーブルへ逆流する。テーブルの分割及び初期化の構成にかなりの努力が払われ、構成ルールの数は膨大である。全体の逆流処理時間及び複雑性が増し、データウェアハウス内のデータで生成システムを更新するための効率及び単純性が低下する。
本出願のこの実施形態は、データウェアハウスの大テーブルから生成システム内の複数の小テーブルへの逆流処理を向上させる。具体的には、データウェアハウスは、逆流データを用意するだけでよく、そうして、データウェアハウスの大テーブルを生成システムに対応する複数の小テーブルに分割するという先行技術における冗長な手順が回避され、これは、逆流の構成効率を劇的に向上させるとともに、逆流によって生じる時間的コストを縮小することができる。
図3は、逆流データ処理のためのプロセスの一実施形態を示すフローチャートである。プロセス350は、100などのシステム上で実施することができる。この例では、プロセス350は、電子商取引ウェブサイトのユーザの興味対象である製品を取得する状況において実行される。
ステップ351では、ユーザの興味対象である製品が識別される。データウェアハウス内に、recommended_items_tableと名付けられた結果テーブルが作成される。
この例では、結果テーブルは、表1に示されるような形式を有しており、ユーザ識別子(ID)フィールドと、ユーザが興味を持っている製品についての1つ又は2つ以上の製品IDフィールドとを含む。
Figure 0005266420
ステップ352では、結果テーブル内の逆流データが、データウェアハウスからメモリへ抽出される。
一部の実施形態では、データは、複数のスレッドを使用して、データウェアハウスの結果テーブルから同時的に抽出される。スレッドの数は、実装形態に応じて異なってよい。この例では、10のスレッドが使用される。
複数のスレッドを使用してデータウェアハウスからデータが抽出される場合には、スレッド同士が協調的に動作し、逆流データの抽出において高い効率を達成できるように、抽出されるデータの範囲がスレッドごとに事前に設定され、同じデータが2度以上抽出されないようにされる。
ステップ353では、結果テーブル内のデータ項目に対して宛先テーブルが割り当てられる。この例では、割り当ては、項目の数値ユーザIDを(宛先テーブルの数などの)値で割り算してその余りを算出するハッシュ関数に基づく。異なる余り値は、異なる宛先テーブルに対応する。その他の実施形態では、その他の割り当て技術が使用されてよい。例えば、IDが文字列である実施形態では、逆流データを宛先テーブルにマッピングするために、何らかの関数を使用して文字列の処理が実施されてよい。例えば、24の宛先テーブルがある場合は、逆流データは、文字列の先頭文字にしたがって24の宛先テーブルにマッピングされてよい。
本出願の一実施形態では、recommend_item_table_0001からrecommend_item_table_1024までのラベルを付された1024の宛先テーブルが、生成システム内にある。各宛先テーブルは、データウェアハウス内の結果テーブルと同じ方式で構築されている。
本出願のこの実施形態で使用される逆流ルールは、数値ユーザIDを1024で割り算した余りに基づく。実際、データの逆流がなされたとき、各宛先テーブル内のデータは、データウェアハウス内の結果テーブル内のデータのサブセットであり、宛先テーブルは、数値ユーザIDを1024で割り算した余りに基づいて割り当てられ、異なる余りは、異なる宛先テーブルに対応する。
ステップ354では、全ての逆流データがグループ分けされる。この例では、データは、生成システム内の宛先テーブルにしたがって、1024のグループに分けられる。
ステップ355では、複数のスレッドを使用して、逆流データが送信され、ここで、各スレッドにおける各グループ内の逆流データ項目は、生成システム内の同じ宛先テーブルに送信される。この例では、逆流データは、1024のグループに分けられ、各グループは、同じ宛先テーブルを有する。逆流速度を向上させるために、逆流データは、それぞれ64グループずつの逆流データを送信する16のスレッドを使用して、同時的に送信される。
スレッドの具体的な数、及びそれぞれのスレッドで送信される逆流データのグループの数は、デバイスの実際の状況に基づいて決定されてよく、したがって、本出願では限定されない。
データの逆流において、生成システムの要求にしたがってデータウェアハウス内に1024のテーブルを作成することは、逆流処理に必要とされる計算の量を大幅に増加させ、その結果、逆流処理の詰まりを引き起こす恐れがある。生成システムデータベースのピークロード時間まで逆流時間が長引くと、生成システムの信頼性が低下する恐れがある。上述された技術を使用すれば、データウェアハウス内に1つの結果テーブルを作成するだけでよく、したがって、データウェアハウス内に多数のサブテーブルを構築する必要性が回避され、逆流時間が劇的に短縮されるとともに、逆流効率が向上される。
図4は、逆流データ処理のためのデバイスの一実施形態を示すブロック図である。システムは、逆流データをデータウェアハウスからメモリへ抽出するように適応された抽出ユニット301と、抽出された各逆流データ項目について、逆流データについての逆流ルールに従って、生成システム内の宛先テーブルを決定するように適応された決定ユニット302と、決定された生成システム内の宛先テーブルに従って、各逆流データ項目について逆流データを送信するように適応された分配ユニット303とを含む。ここで、逆流ルールは、生成システム内の宛先テーブルの数と、逆流データの属性とに従って決定されてよく、逆流データの属性は、逆流データ内のある数字の値、逆流データの文字列型フィールド内の1つ若しくは2つ以上の数字の値を含み、例えば、本出願の一実施形態における逆流ルールは、宛先テーブルの数と、逆流のデータの数値ビットの値とに従って決定される。
実際は、抽出ユニット301は、更に、本発明の一実施形態によって提供されるデータの逆流の効率を向上させるために、複数のスレッドを使用して、逆流データをデータウェアハウスからメモリへ同時的に抽出するように適応される。
上述されたユニットは、1つ又は2つ以上の汎用プロセッサ上で実行されるソフトウェアコンポーネントとして、プログラマブルロジックデバイス及び/若しくは所定の機能を実施するように設計された特殊用途向け集積回路などのハードウェアとして、又はそれらの組み合わせとして実装することができる。一部の実施形態では、ユニットは、本発明の実施形態で説明される方法をコンピュータデバイス(パソコン、サーバ、ネットワーク機器など)に実行させるための幾つかの命令を含み尚且つ不揮発性のストレージ媒体(光ディスク、フラッシュストレージデバイス、モバイルハードディスクなど)に格納可能なソフトウェア製品の形で具現化することができる。ユニットは、1つのデバイス上に実装されてよい、又は複数のデバイスに分散されてよい。ユニットの機能は、互いに合体されてよい、又は更に複数のサブユニットに分割されてよい。
図5は、分配ユニットの一実施形態を示すブロック図である。分配ユニットは、システム300の303を実装するために使用されてよい。分配ユニットは、生成システム内の宛先テーブルに従って、全ての逆流データをグループ分けするように適応されたグループ分けサブユニット401と、複数のスレッドを使用し、グループ分けに従って、逆流データを送信するように適応された送信サブユニット402とを含み、ここで、各スレッドにおける各グループ内の逆流データ項目は、生成システム内の同じ宛先テーブルに送信される。
例えば、逆流データ項目が100あり、決定ユニット302によって、これらのデータ項目が、001〜015の番号を振られた15の宛先テーブルを生成システム内に有することが決定されたものとする。したがって、グループ分けサブユニット401は、宛先テーブル001を有する逆流データ項目をグループ001にグループ分けし、宛先テーブル002を有する逆流データ項目をグループ002にグループ分けし、宛先テーブル015を有する逆流データ項目がグループ015にグループ分けされるまで、以下同様に続く。次いで、送信サブユニットは、5つのスレッドを同時に使用して、5グループのデータをそれぞれ含む3つのまとまりとして逆流データを同時的に送信し、例えば、グループ001〜005の逆流データは、第1のまとまりとして送信されてよい。具体的には、スレッド1は、生成システム内に同じ宛先テーブル001を有するグループ001の逆流データを送信するために使用されてよく、同様に、スレッド5は、生成システム内に同じ宛先テーブル005を有するグループ5の逆流データを送信するために使用されてよい。
当然ながら、それぞれのグループのデータストリームは異なってよく、したがって、一部のスレッドのデータは、その他のスレッドのデータよりも速く送信されるかもしれない。実際は、あるグループがどのスレッドで送信されるかは、例えば、最も多くのデータを有するグループが最少量のデータを有するグループと同じスレッドで送信されるなどのように、実際の状況に応じて調整されてよく、それによって、それぞれのスレッドのデータ量を全体として釣り合わせ、最終的に、全てのデータが最短の時間で送信されることを実現することができる。
本発明の実施形態によって提供されるデバイスは、データウェアハウス内に多数のサブテーブルを構築するプロセスを回避し、データウェアハウスの元からのデータ構造を維持することによって、テーブルのためのデータ計算時間や逆流の時間が長引くことや、生成システムの信頼性が低下することなどの、データウェアハウスの構造の変化によって引き起こされる問題を回避するとともに、逆流時間を大幅に短縮し、逆流の効率を向上させることによって、データウェアハウスの大テーブルのデータを生成システム内の複数の小テーブルに逆流させる際の問題を解決している。
便宜上、上記のデバイスは、それらの機能に基づいてユニット単位で説明されている。当然ながら、これらのユニットの機能は、本出願を実現しつつ1つ又は複数のソフトウェア及び/又はハードウェアの形で実装することができる。
実施形態の以上の説明からわかるように、当業者ならば、本出願が、ソフトウェアを何らかの必要な汎用ハードウェアプラットフォームと組み合わせることによって実装されうることを、はっきり理解することができる。このような理解に基づいて、本出願の技術的解決策の核心すなわち発明的部分は、本出願の実施形態にしたがった又は本出願の実施形態の一部にしたがった方法をコンピュータデバイス(パソコン、サーバ、ネットワークデバイスなど)に実施させるための幾つかの命令を含み尚且つ例えばROM/RAM、磁気ディスク、光ディスクなどのストレージ媒体に保存可能なソフトウェア製品の形で具現化することができる。
本明細書の実施形態は、進行的に説明されており、それらの共通の又は同様の部分は、相互に参照可能であり、各実施形態は、その他の実施形態からのその違いに重きを置かれている。具体的には、システムの実施形態は、方法の実施形態と実質的に同様であるゆえに、簡単に説明されており、その詳細に関しては、方法の実施形態の説明のそれらの部分を参照することができる。
本出願は、例えば、パソコン、サーバコンピュータ、ハンドヘルドデバイスすなわち携帯用デバイス、フラットパネルデバイス、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラム可能な家庭用電子デバイス、ネットワークPC、ミニコンピュータ、大型コンピュータ、上記のシステム若しくはデバイスの任意を含む分散コンピューティング環境などの、汎用又は専用の、数々のコンピュータシステム環境又は構成の形で適用することができる。
本出願は、特定のタスクを実行するための又は特定の抽象データ型を実装するための、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを一般に含む例えばプログラムモジュールなどのコンピュータ実行可能命令を一般的背景として説明することができる。或いは、本出願は、通信ネットワークを通じて接続されたリモート処理デバイスによってタスクが実施され尚且ストレージデバイスを含むローカル若しくはリモートのコンピュータストレージ媒体のなかにプログラムモジュールを設置可能な分散コンピューティング環境において実装することができる。
以上の実施形態は、理解を明瞭にする目的で幾らか詳細に説明されてきたが、本発明は、提供された詳細に限定されない。本発明の実現には、多くの代替的手法がある。開示された実施形態は、例示的であって、限定的ではない。
適用例1:逆流データを処理するための方法であって、データウェアハウスから逆流データを取得し、前記逆流データについての逆流ルールに従って、前記逆流データ内の各データ項目について、生成システム内におけるそれぞれの宛先テーブルを決定し、前記決定された生成システム内のそれぞれの宛先テーブルに従って、前記データ項目を送信すること、を備える方法。
適用例2:適用例1に記載の方法であって、前記データウェアハウスからの逆流データの取得は、複数のスレッドを使用して、前記データウェアハウスからメモリへ逆流データを同時的に抽出することを備える、方法。
適用例3:適用例1に記載の方法であって、前記決定された生成システム内のそれぞれの宛先テーブルに従う、前記データ項目の送信は、前記決定された生成システム内の宛先テーブルへ逆流データをグループ分けし、複数のスレッドを使用し、前記グループ分けに従って前記逆流データを送信すること、を備え、各グループのデータ項目は、同じスレッドによって、前記生成システム内の同じ宛先テーブルに送信される、方法。
適用例4:適用例3に記載の方法であって、前記決定された生成システム内のそれぞれの宛先テーブルに従う、前記データ項目の送信は、更に、逆流データのグループを前記複数のスレッドに分配することを備える、方法。
適用例5:適用例1に記載の方法であって、前記逆流ルールは、前記生成システム内の宛先テーブルの数と、前記逆流データの属性とに従って決定される、方法。
適用例6:適用例5に記載の方法であって、前記逆流データの属性は、前記データ項目内のフィールドの値を含む、方法。
適用例7:適用例6に記載の方法であって、前記逆流ルールは、前記データ項目内の前記フィールドの値にハッシュ関数を適用することを含む、方法。
適用例8:逆流処理システムであって、プロセッサと、前記プロセッサに接続され、前記プロセッサに対して命令を提供するように構成されているメモリと、を備え、
前記プロセッサは、データウェアハウスから逆流データを取得し、前記逆流データについての逆流ルールに従って、前記逆流データ内の各データ項目について、生成システム内におけるそれぞれの宛先テーブルを決定し、前記決定された生成システム内のそれぞれの宛先テーブルに従って、前記データ項目を送信するように、構成されている、システム。
適用例9:適用例8に記載のシステムであって、前記データウェアハウスからの逆流データを取得は、複数のスレッドを使用して、前記データウェアハウスからメモリへ逆流データを同時的に抽出することを備える、システム。
適用例10:適用例8に記載のシステムであって、前記決定された生成システム内のそれぞれの宛先テーブルに従う、前記データ項目の送信は、前記決定された生成システム内の宛先テーブルへ、逆流データをグループ分けし、複数のスレッドを使用し、前記グループ分けに従って前記逆流データを送信すること、を備え、各グループのデータ項目は、同じスレッドによって、前記生成システム内の同じ宛先テーブルに送信される、システム。
適用例11:適用例10に記載のシステムであって、前記決定された生成システム内のそれぞれの宛先テーブルに従う、前記データ項目の送信は、更に、逆流データのグループを前記複数のスレッドに分配することを備える、システム。
適用例12:適用例8に記載のシステムであって、前記逆流ルールは、前記生成システム内の宛先テーブルの数と、前記逆流データの属性とに従って決定される、システム。
適用例13:適用例12に記載のシステムであって、前記逆流データの属性は、前記データ項目内のフィールドの値を含む、システム。
適用例14:適用例13に記載のシステムであって、前記逆流ルールは、前記データ項目内の前記フィールドの値にハッシュ関数を適用することを含む、システム。

Claims (10)

  1. 逆流データを処理するための方法であって、
    データウェアハウスから逆流データを取得し、
    前記逆流データについての逆流ルールに従って、前記逆流データ内の各データ項目について、生成システム内におけるそれぞれの宛先テーブルを決定し、
    前記決定された生成システム内のそれぞれの宛先テーブルに従って、前記データ項目を送信すること、を備え
    前記データ項目の送信は、前記決定された生成システム内の宛先テーブルへ逆流データをグループ分けすることを含み、同じ宛先テーブルに関連付けられている、前記逆流データ内のデータ項目は同じグループに含まれ、前記グループ分けに従う前記逆流データの送信は複数のスレッドを使用し、各グループのデータ項目は同じスレッドによって前記生成システム内の同じ宛先テーブルに送信され、
    前記決定された生成システム内のそれぞれの宛先テーブルに従う、前記データ項目の送信は、更に、少なくとも1つの逆流データのグループに関連付けられているデータ量に少なくとも一部基づいて、前記逆流データのグループを前記複数のスレッドに分配することを備える、
    方法。
  2. 請求項1に記載の方法であって、
    前記データウェアハウスからの逆流データの取得は、複数のスレッドを使用して、前記データウェアハウスからメモリへ逆流データを同時的に抽出することを備える、方法。
  3. 請求項1に記載の方法であって、
    前記逆流ルールは、前記生成システム内の宛先テーブルの数と、前記逆流データの属性とに従って決定される、方法。
  4. 請求項に記載の方法であって、
    前記逆流データの属性は、前記データ項目内のフィールドの値を含む、方法。
  5. 請求項に記載の方法であって、
    前記逆流ルールは、前記データ項目内の前記フィールドの値にハッシュ関数を適用することを含む、方法。
  6. 逆流処理システムであって、
    プロセッサと、
    前記プロセッサに接続され、前記プロセッサに対して命令を提供するように構成されているメモリと、
    を備え、
    前記プロセッサは、
    データウェアハウスから逆流データを取得し、
    前記逆流データについての逆流ルールに従って、前記逆流データ内の各データ項目について、生成システム内におけるそれぞれの宛先テーブルを決定し、
    前記決定された生成システム内のそれぞれの宛先テーブルに従って、前記データ項目を送信するように、
    構成されており、
    前記データ項目の送信は、前記決定された生成システム内の宛先テーブルへ逆流データをグループ分けすることを含み、同じ宛先テーブルに関連付けられている、前記逆流データ内のデータ項目は同じグループに含まれ、前記グループ分けに従う前記逆流データの送信は複数のスレッドを使用し、各グループのデータ項目は同じスレッドによって前記生成システム内の同じ宛先テーブルに送信され、
    前記決定された生成システム内のそれぞれの宛先テーブルに従う、前記データ項目の送信は、更に、少なくとも1つの逆流データのグループに関連付けられているデータ量に少なくとも一部基づいて、前記逆流データのグループを前記複数のスレッドに分配することを備える、
    システム。
  7. 請求項に記載のシステムであって、
    前記データウェアハウスからの逆流データを取得は、複数のスレッドを使用して、前記データウェアハウスからメモリへ逆流データを同時的に抽出することを備える、システム。
  8. 請求項に記載のシステムであって、
    前記逆流ルールは、前記生成システム内の宛先テーブルの数と、前記逆流データの属性とに従って決定される、システム。
  9. 請求項に記載のシステムであって、
    前記逆流データの属性は、前記データ項目内のフィールドの値を含む、システム。
  10. 請求項に記載のシステムであって、
    前記逆流ルールは、前記データ項目内の前記フィールドの値にハッシュ関数を適用することを含む、システム。
JP2012541064A 2009-11-24 2010-11-23 データウェアハウスのための効率的なデータ逆流処理 Active JP5266420B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
CN200910246001.3A CN102073664B (zh) 2009-11-24 2009-11-24 一种数据回流的方法和装置
CN200910246001.3 2009-11-24
US12/951,464 2010-11-22
US12/951,464 US8374995B2 (en) 2009-11-24 2010-11-22 Efficient data backflow processing for data warehouse
PCT/US2010/003047 WO2011065973A1 (en) 2009-11-24 2010-11-23 Efficient data backflow processing for data warehouse

Publications (2)

Publication Number Publication Date
JP2013512502A JP2013512502A (ja) 2013-04-11
JP5266420B2 true JP5266420B2 (ja) 2013-08-21

Family

ID=44032208

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012541064A Active JP5266420B2 (ja) 2009-11-24 2010-11-23 データウェアハウスのための効率的なデータ逆流処理

Country Status (6)

Country Link
US (1) US8374995B2 (ja)
EP (1) EP2504754A4 (ja)
JP (1) JP5266420B2 (ja)
CN (1) CN102073664B (ja)
HK (1) HK1153019A1 (ja)
WO (1) WO2011065973A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110175808A (zh) * 2019-04-17 2019-08-27 广州精选速购网络科技有限公司 一种订单管理、查询方法、装置、设备及介质

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08314951A (ja) * 1995-05-12 1996-11-29 Hitachi Ltd リレ−ショナルデータベースの構造表示方法およびリレ−ショナルデータベースシステム
US6446092B1 (en) * 1996-11-01 2002-09-03 Peerdirect Company Independent distributed database system
US6925477B1 (en) * 1998-03-31 2005-08-02 Intellisync Corporation Transferring records between two databases
US6151608A (en) * 1998-04-07 2000-11-21 Crystallize, Inc. Method and system for migrating data
US6377934B1 (en) 1999-01-15 2002-04-23 Metaedge Corporation Method for providing a reverse star schema data model
CN1340174A (zh) * 1999-01-15 2002-03-13 米泰吉公司 提供逆星形模式数据模型的方法
GB2351367A (en) 1999-06-22 2000-12-27 Int Computers Ltd Generating code for processing a database
US6665682B1 (en) * 1999-07-19 2003-12-16 International Business Machines Corporation Performance of table insertion by using multiple tables or multiple threads
JP2001282819A (ja) * 2000-01-28 2001-10-12 Fujitsu Ltd データマイニング装置、データマイニング処理プログラムを格納したコンピュータ可読の記憶媒体、及びデータマイニング処理プログラム
US20020143862A1 (en) 2000-05-19 2002-10-03 Atitania Ltd. Method and apparatus for transferring information between a source and a destination on a network
US6850947B1 (en) * 2000-08-10 2005-02-01 Informatica Corporation Method and apparatus with data partitioning and parallel processing for transporting data for data warehousing applications
US7016903B1 (en) 2001-01-25 2006-03-21 Oracle International Corporation Method for conditionally updating or inserting a row into a table
US20030005098A1 (en) 2001-06-28 2003-01-02 International Business Machines Corporation Method and apparatus for using dynamic grouping data to group attributes relating to computer systems
US7299216B1 (en) * 2002-10-08 2007-11-20 Taiwan Semiconductor Manufacturing Company, Ltd. Method and apparatus for supervising extraction/transformation/loading processes within a database system
US7313576B2 (en) * 2004-07-30 2007-12-25 Sbc Knowledge Ventures, L.P. System and method for flexible data transfer
US20060072626A1 (en) 2004-09-29 2006-04-06 Lucent Technologies Inc. Data synchronization in a telecommunication management network
WO2006053050A2 (en) 2004-11-08 2006-05-18 Commvault Systems, Inc. System and method for performing auxiliary storage operations
US7996679B2 (en) * 2005-10-05 2011-08-09 International Business Machines Corporation System and method for performing a trust-preserving migration of data objects from a source to a target
CA2542379A1 (en) 2006-04-07 2007-10-07 Cognos Incorporated Packaged warehouse solution system

Also Published As

Publication number Publication date
EP2504754A4 (en) 2016-10-05
WO2011065973A1 (en) 2011-06-03
HK1153019A1 (en) 2012-03-16
EP2504754A1 (en) 2012-10-03
JP2013512502A (ja) 2013-04-11
US20110125707A1 (en) 2011-05-26
CN102073664B (zh) 2014-03-19
CN102073664A (zh) 2011-05-25
US8374995B2 (en) 2013-02-12

Similar Documents

Publication Publication Date Title
JP2016516246A5 (ja)
US11308277B2 (en) Memory preserving parse tree based compression with entropy coding
US20150012486A1 (en) Efficient Pushdown Of Joins In A Heterogeneous Database System Involving A Large-Scale Low-Power Cluster
JP7313382B2 (ja) 分散システムの頻繁パターン分析
CN112269789A (zh) 存储数据的方法和装置、以及读取数据的方法和装置
CN113886434A (zh) 基于数据库集群的查询和存储方法、装置以及设备
CN107229747A (zh) 一种基于流式处理框架的大规模数据处理装置及方法
US20170060977A1 (en) Data preparation for data mining
WO2021143510A1 (zh) 确定任务的方法和装置
JP5844895B2 (ja) データの分散検索システム、データの分散検索方法及び管理計算機
CN103699442A (zh) MapReduce计算框架下的可迭代式数据处理方法
CN109960212B (zh) 任务发送方法和装置
CN108804451B (zh) 生成主键的方法、装置、电子设备和可读存储介质
JP5266420B2 (ja) データウェアハウスのための効率的なデータ逆流処理
US20180253475A1 (en) Grouping tables in a distributed database
CN108694205B (zh) 匹配目标字段的方法、装置
CN111177479A (zh) 获取关系网络图中节点的特征向量的方法以及装置
CN104317630B (zh) 一种快速查询服务器产品支持软硬件配置的方法
US11586633B2 (en) Secondary tagging in a data heap
CN107977403A (zh) 历史数据查询方法及装置
CN106570129A (zh) 一种对实时数据进行快速分析的存储系统及其存储方法
US10423601B2 (en) Splitting tables in a distributed database
CN110109919B (zh) 确定逻辑信息的方法和装置
US20160042033A1 (en) Query execution apparatus and method, and system for processing data employing the same
US20190311063A1 (en) Grouping tables with existing tables in a distributed database

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130124

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130124

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20130124

TRDD Decision of grant or rejection written
A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20130404

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130409

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130502

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5266420

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250