JP5907251B2 - データベース管理方法、プログラム、および情報処理装置 - Google Patents
データベース管理方法、プログラム、および情報処理装置 Download PDFInfo
- Publication number
- JP5907251B2 JP5907251B2 JP2014507098A JP2014507098A JP5907251B2 JP 5907251 B2 JP5907251 B2 JP 5907251B2 JP 2014507098 A JP2014507098 A JP 2014507098A JP 2014507098 A JP2014507098 A JP 2014507098A JP 5907251 B2 JP5907251 B2 JP 5907251B2
- Authority
- JP
- Japan
- Prior art keywords
- index
- data
- update
- unit
- search
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2272—Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
本発明の上記および他の目的、特徴および利点は本発明の例として好ましい実施の形態を表す添付の図面と関連した以下の説明により明らかになるであろう。
〔第1の実施の形態〕
まず第1の実施の形態について説明する。第1の実施の形態は、インデックスを有するデータベースのデータが更新された場合に、所定の確率でインデックスの更新処理が実行されるようにしたものである。
第1の方法は、データ更新(追加・更新・削除)が行われたときに、インデックスの更新を行う方法である。この方法では、検索処理の応答時間は安定する一方で、データ更新に時間がかかる。しかもデータベースに大量のデータが短時間に登録されると、システム全体の性能が劣化してしまう。
インデックス更新手段1fは、インデックス更新要求に応じて、インデックス1iを更新する。例えばインデックス更新手段1fは、インデックス1iの前回の更新処理の後に実行されたDB1aのデータの更新処理を示す更新履歴を、更新履歴記憶手段1bから取得する。そしてインデックス更新手段1fは、取得した更新履歴に基づいて、インデックス1iを更新する。例えばインデックス更新手段1fは、データの追加を示す更新履歴に応じて、インデックス1iに、追加されたデータのインデックス値を追加する。またインデックス更新手段1fは、データの削除を示す更新履歴に応じて、インデックス1iから削除されたデータのインデックス値を削除する。その後、インデックス更新手段1fは、例えば、インデックス1i内のインデックス値のソートや、データ構造の再作成を行う。
次に、情報処理装置1におけるデータ更新処理とデータ検索処理とについて、図2,図3を参照して説明する。なお以下の例では、インデックス更新後のデータ更新回数を示すカウンタを用いて、インデックス更新処理を実行するか否かを判断するものとする。
[ステップS11]データ更新手段1cは、端末装置2からのデータ更新指示を受け付ける。
[ステップS13]データ更新手段1cは、更新履歴記憶手段1bにデータの更新履歴を格納する。その後、データ更新手段1cは、決定手段1dに、データ更新を行ったことを通知する。
[ステップS15]決定手段1dは、カウンタの値が閾値に達したか否かを判断する。なお閾値は、インデックス1iの更新処理を実行する確率に応じて予め定義されている。例えば、データが更新された際に1/100の確率でインデックスを更新する場合、閾値として100が設定される。決定手段1dは、カウンタの値が閾値に達した場合、インデックスの更新処理を実行するものと決定し、処理をステップS16に進める。また決定手段1dは、カウンタの値が閾値に達していなければ、処理を終了する。
[ステップS18]インデックス更新手段1fは、決定手段1dにインデックスを更新したことを通知する。すると決定手段1dは、カウンタに0を代入する。その後、処理が終了する。
[ステップS21]検索手段1gは、端末装置2からのデータ検索指示を受け付ける。
[ステップS25]インデックス更新手段1fは、決定手段1dと検索手段1gとに、インデックスを更新したことを通知する。すると決定手段1dは、カウンタに0を代入する。
[ステップS27]検索手段1gは、検索結果を端末装置2に応答する。
図4は、第1の実施の形態におけるインデックス未反映の更新履歴数の推移の一例を示す図である。図4では、横軸に時間、縦軸にインデックスへ未反映の更新履歴数を示している。図4の例では、データ更新時にインデックス更新処理を行う確率は0.01(1%)であるものとする。この場合、決定手段1dには、閾値として「100」が設定される。
次に第2の実施の形態について説明する。第2の実施の形態は、複数のWebサーバから、DBサーバ内のDBを利用するシステムにおいて、複数のWebサーバからの指示により、DBのインデックスの適切な更新を行うものである。
図7は、第2の実施の形態に係る各サーバの機能を示すブロック図である。Webサーバ100は、データ操作受付部110とインデックス更新決定部120とを有する。
なお図7には、代表的にWebサーバ100の機能を示しているが、他のWebサーバ100a,100b,・・・も同様の機能を有している。
データ保管部210は、管理対象のデータを記憶する。例えばRAM102またはHDD103の記憶領域の一部がデータ保管部210として使用される。
図8は、データ保管部のデータ構造の一例を示す図である。データ保管部210には、データIDに対応付けて、データが格納されている。データIDとデータとの組が、1つのレコードを構成する。データには、インデックス値となる文字列が含まれる。例えば、データの先頭に、データの項目名が設定されており、その項目名がインデックス値として用いられる。なお、データが削除されたレコードは、データIDのみが残され、データの領域は空となっている。
図9は、インデックス保管部のデータ構造の一例を示す図である。図9には、B−Treeで構造化されたインデックスの例を示している。B−Treeは、多分岐の平衡木である。
次に、データ更新履歴保管部230のデータ構造について説明する。
図11は、データ更新処理手順の一例を示すシーケンス図である。以下、図11に示す処理をステップ番号に沿って説明する。
[ステップS102]データ操作受付部110は、データ更新指示に応じたデータ更新要求をDBサーバ200に送信する。
[ステップS104]アクセス管理部240は、データ更新履歴保管部230に更新履歴を追記する。例えば新たなデータが追加された場合、アクセス管理部240は、追加されたデータのデータIDと変更区分「追加」とを有するレコードを、更新履歴管理テーブル231に追加登録する。またデータが削除された場合、アクセス管理部240は、削除されたデータのデータIDと変更区分「削除」とを有するレコードを、更新履歴管理テーブル231に追加登録する。さらにデータが変更された場合、アクセス管理部240は、変更されたデータのデータIDと変更区分「追加」とを有するレコード、および変更されたデータのデータIDと変更区分「削除」とを有するレコードを、更新履歴管理テーブル231に追加登録する。
[ステップS106]データ操作受付部110は、インデックス更新決定部120に対して、データ更新通知を送信する。するとインデックス更新決定部120は、インデックスの更新処理をDBサーバ200に実行させるか否かを、確率的に決定する。例えばインデックス更新決定部120は、乱数を生成し、その乱数の値に応じてインデックス更新処理の実行の要否を決定する。
[ステップS109]DBサーバ200のインデックス操作部250は、インデックス保管部220に格納されているインデックス221を更新する。例えばインデックス操作部250は、データ更新履歴保管部230からデータの更新履歴を1つずつ抽出する。次にインデックス操作部250は、抽出した更新履歴に応じて、インデックス221を更新する。例えば抽出した更新履歴の変更区分が「追加」であれば、インデックス操作部250は、その更新履歴のデータIDに対応するデータを、データ保管部210から取得する。次にインデックス操作部250は、取得したデータからインデックス値を抽出する。さらにインデックス操作部250は、インデックス221における、抽出したインデックス値に応じた位置に、そのインデックス値と、取得したデータのデータIDとの組を追加する。また抽出した更新履歴の変更区分が「削除」であれば、インデックス操作部250は、インデックス221における、抽出したインデックス値に対応する無効フラグ領域に、無効フラグを設定する。
[ステップS110]インデックス操作部250は、インデックス221の更新が完了すると、データ更新履歴保管部230内の更新履歴をすべて削除(クリア)する。
図12は、データ検索時の処理の手順を示すシーケンス図である。以下、図12に示す処理をステップ番号に沿って説明する。
[ステップS122]データ操作受付部110は、検索要求をDBサーバ200に送信する。
[ステップS128]Webサーバ100は、データ検索指示の送信元の端末装置に、検索結果を送信する。
次に第3の実施の形態について説明する。第3の実施の形態は、端末装置との間の通信速度に応じて、インデックスの更新処理の実行確率(更新確率)を変動させるものである。
図15は、第3の実施の形態に係る各サーバの機能を示すブロック図である。第3の実施の形態では、Webサーバ300,300a,300b,・・・の機能が第2の実施の形態と異なる。DBサーバ200の機能は第2の実施の形態と同様である。
図16は、更新確率定義記憶部のデータ構造の一例を示す図である。更新確率定義記憶部330には、回線種別テーブル331と更新確率テーブル332とが格納されている。
更新確率テーブル332には、回線種別と確率との欄が設けられている。回線種別の欄には、要求元IPアドレスの欄に設定されたIPアドレスの端末装置との間の通信回線の種別が設定される。確率の欄には、対応する回線種別の通信回線経由でデータ更新指示を受信した場合の、インデックスの更新処理の実行確率が設定される。例えば、通信速度が速い回線ほど、高い確率が設定される。
次に、第3の実施の形態におけるデータ更新処理について説明する。
図17は、第3の実施の形態におけるデータ更新処理の手順の一例を示すシーケンス図である。図17に示す処理のうちステップS201〜S205,S207〜S211の処理は、それぞれ図11に示す第2の実施の形態のステップS101〜S110の処理と同じである。そこで第2の実施の形態と異なるステップS206の処理について説明する。
このようにして、端末装置が接続された回線の速度に応じてインデックスの更新確率を変えることができる。例えば回線の速度が高いほどインデックスの更新確率を高くすることで、ユーザが使用する回線速度が早いほど、データ検索時の応答時間を短くすることができる。
第2の実施の形態では、B−Treeのインデックスを用いているが、インデックスのデータ構造は、他の構造であってもよい。例えばインデックスは、B+Treeのデータ構造であってもよい。
1a DB
1b 更新履歴記憶手段
1c データ更新手段
1d 決定手段
1e 出力手段
1f インデックス更新手段
1g 検索手段
2 端末装置
Claims (6)
- 情報処理装置が、
複数のデータと該複数のデータのインデックスとを記憶する記憶部内のデータが更新された場合、乱数を生成し、該乱数の値が所定の確率に応じた所定の範囲内であれば、前記インデックスの更新処理を実行すると決定し、
前記インデックスの更新処理を実行すると決定した場合、前記記憶部内の前記インデックスの更新を指示するインデックス更新要求を出力する、
データベース管理方法。 - 前記情報処理装置が、
前記情報処理装置にネットワークを介して接続された端末装置からのデータ更新指示に基づいて前記記憶部内のデータが更新されたときに、前記端末装置と前記情報処理装置との間の通信速度に応じて、前記所定の確率を決定する、
請求項1記載のデータベース管理方法。 - 前記所定の確率の決定では、前記記憶部内のデータ更新指示を出力した前記端末装置と前記情報処理装置との間の通信速度が速いほど高い値を、前記所定の確率とする、
請求項2記載のデータベース管理方法。 - 前記情報処理装置、または前記情報処理装置にネットワークを介して接続された他の情報処理装置が、
前記インデックス更新要求に応じて、前記インデックスの前回の更新処理の後に実行された前記記憶部内のデータの更新処理を示す履歴情報に基づいて、前記インデックスを更新する、
請求項1乃至3のいずれかに記載のデータベース管理方法。 - 情報処理装置に、
複数のデータと該複数のデータのインデックスとを記憶する記憶部内のデータが更新された場合、乱数を生成し、該乱数の値が所定の確率に応じた所定の範囲内であれば、前記インデックスの更新処理を実行すると決定し、
前記インデックスの更新処理を実行すると決定した場合、前記記憶部内の前記インデックスの更新を指示するインデックス更新要求を出力する、
処理を実行させるプログラム。 - インデックスを有するデータベースのデータが更新された場合、乱数を生成し、該乱数の値が所定の確率に応じた所定の範囲内であれば、前記インデックスの更新処理を実行すると決定する決定手段と、
前記インデックスの更新処理を実行すると決定した場合、前記インデックスの更新を指示するインデックス更新要求を出力する出力手段と、
を有する情報処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014507098A JP5907251B2 (ja) | 2012-03-27 | 2012-03-27 | データベース管理方法、プログラム、および情報処理装置 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2012/057953 WO2013145129A1 (ja) | 2012-03-27 | 2012-03-27 | データベース管理方法、プログラム、および情報処理装置 |
JP2014507098A JP5907251B2 (ja) | 2012-03-27 | 2012-03-27 | データベース管理方法、プログラム、および情報処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2013145129A1 JPWO2013145129A1 (ja) | 2015-08-03 |
JP5907251B2 true JP5907251B2 (ja) | 2016-04-26 |
Family
ID=49258496
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014507098A Active JP5907251B2 (ja) | 2012-03-27 | 2012-03-27 | データベース管理方法、プログラム、および情報処理装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10437806B2 (ja) |
JP (1) | JP5907251B2 (ja) |
WO (1) | WO2013145129A1 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9400817B2 (en) * | 2013-12-31 | 2016-07-26 | Sybase, Inc. | In-place index repair |
JP6273892B2 (ja) * | 2014-02-21 | 2018-02-07 | 株式会社リコー | データ検索装置、プログラム、及びデータ検索システム |
JP2019067119A (ja) | 2017-09-29 | 2019-04-25 | 富士通株式会社 | 個人情報管理プログラム、個人情報管理方法および情報処理装置 |
CN112328275A (zh) * | 2020-10-10 | 2021-02-05 | 岭东核电有限公司 | 用于核电厂的数据更新方法、装置、终端设备和存储介质 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06215037A (ja) | 1993-01-18 | 1994-08-05 | Fuji Xerox Co Ltd | インデックスの自動更新装置 |
CA2170564A1 (en) * | 1996-02-28 | 1997-08-29 | Frank Michael Kappe | Method of propagating data through a distributed information network |
US7653665B1 (en) * | 2004-09-13 | 2010-01-26 | Microsoft Corporation | Systems and methods for avoiding database anomalies when maintaining constraints and indexes in presence of snapshot isolation |
EP1884959B1 (en) * | 2006-07-31 | 2011-09-14 | Agfa HealthCare NV | Phosphor or scintillator screens or panels having a topcoat layer. |
US7814117B2 (en) * | 2007-04-05 | 2010-10-12 | Oracle International Corporation | Accessing data from asynchronously maintained index |
US7805595B2 (en) * | 2007-04-20 | 2010-09-28 | Arm Limited | Data processing apparatus and method for updating prediction data based on an operation's priority level |
US7779045B2 (en) * | 2007-09-27 | 2010-08-17 | Microsoft Corporation | Lazy updates to indexes in a database |
WO2009119811A1 (ja) * | 2008-03-28 | 2009-10-01 | 日本電気株式会社 | 情報再構成システム、情報再構成方法及び情報再構成用プログラム |
JP5380130B2 (ja) | 2009-03-30 | 2014-01-08 | 株式会社野村総合研究所 | ファイル検索装置及びファイル検索方法、並びにプログラム |
JP2011065546A (ja) * | 2009-09-18 | 2011-03-31 | Hitachi Solutions Ltd | ファイル検索システム及びプログラム |
-
2012
- 2012-03-27 WO PCT/JP2012/057953 patent/WO2013145129A1/ja active Application Filing
- 2012-03-27 JP JP2014507098A patent/JP5907251B2/ja active Active
-
2014
- 2014-09-10 US US14/482,407 patent/US10437806B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JPWO2013145129A1 (ja) | 2015-08-03 |
US20140379727A1 (en) | 2014-12-25 |
US10437806B2 (en) | 2019-10-08 |
WO2013145129A1 (ja) | 2013-10-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9734203B2 (en) | Access path optimization through system statistics | |
US9052938B1 (en) | Correlation and associated display of virtual machine data and storage performance data | |
US10891229B2 (en) | Multi-level caching method and multi-level caching system for enhancing graph processing performance | |
US20170220572A1 (en) | Key_value data storage system | |
TW201842454A (zh) | 合併樹廢棄項目指標 | |
JP5907251B2 (ja) | データベース管理方法、プログラム、および情報処理装置 | |
US20150363470A1 (en) | Index merge ordering | |
US10747773B2 (en) | Database management system, computer, and database management method | |
JP6269140B2 (ja) | アクセス制御プログラム、アクセス制御方法、およびアクセス制御装置 | |
US10095737B2 (en) | Information storage system | |
KR101640733B1 (ko) | 인-메모리 데이터베이스 기반의 데이터 관리 시스템 및 그 방법 | |
JP5076015B1 (ja) | 情報処理装置、クライアント管理方法及びクライアント管理システム | |
JP5160483B2 (ja) | ストレージシステム及びデータマイグレーション対応検索システム | |
JP5083408B2 (ja) | 構成管理装置、構成管理プログラム、構成管理方法 | |
JP6084700B2 (ja) | 検索システム及び検索方法 | |
WO2012081165A1 (ja) | データベース管理装置及びデータベース管理方法 | |
JP2006134191A (ja) | 文書検索方法およびそのシステム | |
JP7068210B2 (ja) | データベース管理システム、端末装置及び方法 | |
JP5472885B2 (ja) | プログラム、ストリームデータ処理方法及びストリームデータ処理計算機 | |
JP6688433B2 (ja) | 計算機システム | |
JP6193491B2 (ja) | 計算機システム | |
US11947822B2 (en) | Maintaining a record data structure using page metadata of a bookkeeping page | |
JP5673224B2 (ja) | 情報管理装置、情報管理方法、及びプログラム | |
JP6627809B2 (ja) | データベース処理装置、システム、方法およびプログラム | |
JP6167015B2 (ja) | 情報処理システム、管理プログラム、及びインデックス管理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20151208 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160202 |
|
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: 20160223 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160307 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5907251 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |