JP4777972B2 - 無共有型並列データベースシステム及びデータベース管理方法 - Google Patents
無共有型並列データベースシステム及びデータベース管理方法 Download PDFInfo
- Publication number
- JP4777972B2 JP4777972B2 JP2007503912A JP2007503912A JP4777972B2 JP 4777972 B2 JP4777972 B2 JP 4777972B2 JP 2007503912 A JP2007503912 A JP 2007503912A JP 2007503912 A JP2007503912 A JP 2007503912A JP 4777972 B2 JP4777972 B2 JP 4777972B2
- Authority
- JP
- Japan
- Prior art keywords
- slave
- dimension
- query
- database system
- node
- 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.)
- Expired - Lifetime
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
-
- 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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/278—Data partitioning, e.g. horizontal or vertical partitioning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
- G06F16/24532—Query optimisation of parallel queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/40—Data acquisition and logging
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Multi Processors (AREA)
Description
このデータ伝送は、どのデータベーステーブルが結合されているか、また、問合せにどれ位の数の結合が含まれているかにより、相当な時間を要する可能性があり、よって問合せ処理を遅延させることになる。
この問題の本質に鑑みると、更なる追加ノードをこれらの従来システムに組み込んでも、問合せ処理におけるこの障害を解消することにはならない。
従って、問合せスキューを低減することが可能な、改良された無共有型の並列データベースシステムが求められている。
ファクトテーブルと複数のディメンションテーブルとを含んだデータベースは、データベースシステムのスレーブノードに分散される。データベースのテーブルを分散するために、ファクトテーブル及び第1ディメンションテーブル(first dimension table)がスレーブノードに分割される。さらに、残ったディメンションテーブルが、各々のスレーブノードに複製され、それらが最小サイズである場合には、さらに全スレーブノードに亘って分割される。
また、残りのディメンジョンテーブルは、必要に応じて行分割又は列分割され、システムの複数スレーブノードに亘って分散される。
好ましくは、マスターノードは、該マスターノードにより生成された問合せ結果を格納するための問合せキャッシュを含み、スレーブノードはその各々が、夫々の該スレーブノードにより生成された副問合せ結果を格納するための問合せキャッシュを含むことが望ましい。
さらに、スレーブノードに障害が発生した場合には、障害が発生したスレーブノードに向けられた副問合せが、障害が発生したスレーブノードの代わりにフェールオーバパートナーにより実行される。
まず、問合せスキューがデータベースの問合せ処理から無くなることで、データベースシステムのリニアスケーリングに近い状態が可能になる。また、二層の問合せキャッシュにより、問合せにおける配下のテーブルに対する変更を介入させることなく、反復的な問合せ処理が低減される。さらに、スレーブノードにおけるフェールオーバパートナーの運用により、ノードに障害が発生したときにおいても継続した使用を可能とする、費用効率の良いソリューションを提供する。
前述した本発明の概要は、本発明の本質を迅速に理解可能にするべく提供されたものである。
本発明の好ましい実施態様に関しては、以下の発明の詳細な説明及び関連した図面を参照することにより、さらに詳細且つ完全に理解されるであろう。
超無共有型並列データベースシステムは、少なくとも1つのマスターノード及び複数のスレーブノードを用いた従来の無共有型並列データベースに準じた方法で構成される。
図1はデータベースシステム10の構成を表し、マスターノード11、複数のスレーブノード12aから12nまで(図示を簡略化するためこのように記述する)を示す。なお、図1では、マスターノードを1つだけ含む。しかしながら、詳細に後述するように、本発明の他の実施形態では、複数のマスターノード11を、データベースシステム10に組み込む。マスターノード11及びスレーブノード12aから12nは、ネットワーク13を介して相互接続される。
ネットワーク13は、当業者にとって周知の多数のネットワーク技術及びプロトコルのうちのいずれか用いて実装される。実施形態におけるネットワークは、イーサネット(Ethernet)(登録商標)で用いられるTCP/IP、及び、インフィニバンド(Infiniband)で用いられるMPI(Message Passing Interface)を含むが、これに限定されるものではない。
スレーブノード12aからスレーブノード12nは、各々、CPU12aからCPU17n、RAM18aからRAM18n、及び、ディスク19aからディスク19nを含んで構成される。
各々のノードは単一のCPU及び単一のディスクを含んで構成されたものとして表されているが、当業者であれば、各々のノードが、処理能力を改善するべく複数のCPU及び複数のディスクを含んで構成され得ることが理解できるはずである。例えば、本発明の1つの実施形態として、デュアル・プロセッサ及び12台のハードディスクを用いたノードを用いる。
基本ソフトウェアコンポーネント(例えばオペレーティングシステム及びデバイスドライバ)に加えて、データベースシステム10の各ノードは、本発明を履行するためのソフトウェアモジュールを格納し、実行する。
マスターノード11は、ストリーム管理ソフトウェア20、問合せキャッシュソフトウェア21、SQL(Structured Query Language)解析ソフトウェア22、スレーブスキーマ生成ソフトウェア23、更新/登録ソフトウェア24、問合せ並列化/最適化ソフトウェア25、マルチステップ問合せ実行ソフトウェア26、結果セット解析ソフトウェア28、日付分割メンテナンスソフトウェア29、一括ローディングソフトウェア30、DBMS(Database Management System)31及びシステム管理ソフトウェア32を含んで構成される。
各スレーブノードは、DBMS33a〜33n及びスレーブ管理ソフトウェア34a〜34nを含んで構成される。
最後に、管理コンソールソフトウェア35は、少なくとも1つのマスターノードにインストールされ、マスターノードに接続された端末又はデータベースシステム10から分離したコンピュータシステムで実行されるクライアントプログラムを介してアクセスすることができる。
好ましい実施例では、全てのノードが同一のハードウェア構成を備え、各ノードの適切なソフトウェアモジュールをロードし実行することで、マスターノード又はスレーブノードのいずれかとして機能することができる。
これらのソフトウェアモジュールの処理については、以下の本発明の処理の説明において詳細に説明する。
外部のホストシステムは、データベースシステム10に対し、ホストスキーマを定義するメタデータを伝送する。
ホストスキーマを受信すると、スレーブスキーマ生成ソフト23は、スレーブスキーマを生成するルールセットを適用する。スレーブスキーマは、データベースのテーブルがスレーブノード12aから12nにどのように分割及び分散されるかについて定義する。
図3に示すステップはスレーブスキーマを生成するのに用いられるルールセットを具体的に表す。
このスキーマは、1つのファクトテーブル(「LINEITEM」)及び複数のディメンションテーブル(「ORDERS」、「CUSTOMER」、「PART」、「PARTSUPP」、「SUPPLIER」、「NATION」及び「REGION」)を含んで構成される。
図4において示されるスキーマは1つのファクトテーブルのみを含むが、データベースのスキーマは複数のファクトテーブルを含み得ることが理解できるであろう。
ステップ301では、ホストスキーマのテーブルが、スレーブスキーマの生成に備えて並び替えられる(ordered)。
ステップ500では、ホストスキーマ内の全てのファクトテーブルが識別される。
ステップ501では、各々の識別されたファクトテーブルについて、ホストスキーマにおいて定義されたテーブルのリレーションシップが、ファクトテーブルから第1ディメンジョンテーブルへと、内から外へ順に識別される。
ステップ502では、他の関連ディメンジョンテーブルを並び替える。なお、ディメンジョンテーブルは、ファクトテーブルに対する位置及び関係に基づいて並び替えられる。
次に、「LINEITEM」テーブルから順に外へ向かい、「ORDERS」、「PART」、「PARTSUPP」、「SUPPLIER」テーブルが、「LINEITEM」テーブルと直接の関係を持つテーブルとして認識される。
このテーブルの第1階層は、例えばサイズなどの指定された基準に基づいて並び替えられる。この第1階層において並べ替えられた1番目のテーブル(例えば「ORDER」テーブル)は、第1ディメンションテーブルとして認識される。
ここで、並列データベースシステムを用いた問合せを効率的に処理するために、サイズが大きく、また、頻繁にアクセスされるテーブルであるほど、全スレーブノードに出来る限り均等且つ効率的に割り当てられなければならない。
この点に関し、本発明は従来の無共有型データベースシステムにおいて用いられた方法に順ずる方法を採用する。
ここで再び図4に示すホストスキーマを再度、参照すると、ORDERKEYが、ORDERSテーブル(第1ディメンションテーブル)のプライマリキーであり且つLINEITEMテーブル(ファクトテーブル)の外部キーであるため、ハッシュキーとして記録される。
図3のステップ303では、処理中のテーブルについて、それがファクトテーブルか、第1ディメンションテーブルかの判定が成される。
各々のファクトテーブル及びディメンションテーブルは、水平分割され(horizontally partitioned)、全スレーブノードに対して分散される。
このように、各々のスレーブノードは、ホストスキーマの各々のファクトテーブル及び各々の第1ディメンションテーブルの水平分割された一部分を割り当てられる。
本発明の付加的な特徴は、これらの大きなコメントフィールドを削除してスレーブスキーマの分割テーブル内に移すために、テーブルを垂直分割することである。
2つのテーブルの行を正確に同じ順序に保つため、個々の行のコメントフィールドが、行識別子を用いることで識別される。
垂直分割機能は、デフォルトルールとして設定されるか、システム管理者からの入力によって設定される。
ステップ305では、垂直分割しない場合に、スレーブスキーマに水平分割されたテーブルが生成される。
ステップ306では、垂直分割する場合に、スレーブスキーマに垂直分割されたテーブルのセットが生成される。なお、これらの垂直分割されたテーブルは、水平分割されたテーブルの垂直分割であり、ステップ305で生成された水平分割されたテーブルと同じセットとしてのものである。
本発明の好ましい実施例によれば、ファクトテーブル及び第1ディメンションテーブルの他の各々のテーブルが完全に複製され、各々のスレーブノードに格納される。
各々のスレーブノードに、各々の外部ディメンションテーブルを完全に複製することで、外部ディメンションテーブルと、ファクトテーブル又は第1ディメンションテーブルと、の間の結合を含む問合せなどが、スレーブノード間におけるテーブルデータの伝送を必要とせずに、並列に実行される。
該スレーブノードに、外部ディメンションテーブルの完全な複製及び外部ディメンションテーブルの分割された一部を有することで、問合せを最適化し、最高のシステムパフォーマンスを生むようにスレーブノードのテーブル参照を行うようにすることができる。
例えば、比較的小さなデータベースを全スレーブノードに分割及び分散することは、に十分なパフォーマンスを供しない可能性もある。
従って、本発明の実施形態の1つは、例えばこのような所定のサイズより小さい一部の外部ディメンションテーブルについては、分割を行わないという分割オプションが、デフォルトルールとして又はシステム管理者による入力によって設定されるものである。
ステップ309では、分割オプションが設定されていない場合又はテーブルが分割基準を満たしていない場合に、テーブルを垂直分割するか否かを判定する。
ステップ310では、垂直分割しない場合に、水平分割されたテーブルが、スレーブスキーマに生成される。
ステップ311では、垂直分割する場合に、垂直分割されたテーブルが、スレーブスキーマに生成される。
なお、これらの垂直分割されたテーブルは、水平分割されたテーブルを垂直分割したものであり、セットとしては、ステップ310で生成された水平分割されたテーブルと同じものである。
スレーブスキーマは、マスターノード及びスレーブノードにより、データベーステーブルをデータベースシステムにロードし、分割するために用いられる。
個々のデータベースのデータは、マスターノードの中の1つ又は一括ローディング専用のノードのいずれかを介して、本発明のデータベースシステムに一括ローディングされる。
ステップ601では、ロードされた各々のテーブルについて、関連するテーブルの適切なロックを設定することにより、スレーブノードがデータを受信する準備をする。
好ましくは、データは、ノード間のネットワークによりマルチキャスティング機能を介してスレーブノードに伝送される。
ステップ603では、スレーブノードによって受信されたテーブルが、スレーブスキーマに基づいて分割される。
スレーブ管理ソフト34は、個々のスレーブノードのテーブルをロード及び分割するべく、テーブルの各行を調査する。
ステップ700では、テーブルが全てロードされるか否かが判定される。全てロードされる場合には、各行が適切なテーブルへロードされる。
ステップ703では、分割された構成が保持される場合に、個々のスレーブノードの分割されたテーブルに行が含まれているか否かを判定するべく、各行が調査される。
ここで、各々のスレーブノードは、分割されたテーブルの行の一意な一部が割り当てられることに留意する。
テーブルの行を分割するのに用いるアルゴリズムに基づき、個々のスレーブノードに調査された列を割り当てるか否かが判定される。
日付分割では、データベーステーブルは、データに含まれる基準となる日付に基づいて分割され分散される。その日付は、予め設定されたルールを用いて設定されるか、又はシステム管理者による入力によってコントロールされる。例えば、個々の年、四半期又は月の間のデータが、異なるスレーブノードに格納されることができる。
しかしながら、日付分割されたテーブルは、他の分割された又は分割されていないテーブルとともに、通常のスレーブノードに格納されることも可能である。
ステップ705では、日付分割されたスレーブノードである場合に、調査された行がそのスレーブノードによって格納される日付範囲に該当するかどうかが判定される。
ステップ706では、スレーブノードが日付分割されたスレーブノードであり、且つ、行が基準となる日付の範囲に該当する場合、行がスレーブスキーマに基づいて垂直分割されるか否かが判定される。
ステップ708では、行が垂直分割されない場合、行が適切な水平分割されたテーブルに書き込まれる。
本発明の付加的な特徴は、周知の分割アルゴリズムのいずれかを用いて、スレーブノードにおける更なるレベルのテーブル分割を行う方法である。
例えば、テーブルはハッシュ値または日付範囲によって分割されることができる。
このプロテクトを実行するために、スレーブノードは、フェールオーバパートナーを割り当てられる。各々のスレーブノードは、それ自身が有する分割されたテーブルに加え、フェールオーバパートナーが有する分割されたテーブルをも格納し、関連したテーブルをアップデートするために、前述したような同じアルゴリズムを用いる。
このことにより、RAID0のディスクシステムが高いパフォーマンスを提供するべく用いられることが可能であり、高いレベルのRAIDシステムに伴う大きなコストを必要としないことから、実装コストを低減させることができる。
ステップ710では、行が垂直分割される場合、それが垂直分割されたテーブルの適切なセットに書き込まれる。
ステップ711では、行がスレーブノードの水平分割されたテーブルの一部であるか否かが判定される。
ステップ713では、一旦個々のテーブルの行の全てがデータベースに追加されると、影響を受けるさまざまな物理テーブルのインデックスがアップデートされる。
問合せキャッシュは、各々のマスターノードのDBMS31及び各々のスレーブノードのDBMS33に格納され、保持される。問合せキャッシュは、個々のノードにおいて実行される問合せに対する問合せ結果を格納する。
テーブルがデータベースシステムにロードされるときに、問合せキャッシュ、及び、テーブルの前のバージョン(版)に基づいて生成された結果を含む一時テーブルキャッシュは、初期化されなければならない。
ステップ604では、これに従い、関連した問合せキャッシュ及び一時テーブルキャッシュは存在しない。
これらのキャッシュの処理に関するより詳細な説明は、後述する。
データをデータベースシステムへロードするための付加的な処理は、生成されたスレーブスキーマ及びデータ分散に影響するシステム設定へアクセスする外部ホストシステムを用いて、データを、予めソートすることである。予めソートされたデータは、マスターノードを迂回し、直接スレーブノードにロードされることが可能である。
図8に示すように、各々のテーブル及び各々の予めソートされたデータの分割データは、調査され、適切なスレーブノードにロードされる。
ステップ800では、スレーブノードに全て格納された各々のテーブルについて、全てのスレーブノードが、テーブルを一括ローディングできる状態にされる。
ステップ801では、全てのテーブル内容が、全てのスレーブノードに伝送される。
ステップ803では、分割データはフェールオーバセットに伝送される。
ステップ804では、最後に、適切な問合せキャッシュ及び一時テーブルキャッシュが初期化される。
SQLステートメントは一般的に、ホストシステムによって各々のストリームに分けられ、各々のストリームは個々のユーザ又はアプリケーションに対応する。SQLステートメントを編成するためにストリームを用いることにより、ステートメントが、データベースシステムによって正しい順序で実行されることが確実となる。
データベースシステムによって受信されるSQLステートメントのストリームは、各々のマスターノードのストリーム管理ソフトウェア20によって管理される。
前述のように、本発明のデータベースシステムは、1つ以上の個数のマスターノードを有する。
外部のホストシステムによって送信されるSQLステートメントは、各々のマスターノードによって受信され、図9に記載されている方法で処理される。
ステップ902では、ステートメントが新規のストリームの開始である場合、ストリーム管理ソフトウェア20は、ストリームを当該マスターノードにおいて制御するべきか否かを判定する。
ステップ903では、ステップ902において当該マスターノードがストリームを制御すると判定された場合、ストリーム管理ソフトウェア20は、当該マスターノードがストリームを制御することを、他のマスターノードに通知する。
ステップ904において、同一のステートメントが、マスターノードにより配下のテーブルに対する更新において以前に処理されたかどうかを判定するべく、ステートメントが問合せキャッシュと比較される。
ステップ906では、ステートメントが問合せキャッシュで見つからない場合、受信したステートメントが当該マスターノードによって制御されるストリームの一部であるか否かが判定される。
ステートメントが当該マスターノードによって制御されるストリームの一部でない場合、当該マスターノードによるステートメント処理は終了し、ストリーム管理ソフトウェア20は、次のステートメントが受信されるのを待機する。
ステップ1001では、新たな処理における各々のステートメントを生成するべく、ステートメントがトークン化される。
ステップ1002では、トークンが解析される。
ステップ1003では、最後に、解析されたステートメントを処理する関連したサブルーチンがコールされる。
サブルーチンは、テーブルの改変(alter)、データの更新/登録、及び問合せ並列化(query parallelization)を含むことができるが、これに限られるものではない。
データベーステーブルの改変は、主にスレーブスキーマ生成ソフトウェア23によって実行される。
ステップ1101では、テーブルがファクトテーブル又は第1ディメンションテーブルである場合、改変するテーブルが垂直分割されているか否かが判定される。
ステップ1102では、テーブルが垂直分割されていない場合、テーブルの改変は、マスターノードのDBMS31に格納されたメタデータ及び各々のスレーブノードの、水平分割されたテーブルにおいて行われる。
ステップ1104では、改変されるテーブルがファクトテーブル又はディメンションテーブルでない場合、テーブルは、マスターノードのDBMS31に格納されたメタデータ及び各々のスレーブノードにおいて改変される。
ステップ1105では、改変されるテーブルが複数スレーブノードに対して分割されているか否かが判定される。
ステップ1107では、テーブルが垂直分割されていない場合、当該水平分割されたテーブルのセットのメタデータ及び実テーブルの内容が改変される。
ステップ1108では、テーブルが垂直分割されている場合、当該垂直分割されたテーブルのセットのメタデータ及び実テーブルの内容が改変される。
ステップ1109では、最後に、改変されたテーブルに依存する問合せキャッシュエントリおよび一時テーブルキャッシュエントリが初期化される。
ステップ1200では、更新又は登録された各々の行について、行がスレーブノードに分割された形態でのみ保持される例えばファクトテーブルや第1ディメンションテーブルと言ったテーブルの一部であるか否かが判定される。
ステップ1201では、行がスレーブノードに分割された形態でのみ保持されるテーブルの一部ではない場合、その行はシステムの各々のスレーブノードに書き込まれる。
ステップ1203では、行が、関連するスレーブノードの分割されたテーブルに書き込まれる。
ステップ1204では、変更された全てのデータベースのインデックスが更新される。
ステップ1205では、データが更新/登録されたテーブルに依存する全ての問合せキャッシュおよび一時テーブルキャッシュエントリが初期化される。
問合せステートメントは、問合せ並列化ソフトウェア25によって処理され、最適化される。
ステップ1301では、問合せがデータベースシステムの日付分割設定に含まれる特定の日付範囲を調査するか否かを判定する。
ステップ1302では、問合せが日付分割に含まれる日付範囲を調査する場合、特定の日付範囲に用いられるスレーブノードのグループが指定される。
ステップ1303では、問合せが特定の日付範囲を調査しない場合、又は日付範囲がどの日付分割設定にも相当しない場合、全てのスレーブノードは問合せを実行するのに用いられるべく指定される。
ステップ1304では、夫々独立して実行する必要がある副問合せが、2つの別々の問合せに分割される。
副問合せは、マスターノードにおいて集められる中間結果を伴ってまず実行され、更なる処理のために、残りの問合せとともに、スレーブノードに返される。
ステップ1306では、問合せ最適化プログラムは、再び当業者に周知の技術を用いて、多重処理及び単一処理のストラテジー(strategies)のコストを評価し、最も低いコストの機能を選択する。多重処理が最適である場合は多重処理を、単一処理が最適である場合は単一処理を行なう。
ステップ1309では、問合せが、単一処理の問合せを行うステップ1307又は多重処理の問合せを行うステップ1308のいずれかを経て処理され、結果セットがホストに返される。
問合せは、ホストスキーマからテーブル名を運用しているテーブルを参照する外部のホストシステムから受け取られる。スレーブノードを用いて問合せを並列に処理するために、テーブル名は、スレーブスキーマに準ずるテーブル名に置き換えられなければならない。別の実施例においては、単一処理の問合せは直線的にスレーブノードを経由することができるため、ホストスキーマで用いられるテーブル名は、生成されたスレーブスキーマで用いることが可能であった。
ステップ1401では、問合せにおいて参照されるテーブル名が、スレーブスキーマに準ずるテーブル名に置き換えられる。
ステップ1500では、問合せからの結合及び/又はテーブルは、ファクトテーブルの外部における処理を再要求される。
ステップ1501では、要求された問合せが、その問合せにおいて実行されるべき結合を含むか否かを判定するべく調査される。
テーブルがスレーブノードにおいて完全に保持される場合、テーブル名を置き換えることなく、処理を終了する。
ステップ1503では、テーブルが分割された形態でのみ保持される場合、スレーブスキーマにおいて、テーブルが垂直分割されているか否かが判定される。
ステップ1505では、テーブルがスレーブスキーマにおいて垂直分割されている場合、問合せにおいて、垂直分割によって削除された列(例えば大きいコメントフィールドなど)が用いられるか否かが判定される。
ステップ1506では、削除された列が問合せで用いられない場合、テーブル名が、関連した垂直分割されたテーブルの名称で置き換えられる。
ステップ1501において、問合せが結合を含むと判定された場合、各々の結合は順次に調査される。
ステップ1508では、処理中の問合せにおける各々のテーブルについて、テーブルがファクトテーブルか第1ディメンションテーブルかが判定される。
ステップ1510では、テーブルが垂直分割されていない場合、テーブル名が、対応する水平分割されたテーブルの名称で置き換えられる。
ステップ1511では、テーブルが垂直分割されている場合、問合せが垂直分割において削除された列を用いているか否かが判定される。
ステップ1513では、問合せが削除された列を用いる場合、テーブル名は、対応する垂直分割されたテーブルの名称で置き換えられる。また、削除された列を含むテーブルから対応する列を取得するように問合せが修正される。
これは、当業者なら周知の技術を用い、行識別子を介して成し遂げられる。
ステップ1508においてテーブルがファクトテーブル又は第1ディメンションテーブルでないと判定された場合、ステップ1514では、調査された問合せで用いたテーブル名が、対応する水平分割されたテーブル名で置き換えられる。
そのとき、ステップ1509からステップ1513が、既述した方法で繰り返される。
ステップ1515では、テーブル名が水平分割されたテーブル名で置き換えられなかった場合、テーブルが、既に用いられている水平分割されたテーブルと同じ分割キーを有するか否かが判定される。
テーブルが、同じ分割キーを有する場合、結合がテーブルにおける同じ位置の分割の間で実行され、処理がステップ1509から1513へと進み、前述したように実行される。
テーブルが同一の分割キーを有しない場合、テーブル名は置き換えられず、処理が終了する。
例えば、問合せがより効率的に実行されるために、I/Oサイクルと関連するCPUサイクルのコスト設定が変更可能である。
ステップ1403では、最適化された問合せがスレーブノードに伝送される。
ここで、場合によっては、スレーブ管理ソフトウェアの介入なしで、スレーブノードのDBMSによって直接問合せが実行可能であることに留意する。
ステップ1600では、マスターノードから新規の問合せを受信すると、スレーブ管理ソフトウェア34は、問合せがスレーブノードで用いられるDBMSにおいて解釈可能になるように変換される必要があるか否かが判定される。
ステップ1601では、変換が必要な場合、問合せは当該DBMSにおいて解釈可能になるように変換される。
ステップ1603では、最適化が必要である場合、問合せが最適化される。
マスターレベルで処理が実行されるのと同様に、新規の問合せがその問合せにおいて参照されたテーブルに対する変更を介在させることなく、以前にデータベースに対して行われたか否かを調べるために、問合せキャッシュと照合される。
ここで、一部のDBMS製品は、自分自身の問合せキャッシュを保持する。スレーブノードで実行されているDBMSが問合せキャッシュを保持している場合、スレーブ管理ソフトウェア34は、それ自身の問合せキャッシュをチェック及び保持する必要がない。
ステップ1604では、受信された問合せが、問合せキャッシュと比較される。
ステップ1605では、問合せが問合せキャッシュに存在する場合、結果セットが問合せキャッシュから検索される。
ステップ1607では、一旦結果セットが取得されると、スレーブ管理ソフトウェア34は、結果セットがマスターノードに返される前に、後処理が必要であるか否かが判定される。
ステップ1608では、後処理が必要とされる場合、それが実行される。
ステップ1609では、結果セットが、問合せを発行したマスターノードへ返される。
ステップ1404では、結果セット解析ソフトウェア28は、受信した結果セットの後処理を実行する。
後処理は、複数の結果セットを1つの結果セットに結合させ、結果セットのなかで結果を編成し、問合せを生成する外部ホストシステムと互換性のあるフォーマットに結果セットを変換することを含むが、この限りではない。
ステップ1701では、問合せは2つ以上のスレーブ問合せに分割される。
これらの問合せを、一連のスレーブノードにおいて実行される複数のスレーブ問合せに分割することは、元々の(分割前の)問合せを処理するためにスレーブノード間でデータを伝送する必要をなくし、また、これらの問合せを実行するシステムパフォーマンスを改善する。
ステップ1702では、スレーブ問合せを実行するときに、スレーブ問合せが、一時テーブルが依存する配下のテーブルに対する変更を介在させることなく既に実行されたか否かを判定するべく、スレーブ問合せが一時テーブルキャッシュと照合される。
ステップ1703では、一時テーブルキャッシュと一致しない場合、スレーブ問合せに対する一時テーブルが生成される。
これらのステップにおける処理は、図14のステップ1401から1404における処理と同様であることから、詳細な説明を省略する。
ステップ1709では、更なるスレーブ問合せが実行される場合、次のスレーブ問合せが処理のために一時テーブルを必要とするか否かを判定する。
ステップ1710では、一時テーブルがスレーブにおいて必要とされる場合、一時テーブルがスレーブノードに送信され、ステップ1702の処理へ戻る。
なお、一時テーブルが必要とされない場合、次のスレーブ問合せのために、そのままステップ1702の処理へ戻る。
適切なシステム管理ソフトウェアの一例は、IPMI(Intelligent Platform Management Interface)及びIntelのシステムマネージャを含んで構成される。
図18で示される処理は、障害が発生したマスターノードによって制御されている各々のストリームに対して実行される。
本発明の一実施例によれば、この判定は、データベースシステムにより受信された新規のストリームを操作するのに用いられるのと同様の負荷分散方法を用いたデータベースシステムの使用可能なマスターノードの間で行われる。
しかしながら、当業者なら周知の他の方法を、この判定をするのに用いることができる。
一旦マスターノードがストリームの制御を引き受けると、当該ストリームからの各々の不完全なステートメントが、マスターノードによって占有される。ステップ1802では、不完全なステートメントが、周知のトランザクション管理技術によってロールバックされる。
ステップ1803では、ステートメントが再実行される。
ステップ1900では、スレーブノードに障害が発生した場合、ストリーム管理ソフトウェア20に障害が通知される。ストリーム管理ソフトウェアは、さらに、管理コンソール35を介して、ノード障害についてシステム管理者に通知する。
ステップ1901では、障害が発生したスレーブノードに関連する各々の不完全トランザクションについて、ストリーム管理ソフトウェア20は、不完全トランザクションをロールバックする。
障害が発生したスレーブノードが復旧されているか又は交換されている間、マスターノードは、正規に使用されるスレーブノード及び対応するフェールオーバパートナーの両方において問合せを実行する。従って、データベースシステムの動作は、スレーブノードにおける障害発生にも関わらず、維持される。一旦スレーブノードが復旧又は交換されると、マスターノードは通常の問合せ実行に戻る。
この構成では、マスターノードによって実行される処理が、パフォーマンスを向上するべく、複数のレイヤに分解される。さらに、スレーブノードレベルにおいて実行される一部の処理は、マスターノードレベルに移されることができる。
まず、本発明のデータベースシステムは、データベースシステムのパフォーマンスにおける問合せスキュー及び不利益な影響を防ぐことができる。
次に、データベースシステムのスレーブノード全体におけるデータベースの分割及び分散が、自動的に行われる。
これは、システム管理を煩雑にすることなく、システムパフォーマンスを向上する。
また、二層のキャッシュが問合せキャッシュに用いられることにより、同じ問合せを複数回不必要に繰り返すことを防ぐことができる。さらに、ノードに障害が発生した場合であっても、データベースシステムのフェールオーバ処理により、システム動作を維持することができる。
11 マスターノード
12 スレーブノード
13 ネットワーク
14 マスターノードの中央演算処理装置(CPU)
15 マスターノードのメモリ(RAM)
16 マスターノードのディスク
17 スレーブノードの中央演算処理装置(CPU)
18 スレーブノードのメモリ(RAM)
19 スレーブノードのディスク
20 ストリーム管理ソフトウェア
21 問合せキャッシュソフトウェア
22 SQL解析ソフトウェア
23 スレーブスキーマ生成ソフトウェア
24 更新/登録ソフトウェア
25 問合せ並列化ソフトウェア
26 マルチステップ問合せ実行ソフトウェア
28 結果セット解析ソフトウェア
29 日付分割メンテナンスソフトウェア
30 一括ローディングソフトウェア
31 マスターノードのDBMS
32 システム管理ソフトウェア
33 スレーブノードのDBMS
34 スレーブ管理ソフトウェア
35 管理コンソールソフトウェア
Claims (28)
- マスターノードと、
複数のスレーブノードと、
ファクトテーブル及び複数のディメンションテーブルを含むデータベースを、前記複数のスレーブノードに分散させるための分散手段と
を備えた並列データベースシステムであって、
前記分散手段は、
前記ファクトテーブルと、前記複数のディメンションテーブルのうちの第1ディメンションテーブルとを、前記ファクトテーブル及び前記第1ディメンションテーブルが共通に有する共通キーを使用して分割し、該分割されたファクトテーブルの一部と該分割された第1ディメンションテーブルの一部とを前記複数のスレーブノードに格納し、
前記複数のディメンションテーブルのうち前記第1のディメンションテーブル以外の全てのディメンションテーブルをそれぞれ複製して、該複製されたディメンションテーブルの各々を前記複数のスレーブノードの各々に格納し、
前記複数のディメンションテーブルのうち、前記第1のディメンションテーブルおよび最小サイズを有するディメンションテーブル以外の他のディメンションテーブルを分割して、前記他のディメンションテーブルの分割された一部を前記複数のスレーブノードに格納することを特徴とする並列データベースシステム。 - 前記他のディメンションテーブルは、行分割されることを特徴とする請求項1記載の並列データベースシステム。
- 前記他のディメンションテーブルは、列分割されることを特徴とする請求項1記載の並列データベースシステム。
- 前記他のディメンションテーブルは、行分割及び列分割の両方で分割されることを特徴とする請求項1記載の並列データベースシステム。
- 前記ファクトテーブル及び前記第1ディメンションテーブルは、行分割されることを特徴とする請求項1記載の並列データベースシステム。
- 前記ファクトテーブル及び前記第1ディメンションテーブルは、前記共通キーでハッシュ分割されることを特徴とする請求項5記載の並列データベースシステム。
- 前記ファクトテーブル及び前記第1ディメンションテーブルは、さらに列分割されることを特徴とする請求項5記載の並列データベースシステム。
- 前記ファクトテーブル及び前記複数のディメンションテーブルは、各テーブル内のデータの日付に応じて分割され、前記複数のスレーブノードに格納されることを特徴とする請求項1記載の並列データベースシステム。
- 前記データベースに対する問合せを、前記複数のスレーブノード間のデータの伝送を必要とせずに前記並列データベースシステムによって実行可能な少なくとも1つの副問合せに変換するための変換手段をさらに備えたことを特徴とする請求項1記載の並列データベースシステム。
- 前記データベースシステムによって生成された問合せの結果をキャッシュするための手段をさらに備えたことを特徴とする請求項9記載の並列データベースシステム。
- 前記マスターノードは、該マスターノードにより生成された問合せの結果をキャッシュするための手段を含むことを特徴とする請求項10記載の並列データベースシステム。
- 前記複数のスレーブノードはそれぞれ、該スレーブノードによって生成された副問合せの結果をキャッシュするための手段を含むことを特徴とする請求項11記載の並列データベースシステム。
- 各スレーブノードに格納された各テーブルの複製は、前記複数のスレーブノードのうち、該スレーブノードのフェールオーバパートナーとして指定された他のスレーブノードに格納されることを特徴とする請求項1記載の並列データベースシステム。
- 前記複数のスレーブノードのうち障害が発生したスレーブノードによって実行されるべき副問合せは、前記障害が発生したスレーブノードの前記フェールオーバパートナーとして指定された前記他のスレーブノードで実行されることを特徴とする請求項13記載の並列データベースシステム。
- マスターノードと複数のスレーブノードとを含む並列データベースシステムにおいて、ファクトテーブル及び複数のディメンションテーブルを備えるデータベースを管理するための方法であって、
前記マスターノードが、前記データベースの前記ファクトテーブルと前記複数のディメンションテーブルのうちの第1ディメンションテーブルとを識別するステップと、
前記マスターノードが、前記ファクトテーブルと前記第1ディメンションテーブルとを、前記ファクトテーブル及び前記第1ディメンションテーブルが共通に有する共通キーを使用して分割し、該分割されたファクトテーブルの一部と該分割された第1ディメンションテーブルの一部とを前記複数のスレーブノードに格納させるステップと、
前記マスターノードが、前記複数のディメンションテーブルのうち前記第1ディメンションテーブル以外の全てのディメンションテーブルをそれぞれ複製して、該複製されたディメンションテーブルの各々を、前記複数のスレーブノードの各々に格納させるステップと、
前記マスターノードが、前記複数のディメンションテーブルのうち前記第1のディメンションテーブルおよび最小サイズを有するディメンションテーブル以外の他のディメンションテーブルを分割して、前記他のディメンションテーブルの分割された一部を前記複数のスレーブノードに格納させるステップと、
を含むことを特徴とする方法。 - 前記他のディメンションテーブルは、行分割されることを特徴とする請求項15記載の方法。
- 前記他のディメンションテーブルは、列分割されることを特徴とする請求項15記載の方法。
- 前記他のディメンションテーブルは、行分割及び列分割の両方で分割されることを特徴とする請求項15記載の方法。
- 前記ファクトテーブル及び前記第1ディメンションテーブルは、行分割されることを特徴とする請求項15記載の方法。
- 前記ファクトテーブル及び前記第1ディメンションテーブルは、前記共通キーでハッシュ分割されることを特徴とする請求項19記載の方法。
- 前記ファクトテーブル及び前記第1ディメンションテーブルは、さらに列分割されることを特徴とする請求項19記載の方法。
- 前記ファクトテーブル及び前記第1ディメンションテーブルを各テーブル内のデータの日付に従って分割して、前記複数のスレーブノードに格納させるステップをさらに含むことを特徴とする請求項15記載の方法。
- 前記マスターノードが、前記データベースに対する問合せを、前記複数のスレーブノード間のデータの伝送を必要とせずに前記並行データベースシステムによって実行可能な少なくとも1つの副問合せに変換するステップをさらに含むことを特徴とする請求項15記載の方法。
- 前記マスターノードが生成した問合せの結果を該マスターノード内にキャッシュするステップをさらに含むことを特徴とする請求項23記載の方法。
- 前記複数のスレーブノードの各々が、前記少なくとも1つの副問合せの結果をキャッシュするステップをさらに含むことを特徴とする請求項23記載の方法。
- 各スレーブノードに格納された各テーブルの複製を、前記複数のスレーブノードのうち、該スレーブノードのフェールオーバパートナーとして指定された他のスレーブノードに格納させるステップをさらに含むことを特徴とする請求項15記載の方法。
- 前記複数のスレーブノードのうち障害が発生したスレーブノードによって実行される副問合せを、該障害が発生したスレーブノードの前記フェールオーバパートナーとして指定された前記他のスレーブノードが実行するステップをさらに含むことを特徴とする請求項26記載の方法。
- 請求項15乃至27のいずれかに記載の方法を実行するためのプログラムを記録したことを特徴とするコンピュータ読取可能な記録媒体。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US54642804P | 2004-02-21 | 2004-02-21 | |
US60/546,428 | 2004-02-21 | ||
PCT/US2005/005199 WO2005098655A2 (en) | 2004-02-21 | 2005-02-17 | Ultra-shared-nothing parallel database |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007531087A JP2007531087A (ja) | 2007-11-01 |
JP4777972B2 true JP4777972B2 (ja) | 2011-09-21 |
Family
ID=35125731
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007503912A Expired - Lifetime JP4777972B2 (ja) | 2004-02-21 | 2005-02-17 | 無共有型並列データベースシステム及びデータベース管理方法 |
Country Status (9)
Country | Link |
---|---|
US (1) | US7818349B2 (ja) |
EP (1) | EP1716505B1 (ja) |
JP (1) | JP4777972B2 (ja) |
KR (1) | KR101114149B1 (ja) |
CN (1) | CN101120340B (ja) |
AU (1) | AU2005231230B2 (ja) |
CA (1) | CA2556979A1 (ja) |
MX (1) | MXPA06009355A (ja) |
WO (1) | WO2005098655A2 (ja) |
Families Citing this family (166)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7010538B1 (en) * | 2003-03-15 | 2006-03-07 | Damian Black | Method for distributed RDSMS |
US7562143B2 (en) | 2004-01-13 | 2009-07-14 | International Business Machines Corporation | Managing escalating resource needs within a grid environment |
US7406691B2 (en) | 2004-01-13 | 2008-07-29 | International Business Machines Corporation | Minimizing complex decisions to allocate additional resources to a job submitted to a grid environment |
US7552437B2 (en) | 2004-01-14 | 2009-06-23 | International Business Machines Corporation | Maintaining application operations within a suboptimal grid environment |
US7266547B2 (en) * | 2004-06-10 | 2007-09-04 | International Business Machines Corporation | Query meaning determination through a grid service |
US7778997B1 (en) | 2004-06-11 | 2010-08-17 | Seisint, Inc. | System and method for managing throughput in the processing of query requests in a database system |
US7797333B1 (en) | 2004-06-11 | 2010-09-14 | Seisint, Inc. | System and method for returning results of a query from one or more slave nodes to one or more master nodes of a database system |
US7801911B1 (en) * | 2004-06-11 | 2010-09-21 | Seisint, Inc. | System and method for using activity identifications in a database system |
US7693826B1 (en) * | 2004-06-11 | 2010-04-06 | Seisint, Inc. | System and method for pre-compiling a query and pre-keying a database system |
US7739287B1 (en) | 2004-06-11 | 2010-06-15 | Seisint, Inc. | System and method for dynamically creating keys in a database system |
US7917495B1 (en) | 2004-06-11 | 2011-03-29 | Seisint, Inc. | System and method for processing query requests in a database system |
US8266234B1 (en) * | 2004-06-11 | 2012-09-11 | Seisint, Inc. | System and method for enhancing system reliability using multiple channels and multicast |
US7406461B1 (en) | 2004-06-11 | 2008-07-29 | Seisint, Inc. | System and method for processing a request to perform an activity associated with a precompiled query |
US7873650B1 (en) * | 2004-06-11 | 2011-01-18 | Seisint, Inc. | System and method for distributing data in a parallel processing system |
US7457796B2 (en) * | 2004-07-08 | 2008-11-25 | International Business Machines Corporation | Method using virtual replicated tables in a cluster database management system |
US7712100B2 (en) | 2004-09-14 | 2010-05-04 | International Business Machines Corporation | Determining a capacity of a grid environment to handle a required workload for a virtual grid job request |
US7707288B2 (en) | 2005-01-06 | 2010-04-27 | International Business Machines Corporation | Automatically building a locally managed virtual node grouping to handle a grid job requiring a degree of resource parallelism within a grid environment |
US7502850B2 (en) | 2005-01-06 | 2009-03-10 | International Business Machines Corporation | Verifying resource functionality before use by a grid job submitted to a grid environment |
US7590623B2 (en) | 2005-01-06 | 2009-09-15 | International Business Machines Corporation | Automated management of software images for efficient resource node building within a grid environment |
US7533170B2 (en) | 2005-01-06 | 2009-05-12 | International Business Machines Corporation | Coordinating the monitoring, management, and prediction of unintended changes within a grid environment |
US7793308B2 (en) | 2005-01-06 | 2010-09-07 | International Business Machines Corporation | Setting operation based resource utilization thresholds for resource use by a process |
US7761557B2 (en) | 2005-01-06 | 2010-07-20 | International Business Machines Corporation | Facilitating overall grid environment management by monitoring and distributing grid activity |
US7562035B2 (en) | 2005-01-12 | 2009-07-14 | International Business Machines Corporation | Automating responses by grid providers to bid requests indicating criteria for a grid job |
US7571120B2 (en) | 2005-01-12 | 2009-08-04 | International Business Machines Corporation | Computer implemented method for estimating future grid job costs by classifying grid jobs and storing results of processing grid job microcosms |
US7472079B2 (en) | 2005-01-12 | 2008-12-30 | International Business Machines Corporation | Computer implemented method for automatically controlling selection of a grid provider for a grid job |
US7467196B2 (en) | 2005-01-12 | 2008-12-16 | International Business Machines Corporation | Managing network errors communicated in a message transaction with error information using a troubleshooting agent |
JP4675174B2 (ja) * | 2005-07-12 | 2011-04-20 | 株式会社日立製作所 | データベース処理方法、システム及びプログラム |
US20070078809A1 (en) * | 2005-09-30 | 2007-04-05 | Rockwell Automation Technologies, Inc. | Robust data availability system having decentralized storage and multiple access paths |
US8688780B2 (en) * | 2005-09-30 | 2014-04-01 | Rockwell Automation Technologies, Inc. | Peer-to-peer exchange of data resources in a control system |
US20070143248A1 (en) * | 2005-12-19 | 2007-06-21 | Yahoo! Inc. | Method using query processing servers for query processing of column chunks in a distributed column chunk data store |
US7921132B2 (en) * | 2005-12-19 | 2011-04-05 | Yahoo! Inc. | System for query processing of column chunks in a distributed column chunk data store |
US8214388B2 (en) * | 2005-12-19 | 2012-07-03 | Yahoo! Inc | System and method for adding a storage server in a distributed column chunk data store |
US7860865B2 (en) * | 2005-12-19 | 2010-12-28 | Yahoo! Inc. | System of a hierarchy of servers for query processing of column chunks in a distributed column chunk data store |
US7921131B2 (en) * | 2005-12-19 | 2011-04-05 | Yahoo! Inc. | Method using a hierarchy of servers for query processing of column chunks in a distributed column chunk data store |
US7921087B2 (en) * | 2005-12-19 | 2011-04-05 | Yahoo! Inc. | Method for query processing of column chunks in a distributed column chunk data store |
US20100257135A1 (en) * | 2006-07-25 | 2010-10-07 | Mypoints.Com Inc. | Method of Providing Multi-Source Data Pull and User Notification |
US8086598B1 (en) | 2006-08-02 | 2011-12-27 | Hewlett-Packard Development Company, L.P. | Query optimizer with schema conversion |
US10007686B2 (en) * | 2006-08-02 | 2018-06-26 | Entit Software Llc | Automatic vertical-database design |
US8671091B2 (en) * | 2006-08-02 | 2014-03-11 | Hewlett-Packard Development Company, L.P. | Optimizing snowflake schema queries |
US20080288522A1 (en) * | 2007-01-26 | 2008-11-20 | Herbert Dennis Hunt | Creating and storing a data field alteration datum using an analytic platform |
US8160984B2 (en) | 2007-01-26 | 2012-04-17 | Symphonyiri Group, Inc. | Similarity matching of a competitor's products |
US9390158B2 (en) * | 2007-01-26 | 2016-07-12 | Information Resources, Inc. | Dimensional compression using an analytic platform |
US10621203B2 (en) * | 2007-01-26 | 2020-04-14 | Information Resources, Inc. | Cross-category view of a dataset using an analytic platform |
US9262503B2 (en) * | 2007-01-26 | 2016-02-16 | Information Resources, Inc. | Similarity matching of products based on multiple classification schemes |
US8504598B2 (en) | 2007-01-26 | 2013-08-06 | Information Resources, Inc. | Data perturbation of non-unique values |
US20080270363A1 (en) * | 2007-01-26 | 2008-10-30 | Herbert Dennis Hunt | Cluster processing of a core information matrix |
US20090006309A1 (en) * | 2007-01-26 | 2009-01-01 | Herbert Dennis Hunt | Cluster processing of an aggregated dataset |
US20080294996A1 (en) * | 2007-01-31 | 2008-11-27 | Herbert Dennis Hunt | Customized retailer portal within an analytic platform |
US8782075B2 (en) | 2007-05-08 | 2014-07-15 | Paraccel Llc | Query handling in databases with replicated data |
US9002827B2 (en) * | 2007-07-11 | 2015-04-07 | Teradata Us, Inc. | Database query table substitution |
US20090024570A1 (en) * | 2007-07-20 | 2009-01-22 | Oracle Internatonal Corporation | User defined query rewrite mechanism |
US7885969B2 (en) * | 2007-09-17 | 2011-02-08 | International Business Machines Corporation | System and method for executing compute-intensive database user-defined programs on an attached high-performance parallel computer |
US9626421B2 (en) | 2007-09-21 | 2017-04-18 | Hasso-Plattner-Institut Fur Softwaresystemtechnik Gmbh | ETL-less zero-redundancy system and method for reporting OLTP data |
US7917574B2 (en) * | 2007-10-01 | 2011-03-29 | Accenture Global Services Limited | Infrastructure for parallel programming of clusters of machines |
US8412548B2 (en) * | 2007-11-27 | 2013-04-02 | International Business Machines Corporation | Linked decision nodes in a business process model |
US20090198703A1 (en) * | 2008-01-31 | 2009-08-06 | Hewlett-Packard Development Company, L.P. | Intelligent data storage system |
US9177079B1 (en) * | 2009-01-22 | 2015-11-03 | Joviandata, Inc. | Apparatus and method for processing multi-dimensional queries in a shared nothing system through tree reduction |
US8893131B2 (en) * | 2008-04-11 | 2014-11-18 | Yahoo! Inc. | System and/or method for bulk loading of records into an ordered distributed database |
US8195712B1 (en) | 2008-04-17 | 2012-06-05 | Lattice Engines, Inc. | Lattice data set-based methods and apparatus for information storage and retrieval |
US8682853B2 (en) | 2008-05-16 | 2014-03-25 | Paraccel Llc | System and method for enhancing storage performance in analytical database applications |
JP5392254B2 (ja) * | 2008-05-30 | 2014-01-22 | 日本電気株式会社 | データベースシステム、データベース管理方法、データベース構造およびコンピュータプログラム |
US8099440B2 (en) * | 2008-08-15 | 2012-01-17 | International Business Machines Corporation | Method for laying out fields in a database in a hybrid of row-wise and column-wise ordering |
US20100088309A1 (en) * | 2008-10-05 | 2010-04-08 | Microsoft Corporation | Efficient large-scale joining for querying of column based data encoded structures |
US9251212B2 (en) * | 2009-03-27 | 2016-02-02 | Business Objects Software Ltd. | Profiling in a massive parallel processing environment |
US8700674B2 (en) * | 2009-07-14 | 2014-04-15 | Hewlett-Packard Development Company, L.P. | Database storage architecture |
US8972346B2 (en) * | 2009-12-11 | 2015-03-03 | International Business Machines Corporation | Method and system for minimizing synchronization efforts of parallel database systems |
US8346714B1 (en) * | 2009-12-17 | 2013-01-01 | Teradota Us, Inc. | Transactiontime and validtime timestamping in an enterprise active data warehouse |
JP5353682B2 (ja) * | 2009-12-22 | 2013-11-27 | 富士通株式会社 | 構成情報管理装置、分散情報管理システム、分散情報管理方法および分散情報管理プログラム |
US8990185B2 (en) | 2010-02-19 | 2015-03-24 | International Business Machines Corporation | Evaluating reference based operations in shared nothing parallelism systems |
US8290931B2 (en) * | 2010-02-22 | 2012-10-16 | Hewlett-Packard Development Company, L.P. | Database designer |
US8375047B2 (en) * | 2010-03-31 | 2013-02-12 | Emc Corporation | Apparatus and method for query prioritization in a shared nothing distributed database |
US8935248B2 (en) | 2010-05-17 | 2015-01-13 | United States Postal Service | Localized data affinity system and hybrid method |
US8768973B2 (en) | 2010-05-26 | 2014-07-01 | Pivotal Software, Inc. | Apparatus and method for expanding a shared-nothing system |
CN101916261B (zh) * | 2010-07-28 | 2013-07-17 | 北京播思软件技术有限公司 | 一种分布式并行数据库系统的数据分区方法 |
CN101916280A (zh) * | 2010-08-17 | 2010-12-15 | 上海云数信息科技有限公司 | 并行计算系统及按查询内容进行负载均衡的方法 |
JP5447679B2 (ja) | 2010-09-17 | 2014-03-19 | 富士通株式会社 | データ共有プログラム、端末、およびデータ共有方法 |
JP5276639B2 (ja) * | 2010-10-01 | 2013-08-28 | 日本電信電話株式会社 | 分散データベース管理装置および分散データベース管理プログラム |
US8442988B2 (en) | 2010-11-04 | 2013-05-14 | International Business Machines Corporation | Adaptive cell-specific dictionaries for frequency-partitioned multi-dimensional data |
US9292523B1 (en) * | 2011-03-23 | 2016-03-22 | Emc Corporation | Managing data storage |
CN102737033B (zh) * | 2011-03-31 | 2015-02-04 | 国际商业机器公司 | 数据处理设备及其数据处理方法 |
US9798831B2 (en) | 2011-04-01 | 2017-10-24 | Google Inc. | Processing data in a MapReduce framework |
US8924426B2 (en) * | 2011-04-29 | 2014-12-30 | Google Inc. | Joining tables in a mapreduce procedure |
US8793287B2 (en) | 2011-05-27 | 2014-07-29 | Sap Ag | Equi-joins between split tables |
US8965879B2 (en) | 2011-06-03 | 2015-02-24 | Microsoft Technology Licensing, Llc | Unique join data caching method |
CN102323946B (zh) * | 2011-09-05 | 2013-03-27 | 天津神舟通用数据技术有限公司 | 并行数据库中算子复用的实现方法 |
US8862606B1 (en) * | 2011-09-22 | 2014-10-14 | Emc Corporation | Executing correlated and multi-row subqueries in a MPP database |
CN103092886B (zh) * | 2011-11-07 | 2016-03-02 | 中国移动通信集团公司 | 一种数据查询操作的实现方法、装置及系统 |
US8892502B2 (en) * | 2011-12-07 | 2014-11-18 | Sap Se | Parallel processing of semantically grouped data in data warehouse environments |
US8914353B2 (en) | 2011-12-20 | 2014-12-16 | Sap Se | Many-core algorithms for in-memory column store databases |
US8676787B2 (en) | 2011-12-22 | 2014-03-18 | International Business Machines Corporation | Distributed multi-step abstract queries |
US8880565B2 (en) * | 2011-12-23 | 2014-11-04 | Sap Se | Table creation for partitioned tables |
US8868594B2 (en) * | 2011-12-23 | 2014-10-21 | Sap Ag | Split processing paths for a database calculation engine |
US8762378B2 (en) * | 2011-12-23 | 2014-06-24 | Sap Ag | Independent table nodes in parallelized database environments |
US9164864B1 (en) * | 2011-12-28 | 2015-10-20 | Emc Corporation | Minimizing false negative and duplicate health monitoring alerts in a dual master shared nothing database appliance |
US8938444B2 (en) * | 2011-12-29 | 2015-01-20 | Teradata Us, Inc. | Techniques for external application-directed data partitioning in data exporting from a database management system |
US9239851B1 (en) | 2012-07-12 | 2016-01-19 | Cross Commerce Media, Inc. | Advanced database systems and methods |
CN103748578B (zh) * | 2012-07-26 | 2017-10-10 | 华为技术有限公司 | 数据分布的方法、装置及系统 |
US9015721B2 (en) * | 2012-07-30 | 2015-04-21 | Hewlett-Packard Development Company, L. P. | Managing array computations during programmatic run-time in a distributed computing environment |
CN103678368B (zh) * | 2012-09-14 | 2017-02-08 | 华为技术有限公司 | 查询处理方法和装置 |
CN103714073B (zh) * | 2012-09-29 | 2017-04-12 | 国际商业机器公司 | 数据查询的方法和装置 |
CN104871153B8 (zh) * | 2012-10-29 | 2019-02-01 | 华为技术有限公司 | 用于分布式大规模并行处理数据库的方法和系统 |
US9195701B2 (en) | 2012-10-29 | 2015-11-24 | Futurewei Technologies, Inc. | System and method for flexible distributed massively parallel processing (MPP) database |
US8799284B2 (en) | 2012-11-30 | 2014-08-05 | Futurewei Technologies, Inc. | Method for automated scaling of a massive parallel processing (MPP) database |
US20140214886A1 (en) | 2013-01-29 | 2014-07-31 | ParElastic Corporation | Adaptive multi-client saas database |
US10585896B2 (en) * | 2013-03-12 | 2020-03-10 | Red Hat, Inc. | Managing data in relational database management system |
US10049159B2 (en) * | 2013-03-15 | 2018-08-14 | Sas Institute Inc. | Techniques for data retrieval in a distributed computing environment |
CN104252452B (zh) * | 2013-06-25 | 2019-03-15 | 腾讯科技(深圳)有限公司 | 数据管理的方法及装置 |
JP6069503B2 (ja) * | 2013-07-01 | 2017-02-01 | 株式会社日立製作所 | 系列データ並列分析基盤およびその並列分散処理方法 |
US20150113314A1 (en) * | 2013-07-11 | 2015-04-23 | Brian J. Bulkowski | Method and system of implementing a distributed database with peripheral component interconnect express switch |
CN103412897B (zh) * | 2013-07-25 | 2017-03-01 | 中国科学院软件研究所 | 一种基于分布式结构的并行数据处理方法 |
US9600514B2 (en) | 2013-09-09 | 2017-03-21 | VoltDB, Inc. | Methods and systems for detecting data divergence and inconsistency across replicas of data within a shared-nothing distributed database |
US10176240B2 (en) | 2013-09-12 | 2019-01-08 | VoltDB, Inc. | Methods and systems for real-time transactional database transformation |
US9836519B2 (en) * | 2013-09-20 | 2017-12-05 | Oracle International Corporation | Densely grouping dimensional data |
US9378232B2 (en) * | 2013-09-21 | 2016-06-28 | Oracle International Corporation | Framework for numa affinitized parallel query on in-memory objects within the RDBMS |
US9684682B2 (en) | 2013-09-21 | 2017-06-20 | Oracle International Corporation | Sharding of in-memory objects across NUMA nodes |
US10061789B2 (en) * | 2013-10-28 | 2018-08-28 | Excalibur Ip, Llc | Dynamic database indexes for entity attribute value stores |
CN103559255B (zh) * | 2013-11-01 | 2017-01-04 | 北京理工大学 | 一种分布式液压系统的可视化数据处理方法 |
US9898398B2 (en) | 2013-12-30 | 2018-02-20 | Microsoft Technology Licensing, Llc | Re-use of invalidated data in buffers |
US9723054B2 (en) | 2013-12-30 | 2017-08-01 | Microsoft Technology Licensing, Llc | Hierarchical organization for scale-out cluster |
US9639571B2 (en) | 2013-12-30 | 2017-05-02 | VoltDB, Inc. | Methods and systems for increasing capacity and performing data rebalancing without downtime to a distributed shared-nothing database with serializable isolation |
US9430508B2 (en) | 2013-12-30 | 2016-08-30 | Microsoft Technology Licensing, Llc | Disk optimized paging for column oriented databases |
US9569493B2 (en) | 2013-12-31 | 2017-02-14 | International Business Machines Corporatin | Avoidance of intermediate data skew in a massive parallel processing environment |
AU2014376253B2 (en) * | 2014-01-09 | 2018-07-26 | Dow Global Technologies Llc | Composite polyamide membrane having preferred azo content |
US11386085B2 (en) | 2014-01-27 | 2022-07-12 | Microstrategy Incorporated | Deriving metrics from queries |
US10635669B1 (en) | 2014-01-27 | 2020-04-28 | Microstrategy Incorporated | Data engine integration and data refinement |
US10255320B1 (en) | 2014-01-27 | 2019-04-09 | Microstrategy Incorporated | Search integration |
US11921715B2 (en) | 2014-01-27 | 2024-03-05 | Microstrategy Incorporated | Search integration |
US9952894B1 (en) * | 2014-01-27 | 2018-04-24 | Microstrategy Incorporated | Parallel query processing |
US10108686B2 (en) * | 2014-02-19 | 2018-10-23 | Snowflake Computing Inc. | Implementation of semi-structured data as a first-class database element |
US9824106B1 (en) | 2014-02-20 | 2017-11-21 | Amazon Technologies, Inc. | Hash based data processing |
US9684666B1 (en) * | 2014-02-28 | 2017-06-20 | Pivotal Software, Inc. | Parallel streaming of external data |
US9679012B1 (en) * | 2014-02-28 | 2017-06-13 | Pivotal Software, Inc. | Parallel streaming of external data |
US9684671B1 (en) * | 2014-02-28 | 2017-06-20 | Pivotal Software, Inc. | Parallel streaming of external data |
CN103927337B (zh) * | 2014-03-26 | 2017-12-19 | 北京国双科技有限公司 | 用于联机分析处理中关联关系的数据处理方法和装置 |
US9552390B2 (en) | 2014-04-29 | 2017-01-24 | Futurewei Technologies, Inc. | System and method for out of order multiple query execution within stored procedure |
US10002148B2 (en) | 2014-07-22 | 2018-06-19 | Oracle International Corporation | Memory-aware joins based in a database cluster |
US9875259B2 (en) | 2014-07-22 | 2018-01-23 | Oracle International Corporation | Distribution of an object in volatile memory across a multi-node cluster |
KR101472257B1 (ko) * | 2014-07-22 | 2014-12-11 | (주)카디날정보기술 | 예측 논리적 데이터 지역성을 이용한 병렬질의 처리 방법 및 장치 |
CN105468651B (zh) * | 2014-09-12 | 2020-03-27 | 阿里巴巴集团控股有限公司 | 一种关系数据库数据查询方法及系统 |
US10089357B2 (en) | 2014-09-26 | 2018-10-02 | Oracle International Corporation | System and method for generating partition-based splits in a massively parallel or distributed database environment |
US10380114B2 (en) | 2014-09-26 | 2019-08-13 | Oracle International Corporation | System and method for generating rowid range-based splits in a massively parallel or distributed database environment |
US10387421B2 (en) | 2014-09-26 | 2019-08-20 | Oracle International Corporation | System and method for generating size-based splits in a massively parallel or distributed database environment |
US10528596B2 (en) | 2014-09-26 | 2020-01-07 | Oracle International Corporation | System and method for consistent reads between tasks in a massively parallel or distributed database environment |
US10180973B2 (en) | 2014-09-26 | 2019-01-15 | Oracle International Corporation | System and method for efficient connection management in a massively parallel or distributed database environment |
US10089377B2 (en) * | 2014-09-26 | 2018-10-02 | Oracle International Corporation | System and method for data transfer from JDBC to a data warehouse layer in a massively parallel or distributed database environment |
US10394818B2 (en) | 2014-09-26 | 2019-08-27 | Oracle International Corporation | System and method for dynamic database split generation in a massively parallel or distributed database environment |
US9767149B2 (en) | 2014-10-10 | 2017-09-19 | International Business Machines Corporation | Joining data across a parallel database and a distributed processing system |
CN106415534B (zh) * | 2015-05-31 | 2019-09-20 | 华为技术有限公司 | 一种分布式数据库中关联表分区的方法和设备 |
CN106716400B (zh) | 2015-06-26 | 2019-09-27 | 华为技术有限公司 | 一种数据表的分区管理方法及装置 |
US10482076B2 (en) * | 2015-08-14 | 2019-11-19 | Sap Se | Single level, multi-dimension, hash-based table partitioning |
US10198228B2 (en) | 2016-03-03 | 2019-02-05 | Ricoh Company, Ltd. | Distributed data tables for print jobs in a print workflow system |
WO2018028797A1 (en) * | 2016-08-12 | 2018-02-15 | Telefonaktiebolaget Lm Ericsson (Publ) | Methods and systems for bulk loading of data into a distributed database |
CN106339432A (zh) * | 2016-08-19 | 2017-01-18 | 上海巨数信息科技有限公司 | 一种按查询内容进行负载均衡的系统及其方法 |
KR101936273B1 (ko) * | 2016-08-23 | 2019-01-08 | 주식회사 한컴시큐어 | 대용량 데이터베이스에 최적화된 암호화 스케줄링의 자동화가 가능한 데이터베이스 암호화 장치 및 그 동작 방법 |
US10846318B1 (en) | 2017-04-18 | 2020-11-24 | Microstrategy Incorporated | Natural language visualizations |
US11003662B2 (en) * | 2017-10-30 | 2021-05-11 | Salesforce.Com, Inc. | Trigger-free asynchronous maintenance of custom indexes and skinny performance meta-structures |
US10776229B2 (en) * | 2017-12-22 | 2020-09-15 | Teradata Us, Inc. | Dedicated fallback processing for a distributed data warehouse |
CN110019274B (zh) | 2017-12-29 | 2023-09-26 | 阿里巴巴集团控股有限公司 | 一种数据库系统以及查询数据库的方法和装置 |
US11138230B2 (en) | 2018-03-26 | 2021-10-05 | Mcafee, Llc | Methods, apparatus, and systems to aggregate partitioned computer database data |
CN108664560A (zh) * | 2018-04-09 | 2018-10-16 | 宁波诺信睿聚投资有限责任公司 | 数据查询方法、装置、计算机设备及计算机可读存储介质 |
US11195050B2 (en) | 2019-02-05 | 2021-12-07 | Microstrategy Incorporated | Machine learning to generate and evaluate visualizations |
US11614970B2 (en) | 2019-12-06 | 2023-03-28 | Microstrategy Incorporated | High-throughput parallel data transmission |
US11567965B2 (en) | 2020-01-23 | 2023-01-31 | Microstrategy Incorporated | Enhanced preparation and integration of data sets |
US11789969B2 (en) * | 2020-02-10 | 2023-10-17 | Choral Systems, Llc | Data analysis and visualization using structured data tables and nodal networks |
US12041396B2 (en) * | 2020-07-16 | 2024-07-16 | R9 Labs, Llc | Systems and methods for processing data proximate to the point of collection |
US20230361944A1 (en) * | 2022-05-09 | 2023-11-09 | Samsung Electronics Co., Ltd. | Systems and methods for processing and distributing service requests to computational storage devices |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1153232A (ja) * | 1997-08-05 | 1999-02-26 | Hitachi Software Eng Co Ltd | データベース管理方法 |
JPH11110262A (ja) * | 1997-10-01 | 1999-04-23 | Toshiba Corp | 情報管理システム |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0562251A2 (en) * | 1992-03-24 | 1993-09-29 | Universities Research Association, Inc. | Parallel data transfer network controlled by a dynamically reconfigurable serial network |
US5737549A (en) * | 1994-01-31 | 1998-04-07 | Ecole Polytechnique Federale De Lausanne | Method and apparatus for a parallel data storage and processing server |
US5909681A (en) * | 1996-03-25 | 1999-06-01 | Torrent Systems, Inc. | Computer system and computerized method for partitioning data for parallel processing |
JP3952518B2 (ja) * | 1996-03-29 | 2007-08-01 | 株式会社日立製作所 | 多次元データ処理方法 |
US5848408A (en) * | 1997-02-28 | 1998-12-08 | Oracle Corporation | Method for executing star queries |
US6092062A (en) | 1997-06-30 | 2000-07-18 | International Business Machines Corporation | Relational database query optimization to perform query evaluation plan, pruning based on the partition properties |
CA2345309A1 (en) | 2000-09-18 | 2002-03-18 | Linmor Technologies Inc. | High performance relational database management system |
US7668740B1 (en) * | 2000-09-22 | 2010-02-23 | Ita Software, Inc. | Method, system, and computer program product for interfacing with information sources |
US7085769B1 (en) | 2001-04-26 | 2006-08-01 | Ncr Corporation | Method and apparatus for performing hash join |
US6968335B2 (en) * | 2002-11-14 | 2005-11-22 | Sesint, Inc. | Method and system for parallel processing of database queries |
-
2005
- 2005-02-17 JP JP2007503912A patent/JP4777972B2/ja not_active Expired - Lifetime
- 2005-02-17 US US11/059,510 patent/US7818349B2/en active Active
- 2005-02-17 EP EP05713785.3A patent/EP1716505B1/en not_active Expired - Lifetime
- 2005-02-17 CN CN2005800054941A patent/CN101120340B/zh not_active Expired - Fee Related
- 2005-02-17 CA CA002556979A patent/CA2556979A1/en not_active Abandoned
- 2005-02-17 MX MXPA06009355A patent/MXPA06009355A/es active IP Right Grant
- 2005-02-17 AU AU2005231230A patent/AU2005231230B2/en not_active Ceased
- 2005-02-17 WO PCT/US2005/005199 patent/WO2005098655A2/en active Application Filing
-
2006
- 2006-09-18 KR KR1020067019203A patent/KR101114149B1/ko active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1153232A (ja) * | 1997-08-05 | 1999-02-26 | Hitachi Software Eng Co Ltd | データベース管理方法 |
JPH11110262A (ja) * | 1997-10-01 | 1999-04-23 | Toshiba Corp | 情報管理システム |
Also Published As
Publication number | Publication date |
---|---|
KR20070026421A (ko) | 2007-03-08 |
JP2007531087A (ja) | 2007-11-01 |
CN101120340B (zh) | 2010-12-08 |
CA2556979A1 (en) | 2005-10-20 |
AU2005231230A1 (en) | 2005-10-20 |
AU2005231230B2 (en) | 2010-05-27 |
CN101120340A (zh) | 2008-02-06 |
EP1716505B1 (en) | 2018-01-10 |
WO2005098655A3 (en) | 2007-09-27 |
KR101114149B1 (ko) | 2012-03-08 |
WO2005098655A2 (en) | 2005-10-20 |
US7818349B2 (en) | 2010-10-19 |
EP1716505A4 (en) | 2009-10-21 |
MXPA06009355A (es) | 2007-03-01 |
EP1716505A2 (en) | 2006-11-02 |
US20050187977A1 (en) | 2005-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4777972B2 (ja) | 無共有型並列データベースシステム及びデータベース管理方法 | |
EP3903205B1 (en) | Technique of comprehensively support autonomous json document object (ajd) cloud service | |
US10853343B2 (en) | Runtime data persistency for in-memory database systems | |
US9251232B2 (en) | Database controller, method, and system for storing encoded triples | |
US7240059B2 (en) | System and method for configuring a parallel-processing database system | |
US8676843B2 (en) | Failure recovery in a parallel-processing database system | |
US20070208694A1 (en) | Query scheduling in a parallel-processing database system | |
US20040098359A1 (en) | Method and system for parallel processing of database queries | |
Owens et al. | Clustered TDB: A clustered triple store for Jena | |
Plattner et al. | Extending DBMSs with satellite databases | |
US8880485B2 (en) | Systems and methods to facilitate multi-threaded data retrieval | |
Mühlbauer et al. | Scyper: A hybrid oltp&olap distributed main memory database system for scalable real-time analytics | |
Varga et al. | Introducing Microsoft SQL Server 2016: Mission-Critical Applications, Deeper Insights, Hyperscale Cloud | |
Balmin et al. | Clydesdale: structured data processing on Hadoop | |
Hu et al. | ScalaRDF: a distributed, elastic and scalable in-memory RDF triple store | |
Khafagy | Indexed map-reduce join algorithm | |
Blakeley et al. | Microsoft sql server parallel data warehouse: Architecture overview | |
Kpekpassi et al. | PREPRINT NoSQL databases: A survey | |
Nguyen et al. | One-Hop Sub-Query Result Caches for Graph Database Systems | |
Hauglid et al. | Efficient and robust database support for data-intensive applications in dynamic environments | |
Monteiro et al. | An architecture for automated index tuning | |
Al-Saeedi | Factors influencing the database selection for B2C web applications | |
Korotkevitch | Temporary Tables | |
Nagamani | INTERNATIONAL JOURNAL OF ENGINEERING SCIENCES & RESEARCH TECHNOLOGY ADVANTAGES OF DRUID DATA STORE OVER ONLINE ANALYTICAL PROCESSING-A COMPHRENSIVE STUDY | |
Runceanu et al. | TECHNIQUES FOR DATA REPLICATION ON DISTRIBUTED DATABASES |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080208 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20091009 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20091009 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20091015 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100928 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20101228 |
|
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: 20110628 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110630 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4777972 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140708 Year of fee payment: 3 |
|
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 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
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 |