JP3674598B2 - データベース管理方法およびシステム - Google Patents
データベース管理方法およびシステム Download PDFInfo
- Publication number
- JP3674598B2 JP3674598B2 JP2002118771A JP2002118771A JP3674598B2 JP 3674598 B2 JP3674598 B2 JP 3674598B2 JP 2002118771 A JP2002118771 A JP 2002118771A JP 2002118771 A JP2002118771 A JP 2002118771A JP 3674598 B2 JP3674598 B2 JP 3674598B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- management unit
- management
- update
- database
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
【発明の属する技術分野】
データベースを複数のデータベース管理部で共有する場合のデータベース管理技術である。
【0002】
【従来の技術】
システム間でDBを共用する方式として、例えば特開昭62−204360号公報に記載のように、共用DBの排他制御のため、DB管理元をきめ、このロックマネジャと他システムとの間で排他情報をやりとりして排他の一元管理を行なう方法が知られている。
【0003】
また、この方式では、DB障害時の回復情報であるジャーナルは、各システムで取得されておりDB障害回復時、ジャーナルマージが必要であった。
【0004】
【発明が解決しようとする課題】
従来のシステム間DB共用方式では、性能面、運用面で、下記の問題があった。(1)システム間共用DBに対して、データ検索だけを行う場合でも、当該DBに対する更新処理との排他制御を行うために、DB管理元システムに排他使用連絡を行う必要が有り、システム間でDB共用しない場合に比べて、データ検索のオ一バヘッドが大きくなるため、大量のデータ検索には適していない。
(2)システム間共用DBに対して、複数CPUからデータ更新を行う場合、DB更新ジャーナルは、DB更新要求元システムで取得されるため、DB障害回復時、複数システムのジャーナルをマージする必要が有る。
本発明の目的は、以上の問題を解決するシステム間データベース共用方式を提供することにある。
【0005】
【課題を解決するための手段】
上記目的を達成するために、CPU間のDB共用方式として、
(1)データ検索オ一バヘッドの削減
CPU間共用DBに対して、データ検索しか行わない処理(トランザクション)については、アクセス対象のデータに対して、排他制御を行わず、データ検索要求元CPUから直接データアクセスを行う。
【0006】
これにより、データ検索については、CPU間で共用しないDBへのアクセスと同等の性能を実現できる。
【0007】
データ検索時、他CPUからのデータ更新処理とのタイミングにより、検索データブロックの制御情報に矛盾を検知した場合は、次のいずれかの方法で処理する。(a)一定時間間隔で一定回数、データ検索を再指向し、タイミングによる同期ズレを救済する。(b)当該データベース管理元CPUに検索要求を転送し、矛盾のない状態での検索をデータベース管理元CPUで実行する。
【0008】
(2)DB障害回復用ジャーナルの一元化
DB障害回復には、DBのバックアップ情報と、バックアップ取得時点以降のDB更新ジャーナル情報が必要である。DB更新ジャーナルを1つのCPUの下で一元化して取得するため、DB更新処理については、すべてDB管理元CPUで実施する。即ち、DB管理元以外のCPUから、CPU間共用DBを更新するときは、DB管理元CPUへDB更新要求を送り、DB管理元CPUでDB更新する方式とする。
【作用】
本発明のCPU間DB共用方式では、DB検索だけの処理(トランザクション)については、DB検索要求元CPUから、他CPUとの連絡なしに直接DBアクセスができるので、非共用DBへのアクセスと同等の検索性能が実現できる。
【0009】
また、DB更新は、DB管理元CPUで一元化して行うので、複数のCPUから同一DBに対して更新要求があっても、同一DBの更新ジャーナルは、当該DBの管理元CPUで一元化して取得され、DB障害回復時のジャーナルマージが不要となり、DB障害などに関するDBシステム運用管理者の負担の大幅軽減が実現できる。
【0010】
【発明の実施の形態】
以下、本発明の一実施例を図面により詳細に説明する。
第1図は、本発明の構成を示すブロック図である。
CPUa1が共用DB3の管理元であるとき、CPUb2のユーザプログラム22からのDBアクセス要求があった場合、検索については、CPUb2のDBアクセス部21が直接DBアクセスを行い、更新については、CPUb2のDBアクセス部21からCPUb2のDB分散機能部23、CPUa1のDB分散機能部13を経由して、CPUa1のDBアクセス部11がDBアクセスを行う。
【0011】
CPUa1のユーザプログラム12からのDBアクセス要求があると、検索、更新にかかわらず、CPUa1のDBアクセス部11がDBアクセスを行う。
【0012】
アクセス対象のDBがCPUa1の管理するDBかCPUb2の管理するDBかは、第6図に示すテーブルで管理し、それぞれのDBアクセス部で管理元を判別する。
【0013】
以下、DB検索、更新の具体的な処理手順を説明する。
(1)DB検索の場合(第2図参照)
CPUb2のユーザプログラム22から、CPUa1の管理する共用DB3への検索要求が発行されると(201)、CPUb2のDBアクセス部21で、当該DB3を直接アクセスする。ただし、CPUa1側との排他制御を行わずにアクセスするので、CPUa1側の更新処理とのタイミシグによっては、DBのインデックス部とDBのデータ部の内容に不一致があるように見える場合がある。そこで、この微妙なタイミングを排他制御なしに対処するために、DBのインデックス部とデータ部の内容に不一致がある場合(202)には、所定の時間間隔で所定回数、DBインデックス、DBデータのリードを再試行し(203)、タイミングズレによる不一致がなくなるのを待つ。
所定回数内でも矛盾がなくならない場合、恒久的データ破壊が起きていると判断し、リードエラ一として処理する(204)。
(2)DB更新の場合(第3図〜第5図参照)
CPUb2のユーザプログラム22から、CPUa1の管理する共用DB3を更新する場合について、3つの段階に分けて説明する。(a)更新のための検索要求
第3図に、CPUb2で共用DB3更新のための検索要求が発行された場合を示す。
【0014】
CPUb2のDBアクセス部21では、第6図のDB所在管理テーブルを用いて、要求のあったDBが自CPU管理のDBか否か判別し(301)、CPUa1の管理するDBへの要求ならば、DB分散機能部23を通じて、CPUa1へDBアクセス要求を送信する(302)。CPUa1では、CPUb2から送信され、DB分散機能部13で受信した(303)DBアクセス要求にもとづき、DB排他使用を宣言し(304)、DBアクセスを行ない、DBインデックス部、DBデータ部を読み込む(305,306)。読み込んだ結果はDB分散機能部13を通じてCPUb2ヘ送信する(307)。
【0015】
CPUb2の管理するDBの場合は、CPUb2のアクセス部でDBアクセスを行なう(308〜310)。
【0016】
(b)更新要求
第4図に、CPUb2から共用DB3に対する更新要求が発行された場合を示す。
【0017】
(a)の場合と同様、CPUb2のユーザプログラム22から更新要求があると(401)、DBアクセス部21では、自CPU管理のDBかを判断する(402)。自CPU管理でない場合DB分散機能部を通じてDB管理元CPU、この場合CPUa1ヘ、DBアクセス要求を送信する(403)。CPUa1では、DB分散機能部13で更新要求を受信すると(404)、DBアクセス部で同期点に達するまでDB更新要求を退避し(405)、更新要求処理報告をDB機能分散部を通じてCPUb2に送信する(406)。(c)コミット(COMMlT)あるいはリ夕一ン
第5図に、CPUb2のユーザプログラム22がコミットを発行したか、あるいは、リターンをして処理の同期点に達した場合を示す。
コミット要求の場合を説明する。(a)の場合と同様、CPUb2からCPUa1ヘ、DB分散機能部23を通じて、まずコミット準備要求が送信される(502)。CPUa1ではDBアクセス部でDB更新要求と、DBジャーナル取りだし(504,505)コミット準備完了報告をCPUb2に送信する(506)。CPUb2のDBアクセス部は、コミット準備完了報告を受信すると、コミット要求を送信する(508)(2フェーズコミット)。コミット要求を受けるとCPUa1は、DBアクセス部で共用DBの実更新を行い(509〉、DB排他使用の宣言を解除して(510)、コミット完了報告をCPUb2に行う(511)。この時、DB更新のジャーナルは、CPUalで取得されるため、当該DBが障害になったときの回復処理では、CPUa1のジャーナルのみを用いて回復が実行できる。
【0018】
【発明の効果】
本発明によれば、CPU間でDB共用しても、DB検索性能は、非共用DBへのアクセスと同等の性能を実現できる。
【0019】
また、DB障害回復時、複数CPUのジャーナルをマージせずに簡易に回復運用を実施できる。
【図面の簡単な説明】
【図1】本発明の一実施例の構成図である。
【図2】本発明の一実施例の処理のフローチャートである。
【図3】本発明の一実施例の処理のフローチャートである。
【図4】本発明の一実施例の処理のフローチャートである。
【図5】本発明の一実施例の処理のフローチャートである。
【図6】本発明の一実施例の管理テーブルを示す図である。
【符号の説明】
1,2…CPU、3…共用DB、11,21…DBアクセス部、12,22…ユーザプログラム、13,23…DB分散機能部
Claims (13)
- 第1のデータを管理する第1の管理部と第2のデータを管理する第2の管理部とが前記第1のデータと前記第2のデータとを共用するデータべース管理方法において、
前記第1の管理部から前記第2のデータを参照する場合は、前記第1の管理部が前記第2のデータを参照し、前記第1の管理部から前記第2のデータを更新する場合は、前記第1の管理部から第2の管理部へ前記第2のデータを更新する更新要求を送り、前記第2の管理部が前記第2のデータを更新することを特徴とするデータベース管理方法。 - 請求項1記載のデータベース管理方法において、前記第2の管理部から前記第2のデータを参照する場合は、前記第2の管理部が前記第2のデータを参照し、前記第2の管理部から前記第2のデータを更新する場合は、前記第2の管理部が前記第2のデータを更新することを特徴とするデータベース管理方法。
- 請求項1記載のデータベース管理方法において、前記第1の管理部から前記第1のデータを参照する場合は、前記第1の管理部が前記第1のデータを参照し、前記第1の管理部から前記第1のデータを更新する場合は、前記第1の管理部が前記第1のデータを更新することを特徴とするデータベース管理方法。
- 請求項3記載のデータベース管理方法において、前記第1の管理部は、前記第1のデータの更新ジャーナルを生成し、前記第2の管理部は、前記第2のデータの更新ジャーナルを生成することを特徴とするデータベース管理方法。
- 請求項4記載のデータベース管理方法において、前記第1のデータの障害を検出した場合は前記第1の管理部で生成した更新ジャーナルを、前記第2のデータの障害を検出した場合は前記第2の管理部で生成した更新ジャーナルを参照して回復処理を行うことを特徴とするデータベース管理方法。
- 第1のプロセッサと、データ領域を管理する第2のプロセッサとの間で前記データ領域を共用するデータベース管理方法において、データ参照要求を受けた第1のプロセッサは、前記データ領域を参照し、データ更新要求を受けた第1のプロセッサは、前記データ更新要求を前記第2のプロセッサへデータ更新要求を転送し、当該更新要求を受け取った前記第2のプロセッサが前記データ領域のデータを更新することを特徴とするデータベース管理方法。
- 第1のデータを管理する第1の管理手段と第2のデータを管理する第2の管理手段とが前記第1のデータと前記第2のデータとを共用するデータベース管理システムにおいて、前記第1の管理手段は、入力した更新要求に従い前記第1のデータを更新する第1のデータ更新手段と、前記第2のデータの更新要求を前記第2の管理手段へ送る第1のデータ更新要求手段と、入力した参照要求に従い前記第1のデータ及び前記第2のデータを参照する第1のデータ参照手段とを備え、前記第2の管理手段は、入力した更新要求に従い前記第2のデータを更新する第2のデータ更新手段と、前記第1のデータの更新要求を前記第1の管理手段へ送る第2のデータ更新要求手段と、入力した参照要求に従い前記第1のデータ及び前記第2のデータを参照する第2のデータ参照手段とを備えたことを特徴とするデータベース管理システム。
- 第1のデータを管理する第1の管理部と第2のデータを管理する第2の管理部とが前記第1のデータと前記第2のデータとを共用するデータベース管理システムにおいて、前記第1の管理部から前記第2のデータを参照する場合は、前記第1の管理部が前記第2のデータを参照し、前記第1の管理部から前記第2のデータを更新する場合は、前記第1の管理部から第2の管理部へ前記第2のデータを更新する更新要求を送り、前記第2の管理部が前記第2のデータを更新することを特徴とするデータベース管理システム。
- 請求項8記載のデータベース管理システムにおいて、前記第2の管理部は、前記第2の管理部から前記第2のデータを参照する場合、前記第2のデータを参照し、前記第2の管理部から前記第2のデータを更新する場合、前記第2のデータを更新することを特徴とするデータベース管理システム。
- 請求項8記載のデータベース管理システムにおいて、前記第1の管理部は、前記第1のデータを参照する場合、前記第1のデータを参照し、前記第1の管理部から前記第1のデータを更新する場合、前記第1のデータを更新することを特徴とするデータベース管理システム。
- 請求項10記載のデータベース管理システムにおいて、前記第1の管理部は、前記第1のデータの更新ジャーナルを生成し、前記第2の管理部は、前記第2のデータの更新ジャーナルを生成する手段を備えたことを特徴とするデータベース管理システム。
- 請求項11記載のデータベース管理システムにおいて、前記第1のデータの障害を検出した場合は前記第1の管理部で生成した更新ジャーナルを、前記第2のデータの障害を検出した場合は前記第2の管理部で生成した更新ジャーナルを参照して回復処理を行う手段を備えたことを特徴とするデータベース管理システム。
- 第1のプロセッサと、データ領域を管理する第2のプロセッサとの間で前記データ領域を共用するデータベース管理装置において、データ参照要求を受けた第1のプロセッサは、前記データ領域を参照し、データ更新要求を受けた第1のプロセッサは、前記データ更新要求を前記第2のプロセッサへデータ更新要求を転送し、当該更新要求を受け取った前記第2のプロセッサが前記データ領域のデータを更新することを特徴とするデータベース管理装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2002118771A JP3674598B2 (ja) | 2002-04-22 | 2002-04-22 | データベース管理方法およびシステム |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2002118771A JP3674598B2 (ja) | 2002-04-22 | 2002-04-22 | データベース管理方法およびシステム |
Related Parent Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP20861799A Division JP3478187B2 (ja) | 1999-07-23 | 1999-07-23 | データベース管理方法及びシステム |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2003044341A JP2003044341A (ja) | 2003-02-14 |
| JP3674598B2 true JP3674598B2 (ja) | 2005-07-20 |
Family
ID=19194069
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2002118771A Expired - Lifetime JP3674598B2 (ja) | 2002-04-22 | 2002-04-22 | データベース管理方法およびシステム |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3674598B2 (ja) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2006268134A (ja) * | 2005-03-22 | 2006-10-05 | Dainippon Printing Co Ltd | データベースシステム、サーバ、プログラム、及び、記録媒体 |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS58115567A (ja) * | 1981-12-29 | 1983-07-09 | Fujitsu Ltd | デイスクボリユ−ム互換方式 |
| JP3478187B2 (ja) * | 1999-07-23 | 2003-12-15 | 株式会社日立製作所 | データベース管理方法及びシステム |
-
2002
- 2002-04-22 JP JP2002118771A patent/JP3674598B2/ja not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| JP2003044341A (ja) | 2003-02-14 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3222125B2 (ja) | システム間データベース共用方式 | |
| US9779128B2 (en) | System and method for massively parallel processing database | |
| US10747745B2 (en) | Transaction execution commitment without updating of data row transaction status | |
| US10116766B2 (en) | Asynchronous and idempotent distributed lock interfaces | |
| JP3504763B2 (ja) | 分散システムに使用されるクライアント,サーバ及び記憶装置並びに分散システムにおける資源管理用サーバの復旧方法 | |
| US5065311A (en) | Distributed data base system of composite subsystem type, and method fault recovery for the system | |
| CN100449548C (zh) | 数据库同步方法及系统 | |
| EP0567999B1 (en) | Method and apparatus for executing a distributed transaction in a distributed database | |
| CN111506592B (zh) | 一种数据库的升级方法和装置 | |
| JP6028850B2 (ja) | データ多重化システム | |
| KR100450400B1 (ko) | 안전 기억 장치가 없는 환경을 위한 이중화 구조의 주 메모리 상주 데이터베이스 관리시스템 및 그 데이터 일치성 제어방법 | |
| JP2006012153A (ja) | 同時トランザクション(concurrenttransactions)とページ同期(pagesynchronization) | |
| US10191959B1 (en) | Versioned read-only snapshots of shared state in distributed computing environments | |
| US6212595B1 (en) | Computer program product for fencing a member of a group of processes in a distributed processing environment | |
| CN110297822B (zh) | 面向区块链的密钥管理方法、装置、设备及存储介质 | |
| Matri et al. | Týr: blob storage meets built-in transactions | |
| JP3674598B2 (ja) | データベース管理方法およびシステム | |
| Liu et al. | Dax: a widely distributed multitenant storage service for dbms hosting | |
| JP3478187B2 (ja) | データベース管理方法及びシステム | |
| Sciascia et al. | RAM-DUR: In-memory deferred update replication | |
| US10754710B1 (en) | Transactional watch mechanism | |
| JPH07114495A (ja) | 多重化ファイル管理方式 | |
| US6205510B1 (en) | Method for fencing a member of a group of processes in a distributed processing environment | |
| JP2581141B2 (ja) | ディレイド・ジャーナル・マージ方式 | |
| JP4286857B2 (ja) | ノード間共用ファイル制御方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040907 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041105 |
|
| 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: 20050405 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050418 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080513 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090513 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100513 Year of fee payment: 5 |
|
| EXPY | Cancellation because of completion of term | ||
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100513 Year of fee payment: 5 |