JP4895437B2 - データベース管理方法およびシステム並びにその処理プログラムおよびそのプログラムを格納した記録媒体 - Google Patents
データベース管理方法およびシステム並びにその処理プログラムおよびそのプログラムを格納した記録媒体 Download PDFInfo
- Publication number
- JP4895437B2 JP4895437B2 JP2001195684A JP2001195684A JP4895437B2 JP 4895437 B2 JP4895437 B2 JP 4895437B2 JP 2001195684 A JP2001195684 A JP 2001195684A JP 2001195684 A JP2001195684 A JP 2001195684A JP 4895437 B2 JP4895437 B2 JP 4895437B2
- Authority
- JP
- Japan
- Prior art keywords
- database
- data
- area
- olap
- management
- 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
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
【発明の属する技術分野】
本発明は、複数のデータベースを有するデータベース管理技術に関し、あるデータベースの情報を他のデータベースに格納するデータベース管理技術に関する。
【0002】
【従来の技術】
高可用性のソリューションとして、データベース(DB)管理システムを2重化させ、片系がCPUダウン、電源ダウンなどシステム障害の要因でデータベースシステム全体が停止するのを防ぐ目的で、HA(High Availability)システムのように多重化構成などが考えられる。例えば、文献(Jim Gray and Andreas Reuter, Tranzaction Processing: Concepts and Techniques, Morgan Kaufmann Publishers, 1993)にはHAシステム構成によるDB障害対策としてのホットスタンバイ無停止運用について開示している。また、データベースを格納するディスク装置には、高信頼性を保証するために、RAID(Redundant Array of Inexpensive Disks)構成を併用することが多い。このRAID構成は、文献(David A. Patterson et. al., A Case for Redundant Arrays of Inexpensive Disks(RAID), ACM SIGMOD 1988.)で詳細に開示されている。さらに、分散されたシステム間で同一の見方でデータベースをアクセスさせる機能として、レプリカDBがある。このレプリカDB技術は、文献(Date, C.J., An Introduction to Database Systems: Volume 1 Fifth Edition, Addison-Wesley Publisher, 1990)で開示されている。
【0003】
【発明が解決しようとする課題】
しかし、数万ユーザから同時にアクセスされるWeb環境、あるいは日々分析データが追加される数十TBからなる大規模なDBを管理するDWHシステムにデータベース管理システムが適用される現状では、これらのデータベースシステムの運用につれて大幅に増加・変動するDB量、ユーザ数、負荷量などに対応することが必須になる。予め、このようなDB量、ユーザ数、負荷量の増減を加味してDB設計(データ分割方法、メモリ量、プロセッサ・サーバ数、ディスク量の配置配分)を行うことも可能ではあるが、初期的にデータベースシステムを稼動させる時点では増加量を見込んだ膨大なシステムコストを考慮すると必要最小限のシステム構成でデータベースシステムを稼動せざるをえない。そのため、DB量、ユーザ数、負荷量が増減した時点で、初期時のDB設計を見直し、再構築することになる。従来までは、このようなDB設計方針に基き、データベースシステムの運用を止め、即ちDBサービスを停止させ、データ分割方法、メモリ量、プロセッサ・サーバ数、ディスク量を必要に応じて各々変更していた。
【0004】
このDBサービス停止には、様々な要因が考えられる。例えば、Web環境では年々増加するサービス数、Webブラウザなどのクライアントからのアクセス要求に対して、これらの要求を処理するために必要とされる処理能力に対応してデータベース管理システムのサーバの追加が必要になる。また、クライアントへのサービスを追加することでアプリケーションプログラムが増えることでデータベースに対する見方が多様になることで、対応する表も増え結果的にDB量も年々増加する一方になる。これらのDBを格納するディスクの追加、データ分割方法のスキーマの変更を行うことによって、DB量の不均衡、DBアクセス負荷の均衡化を図ることを考慮する必要がある。さらに、大量のDB削除などの操作によるDB構造の乱れにより検索効率の低下を防ぐために、DBの再編成を定期的に行う必要がある。
【0005】
これらのDB運用機能は、夜間のデータベースシステム稼動停止あるいは週末のバッチ運用で行われる。ただし、Web環境に代表されるようにデータベースシステムが24時間グローバルに世界規模で利用されるようになった現在では、DB稼動停止時間やバッチ運用時間が確保できない状況がでてくる。そのため、DBサービス無停止でこれらの運用を並行に実現する要求が強まっている。
【0006】
このようなデータベース運用機能は、夜間のデータベースシステム稼動停止あるいは週末のバッチ運用で行われる。ただし、Web環境に代表されるようにデータベースシステムが24時間グローバルに世界規模で利用されるようになってくると、データベース稼動停止時間やバッチ運用時間が確保できない状況がでてくる。
【0007】
本発明の目的は、データベースへのデータ格納をデータベースサービスと並行して処理するデータベース管理方法およびシステムを提供することにある。
【0008】
【課題を解決するための手段】
前記課題を以下の手段により解決する。
第1のデータベースと第2のデータベースとを有するデータベース管理システムにおけるデータベース管理方法において、次のステップを有する。
(1)入力されたデータを上記第1のデータベースに格納する第1のステップ、(2)設定された条件を満たしたとき、上記第2のデータベースに登録したデータを管理する管理情報に基づいて上記第2のデータベースに登録さていないデータを上記第1のデータベースから得て、該得られたデータを上記第2のデータベースへ登録し、該得られたデータについて上記管理情報を更新する第2のステップ
このように、設定された条件により、上記第2のデータベースに登録したデータを管理する管理情報に基づいて上記第2のデータベースに登録さていないデータを上記第1のデータベースから得て、該得られたデータを上記第2のデータベースへ登録することができるため、第2のデータベースへのデータ格納を第1のデータベースサービスと並行して処理することができるようになる。
【0009】
【発明の実施の形態】
DBのサービス停止には、様々な要因が考えられる。例えば、Web環境では年々増加するサービス数、Webブラウザなどのクライアントからのアクセス要求に対して、これらの要求を処理するために必要とされる処理能力に対応してデータベース管理システムのサーバの追加が必要になる。また、クライアントへのサービスを追加することでアプリケーションプログラムが増えることでデータベースに対する見方が多様になることで、対応する表も増え結果的にDB量も年々増加する一方になる。これらのDBを格納するディスクの追加、データ分割方法のスキーマの変更を行うことによって、DB量の不均衡、DBアクセス負荷の均衡化を図ることを考慮する必要がある。さらに、大量のDB削除などの操作によるDB構造の乱れにより検索効率の低下を防ぐために、DBの再編成を定期的に行う必要がある。
【0010】
これらのDB運用機能は、夜間のデータベースシステム稼動停止あるいは週末のバッチ運用で行われる。ただし、Web環境に代表されるようにデータベースシステムが24時間グローバルに世界規模で利用されるようになった現在では、DB稼動停止時間やバッチ運用時間が確保できない状況がでてくる。そのため、DBサービス無停止でこれらの運用を並行に実現する要求が強まっている。このDBサービスを停止させないで、DB運用を行うためには、次の課題を解消する必要がある。
(i)接続性・拡張性
データベース処理を行うサーバとデータベースを管理するストーレジが独立に、しかも自立的にデータ管理が運用できることにより、サーバあるいはストーレジが稼動中に接続構成や各サーバ・ストーレジ追加・変更が容易になる。
(ii)データ共用
複数のサーバ間でストーレジが共用可能であることにより、フラットフォームと独立にデータ移動、変換が可能となる。
(iii)高可用性
破壊されてはならないデータを多重化あるいは離れた場所にコピーできる。
【0011】
これらの要件を満たすのが、次世代ITとして注目を浴びているSAN(Storage Area Network)ソリューションである。SANソリューションの目指す目標は、次の4点である。
(a)ストーレジ入出力性能の大幅向上(Performance)
(b)サーバ環境とは独立した柔軟なストーレジ環境の設定・拡張(Scalability)
(c)ストーレジの一元運用(Storage Management Efficiency)
(d)接続距離を飛躍的に延ばす事による災害対策(Data Protection)
特に、データベースシステムの拡張性を加味すると、上記の(b)の特長活かすことが有望である。
【0012】
ここで具体的なデータベースシステムで議論する。大手小売業販売実績管理システムでは、地域に展開している各小売店舗の時々刻々の販売履歴情報をPOS端末などにより集積されている。これらの情報は、在庫管理、発注管理、商品配送計画などと関連付けられている。また、売れ筋商品分析などの結果を、即時に店舗内商品配置に反映することも考えられる。そのために、RDBシステムに時系列順に、販売履歴コードなどからなるレコードをDBへ追記中心で反映することでDBを構築して行く。また、ここで蓄積された履歴DBをソースにして、多元な分析軸で瞬時にOLAP分析が可能なOLAPシステムを構築する。このOLAPシステムは、RDBシステムで構築された履歴DBを反映する必要がある。従来技術のレプリカDBでは、抽出元のRDBへの更新によって変更された部分を抽出し、これらを即時あるいはある時間遅れで反映先RDBへ反映される。レプリカDBでは、抽出元、反映先ともRDBであるので、基本的には同一のデータ(一部ジョインあるいは複数の表への分類なども含まれる)の複製が作成される。ここでのRDBシステムからOLAPシステムへの反映方法には、2通りが考えられる。
(a)初期作成
RDBシステムに構築された全ての履歴DBをデータロードし、OLAPシステムへ反映する
(b)追加更新
履歴DBで追加更新が行われた部分を、OLAPシステムへ追加ロードする
典型的な、販売履歴DBに対するDB諸元及びアクセス特性は、以下のようになる。大手小売業販売実績から推定から推定すると、7.7M件/日の販売実績があり、各実績毎に200B〜1KB長のレコードを登録することにより、約40GB〜200GB/月の履歴DB規模になる。年間で約0.4TB〜2TBのDBが追加されることになる。この履歴DBは、スタースキーマを構成し、SQLの集約問合せにより統計サマリーを作成する業務で利用されことが多い。
【0013】
また、販売履歴DBをより多次元の軸で動的に分析する業務ではOLAPシステムを用い、18〜24ヶ月の履歴データを構築して、販売地区毎、あるいは商品毎の同月比、月別、期別などで分析を行う必要がある。さらに、約3ヶ月の履歴データに80%以上のアクセスが集中する特徴もあり、さらにデータの鮮度をより上げるニーズが増えつつある。上記議論したが、このRDBシステムとOLAPシステムのサービスを無停止で提供されなければならないことは言うまでもない。
【0014】
DBサービスを無停止で時系列、販売履歴コードなどにより追記中心の履歴DBを対象にしたOLAP分析業務をRDB業務を停止せずに構築(初期作成、追加更新)するためには、次の課題を解決する必要がある。
(1)RDBシステムで追加更新するデータベース領域とOLAPシステムへ初期作成、追加ロードするデータベース領域が重なるために、RDBシステム及びOLAPシステムでアクセスが競合するため、RDBシステム側のシステム性能が低下する。
(2)OLAP分析業務では、最近のデータへのアクセスの80%が集中し、しかもOLAPシステムへの追加ロードの対象にもなるため、局所的なデータベース領域に負荷が集中する。
【0015】
これらの課題を解消するために、次の解決方法を考える。
【0016】
アクセスするデータベース領域が競合するため生じる課題に対しては、次の解決方法を考える。
(a)データベース格納領域を分離
RDBシステムでアクセスするデータベース領域はデータ追加と参照が主であり、OLAPサーバへ追加ロードし反映するため読み出しのみであることに着目すれば、ディスク装置の多重化機能あるいはOSが提供するディスク2重書きを利用することにより、物理的にデータベース領域を複数もつことで対応する。このデータベース領域は書き込みの同期が取られていることが前提である。正Vol(データ追加と参照あり)と副Vol(指定時刻で整合性があるDB)の内容が異なり、しかも物理的に隔絶することでアクセス負荷を分ける。
(b)データベース管理システムの更新履歴情報システムログの利用
データベース管理システムでは、DB障害回復のために更新履歴情報システムログを保持している。即ち、このシステムログにはデータベースシステムへの全更新情報が含まれているので、ある時点からの更新情報を抽出することが可能である。OLAPサーバへ追加ロードし反映するためには、このシステムログから抽出した該当する履歴DB表に関するデータを作成することができる。
(c)OLAPサーバへの反映部分を局所化する方法
データベースをキー値範囲、ハッシュ分割などにより分割する手法が行われているが、最近のデータを細分化し、かつ80%のアクセスが集中するため並列化効果を高めるため、多段の階層分割を採用する。即ち、OLAPサーバへ追加ロードする対象のデータは、時系列的には最近に集まる特性を持つため、時間的に近いデータを上記の分割手法を用いて分割区間として局所化する。これによって、RDBシステムの負荷を最小限にさせ、追加ロードのための読み出しが可能となる。
【0017】
また、RDBシステムからOLAPシステムへデータを反映する場合、あるデータベースとして整合の取れた状態でOLAP分析ができることが要求される。即ち、ある時点でのデータベースとして整合が取れたデータをRDBシステムからOLAPシステムへ見せることが必要となる。この課題を解消するために、次の手段を適用する。
(a)RDBシステムのデータベースを時系列順で分割管理
時系列順で分割管理するため、追加ロードする対象のデータアクセス範囲を局所化可能である。RDBシステム側では、以前どこまでの時系列範囲をOLAPシステム側に反映したかを把握すれば、今回どの時系列範囲を追加ロードすればよいかが判定できる。
(b)システムログ情報を基にデータ反映
RDBシステムではデータベースへの更新反映情報をシステムログとして維持管理している。OLAPシステムへ追加ロードするデータは、このシステムログ情報から該当する履歴DB表のある時点からの更新履歴を抽出すればよい。
【0018】
上記のSANソリューションと組み合わせることにより、DB処理を行うサーバとDBを格納するストーレジが光ファイバなどの高速なネットワークを介して接続されるため、サーバとストーレジとの共用関係や接続に関するマッピング情報を変更するのみで動的なサーバ追加、ディスク追加などが容易に運用できる。さらに、各ストーレジはRAIDディスクを利用するため、多重化による信頼性の確保とともにDB運用でワークとして必要な領域を動的なデバイスとして割当て、解除などの機能を利用することにより、通常業務を停止しないでDB再編成運用ができる。具体的には、サーバ及びディスクを追加することでDBシステムの規模を拡大する、即ちスケーラブルなシステムが構築できる。
【0019】
前記課題を以下の手段により解決する。
(1)DB分割管理するシステムで、新たに第1のDB格納領域と第2のDB格納領域を割当て、第1の格納領域の複写を第2の格納領域に反映し、複写の指示が解除されると第1の格納領域への書き込みが行われ、再複写の指示が行われると複写指示が解除された間第1の格納領域に書き込まれたデータが第2の格納領域に反映されること
(2)(1)において、複写の指示が解除される間、第2の格納領域に指定された時刻までトランザクションが完了したシステムログを第2の格納領域に反映し、第2の格納領域を読み出すこと。
(3)(1)において、DB分割管理手法として、キーレンジ分割、ハッシュ分割、ラウンドロビン分割、及びそれらを多元的に組合せる分割手段を用い、時系列でより最近のデータを細分化してデータ分割すること。
(4)(1)において、第1のDB格納領域と第2のDB格納領域を割当てるデータベース領域は、前回までに反映された時点以降の時系列でより最近のデータを格納するデータベース領域であること。
(5)DB分割管理するシステムで、第1のDB格納領域を割当て、第1の格納領域への書き込み履歴であるシステムログから前回まで反映された時点以降の該当するデータを読み出すこと。
【0020】
以下、本発明の実施例を図面を用いて詳細に説明する。
時系列、販売履歴コードなどにより追記中心の履歴DBを対象にしたOLAP分析業務をRDB業務を停止せずに構築(初期作成、追加更新)する。DB分割管理は、DB障害の局所化、バックアップ単位の細分化手段として適用されていたが、追記によるDB量の変動、及びOLAPサーバへの反映部分を局所化する方法として適用する。
【0021】
図lは、RDBシステムからOLAPシステムへデータを反映する全体構成を示してる。RDBシステムは、アプリケーションプログラム10、11、及びデータ抽出部200を含むデータベース管理システム20で構成されている。また、OLAPシステムは、アプリケーションプログラム11、12、及びデータ反映部600を含むOLAPサーバシステム60で構成されている。RDBシステム及びOLAPシステムのデータベースは、SANを介して接続されている。RDBシステムのデータベースは、エリアに分割されており、図3で示すようにエリア1の300、エリア2の301、エリア3の302、エリア4の303、エリア51の304、エリア52の305、エリア53の306に各々格納されている。エリア51の304、エリア52の305、エリア53の306は、正Volとして格納管理されているが、ディスク2重書き機能を有する場合、エリア51の307、エリア52の308、エリア53の309に副Volが格納管理される。OLAPシステムのデータベースは、エリアに分割されており、エリア1の700、エリア2の701、エリア3の702に格納管理される。
【0022】
RDBシステムでデータ更新されるとデータベース管理システム20によってデータベースへ書き込まれる。この例では、正Volであるエリア51の304、エリア52の305、エリア53の306に書き込まれる。正Volへの書き込みは、バックグラウンドで副Volへ書き込みとなる。RDBシステムからOLAPシステムへのデータ反映は、データベース管理システム20のデータ抽出部200及びOLAPサーバシステム60のデータ反映部600を介して行われる。OLAPサーバシステム60は、RDBシステムから反映されたデータを分割スキーマに基きエリア1の700、エリア2の701、エリア3の702に格納する。
【0023】
図2は、データベース管理システム20の構成図である。ユーザが作成したアプリケーションプログラム10、11と問合せ処理やリソース管理などのデータベースシステム全体の管理を行うデータベース管理システム20がある。上記のデータベース管理システム20は、システム制御21、論理処理部22、物理処理部23と、データベースアクセス対象となるデータを永続的にあるいは一時的に格納するデータベース30・ディクショナリ50・システムログ40からなる。また、上記データベース管理システム20はネットワークなどを介して他のシステムと接続されている。
【0024】
SAN構成のシステムでは、上記データベース30・ディクショナリ50・システムログ40の全体あるいは一部分がSAN80を介してディスク装置に格納されている。この場合、ディクショナリ50にはデータベース30を各エリアにどのスキーマ分割手法で分割したか、あるいはエリアと正副Volのマッピングなどについて設定している。表定義文、表変更文などにより、このディクショナリ50情報を更新することでデータベース管理システム、OLAPサーバシステムなどサーバシステム側とSANを介して接続されたディスク装置内のスキーマ分割されたデータベースの格納部分となるエリアやこれらのエリアと対応付く正副Volなどストーレジ側とのマッピングが設定、更新される。
【0025】
上記システム制御21は、ユーザからの問合せ入力、問合せ結果の返却、データロード・データ再編成・再構成コマンドなど受付によるデータベース保守、他システムとの連携制御などを行う。上記論理処理部22は、問合せの構文解析・意味解析を行う問合せ解析220と、適切な処理手順を生成する最適化処理221と、処理手順に対応したコードの生成を行うコード生成222とを具備している。また、上記生成されたコードに基きコードの解釈実行を行うコード解釈実行223を具備している。さらに、表定義コマンド、表変更コマンド、エリア−Volマッピング・コマンド、正副Vol制御コマンドなどコマンド解析実行を行うコマンド解析225を具備している。上記物理処理部23は、アクセスしたデータの条件判定、編集、レコード追加などを実現するデータアクセス制御230と、データベースレコードの読み書きなどのアクセス制御を行うデータベースバッファ制御231と、システムで共用するリソースの排他制御232とを具備している。さらに、データベース30の読み出し及び書き込みはデータベースバッファ24を介して行われる。システムログ40は、データベース30へのデータ挿入、更新、削除などの更新履歴情報を蓄積する。ディクショナリ50は、データベース30の表、インデクスなどデータベース・スキーマ情報、データベース30のデータ分割方法、格納管理する領域名称、ページサイズなどの格納情報からなる。また、データ分割方法の変更などのコマンドが実行されると、ディクショナリ50が変更される。
【0026】
次に、販売履歴表を時系列で分割する一実施例として、データベース分割方法としてキーレンジ分割手法を用いる。データベース分割方法には、キーレンジ分割手法以外にハッシュ分割手法、ラウンドロビン分割手法、及びこれらの手法を多元的に組合せる手法などがあり、これらを分割手法として適用することは可能である。
図3は、販売履歴表を時系列で分割して管理している。販売履歴表は、年度、半期、月毎で分割管理されている。具体的には、97年度はエリア1の300、98年度はエリア2の301、99年度第1四半期はエリア3の302、99年度第二四半期はエリア4の303、99年度7月分はエリア51の304、99年度8月分はエリア52の305、99年度9月分はエリア53の306に格納されている。この場合、ディクショナリ50には、各々キーレンジ区間とその区間に対応するエリア名が設定される。
【0027】
例えば、このデータベース分割は次の表定義文で実行される。
また、この例では、99年度第三四半期に対してエリアが割当てられていないが、99年度9月分にデータ反映し終えた時点で、各々99年度7、8、9月分に割当てられているエリア51の304、エリア52の305、エリア53の306を併合し、エリア5として管理される。
【0028】
図4は、99年度9月分にデータ反映し終えた時点でのデータベース分割方法の変更を行う場合の表変更文の実行を示す。エリア51の304、エリア52の305の分割区間で管理されていたデータベースをエリア53の306を含め、エリア5の307とする表変更文は次のようになる。
ALTER TABLE 販売履歴表
MERGE AREA (エリア51,エリア52,エリア53)
INTO ( (エリア5) 時刻コード>='1999-09');
この表変更文によって、ディクショナリ50には、各々キーレンジ区間とその区間に対応するエリア51、エリア52、エリア53エリア名が、エリア5に変更され、設定される。
【0029】
図5は、論理処理部22の処理フローである。表定義文及び表変更文などのコマンド解析実行、問合せ解析、問合せ実行は、この論理処理部22で実現される。ユーザから入力されたコマンドが、解析要求、実行要求、あるいはコマンド解析実行であるか確認される(225)。解析要求であれば、問合せ解析(220)、最適化処理(221)、コード生成(222)が行われる。また、実行要求であれば、コード解釈実行が行われる(223)。さらに、コマンド解析実行要求であれば、コマンド解析が行われる(224)。表定義コマンドであれば(226)、表のデータベース分割方法、各エリア名への対応付けなどをディクショナリ50へ登録する(227)。表定義コマンドであれば(228)、表のデータベース分割方法の変更及び各エリアの追加、削除、併合、分割などに応じてディクショナリ50へ登録する。エリア−Volマッピング・コマンドであれば(230)、各エリアに対応する正副Vol情報をディクシュナリ50へ登録する。正副Vol制御コマンドであれば(232)、正副Volへの切り離し指示、再接続指示を該当するディスク装置へ発行する(233)。
【0030】
図6は、ディスク2重書きの原理を示す。以下の説明で、ディスク2重書き機能を適用するため、ここで開示する。ディスク装置へ正副Vol対を設け2重に書き込む場合、ディスク2重書き機能が存在するか否かで動作が異なる。
【0031】
ディスク2重書き機能が存在しない場合((a))、データベースバッファ管理231から正Volのエリア2の30及び副Volのエリア2の31に対して、各ディスク装置に書き込み要求が発行される。即ち、ソフトウェア的に2つのディスク装置上で同一のデータを常に保持することになる。
【0032】
また、ディスク2重書き機能が存在する場合((b))、データベースバッファ管理231から正Volのエリア2の30に対して書き込み要求が発行される。ディスク2重書き機能を有するディスク装置では、正Volのエリア2の30と副Volのエリア2の31の対応付けを指定されており、この対応付けにより正Volのエリア2の30への書き込みを副Volのエリア2の31の書き込みとして反映させる。即ち、ディスク装置側の機能としてハードウェア的に2つのディスク装置上で同一のデータを常に保持することになる。
【0033】
さらに、正Volのエリア2の30及び副Volのエリア2の31を次のエリア−Volマッピング文で定義させる。
このエリア−Volマッピング文によって、ディクショナリ50には、各々エリアとそのエリアに対応する正Vol名「正ボリューム2」、副Vol名「副ボリューム2」が設定される。
【0034】
図7は、データベースバッファ管理231のフロー詳細である。データアクセス処理230でデータベースのページへの読み書き要求があると呼び出される。まず、データベースバッファ上に該当するページが存在するか否かを確認する(2310)。存在すれば、該当バッファ位置を通知し終了する(2311)。存在しなければ、該当するページをデータベースバッファに読み込むために、替わりに掃き出すべきページを決定する(2312)。ページを書き出す場合、ディスク装置に2重書き機能があるか否かを確認する(2313)。2重書き機能が存在すれば、ディスク装置の正Volに書き込み要求を発行し(2315)、ディスク装置の正Vol内容を副Volに反映する(2316)。2重書き機能が存在しなければ、OSなどの手段でディスク装置の正副Vol対に対してそれぞれ書き込み要求を発行する(2314)。その次、空いたデータベースバッファに要求ページを読み込み(2317)、終了する。
次に、RDBシステムからOLAPシステムへデータ反映する一実施例を示す。
【0035】
まず、ディスク2重化する場合とシステムログベースのデータ反映する場合に分けられる。さらに、ディスク2重化する場合も、ディスク2重書き機能の有無で分けられる。各々の場合について、以下では図8、9、10で説明する。
【0036】
図8は、ディスク2重書きなしの場合である。これば、図6の(a)に相当し、ソフトウェア的にディスク2重化を実現している。
まず、(i)指定時刻データ作成フェーズとして、副Volに指定時刻で整合が取れたデータベース状態を作成する。データベースバッファ231から副Volのエリア2の31への書き込みが抑止される。次に、データ抽出部200がシステムログ40から指定時刻までにトランザクションが完了したデータベースとするために、システムログ情報を時系列で反映する。
次に、(ii)データ抽出反映フェーズとして、データ抽出部200が副Volのエリア2の31からデータを抽出して、データ反映部600を介しOLAPサーバシステムのスキーマ分割方法に従いエリア1の700、エリア2の701、エリアmの702へデータ登録される。
さらに、(iii)正副Vol再接続フェーズとして、上記(i)、(ii)のフェーズ実行中に正Volのエリア2の30に書き込まれた状態と副Volのエリア2の31の状態との整合を保つため、データ抽出部200がシステムログ40から現時点までの最新のデータベースとするために、システムログ情報を時系列で反映する。
【0037】
図9は、ディスク2重書きありの場合である。これば、図6の(b)に相当し、ディスク装置で具備するディスク2重化を前提としている。
まず、(i)指定時刻データ作成フェーズとして、副Volに指定時刻で整合が取れたデータベース状態を作成する。正Volのエリア2の30から副Volのエリア2の31への書き込みが抑止されると同時に、正Volのエリア2の30への書き込み情報は差分情報3000に反されるよう設定される。次に、データ抽出部200がシステムログ40から指定時刻までにトランザクションが完了したデータベースとするために、システムログ情報を時系列で反映する。
次に、(ii)データ抽出反映フェーズとして、データ抽出部200が副Volのエリア2の31からデータを抽出して、データ反映部600を介しOLAPサーバシステムのスキーマ分割方法に従いエリア1の700、エリア2の701、エリアmの702へデータ登録される。
さらに、(iii)正副Vol再接続フェーズとして、上記(i)、(ii)のフェーズ実行中に正Volのエリア2の30に書き込まれた状態と副Volのエリア2の31の状態との整合を保つため、差分情報3000が副Volのエリア2の31へ反映され現時点までの最新のデータベースとなる。
【0038】
図10は、システムログベースのデータ反映する場合である。
まず、前回までにデータ反映したシステムログ・ポイントを取得する。このシステムログ・ポイントは、指定時刻を表したものである。次に、当該システムログ・ポイント以降で、指定された時刻までのシステムログをデータ反映する。基本的には、システムログは時系列順に蓄積されているので、この順にデータ反映すればよい。具体的には、システムログ40からデータを抽出して、データ反映部600を介しOLAPサーバシステムのスキーマ分割方法に従いエリア1の700、エリア2の701、エリアmの702へデータ登録される。
【0039】
上記のデータ抽出及びデータ反映の詳細フローを示す。
図11は、データ抽出部200のフローである。システムログベースのデータ反映か否かをか確認する(2001)。システムログベースのデータ反映であれば、前回までにデータ反映したシステムログ・ポイントを取得し通知する(2002)。次に、当該システムログ・ポイント以降で、指定された時刻までのシステムログ情報をデータ反映する(2003)。システムログベースのデータ反映でなければ、ディスク装置に2重書き機能が存在するか否かを確認する(2004)。
【0040】
ディスク装置に2重書き機能が存在すれば、ディスク装置の正Volと副Volとのデータ反映同期関係を切り離す(2005)と同時に、正Volへの書き込み内容を差分情報3000へ反映するモードにディスク装置を設定する(2006)。次に、システムログを基にして、副Volを指定時刻までにトランザクションが完了したデータベース状態にするため、システムログ情報を反映する(2007)。さらに、副Volの内容を抽出し、データ反映する(2008)。最後に、上記ステップで正Volに書き込まれた状態と副Volの状態との整合を保つため、差分情報3000を副Volに反映し(2009)、ディスク装置の正Volと副Volとを再接続する(2010)。
【0041】
ディスク装置に2重書き機能が存在しなければ、OSなど手段でのディスク装置への正Volのみの書き込みモードとし、副Volへの書き込みを抑止する(2011)。次に、システムログを基にして、副Volを指定時刻までにトランザクションが完了したデータベース状態にするため、システムログ情報を反映する(2012)。さらに、副Volの内容を抽出し、データ反映する(2013)。最後に、上記ステップで正Volに書き込まれた状態と副Volの状態との整合を保ち、現時点までの最新のデータベースとするために、システムログ情報を副Volに反映し(2014)、正副Vol書き込みモードに戻す(2015)。
【0042】
図12は、データ反映部600のフローである。データ抽出部200からのデータを受け取り(6000)、初期作成、追加ロードを行い、分割スキーマに従い、各エリアへデータを登録する(6001)。また、OLAPシステムにデータ反映された内容に基づき、管理情報9000を更新する(6002)。
【0043】
図13に示す公知技術のレプリカDB方式とRDB−OLAP連携方式についての差異を開示する。レプリカDB方式は、抽出元のRDB301への更新によって変更された部分を抽出し、これらを即時あるいはある時間遅れで反映先RDB302へ反映させる。レプリカDBでは、抽出元、反映先ともRDBであるので、基本的には同一のデータ(一部ジョインあるいは複数の表への分類なども含まれる)の複製が作成される。従って、反映先RDB302のデータを問合せでアクセスする場合、特別に抽出元RDB301との関連性を考慮することはない。一方、RDB−OLAP連携方式は、RDBシステムへの更新によって変更された部分を抽出し、これらを即時あるいはある時間遅れでOLAPシステムへ反映される。RDB−OLAP連携方式では、OLAPシステムを問合せでアクセスする場合、OLAPシステムで管理するデータ301とRDB−OLAP連携で管理される管理情報9000(反映までの時間隔、時刻、地域区分、顧客区分など)との組合せで意味を持つ。事実に関するデータを管理するのがRDBシステムであり、それらから導き出せるトレンド分析結果などを引き出すのがOLAPシステムであるため、分析業務の前提条件は上記の管理情報9000から導出されることになる。例えば、顧客購買分析では、時間隔・時刻などの時系列、販売された商品の地域別売上げ、商品を買った顧客の分類に基づき、様々な分析軸で評価する必要がある。その中で時系列をベースにすると、前年比、四半期比、先週比、前日比などの尺度で分析するためには、分析対象となるOLAPシステムのデータ701が、事実情報が蓄積管理されているRDBシステムから上記尺度に従って適切に反映されていなければならない。即ち、OLAPシステムへの問合せでは、これらの尺度を反映した管理情報とOLAPシステムのデータ701とで始めて意味ある結果が得られることとなる。
【0044】
図14は、OLAP問合せ処理部900の詳細フローである。まず、OLAP問合せの解析処理を行い、その問合せの結果としてアクセスするべきOLAPシステムのデータ701を決定する(901)。次に、OLAPシステムへのデータ反映状況を設定している管理情報9000を読み出し、問合せ結果で必要となるデータを作成する(902)。最後に、OLAPシステムのデータ701をアクセスし、管理情報9000とマージすることで問合せへの結果として返却する(903)。
【0045】
図15は、システムログの構成内容である。システムログは、ログシーケンス番号、タイムスタンプ、ログ種別、ログ内容から構成される。ログシーケンス番号は、RDBシステムでユニークとなる識別子が割り当てられる。タイムスタンプは、当該システムログに関するイベントが発生した時刻を記録するために設定される。ログ種別は、抽出反映処理の開始(event_start)、抽出反映処理の中断(event_suspend)、抽出反映処理の再開(event_restart)、データのコミット(event_commit)、データの更新(event_update)、データの抽出反映(event_reflect)がある。ログ内容は、データベースへの更新履歴情報を記録する。これらのシステムログを基にして、RDBシステムからOLAPシステムへの抽出反映処理の制御を行うことができる。
【0046】
本発明は、密結合/疎結合マルチプロセッサシステム、大型計算機のソフトウェアシステムを介して実現することも、また各処理部のために専用プロセッサが用意された密結合/疎結合マルチプロセッサシステムを介して実現することも可能である。さらに、単一のプロセッサシステムでも各々システム稼動にためにプロセスを割当ててあれば適用可能である。複数のプロセッサが各々複数のディスクをお互いに共用する構成にも適用可能である。
なお、前述したフローチャートの処理は、図2に示したような一般的なデータ処理装置でプログラムを実行することによって実現できる。また、そのプログラムは、ハードディスク装置、フロッピーディスクなどのコンピュータで読み書きができる記憶媒体に格納することができ、ネットワークを通してプログラムにアクセスすることができる。
【0047】
【発明の効果】
本発明によれば、データベースへのデータ反映をデータベースサービスと並行して処理することが可能となる。
【図面の簡単な説明】
【図1】データベースシステムにおけるデータ抽出格納処理の概要を示す概念図
【図2】本発明の実施例におけるデータベース管理システムの構成を示す概略図
【図3】表定義時のスキーマ分割方法を適用した場合の構成図
【図4】表変更時のスキーマ分割方法を適用した場合の構成図
【図5】論理処理部の詳細フローの構成図
【図6】ディスク2重書き機能の構成図
【図7】データベースバッファ管理の詳細フローの構成図
【図8】ディスク2重書き機能なしの場合のデータ抽出格納方法の構成図
【図9】ディスク2重書き機能ありの場合のデータ抽出格納方法の構成図
【図10】システムログベースのデータ抽出格納方法の構成図
【図11】データ抽出部の詳細フローの構成図
【図12】データ格納部の詳細フローの構成図
【図13】RDB−OLAP連携方式の従来の概念図
【図14】OLAP問合せ処理部の詳細フローの構成図
【図15】システムログの構成図
【符号の説明】
10、11、12、13…アプリケーションプログラム
20…データベース管理システム
30…データベース
40…システムログ
50…ディクショナリ
60…OLAPサーバシステム
80…SAN
Claims (4)
- 複数のデータベースシステムを連携するデータベースシステム管理システムであって、
第1の形式のデータベースを備える第1のデータベースシステムと、前記第1の形式のデータベースとは異なる第2の形式のデータベースを備える第2のデータベースシステムを有し、
第1の形式のデータベースのシステムログからある時点以降データを抽出する手段と、
前記抽出したデータを前記第2のデータベースシステムが受け取り、第2の形式のデータベースに前記抽出データを反映するとともに、前記第2の形式のデータベースへの反映状況を設定した管理情報を更新するデータ反映手段と、
前記第2のデータベースシステムへの問合せの解析処理を前記管理情報に基づいて行い、問合せ結果としてアクセスするべき前記第2の形式のデータベースのデータを決定する手段と、
前記第2のデータベースシステムが前記管理情報を読み出し、前記問合せ結果の分析尺度を決めるデータを作成する手段と、
前記第2の形式のデータベースにおけるデータをアクセスし、前記分析尺度を決めるデータに基づき管理情報とマージすることで前記問合せ結果として返却する手段とを有することを特徴とするデータベース管理システム。 - 請求項1記載のデータベース管理システムにおいて、
前記第1の形式のデータベースは、RDBであり、前記第2の形式のデータベースは、
OLAP DBであることを特徴とするデータベース管理システム。 - 請求項1もしくは2に記載のデータベース管理システムにおいて、
前記管理情報は、反映までの時間隔、時刻、地域区分、顧客区分であることを特徴とするデータベース管理システム。 - 請求項1乃至3のいずれかに記載のデータベース管理システムにおいて、
前記システムログには、データの抽出反映処理を示す情報、および抽出反映処理の開始、
中断を示す情報を含むことを特徴とするデータベース管理システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001195684A JP4895437B2 (ja) | 2000-09-08 | 2001-06-28 | データベース管理方法およびシステム並びにその処理プログラムおよびそのプログラムを格納した記録媒体 |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000-278671 | 2000-09-08 | ||
JP2000278671 | 2000-09-08 | ||
JP2000278671 | 2000-09-08 | ||
JP2001195684A JP4895437B2 (ja) | 2000-09-08 | 2001-06-28 | データベース管理方法およびシステム並びにその処理プログラムおよびそのプログラムを格納した記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002157156A JP2002157156A (ja) | 2002-05-31 |
JP4895437B2 true JP4895437B2 (ja) | 2012-03-14 |
Family
ID=26599928
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001195684A Expired - Fee Related JP4895437B2 (ja) | 2000-09-08 | 2001-06-28 | データベース管理方法およびシステム並びにその処理プログラムおよびそのプログラムを格納した記録媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4895437B2 (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8315972B2 (en) * | 2003-09-26 | 2012-11-20 | Microsoft Corporation | Method for maintaining databases information about multiple instances of an activity generating, updating virtual OLAP cube based on modified star-schema |
US7158991B2 (en) * | 2003-09-30 | 2007-01-02 | Veritas Operating Corporation | System and method for maintaining temporal data in data storage |
US7890508B2 (en) * | 2005-08-19 | 2011-02-15 | Microsoft Corporation | Database fragment cloning and management |
JP2008117300A (ja) * | 2006-11-07 | 2008-05-22 | Mitsubishi Electric Corp | 検索装置、データ処理装置および検索方法 |
JP5186972B2 (ja) * | 2008-03-25 | 2013-04-24 | 富士通株式会社 | 情報記憶システム |
CN102129425B (zh) * | 2010-01-20 | 2016-08-03 | 阿里巴巴集团控股有限公司 | 数据仓库中大对象集合表的访问方法及装置 |
JP6272556B2 (ja) * | 2015-04-02 | 2018-01-31 | 株式会社日立製作所 | 共有リソース更新装置及び共有リソース更新方法 |
-
2001
- 2001-06-28 JP JP2001195684A patent/JP4895437B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2002157156A (ja) | 2002-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7321907B2 (en) | Method and system for managing multiple database storage units | |
US10997148B2 (en) | Processing transactions on journaled tables | |
Antonopoulos et al. | Socrates: The new sql server in the cloud | |
US8122284B2 (en) | N+1 failover and resynchronization of data storage appliances | |
JP5047806B2 (ja) | データ・ウェアハウジングのための装置および方法 | |
CN100476710C (zh) | 在数据存储器中保持临时数据的系统和方法 | |
KR100926880B1 (ko) | Dbms에서의 데이터 복제 방법 및 시스템 | |
US7334002B2 (en) | System and method for recovery units in databases | |
CN1746893B (zh) | 事务文件系统 | |
US7103619B1 (en) | System and method for automatic audit data archiving within a remote database backup system | |
CN100524235C (zh) | 存储网络中的恢复操作 | |
US7389313B1 (en) | System and method for creating a snapshot copy of a database | |
US7263537B1 (en) | System and method for creating multiple QUIESCE database copies at a single server | |
JP7263297B2 (ja) | ハイブリッドクラウド弾性スケーリングおよび高性能データ仮想化のためのリアルタイムクロスシステムデータベースレプリケーション | |
CN102906743A (zh) | 混合oltp和olap高性能数据库系统 | |
JP4895437B2 (ja) | データベース管理方法およびシステム並びにその処理プログラムおよびそのプログラムを格納した記録媒体 | |
WO2017156855A1 (en) | Database systems with re-ordered replicas and methods of accessing and backing up databases | |
Siddha | A Persistent Snapshot Device Driver for Linux | |
CA2618938C (en) | Data consistency control method and software for a distributed replicated database system | |
Frank | Atomicity implementation in mobile computing | |
US11914571B1 (en) | Optimistic concurrency for a multi-writer database | |
Riedel et al. | When local becomes global: An application study of data consistency in a networked world | |
Tinnefeld | Building a Columnar Database on RAMCloud | |
Agrawal et al. | ElasTraS: An Elastic, Scalable, and Self Managing Transactional Database for the Cloud | |
Pacheco | Using Data Guard for Disaster Recovery & Rolling Upgrades |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050317 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20060418 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080617 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080808 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080909 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081110 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20081216 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090213 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20090303 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20090410 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20111021 |
|
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: 20111220 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150106 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |