JP5660693B2 - ハイブリッドoltp及びolap高性能データベースシステム - Google Patents

ハイブリッドoltp及びolap高性能データベースシステム Download PDF

Info

Publication number
JP5660693B2
JP5660693B2 JP2013510532A JP2013510532A JP5660693B2 JP 5660693 B2 JP5660693 B2 JP 5660693B2 JP 2013510532 A JP2013510532 A JP 2013510532A JP 2013510532 A JP2013510532 A JP 2013510532A JP 5660693 B2 JP5660693 B2 JP 5660693B2
Authority
JP
Japan
Prior art keywords
oltp
olap
database
transaction
virtual memory
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 - Fee Related
Application number
JP2013510532A
Other languages
English (en)
Other versions
JP2013531835A (ja
Inventor
アルフォンズ ケンパー,
アルフォンズ ケンパー,
トーマス ニューマン,
トーマス ニューマン,
Original Assignee
テクニッシュ ウニヴェルジテート ミュンヘン
テクニッシュ ウニヴェルジテート ミュンヘン
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 テクニッシュ ウニヴェルジテート ミュンヘン, テクニッシュ ウニヴェルジテート ミュンヘン filed Critical テクニッシュ ウニヴェルジテート ミュンヘン
Publication of JP2013531835A publication Critical patent/JP2013531835A/ja
Application granted granted Critical
Publication of JP5660693B2 publication Critical patent/JP5660693B2/ja
Expired - Fee Related 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/28Databases characterised by their database models, e.g. relational or object models

Description

オンライントランザクション処理(OLTP)及びオンライン分析処理(OLAP)の2つのエリアは、データベースアーキテクチャに関して異なる課題を提示する。従来型システムでは、高レートの基幹業務トランザクションを有する顧客は、そのデータを、OLTP用の1つのデータベースと、OLAP用の1つのいわゆるデータウェアハウスという2つの別々のシステムに分割した。妥当なトランザクションレートを可能にするものの、この分離は、抽出変換負荷データステージングを周期的にしか開始しないことによって引き起こされる遅延によるデータ鮮度の問題と、2つの別々の情報システムを維持することによる過剰なリソース消費とを含む、多くの欠点を有する。
歴史的には、データベースシステムは主に、オンライントランザクション処理のために使用された。そのようなトランザクション処理システムの典型的な例は、販売注文入力又はバンキングトランザクション処理である。こうしたトランザクションは、データ全体の小部分のみにアクセスして処理し、したがってかなり高速に実行することができる。標準化TPC−Cベンチマーク結果によれば、現在最高のスケールのシステムは、毎秒100,000件を超えるそのような販売トランザクションを処理することができる。
約20年前、ビジネスインテリジェンス(BI)という、データベースシステムの新しい使用法が発展した。BIアプリケーションは、ビジネス分析に関するレポートを生成するためにデータのかなりの部分を処理する、長時間のいわゆるオンライン分析処理(OLAP)照会に依拠する。典型的なレポートは、地理的領域又は製品カテゴリ、或いは顧客分離などによってグループ化された集約販売統計を含む。オペレーショナルOLTPデータベースに対するこうした照会を実行する、SAPのEISプロジェクトなどの初期の試行は、OLAP照会処理によってリソース競合が生じ、基幹業務トランザクション処理が極度に損なわれたために却下された。したがって、図1に例示するデータステージングアーキテクチャが考案された。この場合、トランザクション処理が専用OLTPデータベースシステム上で実施される。さらに、ビジネスインテリジェンス照会処理のために、別々のデータウェアハウスシステムがインストールされる。周期的に、例えば夜間に、OLTPデータベース変更が抽出され、データウェアハウススキーマのレイアウトに変換され、データウェアハウスにロードされる。このデータステージング及びそれに関連するETLプロセスは、いくつかの固有の欠点を示す。
古いデータ:ETLプロセスは周期的に実行することができるだけなので、データウェアハウス状態は、最新のビジネストランザクションを反映しない。したがって、ビジネス分析は、その決定の基礎を、古い(期限切れの)データに置かなければならない。
冗長性:2つのシステムの使用は、データの2つの冗長なコピーを維持するコストを招く。積極的な面では、冗長性により、アプリケーション特有の方式で、OLTP処理用の正規化テーブルで、及びOLAP照会用のスタースキームとしてデータをモデルすることが可能となる。
高経費:2つのシステム(ハードウェア、ソフトウェアなど)のための経費、及び2つのシステムのための保守コスト、及び複雑なETLプロセスを考慮に入れなければならないので、2つの別々のシステムを維持することは、技術的及び経済的な犠牲を招く。
本発明の目的は、こうした欠点に対処することである。
本発明によれば、請求項1に記載の方法が提供される。有利な実施形態が、残りの請求項に列挙される。
本発明は、ハードウェア支援複製機構を使用してトランザクションデータの整合スナップショットを維持することにより、OLTPとOLAPの両方を同時に処理することのできるハイブリッドシステムを提供する。一実施形態では、本発明は、OLTPトランザクションのACIDプロパティを保証し、同一の任意に最新かつ整合したスナップショットに対してOLAP照会セッション(複数の照会)を実行するメインメモリデータベースシステムを提供する。仮想メモリ管理(アドレス変換、キャッシング、更新時コピー)に関するプロセッサ固有のサポートの利用により、高トランザクションレートと低OLAP照会応答時間の両方を同時に得ることができる。
本発明の一実施形態によれば、OLTPデータベースとOLAPデータウェアハウスシステムの分離が放棄される。同一のシステムに対する、こうした2つの非常に異なる作業負荷の統合に必要な処理性能は、メインメモリデータベースアーキテクチャによって達成することができる。
本発明は、トランザクションOLTPデータの最新状態に対するOLAP照会の実行を可能にする。これは、OLTPデータベースに対するトランザクション処理と、周期的にリフレッシュされるだけであり、古い(期限切れの)データに基づく照会となる、データウェアハウスに対する照会処理との分離を実施する従来型システムとは対照的である。
本発明の一実施形態では、トランザクションデータベースは照会処理機能を備え、それによって、照会処理(の一部)をデータウェアハウスからOLTPシステムにシフトする。この目的で、同一のデータベース上のOLTPトランザクション処理とOLAP照会処理の混合作業負荷がサポートされる。これは、相異なるアプリケーションシナリオのために専用システムを構築する最近の傾向とはある程度逆行する。同一のシステム上のこうした2つの非常に異なる作業負荷の統合は、例えばメインメモリデータベースアーキテクチャを通じて、処理性能が改善した場合に、最良に実装することができる。
一見すると、(インターネットアクセス可能)データボリュームの劇的な急増は、すべてのトランザクションデータをメインメモリに常駐したままにするというこの前提に矛盾する可能性がある。しかし、より詳しい検討により、ビジネスクリティカルトランザクションデータベースボリュームが有するサイズは限定されることが示され、このことにより、メインメモリデータ管理が支持される。この仮定を確証するために、アマゾンの推定トランザクションボリュームを分析することができる。注文処理データボリュームは、年間で推定約150億ユーロの収益を有する。TPC−Cベンチマークについて指定されるように、個々の注文明細が約15ユーロの値を有し、各注文明細が約54バイトの格納データを負うと仮定すると、合計データボリュームは、そのような販売アプリケーションで支配的なリポジトリである注文明細について1年当たり54GBとなる。
この推定は、ボリュームを増大させる他のデータ(顧客及び製品データ)も、データを圧縮してボリュームを低減させる可能性も含まない。それでも、年間販売データが大規模サーバのメインメモリに収まることができると仮定することは安全である。さらに、過去の開発から推定すると、コモディティ並びにハイエンドサーバのメインメモリ容量は、最大のビジネス顧客の要件よりも速く増大すると予想することは安全である。
OLTBデータベースとOLAPデータウェアハウスの従来技術の分離を示す図である。 本発明の一実施形態によるメインメモリOLTPデータベースアーキテクチャを示す図である。 本発明の一実施形態によるハイブリッドOLTP及びOLAPデータベースアーキテクチャを示す図である。 本発明の一実施形態による新しい仮想メモリスナップショットのフォーキングを示す図である。 本発明の一実施形態で使用される「更新時コピー」を示す図である。 本発明の一実施形態による、OLAP照会のための仮想メモリスナップショットの使用を示す図である。 本発明の一実施形態による、異なる時点での複数のOLAPセッションを示す図である。 本発明の一実施形態による、区分データに対するマルチスレッドOLTP処理を示す図である。 本発明の一実施形態による、整合スナップショットバックアップアーカイブを示す図である。 本発明の一実施形態によるリドゥーロギング(redo logging)を示す図である。 本発明の一実施形態による、OLTP処理のためのスタンドバイとして、及びアクティブOLAPプロセッサとして働く2次サーバの使用を示す図である。 本発明の一実施形態によるアクティブトランザクションに関するアンドゥーロギングを示す図である。 本発明の一実施形態による、(1)保存バックアップをロードすること、及び(2)リドゥーログインを適用することを含む回復プロセスを示す図である。
本発明の一実施形態によるトランザクション処理のためのメインメモリアーキテクチャを図2に示す。この実施形態では、単一スレッディング手法が採用され、すべてのOLTPトランザクションが順次実行される。このアーキテクチャは、アクティブな更新トランザクションのみがデータベース全体を「所有」するので、コストのかかるデータオブジェクト又は索引構造のロッキング及びラッチングの必要をなくす。有利なことに、この順次実行手法は、メインメモリデータベースを通じて実装することができ、他のトランザクションのためにインターリービングにCPUを使用することによって1つのトランザクションの代わりにI/O操作をマスクする必要はない。メインメモリアーキテクチャでは、典型的なビジネストランザクション(例えば、注文入力又は支払処理)が有する持続時間は、わずか数〜10マイクロ秒である。しかし、複雑なOLAP型照会を作業負荷キューに注入することが許可された場合、すべての後続のOLTPトランザクションは、そのような長時間の照会の計算を待機しなければならなくなるので、複雑なOLAP型照会はシステムを詰まらせることになる。そのようなOLAP照会が例えば30ms以内に終了した場合であっても、約1000以上のOLTPトランザクションを完了することのできる持続時間にわたってシステムをロックすることになる。
しかし、毎秒数万のレートでOLTPトランザクションを処理すると同時に、トランザクションデータの最新のスナップショットに対してOLAP照会を処理するメインメモリデータベースシステムを提供することが望ましい。この課題を図3に示す。本発明の一実施形態によれば、ハードウェア支援複製機構を使用してトランザクションデータの整合スナップショットを維持することにより、OLTPとOLAPを同時に処理することのできるハイブリッドシステムが提供される。
本発明は、OLTPトランザクションのACIDプロパティを保証するメインメモリデータベースシステムによって実装することができる。特に、耐久性及び高速回復のために、ロギング及びバックアップアーカイビング方式を利用することができる。OLTP処理と並列に、同一の任意に最新かつ整合したスナップショットに対してOLAP照会セッション(複数の照会)を実行することができる。仮想メモリ管理(アドレス変換、キャッシング、更新時コピー)のためのプロセッサ固有のサポートの利用により、同一のシステムで、かつ同時に、前例のない高トランザクションレート及び超低OLAP照会応答時間が達成される。
システムアーキテクチャ
本発明の一実施形態によれば、OLTPトランザクション及びOLAP照会は、同一のメインメモリ常駐データベース上で実施することができる。旧式のディスクベースのストレージサーバとは対照的に、任意のデータベース特有のバッファ管理及びページ構造化を省略することができる。データは、仮想メモリ内の単純なメインメモリ最適化データ構造内に常駐する。したがって、どんな追加の間接的方法も用いずにOSJCPU実装アドレス変換を「フルスピード」で活用することができる。2つの主流のリレーショナルデータベース記憶方式を利用することができる。行格納手法では、関係がレコード全体の配列として維持され、列格納手法では、関係が、属性値のベクトルとして垂直に区分される。仮想メモリは物理メインメモリよりも(著しく)大きくなることができるとしても、仮想メモリページのOS制御スワッピングを回避するために、データベースは、物理メインメモリのサイズに限定されることが好ましい。或いは、フラッシュメモリや固体ドライブなどの2次ストレージによってメインメモリを補足することもできる。
OLTP処理
すべてのデータがメインメモリに常駐するので、IOを待つために停止することは決してないことになる。したがって、単一スレッディング手法に依拠することができ、すべてのOLTPトランザクションが順次実行される。このアーキテクチャは、1つの更新トランザクションのみがデータベース全体を「所有」するので、コストのかかるデータオブジェクトのロッキング及びラッチングの必要をなくす。このシリアル実行手法は、メインメモリデータベース上で実装することができ、他のトランザクションのためにインターリービングにCPUを使用することによって1つのトランザクションの代わりにI/O操作をマスクする必要はない。メインメモリアーキテクチャでは、典型的なビジネストランザクション(例えば、注文入力又は支払処理)が有する持続時間は、わずか約10マイクロ秒である。これは毎秒数万程度のスループットとなり、大規模なビジネスアプリケーションが必要とするものよりもさえ、ずっと高い。
トランザクションが実行を待つためにシリアル化される左側のキューにより、OLTPトランザクションのシリアル実行を図4で例示する。トランザクションは、高水準スクリプト記述言語でストアドプロシージャとして実装される。この言語は、探索キーによってデータベースエントリをルックアップし、オブジェクトのセットを通じて反復し、データレコードを挿入、更新、及び削除する機能などを提供する。次いで、この高水準スクリプト記述コードが、メモリ内データ構造を直接操作する低レベルコードにコンパイルされる。
OLTPトランザクションは、キュー内の後続のトランザクションに関する長い待ち時間を回避するために、短い応答時間を有するべきである。このことにより、任意の種類の対話トランザクション、例えばユーザ入力を要求すること、又は外部機関のクレジットカードチェックを同期式に起動することが禁止される。
OLAPスナップショット管理
複雑なOLAP型の照会をOLTP作業負荷キューに注入することが許可された場合、すべての後続のOLTPトランザクションは、そのような長時間の照会の計算の完了を待機しなければならなくなるので、複雑なOLAP型照会はシステムを詰まらせることになる。そのようなOLAP照会が例えば30ms以内に終了した場合であっても、恐らくは数千のOLTPトランザクションを完了することのできる持続時間にわたってシステムをロックする。毎秒数万のレートでOLTPトランザクションを処理すると同時に、トランザクションデータの最新のスナップショットに対してOLAP照会を処理するメインメモリデータベースシステムを提供する目標を達成するために、新しいプロセスに関する仮想メモリスナップショットを作成するオペレーティングシステム機能が活用される。このことは、OLTPプロセスを複製すること、すなわちOLTPプロセスの子プロセスを作成することによって行われる。例えば、OLTPプロセス複製は、フォーキング(UNIX(登録商標)でのfork()システムコール)によって実施することができる。以下では、「フォーキング」に対する参照は、OLTPプロセス複製の任意の実装を指すものとする。
トランザクション整合性を保証するために、トランザクションの中央でフォーキングを実施するのではなく、2つの(シリアル)トランザクション間のみでフォーキングを実施すべきである。図4でオーバレイされたページフレームパネルによって例示するように、子プロセスは、親プロセスアドレス空間の厳密なコピーを得る。図6に示すように、フォーク操作によって作成される仮想メモリスナップショットが、OLAP照会のセッションを実行するために使用される。
スナップショットは、厳密にフォーク操作が行われたときに存在した状態にとどまる。幸いにも、最新式のオペレーティングシステムは、メモリセグメントをすぐに物理的にコピーしない。むしろ、図5に示すように、オペレーティングシステムは、怠惰な「更新時コピー戦略」を利用する。当初、親プロセス(OLTP)と子プロセス(OLAP)は、(オブジェクトaに対する)両方の仮想アドレスを同一の物理メインメモリ位置に変換することにより、同一の物理メモリセグメントを共有する。図では、点線のフレームにより、メモリセグメントの共有を強調する。点線のフレームは、(まだ)複製されなかった仮想メモリページを表す。オブジェクト、例えばデータ項目aが更新されるときにのみ、OS及びハードウェアサポートされる更新時コピー機構が、aが常駐する仮想メモリページの複製を開始する。その後で、トランザクションを実行するOLTPプロセスによってアクセス可能な、a’と表す新しい状態と、OLAP照会セッションによってアクセス可能な、aと表す古い状態とがある。図が示唆するのとは異なり、追加のページが、ページ変更を開始したOLTPプロセスについて実際に作成され、OLAPスナップショットは古いページを指す。この詳細は、いくつかのそのようなスナップショットが作成される場合(図7参照)にスペース消費を推定するために重要である。
機能を見る別の直感的方法は以下の通りである。OLTPプロセスはデータベース全体の上で動作し、データベースの一部がOLAPモジュールと共有される。すべてのOLTP変更が、コピーされる(シャドーイング(shadow)される)データベースページからなる、別々のコピー(エリア)Deltaに適用される。したがって、OLTPプロセスは、要求時更新後ページのそのワーキングセットを作成する。このことは、ページをバッファプールにスワップすることにいくぶん類似しているが、バッファプール内のページ障害を処理するのに10msかかる代わりに、メインメモリページをコピーするのに2μsしかかからないので、更新後ページの要求時コピーが3〜4倍高速である。「時々」、最新のOLAPセッションに関する新しいプロセスをフォークすることにより、DeltaがOLAPデータベースとマージされる。それによって、Deltaが概念的に(メインスナップショット)データベースに再統合される。Deltaをメインデータベースにマージするどんなソフトウェア解決策とも異なり、ハードウェアサポートされる仮想メモリマージ(フォーク)を非常に効率的に1秒未満単位で達成することができる。
(Deltaへの)複製が、通常はデフォルトサイズ4KBを有する、ページ全体の細分性で実施される。この例では、a’の状態変化により、aの複製だけでなく、bなどのこのページ上のすべての他のデータ項目の複製も、それが変化していないとしても誘発される。この欠点は、TLBキャッシング及び書込み時コピー実施を介する超効率的VMアドレス変換などの、OS及びプロセッサによる非常に効果的で高速な仮想メモリ管理によって補償される。データベースシステムでの従来のシャドーイング概念は、ページレベルでシャドーコピーを維持し、又は個々のオブジェクトをシャドーイングする純粋なソフトウェア機構に基づく。
スナップショットは、親(すなわち、OLTP要求実行)プロセスによる更新後ページ数に比例したストレージオーバヘッドを招く。スナップショットは、フォーク操作がスナップショットを作成するときのOLTPプロセスのメモリ状態と、OLTPプロセスの現メモリ状態との間のデルタ(変更後ページに対応する)を複製する(OLAPプロセスは、共有ページを(ほぼ)決して変更しない。このことはもちろん、更新時コピー機構のために問題とはならない。しかし、性能を向上させるために、OLAPプロセスは、その一時データ構造を非共有メインメモリエリアに割り振るべきである)。メインメモリ容量が不十分である場合、OLAP照会エンジンは2次記憶装置(例えばディスク)を利用することができ、それによってメインメモリ容量をより長い実行時間と交換する。ディスクベースの規則を作成することによって関係をソートすることは、1つの顕著な例である。OLAP照会キュー内の、卵形線によって示されるすべてのOLAP照会は、データベースの同一の整合スナップショット状態にアクセスする。そのような照会のグループは照会セッションと呼ばれることがあり、ビジネスアナリストが同一の状態を反復的に照会して、例えばさらなる詳細にまで掘り下げ、又はより良好な概要を求めてロールアップすることによってデータの詳細な分析のためにそのようなセッションを使用できることが示される。
複数のOLAPセッション
これまでのところ、OLTPに関する1つのプロセスと、OLAPに関する別のプロセスという2つのプロセスを使用するデータベースアーキテクチャを説明した。OLAP照会が読取り専用であるので、同一のアドレス空間を共有する複数のスレッドでOLAP照会を容易に並列に実行することができる。それでもなお、OLAP照会がどんな可変データ構造も共有しないので、任意の同期(ロッキング及びラッチング)オーバヘッドを回避することができる。通常は10個を超えるコアを有する現代のマルチコアコンピュータは、この照会間並列化を介してかなりの高速化をもたらすことができる。
マルチコアサーバを有効に活用する別の可能性は、複数のスナップショットを生成することである。特に、任意の現スナップショットを得ることができる。このことは単に、新しいスナップショットを周期的に(又は要求時に)フォークし、したがって新しいOLAP照会セッションプロセスを開始することによって達成することができる。このことを、ただ1つのOLTPプロセスの現データベース状態(フロントパネル)と、3つのアクティブ照会セッションプロセスのスナップショットとを示す図7に例示し、最も古いものは背景にあるものである。連続する状態変化が、データ項目a(最も古い状態)、a’、a’’、及びa’’’(最も若いトランザクション整合状態)という4つの異なる状態によって強調される。ETLデータステージングを用いる現在の分離データウェアハウス解決策の場合と同様に、数分又は数時間ではなく、数秒の間隔で最新の照会に関するスナップショットを作成することが予想されるので、明らかに、大部分のデータ項目は、異なるスナップショット間で変化しない。アクティブなスナップショットの数は、原理上は、それぞれがそれ自体のプロセスで限定されない。優先順位を調節することにより、OLTPプロセスが多数であり、及び/又はマルチスレッディングを使用し、したがってコア数を超過する場合であっても、基幹業務のOLTPプロセスに常にコアが割り振られることを確認することができる。
セッションの最後の照会が終了した後、スナップショットが削除される。このことは単に、照会セッションを実行中であったプロセスを終了することによって行われる。スナップショットが作成されたのと同じ順序でスナップショットを削除する必要はない。そのようなスナップショットは、例えば詳細なストック取得目的で、より長い持続時間にわたって持続することができる。しかし、スナップショットのメモリオーバヘッドは、このスナップショットの作成から次に若いスナップショットの時間まで(それが存在する場合、又は実際の時間まで)の実行中のトランザクション数に比例する。図7に、「中間年齢」スナップショットについて物理的に複製され、したがって最も古いスナップショットによって共有され、アクセス可能であるデータ項目cを通じて、このことを示す。直観にはいくぶん反するが、cが常駐するページが、OS/プロセッサにより、物理ページに関連する参照カウンタを介して最も古いスナップショットと共有されるものとして自動的に検出されるので、最も古いスナップショットの前に中間年齢スナップショットを終了することは依然として可能である。したがって、中間年齢スナップショットプロセスの終了時に解放される、a’が常駐するページとは異なり、中間年齢スナップショットの終了を生き残る。最も若いスナップショットは、現OLTPプロセスアドレス空間内に含まれる状態c’にアクセスする。
マルチスレッド化OLTP処理
既に略述したように、複数のスレッドとしてOLAPプロセスを構成することができ、現代のコンピュータの複数のコアがより良く利用される。このことは、OLTPプロセスについても可能である。1つの単純な拡張は、複数の読取り専用OLTPトランザクションを並列に管理することである。読取り/書込みトランザクションがOLTP作業負荷キューの先頭にあるとすぐに、それ以上の更新トランザクションがキューの先頭でなくなるまで、システムが静止し、順次モードに転送し戻される。現実的アプリケーションでは、通常は、更新トランザクションよりも多くの読取り専用トランザクションがあり、したがって、あるレベルの並列度を得ることを予想することができ、並列度は、OLTP作業負荷キューを(注意深く)再構成することによって向上させることさえできる。
データを区分することが自然である、多くのアプリケーションシナリオがある。これに関する1つの非常に重要なアプリケーションクラスはマルチテナンシーである。異なるデータベースユーザ(テナントと呼ばれる)が、同一又は類似のデータベーススキーマに対して作業するが、そのトランザクションデータを共有しない。むしろ、テナントは、データのそのプライベートパーティションを維持する。いくつかのリードモーストリー(read−mostly)データ(例えば、製品カタログ、地理的情報、Dun & Bradstreetのようなビジネス情報カタログ)が異なるテナント間で共有される。
興味深いことに、トランザクション処理用の広く知られている業界標準であるTPC−Cベンチマーク(www.tpc.org)は、類似の区分化を示す。データの大部分をそれが属するウェアハウスによって水平に区分することができるからである。唯一の例外は、この共有データパーティションに対応する項目テーブルである。
そのような区分アプリケーションシナリオでは、OLTPプロセスを複数のスレッドとして構成し、並列度を介して性能をさらに向上させることができる。このことを図8に示す。トランザクションがそのプライベートパーティションのみにアクセス及び更新し、共有データにアクセスする(更新しない)限り、そのようなトランザクションを並列に、パーティション当たり1つ実行することができる。図はこのことを示す。パネル内の各卵形(トランザクションを表す)が、別々のスレッドによって実行される1つのそのようなパーティション制約トランザクションに対応するからである。
しかし、パーティションにわたって読み取り、又は共有データパーティションを更新するトランザクションは、同期を必要とする。一実施形態では、クロスパーティショントランザクションが、純粋な順次手法と同様に、システムに対する排他的アクセスを要求する。このことは、すべてのパーティションが1つのノード上に常駐する中央システムで十分に効率的である。しかし、マルチパーティショントランザクションのための2相コミットプロトコルを必然的に伴う計算クラスタにわたってノードが分散する場合、より高度な同期手法が有益である。
OLAPスナップショットを前と同様にフォークすることができる(トランザクション整合式にこのことを行うことができる前にすべてのスレッドが静止することを除いて)。OLAP照会をすべてのパーティション及び共有データにわたって構築することができ、このことは例えば、管理目的のマルチテナンシーアプリケーションで有益である。
計算クラスタ内の異なるノードにプライベートパーティションを割り振る分散システムについて、データベースの区分化をさらに活用することができる。リードモーストリー共有パーティションをすべてのノードにわたって複製することができる。次いで、対応するノードにパーティション制約トランザクションを転送し、どんな同期オーバヘッドも伴わずに並列に実行することができる。同期は、パーティションクロストランザクション(partition−crossing transactions)及びすべてのノードにわたる同期スナップショット作成のために必要である。
OLAP照会セッションのスナップショット分離
スナップショット分離では、トランザクションは、トランザクション整合データベース状態を継続的に確認する。トランザクション整合データベース状態が、トランザクションが開始するより前(直前)の時点で存在したからである。データベース修正が並列で実行中に、そのようなスナップショットを実装するための異なる可能性がある。
ロールバック:この方法は、データベースオブジェクトを定位置で更新する。より古い照会がより古いバージョンのデータ項目を必要とする場合、より古いバージョンのデータ項目が、このオブジェクトに対するすべての更新をアンドゥーすることによって現バージョンから作成される。したがって、オブジェクトのより古いコピーが、いわゆるロールバックセグメントで、すべてのアンドゥーログレコードを必要な時点まで逆に適用することによって作成される。
バージョニング(versioning):すべてのオブジェクト更新が、オブジェクトの新しいタイムスタンプバージョンを生成する。したがって、照会の代わりの読取りが、そのタイムスタンプが照会の開始時間よりも小さい最も若いバージョン(最大のタイムスタンプ)を取り出す。バージョニングされたオブジェクトは、永続的に維持され(タイムトラベリング照会を可能にする)、又はアクティブ照会がそれにアクセスする必要がもうなくなるまで一時的に維持される。
シャドーイング:元々は、シャドーイングは、すべての変更が最初にシャドーに書き込まれ、次いでトランザクションコミット時間にデータベースにインストールされたときに、アンドゥーロギングの必要をなくすために作成された。しかし、シャドーイング概念は、スナップショットの維持にも適用することができる。
仮想メモリスナップショット:本発明の実施形態によるスナップショット機構は、照会セッションと呼ばれる一連の照会に関するスナップショットを明示的に作成する。この点で、照会セッションのすべての照会が、フォークプロセスを介して保持される同一の整合状態に依拠することのできる1つのトランザクションに束ねられる。
さらに、不揮発性2次サーバ又はストレージ上のデータベース全体のバックアップアーカイブを作成するためにVMスナップショットを活用することができる。このプロセスを図9に示す。通常、アーカイブは、1〜10Gb/sの高帯域幅ネットワークを介して、同一の計算センタ内の専用ストレージサーバに書き込まれる。この転送速度を維持するために、ストレージサーバは、対応する集約帯域幅のためのいくつかの(約10枚)のディスクを利用しなければならない。
OLTPトランザクション同期
単一スレッドモードでは、OLTPトランザクションは、データベース全体を所有するので、どんな同期機構も必要としない。
マルチスレッドモードでは、2つのタイプのトランザクションが区別される。
・パーティション制約トランザクションは、それ自体のパーティション内のデータを読み取り、更新することができ、共有パーティション内のデータを読み取ることができる。しかし、更新はそれ自体のパーティションに限定される。
・パーティションクロストランザクションは、さらに、共有データを更新し、又は別のパーティション内のデータにアクセス(読取り又は更新)するものである。
共有データに対する更新はめったに生じず、トランザクションが通常はそれ自体のデータのみに対して作用するように区分化が導出されるので、後者のクラスのトランザクションのパーティションクロストランザクションは、非常にまれであるはずである。OLTP作業負荷内のストアドプロシージャトランザクションの分類は、その実装コードを分析することに基づいて自動的に行われる。実行中に、トランザクションが「パーティション制約」と誤って分類されたことが判明した場合、トランザクションがロールバックされ、OLTP作業負荷キューに「パーティションクロス」として再挿入される。
好ましくは、並列に、パーティション当たり最大1つのパーティション制約トランザクションが許可される。この制約下で、パーティションは非重複データ構造を有し、共有データはアクセス読取り専用であるので、どんな種類のロッキング又はラッチングも必要がない。
しかし、パーティションクロストランザクションは、排他的モードで許可されなければならない。本質的には、パーティションクロストランザクションは、許可される前に、データベース全体に対する排他的ロック(又はPOSIX用語では、許可される前に、障壁を通過しなければならない)を事前主張しなければならない。したがって、パーティションクロストランザクションの実行は、すべての他のトランザクションが終了するまで待機しなければならないので比較的高コストであり、その持続時間中に、他のトランザクションは許可されない。システムに許可されると、パーティションクロストランザクションの排他的許可が、やはり共有データパーティション又はプライベートデータパーティションの任意の種類のロッキング又はラッチング同期を防止するので、トランザクションはフルスピードで実行される。
耐久性
トランザクションの耐久性は、コミットされるトランザクションのすべての効果を障害後に復元しなければならないことを必要とする。これを達成するために、古典的リドゥーロギングを使用する。図10では、シリアルトランザクションストリームから生じ、不揮発性リドゥーログ記憶装置に至る灰色の卵形によってこのことを強調する。トランザクションを表すストアドプロシージャのパラメータをロギングすることによって論理リドゥーロギングを利用する。従来のデータベースシステムでは、システムクラッシュ後にデータベースがアクション不整合状態となることがあるので、論理ロギングは問題がある。トランザクション整合アーカイブから再始動が実施されるので(図9参照)、本発明の図示する実施形態では、このことが生じることができない。データベースを正しく回復することができるために、実行される順序でこうした論理ログレコードを書き込むことだけが重要である。単一スレッドOLTP構成では、このことが容易に達成される。マルチスレッドシステムでは、すべてのトランザクションに関して完全に順序付けなければならないのは、パーティションクロストランザクションのログレコードだけであり、パーティション制約トランザクションのログレコードを並列に書き込むことができ、したがってパーティション当たり順次化されるだけである。
2次サーバを介する高可用性及びOLAPロードバランシング:リドゥーログストリームを使用して2次サーバを維持することもできる。この2次サーバは単に、1次サーバと同じトランザクションを実行するだけである。1次サーバ障害の場合、トランザクション処理が2次サーバに切り替わる。しかし、安定したストレージへのリドゥーログレコードの書込みを中止せず、耐障害性のためだけに2次サーバに依拠することが好ましい。ソフトウェアエラーは、ワーストケースでは、1次及び2次サーバの「同期」クラッシュとなることがある。2次サーバは、どんな読取り専用OLTPトランザクションも実行する必要がないので、通常は1次サーバよりも低い負荷であり、したがって1次サーバよりも低いOLTP負荷を有する。このことは、OLAP照会セッションの一部(又はすべて)を2次サーバに委ねることによって利用することができる。1次サーバ上のOLAPセッションのプロセスをフォークする代わりに、又はそれに加えて、2次サーバも使用することができる。OLTP処理のためのスタンドバイとして、及びアクティブOLAPプロセッサとして働く2次サーバの使用を図11に示す。図には、ストレージサーバのアーカイブに整合スナップショットを書き込むために1次サーバの代わりに2次サーバを使用する可能性を図示していない。それによって、バックアッププロセスが1次サーバからより負荷の少ない2次サーバに委ねられる。
ロギングの最適化
ライトアヘッドロギング(write ahead logging:WAL)原理は、トランザクションをコミットする前にログレコードをフラッシュ(flush)することを必要とするので、性能ボトルネックとなることが判明することがある。このことは、トランザクションが待機しなければならないので、単一スレッド実行では特にコストがかかる。
以下2つの一般に利用される戦略が可能である。
・グループコミット、又は、
・非同期コミット
グループコミットは、例えばIBMのDB2で構成可能である。トランザクションの最終的コミットは、トランザクションの終了直後には実行されない。むしろ、いくつかのトランザクションのログレコードが蓄積され、バッチモードでフラッシュされる。したがって、コミットの確認が遅延する。トランザクションのバッチが完了し、そのログレコードがフラッシュされるのを待機する間、すべてのトランザクションのロックは既に解放されている。このことは早期ログ解放と呼ばれる。現在の非ロッキングシステムでは、このことは、対応するパーティションに関する次のトランザクション(複数可)を許可することになる。ログバッファがトランザクションのグループについてフラッシュされると、そのコミットがクライアントに対して確認される。
別の、安全性のより低い方法は、ログレコードのフラッシュを待機するのを回避することによってWAL原理を緩和する。ログレコードが揮発性ログバッファに書き込まれるとすぐに、トランザクションがコミットされる。このことは「非同期」コミットと呼ばれる。障害の場合、こうしたログレコードの一部が失われることがあり、したがって回復プロセスが、再始動中に、こうしたコミットされたトランザクションを見落とすことになる。
原子性
トランザクションの原子性は、失敗したトランザクションの効果をデータベースからなくすことができることを必要とする。明示的に中止したトランザクションだけを考慮する必要があり、R1回復と呼ばれる。データベースが揮発性メモリ内だけにあり、トランザクションのコミットの成功が保証されるときにのみ論理リドゥーログが書き込まれるので、ルーザトランザクション(loser−transaction)(クラッシュ時にアクティブであったもの)の更新が復元後データベースでアンドゥーされることを要求するいわゆるR3回復は、この実施形態では必要ではない。さらに、回復のための開始点として働くデータベースのアーカイブコピーはトランザクション整合であり、したがって回復中にアンドゥーする必要のあるどんな操作も含まない(図9参照)。結果として、アンドゥーロギングは、(すべてのアクティブトランザクションに関するマルチスレッドモードでの)アクティブトランザクションに対して必要なだけであり、揮発性メモリ内だけで維持することができる。このことを図12で、ページフレームパネルの左上のリングバッファによって強調する。トランザクション処理の間、更新後データオブジェクトがあれば、その以前のイメージがこのバッファに記録される。リングバッファがトランザクション当たりの更新数(にマルチスレッド操作でのアクティブトランザクション数を掛けたもの)によって束ねられるので、リングバッファのサイズはかなり小さい。
クリーニングアクション整合スナップショット(Cleaning Action−Consistent Snapshot)
アンドゥーロギングを使用して、1つ又は複数のトランザクションがアクティブであった間に作成されたアクション整合VMスナップショットからトランザクション整合スナップショットを作成することもできる。このことは特に、マルチスレッドOLTPシステムがトランザクション処理を完全に静止させる必要を回避するので、マルチスレッドOLTPシステムで有益である。その関連するVMスナップショットを含むOLAPプロセスをフォークした後、アンドゥーログレコードが、逆の発生順にスナップショット状態に適用される。アンドゥーログバッファが(フォーク時に)アクティブトランザクションのすべての効果を反映するので、そうした、得られるスナップショットのみがトランザクション整合であり、この時点までに完了したすべてのトランザクションを含む、フォーク時に依然としてアクティブであるトランザクションの開始前のデータベースの状態を反映する。
システム障害後の回復
回復中、メインメモリで復元される、最も若い完全に書かれたアーカイブで始めることが可能である。次いで、リドゥーログが発生順に適用され、アーカイブのスナップショットに関するフォーク後の最初のリドゥーログエントリで開始する。例えば、最大10Gb/sまでの帯域幅(ストレージサーバからのネットワークの帯域幅によって限定される)でアーカイブを復元することができ、リドゥーログを毎秒100,000のトランザクションレートで適用することができる場合、典型的な大企業に関するファイルオーバ時間(例えば、100GBのデータベース及び毎秒数千の更新トランザクション)は、バックアップアーカイブが毎時書き込まれる場合、わずか1〜数分程度である。このフェイルオーバ時間を許容することができない場合、複製したサーバに依拠することも可能であり、図11に示すように、一方はアクティブモードであり、他方は例えばリドゥーログ「スニッフィング(sniffing)」を介して、同一のトランザクションを実施する。障害の場合、単純なスイッチオーバがシステムを復元する。
回復プロセスを図13に示す。
上述の実施形態は例として説明したに過ぎず、こうした実施形態に対する修正が添付の特許請求の範囲内に含まれることを理解されよう。

Claims (17)

  1. メモリを備えるハイブリッドOLTP及びOLAPデータベースシステムを維持する方法であって、
    1つ又は複数のOLTPトランザクションを実行するステップと、
    1つ又は複数の仮想メモリスナップショットを作成するステップと、
    前記仮想メモリスナップショットのうちの1つ又は複数を使用して1つ又は複数のOLAP照会を実行するステップと、
    既存のハードウェアサポートメモリ整合性制御機構を使用して、前記データベース内のデータオブジェクトが更新されるときを識別し、対応するページの新しい物理コピーの作成をトリガするステップと、
    を含む方法。
  2. 前記方法は、
    データオブジェクトに対する更新に応答して、前記データオブジェクトが格納される仮想メモリページを複製するステップ、
    をさらに含み、
    その後で更新後データオブジェクトがOLTPトランザクションにとってアクセス可能となると共に、非更新データオブジェクトが、OLAP照会のために依然としてアクセス可能である、請求項1に記載の方法。
  3. 前記OLTPトランザクションが第1アドレス空間内で実行され、
    前記仮想メモリスナップショットを作成するステップが、前記第1アドレス空間のコピーを表す第2アドレス空間を用意するサブステップを含み、
    前記OLAP照会が第2アドレス空間内で実行され、
    前記仮想メモリスナップショットを作成するステップが、OLTPプロセスを複製して、OLAP照会の実行のための子プロセスを作成するサブステップを含む、請求項1に記載の方法。
  4. 前記データベースが、パーティション内にプライベートデータを格納し、共有データを格納し、前記パーティションが、異なるデータ処理システム上に常駐することができ、
    前記方法が、
    前記プライベートデータに対する読取り及び/又は更新アクセス、又は前記共有データに対する読取りアクセスを含むOLTPトランザクションを並列に実行するステップ、
    前記パーティションにわたる読取りアクセス、又は前記共有データへの更新アクセスを含むOLTPトランザクションを順次実行するステップ、及び、
    前記パーティションのうちの1つ又は複数及び前記共有データにわたる1つ又は複数のOLAP照会を実行するステップ、
    のうち1つ以上を含む、請求項1〜3のいずれか一項に記載の方法。
  5. 前記仮想メモリスナップショットがトランザクション整合である、請求項1〜4のいずれか一項に記載の方法。
  6. OLTPトランザクションがアクティブではないとき、前記仮想メモリスナップショットを作成するステップ、
    をさらに含む請求項5に記載の方法。
  7. 1つ又は複数のOLTPトランザクションがアクティブであるとき、前記仮想メモリスナップショットを作成するステップと、
    アンドゥーログ機構を使用して、前記1つ又は複数のアクティブなOLTPトランザクションが開始される前に、前記データベースの状態を表すように前記仮想メモリスナップショットを適応させるステップと、
    をさらに含む請求項5に記載の方法。
  8. 前記仮想メモリスナップショットのうちの1つを使用して複数のOLAP照会を並列に実行するステップ、
    をさらに含む、請求項1〜7のいずれか一項に記載の方法。
  9. それぞれの並列OLAP照会について複数の仮想メモリスナップショットを作成するステップ、
    をさらに含む請求項1〜5のいずれか一項に記載の方法。
  10. 周期的に又は要求時に新しい仮想メモリスナップショットを作成するステップ、
    をさらに含む請求項1〜9のいずれか一項に記載の方法。
  11. 対応するOLAP照会の完了後に前記仮想メモリスナップショットを削除するステップ、
    をさらに含む請求項1〜10のいずれか一項に記載の方法。
  12. 前記仮想メモリスナップショットを使用して、前記データベースのトランザクション整合バックアップを用意するステップ、
    をさらに含む請求項1〜11のいずれか一項に記載の方法。
  13. 前記トランザクション整合バックアップ及びリドゥーログ機構を使用して、前記データベースを復元するステップ、
    をさらに含む請求項12に記載の方法。
  14. 1次サーバを維持して、前記OLTPトランザクションを実行するステップと、
    2次サーバを維持して、前記1次サーバによって実行される前記OLTPトランザクションのうちの少なくとも一部も、データに対する更新アクセスを含むすべてのOLTPトランザクションを実行し、前記OLAP照会のうちの少なくとも一部を実行するステップと、
    をさらに含む請求項1〜13のいずれか一項に記載の方法。
  15. メモリに格納されたデータベースと、
    プロセッサと、
    前記プロセッサに結合され、実行されたときに、請求項1〜14のいずれか一項に記載の方法を前記プロセッサに実行させる命令を格納するストレージと、
    を備える、ハイブリッドOLTP及びOLAPデータベースシステム。
  16. 前記データベースがメインメモリデータベースである、請求項15に記載のハイブリッドOLTP及びOLAPデータベースシステム。
  17. プロセッサベースのシステムのプロセッサに、請求項1〜14のいずれか一項に記載の方法を実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2013510532A 2010-05-17 2011-04-04 ハイブリッドoltp及びolap高性能データベースシステム Expired - Fee Related JP5660693B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB1008184A GB2480599A (en) 2010-05-17 2010-05-17 Hybrid OLTP and OLAP database
GB1008184.2 2010-05-17
PCT/EP2011/055221 WO2011144382A1 (en) 2010-05-17 2011-04-04 Hybrid oltp and olap high performance database system

Publications (2)

Publication Number Publication Date
JP2013531835A JP2013531835A (ja) 2013-08-08
JP5660693B2 true JP5660693B2 (ja) 2015-01-28

Family

ID=42334865

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013510532A Expired - Fee Related JP5660693B2 (ja) 2010-05-17 2011-04-04 ハイブリッドoltp及びolap高性能データベースシステム

Country Status (7)

Country Link
US (1) US10002175B2 (ja)
EP (1) EP2572296B1 (ja)
JP (1) JP5660693B2 (ja)
CN (1) CN102906743B (ja)
CA (1) CA2799637C (ja)
GB (1) GB2480599A (ja)
WO (1) WO2011144382A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11853298B2 (en) 2020-04-28 2023-12-26 Huawei Cloud Computing Technologies Co., Ltd. Data storage and data retrieval methods and devices

Families Citing this family (73)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9389982B2 (en) * 2011-04-18 2016-07-12 Sap Se Method and apparatus for monitoring an in-memory computer system
US9465844B2 (en) 2012-04-30 2016-10-11 Sap Se Unified table query processing
US11010415B2 (en) 2012-04-30 2021-05-18 Sap Se Fixed string dictionary
US9465829B2 (en) 2012-04-30 2016-10-11 Sap Se Partial merge
US9171020B2 (en) 2012-04-30 2015-10-27 Sap Se Deleting records in a multi-level storage architecture
US10162766B2 (en) 2012-04-30 2018-12-25 Sap Se Deleting records in a multi-level storage architecture without record locks
US9165010B2 (en) 2012-04-30 2015-10-20 Sap Se Logless atomic data movement
US8983900B2 (en) * 2012-10-23 2015-03-17 Sap Se Generic semantic layer for in-memory database reporting
US9596279B2 (en) 2013-02-08 2017-03-14 Dell Products L.P. Cloud-based streaming data receiver and persister
US9442993B2 (en) 2013-02-11 2016-09-13 Dell Products L.P. Metadata manager for analytics system
US9141680B2 (en) 2013-02-11 2015-09-22 Dell Products L.P. Data consistency and rollback for cloud analytics
US9191432B2 (en) 2013-02-11 2015-11-17 Dell Products L.P. SAAS network-based backup system
CN104035952B (zh) * 2013-03-08 2018-08-21 英特尔公司 硬件支持的存储临时拷贝
US9798630B2 (en) 2013-03-08 2017-10-24 Intel Corporation Hardware-supported memory temporal copy
US9477609B2 (en) * 2013-04-22 2016-10-25 Sap Se Enhanced transactional cache with bulk operation
US9632944B2 (en) * 2013-04-22 2017-04-25 Sap Se Enhanced transactional cache
US10296508B2 (en) 2013-06-06 2019-05-21 Sap Se Systems and methods to manage online analytical and transactional processing for an in-memory columnar database
US9798783B2 (en) 2013-06-14 2017-10-24 Actuate Corporation Performing data mining operations within a columnar database management system
US9679000B2 (en) 2013-06-20 2017-06-13 Actuate Corporation Generating a venn diagram using a columnar database management system
US9600539B2 (en) 2013-06-21 2017-03-21 Actuate Corporation Performing cross-tabulation using a columnar database management system
US20150006466A1 (en) * 2013-06-27 2015-01-01 Andreas Tonder Multiversion concurrency control for columnar database and mixed OLTP/OLAP workload
CN103345518B (zh) * 2013-07-11 2016-08-10 清华大学 基于数据块的自适应数据存储管理方法及系统
EP3039574A4 (en) * 2013-08-29 2017-03-22 Hewlett-Packard Enterprise Development LP Queries involving multiple databases and execution engines
US9773048B2 (en) 2013-09-12 2017-09-26 Sap Se Historical data for in memory data warehouse
US9734230B2 (en) 2013-09-12 2017-08-15 Sap Se Cross system analytics for in memory data warehouse
US9734221B2 (en) 2013-09-12 2017-08-15 Sap Se In memory database warehouse
US9465855B2 (en) 2013-10-22 2016-10-11 International Business Machines Corporation Maintaining two-site configuration for workload availability between sites at unlimited distances for products and services
US9882980B2 (en) * 2013-10-22 2018-01-30 International Business Machines Corporation Managing continuous priority workload availability and general workload availability between sites at unlimited distances for products and services
US10191765B2 (en) 2013-11-22 2019-01-29 Sap Se Transaction commit operations with thread decoupling and grouping of I/O requests
KR101805561B1 (ko) * 2014-01-02 2017-12-07 후아웨이 테크놀러지 컴퍼니 리미티드 데이터베이스 시스템에서 온라인 분석 처리를 위한 데이터를 유지하는 방법 및 장치
US20160092532A1 (en) * 2014-09-29 2016-03-31 Facebook, Inc. Load-balancing inbound real-time data updates for a social networking system
US10095733B2 (en) * 2014-10-07 2018-10-09 Sap Se Heterogeneous database processing archetypes for hybrid system
GB2531537A (en) * 2014-10-21 2016-04-27 Ibm Database Management system and method of operation
US10606704B1 (en) * 2014-12-31 2020-03-31 Acronis International Gmbh Creation of consistent copies of application data
US9652287B2 (en) * 2015-01-05 2017-05-16 Miosoft Corporation Using databases for both transactions and analysis
US9886347B2 (en) * 2015-01-08 2018-02-06 International Business Machines Corporation Data replication in a database management system
CN104573112B (zh) * 2015-01-30 2018-03-02 华为技术有限公司 Oltp集群数据库中页面查询方法及数据处理节点
EP3054384B1 (en) 2015-02-04 2018-06-27 Huawei Technologies Co., Ltd. System and method for memory synchronization of a multi-core system
EP3093773B1 (en) * 2015-05-13 2019-07-10 Huawei Technologies Co., Ltd. System and method for creating selective snapshots of a database
CN106716400B (zh) 2015-06-26 2019-09-27 华为技术有限公司 一种数据表的分区管理方法及装置
CN106354729B (zh) * 2015-07-16 2020-01-07 阿里巴巴集团控股有限公司 一种图数据处理方法、装置和系统
CN105138426B (zh) * 2015-08-20 2018-04-13 浪潮(北京)电子信息产业有限公司 一种基于快照的业务级数据一致性保护方法及装置
US9959154B2 (en) 2016-02-16 2018-05-01 International Business Machines Corporation Identifying defunct nodes in data processing systems
US11442823B2 (en) 2016-06-03 2022-09-13 International Business Machines Corporation Transaction consistency query support for replicated data from recovery log to external data stores
US10262002B2 (en) 2016-08-11 2019-04-16 International Business Machines Corporation Consistent execution of partial queries in hybrid DBMS
EP3291103B1 (en) * 2016-09-01 2019-11-06 Huawei Technologies Co., Ltd. System and method for creating a snapshot of a subset of a database
US10769040B2 (en) * 2016-11-21 2020-09-08 Sap Se Logical equivalent replication with snapshot based fallback of database systems
CN107423390B (zh) * 2017-07-21 2020-10-27 上海德拓信息技术股份有限公司 一种基于oltp-olap混合关系型数据库系统内部的数据实时同步方法
US10853349B2 (en) 2017-08-09 2020-12-01 Vmware, Inc. Event based analytics database synchronization
CN107391758B (zh) * 2017-08-24 2020-08-04 阿里巴巴集团控股有限公司 数据库切换方法、装置及设备
US11687567B2 (en) * 2017-09-21 2023-06-27 Vmware, Inc. Trigger based analytics database synchronization
US10909116B2 (en) * 2018-02-20 2021-02-02 International Business Machines Corporation Optimizing query processing and routing in a hybrid workload optimized database system
CN108376169A (zh) * 2018-02-26 2018-08-07 众安信息技术服务有限公司 一种用于联机分析处理的数据处理方法和装置
US11165634B2 (en) * 2018-04-02 2021-11-02 Oracle International Corporation Data replication conflict detection and resolution for a multi-tenant identity cloud service
US11086852B2 (en) 2018-09-28 2021-08-10 Western Digital Technologies, Inc. Hardware-assisted multi-table database with shared memory footprint
US11249856B2 (en) * 2018-10-25 2022-02-15 EMC IP Holding Company LLC Application consistent snapshots as a sidecar of a containerized application
US10742489B2 (en) * 2018-11-01 2020-08-11 Hewlett Packard Enterprise Development Lp Validating network configuration using shadow databases
US11249979B2 (en) 2018-11-30 2022-02-15 Hewlett Packard Enterprise Development Lp Systems and methods for live, on-device configuration validation
CN110019251A (zh) * 2019-03-22 2019-07-16 深圳市腾讯计算机系统有限公司 一种数据处理系统、方法及设备
CN110119422B (zh) * 2019-05-16 2021-05-07 武汉神算云信息科技有限责任公司 小微信贷租户数据仓库数据处理系统及设备
US11176121B2 (en) 2019-05-28 2021-11-16 International Business Machines Corporation Global transaction serialization
US11768701B2 (en) * 2019-09-17 2023-09-26 Western Digital Technologies, Inc. Exception analysis for data storage devices
US11853364B2 (en) 2020-01-31 2023-12-26 Ocient Holdings LLC Level-based queries in a database system and methods for use therewith
US11061910B1 (en) * 2020-01-31 2021-07-13 Ocient Holdings LLC Servicing concurrent queries via virtual segment recovery
CN112269832A (zh) * 2020-10-30 2021-01-26 浪潮云信息技术股份公司 一种基于cdc实现数据库数据同步并读写分离的方法
US11016969B1 (en) * 2020-11-25 2021-05-25 Coupang Corp. Systems and methods for managing a highly available distributed hybrid transactional and analytical database
US11675806B2 (en) * 2020-12-14 2023-06-13 Snowflake Inc. Aggregate and transactional networked database query processing
CN112947084B (zh) * 2021-02-08 2022-09-23 重庆大学 一种基于强化学习的模型未知多智能体一致性控制方法
WO2022259493A1 (ja) * 2021-06-10 2022-12-15 日本電信電話株式会社 ジャーナルログ制御システム、ジャーナルログ制御方法およびジャーナルログ制御プログラム
CN113468182B (zh) * 2021-07-14 2022-09-20 广域铭岛数字科技有限公司 一种数据存储方法及系统
US11841845B2 (en) * 2021-08-31 2023-12-12 Lemon Inc. Data consistency mechanism for hybrid data processing
US11789936B2 (en) 2021-08-31 2023-10-17 Lemon Inc. Storage engine for hybrid data processing
US20240004867A1 (en) * 2022-06-30 2024-01-04 Amazon Technologies, Inc. Optimization of application of transactional information for a hybrid transactional and analytical processing architecture

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001297026A (ja) * 2000-04-11 2001-10-26 Hitachi Ltd 複数のデータベースマネージメントシステムを有する計算機システム
JP3882467B2 (ja) * 2000-05-22 2007-02-14 株式会社日立製作所 記憶装置システムのスナップショット管理方法
US6954757B2 (en) * 2001-02-02 2005-10-11 Hewlett-Packard Development Company, L.P. Framework, architecture, method and system for reducing latency of business operations of an enterprise
US6898608B2 (en) * 2002-04-26 2005-05-24 Oracle International Corporation Techniques for managing what-if analysis of data managed by a relational database system
US7249118B2 (en) * 2002-05-17 2007-07-24 Aleri, Inc. Database system and methods
US7313793B2 (en) * 2002-07-11 2007-12-25 Microsoft Corporation Method for forking or migrating a virtual machine
ATE450011T1 (de) * 2004-06-23 2009-12-15 Sap Ag System und verfahren zur datenverarbeitung
US20060047926A1 (en) * 2004-08-25 2006-03-02 Zheng Calvin G Managing multiple snapshot copies of data
US8200700B2 (en) * 2005-02-01 2012-06-12 Newsilike Media Group, Inc Systems and methods for use of structured and unstructured distributed data
US20070162512A1 (en) * 2006-01-10 2007-07-12 Microsoft Corporation Providing reporting database functionality using copy-on-write technology
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
EP2040180B1 (en) * 2007-09-24 2019-01-16 Hasso-Plattner-Institut für Digital Engineering gGmbH ETL-less zero-redundancy system and method for reporting OLTP data
US8826273B1 (en) * 2010-12-22 2014-09-02 Vmware, Inc. Synchronously logging to disk for main-memory database systems through record and replay

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11853298B2 (en) 2020-04-28 2023-12-26 Huawei Cloud Computing Technologies Co., Ltd. Data storage and data retrieval methods and devices

Also Published As

Publication number Publication date
CN102906743A (zh) 2013-01-30
EP2572296A1 (en) 2013-03-27
EP2572296B1 (en) 2019-01-02
US20130073513A1 (en) 2013-03-21
GB2480599A (en) 2011-11-30
CA2799637C (en) 2019-01-22
CA2799637A1 (en) 2011-11-24
GB201008184D0 (en) 2010-06-30
WO2011144382A1 (en) 2011-11-24
CN102906743B (zh) 2016-10-19
US10002175B2 (en) 2018-06-19
JP2013531835A (ja) 2013-08-08

Similar Documents

Publication Publication Date Title
JP5660693B2 (ja) ハイブリッドoltp及びolap高性能データベースシステム
Antonopoulos et al. Socrates: The new sql server in the cloud
Verbitski et al. Amazon aurora: Design considerations for high throughput cloud-native relational databases
US9069704B2 (en) Database log replay parallelization
Zhou et al. Foundationdb: A distributed unbundled transactional key value store
US10430298B2 (en) Versatile in-memory database recovery using logical log records
Kemper et al. HyPer: A hybrid OLTP&OLAP main memory database system based on virtual memory snapshots
US9208191B2 (en) Lock-free, scalable read access to shared data structures
US9092475B2 (en) Database log parallelization
Loesing et al. On the design and scalability of distributed shared-data databases
US8666939B2 (en) Approaches for the replication of write sets
Amiri et al. Highly concurrent shared storage
US11132350B2 (en) Replicable differential store data structure
US9904721B1 (en) Source-side merging of distributed transactions prior to replication
Yao et al. Adaptive logging: Optimizing logging and recovery costs in distributed in-memory databases
Depoutovitch et al. Taurus database: How to be fast, available, and frugal in the cloud
EP3827347B1 (en) Constant time database recovery
Sowell et al. Minuet: A scalable distributed multiversion B-tree
US20130117235A1 (en) Implicit Group Commit When Writing Database Log Entries
Qin et al. Scalable replay-based replication for fast databases
US11176004B2 (en) Test continuous log replay
Zhu et al. Solar: Towards a {Shared-Everything} Database on Distributed {Log-Structured} Storage
US11301341B2 (en) Replication system takeover with handshake
Shacham et al. Taking omid to the clouds: Fast, scalable transactions for real-time cloud analytics
Scotti et al. Comdb2 bloomberg's highly available relational database system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131108

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140516

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140708

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20141006

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141009

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20141014

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141128

R150 Certificate of patent or registration of utility model

Ref document number: 5660693

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

LAPS Cancellation because of no payment of annual fees