JP5387757B2 - 並列データ処理システム、並列データ処理方法及びプログラム - Google Patents

並列データ処理システム、並列データ処理方法及びプログラム Download PDF

Info

Publication number
JP5387757B2
JP5387757B2 JP2012503279A JP2012503279A JP5387757B2 JP 5387757 B2 JP5387757 B2 JP 5387757B2 JP 2012503279 A JP2012503279 A JP 2012503279A JP 2012503279 A JP2012503279 A JP 2012503279A JP 5387757 B2 JP5387757 B2 JP 5387757B2
Authority
JP
Japan
Prior art keywords
cluster
identifier
unit
consistency control
parallel data
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
JP2012503279A
Other languages
English (en)
Other versions
JPWO2011108695A1 (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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2012503279A priority Critical patent/JP5387757B2/ja
Publication of JPWO2011108695A1 publication Critical patent/JPWO2011108695A1/ja
Application granted granted Critical
Publication of JP5387757B2 publication Critical patent/JP5387757B2/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/23Updating
    • G06F16/2365Ensuring data consistency and integrity

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

[関連出願についての記載]
本発明は、日本国特許出願:特願2010−049473号(2010年03月05日出願)の優先権主張に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
本発明は、並列データ処理システム、並列データ処理方法及びプログラムに関し、特に、グラフ構造で表現されたデータ集合に含まれるデータを複数の計算機に分散させて記憶した場合に、並列にデータを処理するための並列データ処理システム、並列データ処理方法及びプログラムに関する。
データをグラフ構造で表現する技術が知られている。例えば、非特許文献1に、オブジェクトとオブジェクト間のリンクでデータセットを表現したオブジェクト指向データベース技術が記載されている。また、非特許文献2に、データとデータ間の関係をリンクで表現した知識ベース技術が記載されている。さらに、特許文献1に、XML文書により、グラフの一種である木構造のデータとして格納データを表現して利用するデータベース技術が記載されている。また、非特許文献3に、データとデータ間の「3つ組」構造の関係によりデータを表現するRDF(Resource Description Framework)形式により、データを格納及び利用するデータベース技術が記載されている。
一方、多数の計算機をネットワーク接続し、これらのHDD(Hard Disk Drive)やメモリを用いて、データを格納及び利用するシステムを実現する技術が知られている。例えば、非特許文献4に、データアイテムあるいはオブジェクトと呼ぶデータ単位をコンシステントハッシング(Consistent Hashing)と呼ばれる技術により、システムを構成する複数の計算機に複製して分散格納し、ユーザにデータを提供する技術が記載されている。また、非特許文献5に、行(Row)と呼ばれる複数の列データから構成されるデータ単位に基づいて、複数の計算機全体に対してBigTableと呼ばれるデータ構造を構築して、管理及び提供する技術が記載されている。
複数の主体に対して一貫したデータを提供するには、トランザクション制御が必要とされる。例えば、非特許文献6に、強さの異なる複数の種類のロックを、複数の粒度のデータに対して取得することで、データの一貫性が破壊されることを防ぎつつ、ロック取得時間を削減する技術が記載されている。また、特許文献2に、分散された複数のデータベースについて、統合した検索を可能とするため、関連保持用の内部データベースを別途保持する技術が記載されている。
特表2004−515836号公報 特開2005−234612号公報
大本、高松、田中、「オブジェクトデータベースの経路存在制約とその応用」、 電子情報通信学会技術研究報告 D.E. 95(147)、 電子情報通信学会、 pp.113−120、1995. V.K. Chaudhri, "TRANSACTION SYNCHRONIZATION IN KNOWLEDGE BASES: Concepts, Realization and Quantitative Evaluation," Ph.D. thesis, Univ. Tronto, 1995. 的野、パレビ、小島、「P2P環境における三次元ハッシュ索引を用いた分散RDFデータベース問合せ処理」、 情報処理学会論文誌. データベース 47巻(SIG_8(TOD_30))、pp.121−133、 2006 G. DeCandia, et al., "Dynamo: Amazon’s Highly Available Key−value Store," in Proceedings on 21st ACM Symposium on Operating Systems Principles(SOSP 2007), pp.205−220, 2007. Fay Chang et al., "Bigtable: A Distributed Storage System for Structured Data," OSDI ’06: Proceedings of the 7th USENIX Symposium on Operating Systems Design and Implementation, pp.205−218, 2006. ジム・グレイ、 アンドレアス・ロイター、 「トランザクション処理 概念と技法(上/下)」、 日経BP社、 2001. Alan Fekete et al., "Making Snapshot Isolation Serializable," ACM Transactions on Database Systems (TODS), Vol.30, No.2, pp.492−528, 2005.
上記特許文献1〜2及び非特許文献1〜7の全開示内容はその引用をもって本書に繰込み記載する。
以下の分析は、本発明者によってなされたものである。
多数の計算機によって構成されたデータ格納システムにおいて、グラフ構造で表現されたデータセットに対する更新・読み出し要求の処理における一貫性制御について考える。
従来の一貫性制御手法に基づくシステムは、スケーラビリティを欠く。データセット全体に対するトランザクション性の保持が要求されているため、データセット全体を統括する一貫性保持機構がボトルネックとなるからである。
一方、スケーラビリティを追求する従来のデータ格納システムは、単一オブジェクトごとの一貫性保持機能のみを提供している。非特許文献4又は非特許文献5に記載された技術によると、オブジェクト又は行単位での一貫性保持機能が提供されるに過ぎない。すなわち、単一トランザクションからの複数のオブジェクト(例えば、オブジェクトA及びオブジェクトB)への更新は個別に処理され、ある時点における読み出しにおいて、新オブジェクトAと旧オブジェクトBを同一のトランザクションが読み出すことができる。単一オブジェクトごとの一貫性保持によると、スケーラビリティは向上するものの、より強い一貫性を必要とするアプリケーションには対応することができない。
非特許文献1に記載されているように、グラフ構造のデータベースでは、必ずしもデータセット全体で一貫性を表現しなくてもよい。すなわち、グラフ構造の枝で結合された節点集合(以下「オブジェクトクラスタ」という)内で一貫性が保持されていれば十分であるようなアプリケーションが存在する。
オブジェクトクラスタ内の一貫性を保持する簡単な方法として、予め定められたオブジェクトクラスタごとに異なるシステムで管理する方法が考えられる。しかし、グラフ構造で表現されたデータ集合において、グラフ構造の枝情報が更新される場合がある。グラフ構造の枝情報が更新されることにより、複数のオブジェクトクラスタが結合されて単一のオブジェクトクラスタとなるような場合には、オブジェクトクラスタごとに異なるシステムで管理する方法は、適用することができない。
また、特許文献2に記載された方法によると、異なる一対のオブジェクトクラスタごとに関連保持用の内部データベースが必要とされるため、システムはスケーラビリティを有しない。さらに、特許文献2に記載された方法においては、更新に対するトランザクション性も考慮されていない。
そこで、並列データ処理システムにおいて、複数の処理単位がグラフ構造で表現されたデータ(ないしオブジェクト)を格納、提供及び更新する場合に、オブジェクトクラスタごとの一貫性を保持するとともに、スケーラビリティを確保することが課題となる。本発明の目的は、かかる課題を解決する並列データ処理システム、並列データ処理方法及びプログラムを提供することにある。
本発明の第1の視点に係る並列データ処理システムは、
オブジェクト間の関連を表すオブジェクト関連情報とオブジェクトとを保持するオブジェクト格納部と、
前記オブジェクト格納部に対してオブジェクト又はオブジェクト関連情報の生成、読み出し又は更新を行う処理単位と、
オブジェクト関連情報で関連付けられたオブジェクトの集合であるオブジェクトクラスタごとに設けられ、各オブジェクトクラスタ内のオブジェクトに対する一貫した値を前記処理単位に返す複数の一貫性制御部と、
オブジェクトの識別子を受けて、該オブジェクトを含むオブジェクトクラスタの識別子、又は、前記複数の一貫性制御部のうちの該オブジェクトクラスタに対する一貫性制御部の識別子を返すオブジェクト対クラスタ対応判定部と、を備え、
前記処理単位は、オブジェクト又はオブジェクト関連情報の作成、読み出し又は更新を行う際、前記複数の一貫性制御部のうちの該オブジェクトを含むオブジェクトクラスタに対する一貫性制御部の識別子を、前記オブジェクト対クラスタ対応判定部から取得し、前記オブジェクト格納部にアクセスしている間は、該一貫性制御部に基づいて一貫性制御を行う。
本発明の第2の視点に係る並列データ処理方法は、
オブジェクト間の関連を表すオブジェクト関連情報とオブジェクトとを保持するオブジェクト格納部と、
前記オブジェクト格納部に対するオブジェクト又はオブジェクト関連情報の生成、読み出し又は更新を行う処理単位と、
オブジェクト関連情報で関連付けられたオブジェクトの集合であるオブジェクトクラスタごとに設けられ、各オブジェクトクラスタ内のオブジェクトに対する一貫した値を前記処理単位に返す複数の一貫性制御部と、
オブジェクトの識別子を受けて、前記複数の一貫性制御部のうちの該オブジェクトを含むオブジェクトクラスタに対する一貫性制御部の識別子を返すオブジェクト対クラスタ対応判定部と、を備えた並列データ処理システムにおいて、
前記処理単位が、オブジェクト又はオブジェクト関連情報の作成、読み出し又は更新を行う際、前記複数の一貫性制御部のうちの該オブジェクトを含むオブジェクトクラスタに対する一貫性制御部の識別子を、前記オブジェクト対クラスタ対応判定部から取得する工程と、
前記オブジェクト格納部にアクセスしている間は、前記複数の一貫性制御部のうちの取得した識別子に相当する一貫性制御部に基づいて一貫性制御を行う工程と、を含む。
本発明の第3の視点に係るプログラムは、
オブジェクト間の関連を表すオブジェクト関連情報とオブジェクトとを保持するオブジェクト格納部と、
前記オブジェクト格納部に対するオブジェクト又はオブジェクト関連情報の生成、読み出し又は更新を行う処理単位と、
オブジェクト関連情報で関連付けられたオブジェクトの集合であるオブジェクトクラスタごとに設けられ、各オブジェクトクラスタ内のオブジェクトに対する一貫した値を前記処理単位に返す複数の一貫性制御部と、
オブジェクトの識別子を受けて、前記複数の一貫性制御部のうちの該オブジェクトを含むオブジェクトクラスタに対する一貫性制御部の識別子を返すオブジェクト対クラスタ対応判定部と、を備えた並列データ処理システムにおいて、
オブジェクト又はオブジェクト関連情報の作成、読み出し又は更新を行う際、前記複数の一貫性制御部のうちの該オブジェクトを含むオブジェクトクラスタに対する一貫性制御部の識別子を、前記オブジェクト対クラスタ対応判定部から取得する処理と、
前記オブジェクト格納部にアクセスしている間は、前記複数の一貫性制御部のうちの取得した識別子に相当する一貫性制御部に基づいて一貫性制御を行う処理と、をコンピュータに実行させる。
本発明に係る並列データ処理システム、並列データ処理方法及びプログラムによると、複数の処理単位がグラフ構造で表現されたデータを格納、提供及び更新する場合に、オブジェクトクラスタごとの一貫性を保持するとともに、スケーラビリティを確保することができる。
第1の実施形態に係る並列データ処理システムの構成を示すブロック図である。 第1の実施形態に係る並列データ処理システムの構成を示すブロック図である。 オブジェクトクラスタについて説明するための図である。 第1の実施形態に係る並列データ処理システムにおける処理単位対クラスタ対応判定部による処理を一例として示す図である。 第1の実施形態に係る並列データ処理システムにおけるオブジェクト対クラスタ対応判定部におけるオブジェクトとオブジェクトクラスタとの対応関係を一例として示す図である。 第1の実施形態に係る並列データ処理システムによるオブジェクトクラスタ間をまたがない処理を一例として示すシーケンス図である。 第1の実施形態に係る並列データ処理システムによるオブジェクトクラスタ間をまたぐものの、オブジェクトクラスタ間の結合が起こらなかったときの処理を一例として示すシーケンス図である。 第1の実施形態に係る並列データ処理システムによる、オブジェクトクラスタ間をまたぐ関連ができた場合における処理を一例として示すシーケンス図である。 第2の実施形態に係る並列データ処理システムの構成を示すブロック図である。 第2の実施形態に係る並列データ処理システムのオブジェクト対クラスタ判定部に格納された情報を一例として示す図である。 第3の実施形態に係る並列データ処理システムの構成を示すブロック図である。
第1の展開形態によると、上記第1の視点に係る並列データ処理システムが提供される。
第2の展開形態によると、
前記オブジェクト対クラスタ対応判定部は、非同期に更新された、オブジェクトの識別子と該オブジェクトを含むオブジェクトクラスタの識別子との関連付けを保持する非同期オブジェクト対クラスタ対応情報と、
オブジェクトクラスタが他のオブジェクトクラスタに統合された場合に、統合により消滅したオブジェクトクラスタの識別子と統合先のオブジェクトクラスタの識別子とを関連付けて保持するクラスタ結合情報と、
オブジェクトの識別子を受けて、該オブジェクトの識別子と前記非同期オブジェクト対クラスタ対応情報とから、該オブジェクトが過去に属していたオブジェクトクラスタの識別子を取得し、該オブジェクトクラスタの識別子と前記クラスタ結合情報とから、該オブジェクトが現在属するオブジェクトクラスタの識別子、又は、前記複数の一貫性制御部のうちの該オブジェクトクラスタに対応する一貫性制御部の識別子を取得して返す対応クラスタ決定部と、をさらに備えている、並列データ処理システムが提供される。
第3の展開形態によると、
処理単位の識別子と該処理単位がアクセス中のオブジェクトを含むオブジェクトクラスタの識別子とを関連付けて保持する処理単位対クラスタ対応判定部をさらに備え、
前記処理単位は、オブジェクト又はオブジェクト関連情報の作成、読み出し又は更新を行う際、関連するオブジェクトクラスタの識別子と前記複数の一貫性制御部のうちの該オブジェクトクラスタに対する一貫性制御部の識別子とを、前記オブジェクト対クラスタ対応判定部から取得し、該オブジェクトクラスタにアクセスする前に、自身を表す識別子と該オブジェクトクラスタの識別子とを前記処理単位対クラスタ対応判定部に登録する、並列データ処理システムが提供される。
第4の展開形態によると、
処理単位により複数のオブジェクトクラスタを結合する操作が発生した場合には、該複数のオブジェクトクラスタに含まれるオブジェクトに対する処理を行っている処理単位のうちのコミットされていない未コミット処理単位を、前記処理単位対クラスタ対応判定部から取得し、該未コミット処理単位の処理を中止する命令を発行するクラスタ結合制御部をさらに備えている、並列データ処理システムが提供される。
第5の展開形態によると、
前記複数の一貫性制御部は、それぞれ、複数のオブジェトのバージョンを利用したMVCC(Multiversion Concurrency Control)制御による一貫性制御を行い、
前記クラスタ結合制御部は、前記未コミット処理単位のうちの読み出しのみを行っている処理単位には、オブジェクトクラスタ結合以前のバージョンを提供する、並列データ処理システムが提供される。
第6の展開形態によると、前記オブジェクトは、ファイルシステムのファイル、ファイルと関連するメタデータの集合、関係データベースのタプル、オブジェクトデータベースのデータ、Key−ValueストアのKey−value、XML文書のタグで囲まれた内容、RDF(Resource Description Framework)文書のリソースのいずれかである、並列データ処理システムが提供される。
第7の展開形態によると、前記オブジェクトクラスタは、オブジェクト関連情報で結ばれたオブジェクトの集合である、並列データ処理システムが提供される。
第8の展開形態によると、前記オブジェクト関連情報は、オブジェクト間の双方向又は片方向の関連を含む、並列データ処理システムが提供される。
第9の展開形態によると、上記第2の視点に係る並列データ処理方法が提供される。
第10の展開形態によると、上記第3の視点に係るプログラムが提供される。
第11の展開形態によると、上記プログラムが記録されたコンピュータ読み取り可能な記録媒体が提供される。
本発明に係る並列データ処理システム、並列データ処理方法及びプログラムによると、オブジェクトクラスタごとに一貫性制御を行うことで、従来のオブジェクト単位の一貫性制御では実現できないアプリケーションを実装することができる。また、オブジェクトクラスタを結合する処理以外は、個々の一貫性制御部で処理が完結するため、システムが多数の計算機で構成されていたとしても、オブジェクトクラスタの個数に比例したスケーラビリティを実現することができる。さらに、システム動作中におけるオブジェクトの結合も処理することができる。
(実施形態1)
第1の実施形態に係る並列データ処理システムについて、図面を参照して説明する。図1は、本実施形態に係る並列データ処理システム100の構成を示すブロック図である。
図1を参照すると、並列データ処理システム100は、オブジェクト格納部30、処理単位40、処理単位対クラスタ対応判定部21、オブジェクト対クラスタ対応判定部22及び一貫性制御部23を有する。
オブジェクト格納部30は、オブジェクト間の関連を表すオブジェクト関連情報とオブジェクトとを保持する。
処理単位40はオブジェクト格納部30に対して、オブジェクト又はオブジェクト関連情報の生成、読み出し又は更新を行う。
一貫性制御部23は、各オブジェクトクラスタ内のオブジェクトに対する一貫した値を処理単位40に返す。
オブジェクト対クラスタ対応判定部22は、オブジェクトの識別子を受けて、当該オブジェクトを含むオブジェクトクラスタの識別子又は当該オブジェクトクラスタに対する一貫性制御部23の識別子を返す。
処理単位対クラスタ対応判定部21は、処理単位の識別子と当該処理単位がアクセス中のオブジェクトを含むオブジェクトクラスタの識別子とを関連付けて保持する。
処理単位40は、オブジェクト又はオブジェクト関連情報の作成、読み出し又は更新を行う際、当該オブジェクトを含むオブジェクトクラスタに対する一貫性制御部23の識別子を、オブジェクト対クラスタ対応判定部22から取得し、オブジェクト格納部30にアクセスしている間は、取得した一貫性制御部に基づいて一貫性制御を行う。
図2は、本実施形態に係る並列データ処理システムを、複数のデータ処理装置によって実現した場合の構成を示すブロック図である。
図2を参照すると、並列データ処理システムは、データ処理装置10a〜10cが、ネットワーク60を介して接続されている。ここでは、データ処理装置の台数を、一例として3台としたが、データ処理装置の台数はこれに限られない。また、並列データ処理システム100を利用するユーザに提供されたユーザ計算機70も、ネットワーク60に接続されている。
図2を参照すると、データ処理装置10a〜10cは、それぞれ、CPU11a〜11c、データ記憶部12a〜12c及びデータ転送部13a〜13cを有する。CPU11a〜11cは、本実施形態に係る並列データ処理システム100の各部の機能を実現する。
データ記憶部12a〜12cは、例えば、ハードディスクドライブ(HDD)、フラッシュメモリ、DRAM(Dynamic Random Access Memory)、MRAM(Magnetoresistive RAM)、FeRAM(Ferroelectric RAM)、PRAM(Phase change RAM)、RAIDコントローラに結合された記憶装置、磁気テープのようにデータを記録可能な物理媒体、又は、ストレージノードの外部に設置された媒体にデータを記録する制御装置である。
ネットワーク60及びデータ転送部13a〜13cは、例えば、Ethernet(登録商標)、Fibre ChannelやFCoE(Fibre Channel over Ethernet(登録商標))、InfiniBand、QsNet、 Myrinet、 Ethernet、あるいはこれらを利用するTCP/IPやRDMAのような上位プロトコルによって実現しうる。ただし、ネットワーク60の実現方法は、これらに限られない。
処理単位40は、格納されたオブジェクトに対する1つ又は複数の処理を発行するプログラムである。処理単位40は、例えば、CPU11a〜11cのいずれかで動作するプログラムにより実施される。他の例として、処理単位40は、ネットワーク60を通じてデータのやり取りができる計算機(非図示)上のプログラムである。例えば、トランザクション処理システムにおける1つのトランザクションを、1つの処理単位とみなすことができる。
データ処理装置10a〜10cにより、オブジェクト格納部30が実現される。ユーザデータであるオブジェクトとオブジェクト間の関係は、それぞれ、オブジェクト31とオブジェクト関連情報32として、データ記憶部12a〜12cに格納される。
ここで、オブジェクトとは、識別子によって識別しうる1つ以上のデータの集合である。オブジェクトは、例えば、ユーザから意味的に分断された最小単位のデータを表す。オブジェクトとして、例えば、ファイルシステムのファイル、ファイルと関連するメタデータの集合、関係データベースのタプル、オブジェクトデータベースのデータ、Key−ValueストアのKey−value、XML文書のタグで囲まれた内容、RDF文書のリソース、Google App Engineのデータエンティティ、Microsoft Windows Azureキューのメッセージ等が挙げられる。なお、オブジェクトは、これらに限られない。
また、データ記憶部12a〜12cには、2つ以上のオブジェクトの関係を示す情報がオブジェクト関連情報32として格納されている。オブジェクト関連情報32とは、2つ以上のオブジェクトが関連していることを表すために、データを扱うユーザ又はシステムが付与する情報である。オブジェクト関連情報として、例えば、オブジェクトがメタデータとして別のオブジェクトへの参照を有する場合が挙げられる。また、ファイルシステムのディレクトリは格納ファイル情報を有する。この格納ファイル情報も、オブジェクト関連情報とみなすことができる。さらに、XML文書におけるXML構造を木構造として捉えた場合には、親と子との間のオブジェクト関連情報とみなすことができる。なお、オブジェクト関連情報は、これらに限られない。
オブジェクトクラスタは、オブジェクト関連情報で結ばれたオブジェクトの集合である。すなわち、オブジェクトOとオブジェクトOとの間の関連情報がオブジェクト関連情報32に存在する場合には、オブジェクトO及びオブジェクトOは、同一のオブジェクトクラスタ(例えば、オブジェクトクラスタC)に属するものとする。
図3は、オブジェクトとオブジェクト間の関連情報により構成されるオブジェクトクラスタを一例として示す図である。図3を参照すると、オブジェクトクラスタCはオブジェクトO〜Oを含み、オブジェクトクラスタCはオブジェクトO〜Oを含み、オブジェクトクラスタCはオブジェクトO10〜O12を含む。
図3の状態において、例えば、新しい処理単位40がオブジェクトOとオブジェクトOとの間にオブジェクト関連情報を生成した場合、当該処理がコミットされ、オブジェクト格納部30に格納された後は、オブジェクトクラスタCとオブジェクトクラスタCに含まれるすべてのオブジェクトは同一のオブジェクトクラスタに属するものとみなされる。
オブジェクトは、複数のデータ処理装置10a〜10cに分散して格納される。これは、例えば、コンシステントハッシュ、メタサーバによる分散配置等によって実現しうる。一方、オブジェクト関連情報32は、一箇所に格納されていてもよいし、オブジェクトごとに付与されて分散して格納されていてもよい。また、オブジェクト関連情報32には方向があってもよい。すなわち、オブジェクトOからオブジェクトOへの関連はあるものの、オブジェクトOからオブジェクトOへの関連はないものとするオブジェクト関連情報が存在してもよい。なお、本実施形態においては、かかる場合にはオブジェクトOとオブジェクトOとは関連があるものとみなす。
並列データ処理システムを複数のデータ処理装置によって実現した場合、処理単位対クラスタ対応判定部、オブジェクト対クラスタ対応判定部、一貫性制御部は、例えば、CPU11a〜11c上で動作するプログラムがネットワーク60によってお互いに協調動作することによって実現される。また、他の例として、処理単位対クラスタ対応判定部、オブジェクト対クラスタ対応判定部、一貫性制御部の機能を有する個別のハードウェアあるいは専用CPUを各データ処理装置が備えていてもよい。
ユーザ計算機70又はデータ処理装置10a〜10c上で動作する処理単位(ないしトランザクション)40は、オブジェクト格納部30上のオブジェクト又はオブジェクト関連情報に対する1つ以上の作成、読み出し、書き込み又は削除により構成される。処理単位40は、並列データ処理システム100が提供する一貫性の範囲内でデータを利用することができ、これが実現できないときには、並列データ処理システム100によりロールバック処理又はアボート処理が行われる。すなわち、本実施形態の並列データ処理システム100では、オブジェクトクラスタ内の一貫性を満たす範囲でデータを作成、読み出し、書き込み又は削除ができない場合には、ロールバック処理又はアボート処理が行われる。かかる場合として、例えば、他の処理単位40による更新との間で不整合が生じる場合が挙げられる。
一貫性制御は、例えば、非特許文献6に記載された階層ロッキングにより、Sロック、Xロック、ISロック、IXロックという強さが異なるロックを、オブジェクトクラスタ全体、オブジェクト、オブジェクト内のメタデータ等の粒度が異なるデータに対して付与し、各処理単位の排他制御を行うことによって実現することができる。また、一貫性制御は、非特許文献7に記載されたSI(Snapshot Isolation)手法により、オブジェクトの複数のバージョンを格納し、処理単位ごとにいずれのバージョンを提供するかを制御することによって実現することもできる。なお、本実施形態における一貫性制御は、これらの手法に限定されない。
次に、データ処理装置10a〜10cで実現される、処理単位対クラスタ対応判定部21、オブジェクト対クラスタ対応判定部22、及び一貫性制御部23のそれぞれの動作によって実現されるオブジェクトの一貫性制御について説明する。
処理単位対クラスタ対応判定部21は、どの処理単位40が現在までにどのオブジェクトクラスタに属するオブジェクトに関わったかを保持する。また、処理単位対クラスタ対応判定部21は、オブジェクトクラスタを識別する識別子を入力とし、そのオブジェクトに関わっている処理単位の識別子のリストを出力する。さらに、処理単位対クラスタ対応判定部21は、複数のオブジェクトクラスタのそれぞれを識別する識別子を入力とし、これらの2つ以上に関わっており、かつ、未コミット状態である処理単位の識別子のリストを出力する。
図4は、処理単位対クラスタ対応判定部による処理を一例として示す図である。図4の表は、処理単位の識別子とオブジェクトクラスタの識別子とを関連付けて保持している。図4の表に示すように、処理単位とオブジェクトクラスタとが関連付けられている場合には、処理単位対クラスタ対応判定部21は、処理単位3の識別子を入力としたときには、オブジェクトクラスタCE、の識別子を出力する。一方、オブジェクトクラスタCの識別子を入力としたときには、処理単位3〜6の識別子を出力する。
オブジェクト対クラスタ対応判定部22は、どのオブジェクトが現在どのオブジェクトクラスタに属しているかを保持する。また、オブジェクト対クラスタ対応判定部22は、オブジェクトを識別する識別子を入力とし、そのオブジェクトが現在属しているオブジェクトクラスタを識別する識別子、又は、当該オブジェクトクラスタに関する一貫性制御を行う一貫性制御部23の識別子を返す。
図5は、オブジェクト対クラスタ対応判定部22におけるオブジェクトとオブジェクトクラスタとの対応関係を一例として示す図である。図5を参照すると、オブジェクトO、OはオブジェクトクラスタCに含まれ、オブジェクトOはオブジェクトクラスタCに含まれ、オブジェクトO〜OはオブジェクトクラスタCに含まる。
図6、図7、図8を参照して、処理単位によるオブジェクト参照又は更新の動作について説明する。
処理単位40は、オブジェクトを参照又は更新する際、まず、当該オブジェクトが属するオブジェクトクラスタを識別する識別子をオブジェクト対クラスタ対応判定部22から取得する。次に、処理単位40は、当該オブジェクトにアクセスする前に、処理単位対クラスタ対応判定部21に、自身を表す識別子と当該オブジェクトクラスタを表す識別子とを登録する。なお、処理単位40が、当該クラスタ内のオブジェクト又はオブジェクト関連情報を利用してすでに登録済みであることを判別できる場合には、処理単位対クラスタ対応判定部21への登録を省略することができる。
次に、処理単位40は、データへのアクセスを行う。ここで、処理単位40のアクセス中に、複数のオブジェクトクラスタにまたがるオブジェクト関連情報の作成が含まれない場合には、上述の従来手法によって、個々のオブジェクトクラスタごとに、処理単位40のアクセスに対する一貫性管理が行われる。図6は、オブジェクトクラスタ間をまたがない処理を一例として示すシーケンス図である。
処理単位40は、データへのアクセスが終了した場合には、コミット命令を各一貫性制御部23に発行する。ここで、複数のオブジェクトクラスタ間にまたがるオブジェクト関連情報32の作成が含まれない場合には、それぞれの一貫性制御部23でコミットの成否が判断される。コミットの成否は、当該処理単位によるデータへの変更が他の処理単位による読み書きに影響するか否かに基づいて判断される。
ここで、他の処理単位との影響の度合いは、ユーザ又はシステムが事前に設定した条件によって決まる。各判定や条件は、既存技術により行われる。例えば、トランザクションの分離レベルが直列化(Serializable)である場合には、全ての処理単位が時間的にオーバーラップせず、直列に実行された場合とデータの状態が同一であれば成功とみなされる。一部のコミットが失敗したとしても、その他のコミットは成功する。図7は、オブジェクトクラスタ間をまたぐものの、オブジェクトクラスタ間の結合が起こらなかったときの処理を一例として示すシーケンス図である。
ここで、ある処理単位40により、複数のオブジェクトクラスタ間にまたがるオブジェクト関連情報32が作成されたとする。図8は、オブジェクトクラスタ間をまたぐ関連ができた場合の処理を一例として示すシーケンス図である。この場合には、まず、処理単位40は、処理単位対クラスタ対応判定部21によって、関連するオブジェクトクラスタの2つ以上にまたがる処理単位を特定する。次に、当該処理をアボートさせる。さらに、オブジェクト対クラスタ対応判定部22に対し、当該オブジェクトクラスタの結合を指示する。オブジェクト対クラスタ対応判定部22は、当該オブジェクトクラスタ内のすべてのオブジェクトが単一のオブジェクトクラスタに相当するように情報を書き換える。最後に、各オブジェクトクラスタに対応する一貫性制御部23に同時にコミットを発行する。
ここでは、例えば、2相コミット(2PC:Two Phase Commit)を用いることができる。すなわち、まず、2PC−プリペア(コミット準備)メッセージをすべての一貫性制御部23に発行する。一貫性制御部23は、当該コミットが成功するか否かを判定する。一貫性制御部23は、コミットが失敗する予定であれば失敗と返す。一方、一貫性制御部23は、コミットが成功するのであれば、当該コミットを妨げるすべてのリソースをロックし、成功を返す。次に、処理単位は、2PC−コミット(コミット実行)メッセージを送出し、すべての一貫性制御部23は、データの更新を反映させ、必要に応じてロックを開放する。
以上のように、オブジェクトクラスタごとに一貫性制御を行うことで、従来のオブジェクト単位の一貫性制御によると実現することのできないアプリケーションを実装することができる。また、オブジェクトクラスタを結合する処理以外は、個々の一貫性制御部23で処理が完結する。したがって、並列データ処理システム100が複数のデータ処理装置10a〜10cを含む場合においても、オブジェクトクラスタの個数に比例したスケーラビリティを実現することができる。
(実施形態2)
第2の実施形態に係る並列データ処理システムについて、図面を参照して説明する。本実施形態では、第1の実施形態におけるオブジェクト対クラスタ対応判定部22内の処理を2段階とし、オブジェクト対クラスタ対応判定部22が情報を更新する処理の性能を向上させる。
図9は、本実施形態に係る並列データ処理システム200の構成を示すブロック図である。図9を参照すると、本実施形態におけるオブジェクト対クラスタ対応判定部52は、さらに、対応クラスタ決定部53、クラスタ結合情報55及び非同期オブジェクト対クラスタ対応情報56を有する。
オブジェクト対クラスタ対応判定部52は、どのオブジェクトが現在どのオブジェクトクラスタに属しているかを保持する。また、オブジェクト対クラスタ対応判定部52は、オブジェクトを識別する識別子を入力とし、そのオブジェクトが現在属しているオブジェクトクラスタを識別する識別子、又は、当該オブジェクトクラスタに関する一貫性制御を行う一貫性制御部23の識別子を返す。
クラスタ結合情報55は、以前存在したオブジェクトクラスタが他のクラスタに結合された際に、当該結合を表す情報を蓄積する。図10は、クラスタ結合情報55を一例として示す。クラスタ結合情報55に基づいて、各オブジェクトクラスタが、現在どのオブジェクトクラスタに結合されているかを判別することができる。
図10を参照すると、例えば、オブジェクトクラスタCは、現在、オブジェクトクラスタCに結合されている。一方、オブジェクトクラスタCは、オブジェクトクラスタCに結合されている。さらに、オブジェクトクラスタCは、オブジェクトクラスタCに結合されている。したがって、図10に示したクラスタ結合情報55によると、オブジェクトクラスタCは、現在、オブジェクトクラスタCに結合されていることが分かる。
非同期オブジェクト対クラスタ対応情報56は、各オブジェクトがいずれのオブジェクトクラスタに所属しているかを示す情報を非同期に更新したものである。図10は、非同期オブジェクト対クラスタ対応情報56を一例として示す。非同期オブジェクト対クラスタ対応情報56に基づいて、オブジェクトに対するオブジェクトクラスタを取得することができる。ここで、非同期に更新するとは、オブジェクトの結合が起こったとしても、非同期オブジェクト対クラスタ対応情報56を、直ちに更新する必要がないか、又は、全く更新する必要がないことを意味する。
対応クラスタ決定部53は、オブジェクトの識別子を受けて、当該オブジェクトが所属するオブジェクトクラスタの識別子を返す。まず、対応クラスタ決定部53は、アクセス対象のオブジェクト識別子と非同期オブジェクト対クラスタ対応情報56とを用いて、当該オブジェクトが過去に所属していたオブジェクトクラスタの識別子を取得する。次に、対応クラスタ決定部53は、取得したオブジェクトクラスタの識別子とクラスタ結合情報55と用いて、当該オブジェクトが現在いずれのオブジェクトクラスタに存在し、いずれの一貫性制御部23で管理されているかを示す識別子を返す。
本実施形態の並列データ処理システム200によると、2つのオブジェクトクラスタが結合した場合に、クラスタ結合情報55を一行更新するだけでよい。一方、第1の実施形態の並列データ処理システム100によると、オブジェクトの個数だけ所属クラスタの情報が更新される。したがって、本実施形態によると、第1の実施形態と比較して、オブジェクト対クラスタ対応判定部52による更新処理を高速化することができる。
(実施形態3)
第3の実施形態に係る並列データ処理システムについて、図面を参照して説明する。図11は、本実施形態に係る並列データ処理システム300の構成を示すブロック図である。
図11を参照すると、本実施形態の並列データ処理システムは、上記第1の実施形態に係る並列データ処理システム100(図1)において、さらに、クラスタ結合制御部25を有している。
クラスタ結合制御部25は、処理単位40から複数のオブジェクトクラスタを結合する操作が発生し、コミットした際に、対象となる複数のオブジェクトクラスタにまたがって処理を行っている処理単位であってコミットしていない未コミット処理単位を、処理単位クラスタ対応判定部21から取得し、当該未コミット処理単位の処理を中止する命令を発行する。
また、一貫性制御部23は、複数のオブジェトのバージョンを利用したMVCC(Multiversion Concurrency Control)制御による一貫性制御を行うようにしてもよい。このとき、クラスタ結合制御部25は、上記の未コミット処理単位のうちの読み出しのみを行っている処理単位には、オブジェクトクラスタ結合以前のバージョンを提供することが好ましい。
本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素の多様な組み合わせないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
本発明に係る並列データ処理システム、並列データ処理方法及びプログラムは、並列データベース、分散ストレージ、並列ファイルシステム、分散データベース、データグリッド、クラスタコンピュータに適用することができる。
10a〜10c データ処理装置
11a〜11c CPU
12a〜12c データ記憶部
13a〜13c データ転送部
21 処理単位対クラスタ対応判定部
22、52 オブジェクト対クラスタ対応判定部
23 一貫性制御部
25 クラスタ結合制御部
30 オブジェクト格納部
31、O〜O12、O、O オブジェクト
32 オブジェクト関連情報
40 処理単位
53 対応クラスタ決定部
55 クラスタ結合情報
56 非同期オブジェクト対クラスタ対応情報
60 ネットワーク
70 ユーザ計算機
100、200、300 並列データ処理システム
〜C オブジェクトクラスタ

Claims (9)

  1. オブジェクト間の関連を表すオブジェクト関連情報とオブジェクトとを保持するオブジェクト格納部と、
    前記オブジェクト格納部に対してオブジェクト又はオブジェクト関連情報の生成、読み出し又は更新を行う処理単位と、
    オブジェクト関連情報で関連付けられたオブジェクトの集合であるオブジェクトクラスタごとに設けられ、各オブジェクトクラスタ内のオブジェクトに対する一貫した値を前記処理単位に返す複数の一貫性制御部と、
    オブジェクトの識別子を受けて、該オブジェクトを含むオブジェクトクラスタの識別子、又は、前記複数の一貫性制御部のうちの該オブジェクトクラスタに対する一貫性制御部の識別子を返すオブジェクト対クラスタ対応判定部と、を備え、
    前記処理単位は、オブジェクト又はオブジェクト関連情報の作成、読み出し又は更新を行う際、前記複数の一貫性制御部のうちの該オブジェクトを含むオブジェクトクラスタに対する一貫性制御部の識別子を、前記オブジェクト対クラスタ対応判定部から取得し、前記オブジェクト格納部にアクセスしている間は、該一貫性制御部に基づいて一貫性制御を行うことを特徴とする並列データ処理システム。
  2. 前記オブジェクト対クラスタ対応判定部は、非同期に更新された、オブジェクトの識別子と該オブジェクトを含むオブジェクトクラスタの識別子との関連付けを保持する非同期オブジェクト対クラスタ対応情報と、
    オブジェクトクラスタが他のオブジェクトクラスタに統合された場合に、統合により消滅したオブジェクトクラスタの識別子と統合先のオブジェクトクラスタの識別子とを関連付けて保持するクラスタ結合情報と、
    オブジェクトの識別子を受けて、該オブジェクトの識別子と前記非同期オブジェクト対クラスタ対応情報とから、該オブジェクトが過去に属していたオブジェクトクラスタの識別子を取得し、該オブジェクトクラスタの識別子と前記クラスタ結合情報とから、該オブジェクトが現在属するオブジェクトクラスタの識別子、又は、前記複数の一貫性制御部のうちの該オブジェクトクラスタに対応する一貫性制御部の識別子を取得して返す対応クラスタ決定部と、をさらに備えていることを特徴とする、請求項1に記載の並列データ処理システム。
  3. 処理単位の識別子と該処理単位がアクセス中のオブジェクトを含むオブジェクトクラスタの識別子とを関連付けて保持する処理単位対クラスタ対応判定部をさらに備え、
    前記処理単位は、オブジェクト又はオブジェクト関連情報の作成、読み出し又は更新を行う際、関連するオブジェクトクラスタの識別子と前記複数の一貫性制御部のうちの該オブジェクトクラスタに対する一貫性制御部の識別子とを、前記オブジェクト対クラスタ対応判定部から取得し、該オブジェクトクラスタにアクセスする前に、自身を表す識別子と該オブジェクトクラスタの識別子とを前記処理単位対クラスタ対応判定部に登録することを特徴とする、請求項1又は2に記載の並列データ処理システム。
  4. 処理単位により複数のオブジェクトクラスタを結合する操作が発生した場合には、該複数のオブジェクトクラスタに含まれるオブジェクトに対する処理を行っている処理単位のうちのコミットされていない未コミット処理単位を、前記処理単位対クラスタ対応判定部から取得し、該未コミット処理単位の処理を中止する命令を発行するクラスタ結合制御部をさらに備えていることを特徴とする、請求項3に記載の並列データ処理システム。
  5. 前記複数の一貫性制御部は、それぞれ、複数のオブジェトのバージョンを利用したMVCC(Multiversion Concurrency Control)制御による一貫性制御を行い、
    前記クラスタ結合制御部は、前記未コミット処理単位のうちの読み出しのみを行っている処理単位には、オブジェクトクラスタ結合以前のバージョンを提供することを特徴とする、請求項4に記載の並列データ処理システム。
  6. 前記オブジェクトは、ファイルシステムのファイル、ファイルと関連するメタデータの集合、関係データベースのタプル、オブジェクトデータベースのデータ、Key−ValueストアのKey−value、XML文書のタグで囲まれた内容、RDF(Resource Description Framework)文書のリソースのいずれかであることを特徴とする、請求項1乃至5のいずれか1項に記載の並列データ処理システム。
  7. 前記オブジェクト関連情報は、オブジェクト間の双方向又は片方向の関連を含むことを特徴とする、請求項1乃至6のいずれか1項に記載の並列データ処理システム。
  8. オブジェクト間の関連を表すオブジェクト関連情報とオブジェクトとを保持するオブジェクト格納部と、
    前記オブジェクト格納部に対するオブジェクト又はオブジェクト関連情報の生成、読み出し又は更新を行う処理単位と、
    オブジェクト関連情報で関連付けられたオブジェクトの集合であるオブジェクトクラスタごとに設けられ、各オブジェクトクラスタ内のオブジェクトに対する一貫した値を前記処理単位に返す複数の一貫性制御部と、
    オブジェクトの識別子を受けて、前記複数の一貫性制御部のうちの該オブジェクトを含むオブジェクトクラスタに対する一貫性制御部の識別子を返すオブジェクト対クラスタ対応判定部と、を備えた並列データ処理システムにおいて、
    前記処理単位が、オブジェクト又はオブジェクト関連情報の作成、読み出し又は更新を行う際、前記複数の一貫性制御部のうちの該オブジェクトを含むオブジェクトクラスタに対する一貫性制御部の識別子を、前記オブジェクト対クラスタ対応判定部から取得する工程と、
    前記オブジェクト格納部にアクセスしている間は、前記複数の一貫性制御部のうちの取得した識別子に相当する一貫性制御部に基づいて一貫性制御を行う工程と、を含むことを特徴とする並列データ処理方法。
  9. オブジェクト間の関連を表すオブジェクト関連情報とオブジェクトとを保持するオブジェクト格納部と、
    前記オブジェクト格納部に対するオブジェクト又はオブジェクト関連情報の生成、読み出し又は更新を行う処理単位と、
    オブジェクト関連情報で関連付けられたオブジェクトの集合であるオブジェクトクラスタごとに設けられ、各オブジェクトクラスタ内のオブジェクトに対する一貫した値を前記処理単位に返す複数の一貫性制御部と、
    オブジェクトの識別子を受けて、前記複数の一貫性制御部のうちの該オブジェクトを含むオブジェクトクラスタに対する一貫性制御部の識別子を返すオブジェクト対クラスタ対応判定部と、を備えた並列データ処理システムにおいて、
    オブジェクト又はオブジェクト関連情報の作成、読み出し又は更新を行う際、前記複数の一貫性制御部のうちの該オブジェクトを含むオブジェクトクラスタに対する一貫性制御部の識別子を、前記オブジェクト対クラスタ対応判定部から取得する処理と、
    前記オブジェクト格納部にアクセスしている間は、前記複数の一貫性制御部のうちの取得した識別子に相当する一貫性制御部に基づいて一貫性制御を行う処理と、をコンピュータに実行させることを特徴とするプログラム。
JP2012503279A 2010-03-05 2011-03-04 並列データ処理システム、並列データ処理方法及びプログラム Active JP5387757B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012503279A JP5387757B2 (ja) 2010-03-05 2011-03-04 並列データ処理システム、並列データ処理方法及びプログラム

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2010049473 2010-03-05
JP2010049473 2010-03-05
JP2012503279A JP5387757B2 (ja) 2010-03-05 2011-03-04 並列データ処理システム、並列データ処理方法及びプログラム
PCT/JP2011/055040 WO2011108695A1 (ja) 2010-03-05 2011-03-04 並列データ処理システム、並列データ処理方法及びプログラム

Publications (2)

Publication Number Publication Date
JPWO2011108695A1 JPWO2011108695A1 (ja) 2013-06-27
JP5387757B2 true JP5387757B2 (ja) 2014-01-15

Family

ID=44542340

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012503279A Active JP5387757B2 (ja) 2010-03-05 2011-03-04 並列データ処理システム、並列データ処理方法及びプログラム

Country Status (3)

Country Link
US (1) US20130006993A1 (ja)
JP (1) JP5387757B2 (ja)
WO (1) WO2011108695A1 (ja)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9195712B2 (en) 2013-03-12 2015-11-24 Microsoft Technology Licensing, Llc Method of converting query plans to native code
US20150032764A1 (en) * 2013-07-26 2015-01-29 Electronics And Telecommunications Research Institute Parallel tree labeling apparatus and method for processing xml document
US10298545B2 (en) 2013-09-12 2019-05-21 International Business Machines Corporation Secure processing environment for protecting sensitive information
US10255339B2 (en) 2013-12-23 2019-04-09 Telefonaktiebolaget Lm Ericsson (Publ) Data change controller
US10474645B2 (en) * 2014-02-24 2019-11-12 Microsoft Technology Licensing, Llc Automatically retrying transactions with split procedure execution
US10235176B2 (en) * 2015-12-17 2019-03-19 The Charles Stark Draper Laboratory, Inc. Techniques for metadata processing
US10936713B2 (en) 2015-12-17 2021-03-02 The Charles Stark Draper Laboratory, Inc. Techniques for metadata processing
GB2564878B (en) * 2017-07-25 2020-02-26 Advanced Risc Mach Ltd Parallel processing of fetch blocks of data
US11210211B2 (en) 2017-08-21 2021-12-28 Western Digital Technologies, Inc. Key data store garbage collection and multipart object management
US11210212B2 (en) 2017-08-21 2021-12-28 Western Digital Technologies, Inc. Conflict resolution and garbage collection in distributed databases
US11055266B2 (en) * 2017-08-21 2021-07-06 Western Digital Technologies, Inc. Efficient key data store entry traversal and result generation
US10824612B2 (en) 2017-08-21 2020-11-03 Western Digital Technologies, Inc. Key ticketing system with lock-free concurrency and versioning
CN108011926B (zh) * 2017-11-06 2021-03-16 ***股份有限公司 一种报文发送方法、处理方法、服务器及***
WO2019152772A1 (en) 2018-02-02 2019-08-08 The Charles Stark Draper Laboratory, Inc. Systems and methods for policy execution processing
WO2019152792A1 (en) 2018-02-02 2019-08-08 Dover Microsystems, Inc. Systems and methods for policy linking and/or loading for secure initialization
TW201945971A (zh) 2018-04-30 2019-12-01 美商多佛微系統公司 用於檢查安全性能的系統和方法
EP3877874A1 (en) 2018-11-06 2021-09-15 Dover Microsystems, Inc. Systems and methods for stalling host processor
WO2020132012A1 (en) 2018-12-18 2020-06-25 Dover Microsystems, Inc. Systems and methods for data lifecycle protection
CN110175159B (zh) * 2019-05-29 2020-07-31 京东数字科技控股有限公司 用于对象存储集群的数据同步方法与***

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0981432A (ja) * 1995-09-18 1997-03-28 Internatl Business Mach Corp <Ibm> 分散記憶コントローラのためのソフトウエア指示されたマイクロコード状態保管システム
JP2005216299A (ja) * 2004-01-28 2005-08-11 Hewlett-Packard Development Co Lp ストレージネットワークにおける書き込みオペレーション制御
JP2008516343A (ja) * 2004-10-08 2008-05-15 ヒューレット−パッカード デベロップメント カンパニー エル.ピー. 冗長データストレージの再構成

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7415466B2 (en) * 1996-03-19 2008-08-19 Oracle International Corporation Parallel transaction recovery
US7089244B2 (en) * 2000-11-15 2006-08-08 North Dakota State University Multiversion read-commit order concurrency control
US7448077B2 (en) * 2002-05-23 2008-11-04 International Business Machines Corporation File level security for a metadata controller in a storage area network
WO2008018969A1 (en) * 2006-08-04 2008-02-14 Parallel Computers Technology, Inc. Apparatus and method of optimizing database clustering with zero transaction loss
US20090043797A1 (en) * 2007-07-27 2009-02-12 Sparkip, Inc. System And Methods For Clustering Large Database of Documents

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0981432A (ja) * 1995-09-18 1997-03-28 Internatl Business Mach Corp <Ibm> 分散記憶コントローラのためのソフトウエア指示されたマイクロコード状態保管システム
JP2005216299A (ja) * 2004-01-28 2005-08-11 Hewlett-Packard Development Co Lp ストレージネットワークにおける書き込みオペレーション制御
JP2008516343A (ja) * 2004-10-08 2008-05-15 ヒューレット−パッカード デベロップメント カンパニー エル.ピー. 冗長データストレージの再構成

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CSNG200300651003; 徐 海燕 他: '"マルチバージョンデータベースにおけるワークフローに基づく並行処理制御"' 情報処理学会論文誌 第42巻 SIG4(TOD9), 20010315, p.27〜p.35, 社団法人情報処理学会 *
JPN6011016326; 徐 海燕 他: '"マルチバージョンデータベースにおけるワークフローに基づく並行処理制御"' 情報処理学会論文誌 第42巻 SIG4(TOD9), 20010315, p.27〜p.35, 社団法人情報処理学会 *

Also Published As

Publication number Publication date
JPWO2011108695A1 (ja) 2013-06-27
US20130006993A1 (en) 2013-01-03
WO2011108695A1 (ja) 2011-09-09

Similar Documents

Publication Publication Date Title
JP5387757B2 (ja) 並列データ処理システム、並列データ処理方法及びプログラム
US11960464B2 (en) Customer-related partitioning of journal-based storage systems
KR102307371B1 (ko) 데이터베이스 시스템 내의 데이터 복제 및 데이터 장애 조치
US9946735B2 (en) Index structure navigation using page versions for read-only nodes
US11068501B2 (en) Single phase transaction commits for distributed database transactions
US10346434B1 (en) Partitioned data materialization in journal-based storage systems
KR102579190B1 (ko) 일관된 데이터베이스 스냅샷들을 이용한 분산 데이터베이스에서의 백업 및 복원
US11841844B2 (en) Index update pipeline
Lublinsky et al. Professional hadoop solutions
US11461347B1 (en) Adaptive querying of time-series data over tiered storage
US9904722B1 (en) Log-based distributed transaction management
Mendes et al. Charon: A secure cloud-of-clouds system for storing and sharing big data
JP2019515377A (ja) 分散型データストアのバージョン化された階層型データ構造
US20100191713A1 (en) Unbundled storage transaction services
Mundkur et al. Disco: a computing platform for large-scale data analytics
US10235407B1 (en) Distributed storage system journal forking
US10387384B1 (en) Method and system for semantic metadata compression in a two-tier storage system using copy-on-write
Won et al. Moving metadata from ad hoc files to database tables for robust, highly available, and scalable HDFS
Goniwada et al. Cloud native architecture and design patterns
US11941014B1 (en) Versioned metadata management for a time-series database
US11789971B1 (en) Adding replicas to a multi-leader replica group for a data set
Wadkar et al. Hadoop concepts
US12007983B2 (en) Optimization of application of transactional information for a hybrid transactional and analytical processing architecture
US20240004860A1 (en) Handshake protocol for efficient exchange of transactional information for a hybrid transactional and analytical processing architecture
US20240004897A1 (en) Hybrid transactional and analytical processing architecture for optimization of real-time analytical querying

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130625

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: 20130910

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130923

R150 Certificate of patent or registration of utility model

Ref document number: 5387757

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150