JP2018005300A - データベース管理装置、データベース管理方法、およびデータベース管理プログラム - Google Patents
データベース管理装置、データベース管理方法、およびデータベース管理プログラム Download PDFInfo
- Publication number
- JP2018005300A JP2018005300A JP2016126978A JP2016126978A JP2018005300A JP 2018005300 A JP2018005300 A JP 2018005300A JP 2016126978 A JP2016126978 A JP 2016126978A JP 2016126978 A JP2016126978 A JP 2016126978A JP 2018005300 A JP2018005300 A JP 2018005300A
- Authority
- JP
- Japan
- Prior art keywords
- record
- data
- database management
- storage device
- deletion
- 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.)
- Granted
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】複数の分散化されたデータベース管理装置において、無効レコードに関連する処理負荷を抑制することができるデータベース管理装置、データベース管理方法、およびデータベース管理プログラムを提供することである。【解決手段】実施形態のデータベース管理装置は、複数のデータベース管理装置と、前記複数のデータベース管理装置により共有される記憶装置と、を備え、前記複数のデータベース管理装置のそれぞれは、データ管理部と、削除部とを持つ。データ管理部は、クライアントから登録要求のあったデータを前記記憶装置に書き込む。削除部は、前記データ管理部により前記記憶装置に書き込まれたデータの有効期限を認識可能な第1情報に基づいて、前記記憶装置に記憶されたデータのうち、有効期限を徒過したデータを削除する。【選択図】図1
Description
本発明の実施形態は、データベース管理装置、データベース管理方法、およびデータベース管理プログラムに関する。
データベース管理システム(DataBase Management System,DBMS)では、データベースにレコードを登録する場合に、そのレコードを利用できる有効期限を設定し、有効期限を徒過したレコード(無効レコード)を所定のタイミングで削除する場合がある。無効レコードを削除する手法としては、例えば定期的にテーブル内の全レコードをスキャンし、有効期限を徒過したレコードを削除する手法(ガベージコレクション/オフライン削除)や、アクセス要求のあったレコードにアクセスして、そのレコードの有効期限が徒過していた場合に、レコードの削除を行う手法(インライン削除)がある。しかしながら、従来の技術では、複数の分散化されたシステムにおいて、無効レコードへのアクセス数が増大したり、無効レコードを削除する処理負荷が増大する場合があった。
本発明が解決しようとする課題は、複数の分散化されたデータベース管理装置において、無効レコードに関連する処理負荷を抑制することができるデータベース管理装置、データベース管理方法、およびデータベース管理プログラムを提供することである。
実施形態のデータベース管理装置は、複数のデータベース管理装置と、前記複数のデータベース管理装置により共有される記憶装置と、を備え、前記複数のデータベース管理装置のそれぞれは、データ管理部と、削除部とを持つ。データ管理部は、クライアントから登録要求のあったデータを前記記憶装置に書き込む。削除部は、前記データ管理部により前記記憶装置に書き込まれたデータの有効期限を認識可能な第1情報に基づいて、前記記憶装置に記憶されたデータのうち、有効期限を徒過したデータを削除する。
以下、実施形態のデータベース管理装置、データベース管理方法、およびデータベース管理プログラムを、図面を参照して説明する。
図1は、本実施形態のデータベース管理装置100を備えるデータベース管理システム1の機能構成例を示す図である。図1に示すデータベース管理システム1は、複数のデータベース管理装置100と、複数のデータベース管理装置により共有される1又は複数の記憶装置200と、データベース管理装置100に指示を送信し、対応する回答を取得するクライアント300とを備える。図1の例では、データベース管理システム1として、2つのデータベース管理装置100−1、100−2と、2つの記憶装置200−1、200−2と、2つのクライアント300−1、300−2とを備えるが、これに限定されるものではない。
ここで、データベース管理装置100−1、100−2のそれぞれは、同様の構成を有しているため、いずれのデータベース管理装置であるか区別しないときは、いずれのデータベース管理装置であるかを示すハイフン以降の符号を省略し、「データベース管理装置100」と称して説明する。また同様に、記憶装置200−1、200−2、クライアント300−1、300−2についても、必要に応じてそれぞれ「記憶装置200」、「クライアント300」と称する。なお、データベース管理装置100、記憶装置200、およびクライアント300のそれぞれは、インターネットやLAN(Local Area Network)等を含む通信ネットワークにより、データの送受信が可能な状態で接続されている。
データベース管理装置100は、ユーザが使用するクライアント300からの設定情報の入力や、処理を実行するための指示の入力を受け付け、受け付けた内容に基づいて、記憶装置200に対するI/O命令を発行する。
データベース管理装置100は、レコード管理部(データ管理部)110と、無効レコード削除部(削除部)120と、通信部130と、記憶部140とを備える。レコード管理部110は、レコード登録部112と、期限徒過判定部114とを備える。無効レコード削除部120は、コスト計算部(評価部)122と、削除実行部124とを備える。これらの構成要素のうち記憶部140を除くものの一部または全部は、例えば、コンピュータにおけるCPU(Central Processing Unit)等のプロセッサが、記憶部140等のプログラムメモリに格納されたプログラム(ソフトウェア)を実行することで実現される。また、これらの機能部のうち一部または全部は、LSI(Large Scale Integration)やASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)等のハードウェアによって実現されてもよいし、ソフトウェアとハードウェアとの協働により実現されてもよい。また、記憶部140は、RAM(Random Access Memory)やROM(Read Only Memory)、HDD(Hard Disk Drive)、フラッシュメモリ等により実現される。
レコード管理部110は、クライアント300から登録要求のあったレコードを記憶装置200に書き込む。ここで、レコードとは、例えばクライアント300が書き込みや読み出しを指定する1単位のデータである。レコードは、例えば、各レコードを識別する識別情報と、それに関連付けられたデータとで構成される。
レコード管理部110のレコード登録部112は、クライアント300から登録要求のあったデータに対して各データを識別するID(キー)を付与したレコードを記憶装置200に書きこむ。このとき、レコード登録部112は、登録するレコードIDごとにTTL値(Time To Live)を設定する。TTL値は、レコード(データ)の有効期限を認識可能な情報(第1情報の一例)である。TTL値は、例えば、そのレコードがいつまで有効であるかを示す時刻情報である。TTL値は、クライアント300から指定してもよく、データベース管理装置100において設定されてもよい。レコード登録部112は、登録したレコードのレコードIDとTTL値とを無効レコード削除部120に出力する。
期限徒過判定部114は、記憶装置200に書き込まれたレコードに対して、TTL値を参照し、基準時刻(例えば、現在時刻)がTTL値で設定された時刻を徒過しているか否かを判定する。期限徒過判定部114は、例えば、現在時刻がTTL値を徒過していた場合、そのレコードが無効レコードであると判定し、その旨を無効レコードとなったレコードの識別情報であるレコードIDとともに無効レコード削除部120に出力する。
なお、このような仕組みに代えて、レコードの書き込み時刻および有効期間の情報が保持され、期限徒過判定部114が、書き込み時刻からの期間が有効期間を超えたときに、そのレコードを無効レコードと判定する仕組みを採用してもよい。また、期限徒過判定部114は、レコードの書き込み時点で、有効期間に対応する値をカウントダウンさせるタイマを備え、カウントダウンにより有効期間に対応する値が0になった場合に、そのレコードが無効レコードであると判定してもよい。
期限徒過判定部114は、無効レコードとなったレコードのレコードIDと、TTL値が示す時刻と現在時刻との差分値により求められる徒過後の経過時間とを無効レコード削除部120に出力してもよい。上述した徒過後の経過時間は、記憶装置200により記憶されたレコードの保持コストを評価するための情報(第2情報の一例)である。ここで、保持コストとは、そのレコード(データ)を記憶装置200に保持させておくことで生じるコスト(処理負荷、処理時間)に関する情報である。以下、保持コストを、単に「コスト」と称する。
無効レコード削除部120は、レコード管理部110により有効期限が設定されたレコードに関する情報(例えば、レコードID、TTL値等)を取得し、これらのレコードをリスト化して管理する。また、無効レコード削除部120は、管理された各レコードのうち、無効レコードをコストに基づく所定の順序で記憶装置200から削除する。
例えば、無効レコード削除部120のコスト計算部122は、少なくとも、上述したTTL値、その他の第2情報に基づいて、レコードごとにコスト値を計算し、計算結果からコストを評価する。第2情報は、例えば、徒過後の経過時間、無効レコードに対するアクセス回数(無効アクセス回数)、レコードのサイズ、レコードが所属する領域(ブロック)の空き領域(残りレコード数)、レコードの登録先の記憶装置(レコードが所属する記憶装置)200の種類、および、レコードが所属する記憶装置の劣化度合等のうち、少なくとも1つを含む。
例えば、コスト計算部122は、例えば、徒過後の経過時間が長くなるほどコスト値が高くなるようにコストを計算する。無効レコードに対するアクセス回数が多いほどコスト値が高くなるようにコストを計算する。また、コスト計算部122は、レコードのサイズが大きいほどコスト値が高くなるようにコストを計算してもよい。また、コスト計算部122は、レコードが登録された所定領域(ブロック)における空き領域が多いほど、コスト値が高くなるようにコストを計算してもよい。また、コスト計算部122は、レコードの登録先の記憶装置の種類に基づいて決定される係数が高い記憶装置200に登録されるレコードほど、コスト値が高くなるようにコストを計算してもよい。
削除実行部124は、コスト計算部122により計算されたコスト値に基づいて優先度(例えば、優先順位)を設定し、設定された優先度に基づいて無効レコードを削除する。例えば、削除実行部124は、優先度の高い順に無効レコードを削除する。
通信部130は、他のデータベース管理装置100、記憶装置200、およびクライアント300のうち、少なくとも1つと通信ネットワークを介してデータの送受信を行う通信インターフェースである。通信ネットワークは、WAN(Wide Area Network)やLAN(Local Area Network)、インターネット等を含む。
記憶部140は、データベース管理装置100における各種設定情報や、データベース管理に関する各種処理の実行経過または実行結果等により得られる情報、ログ情報、エラー情報等を記憶する。
記憶装置200は、例えば複数のデータベース管理装置100により共有されるストレージ装置である。記憶装置200は、例えば、ハードディスク(ディスク装置)、フラッシュメモリ、RAM、および制御回路等を備える。記憶装置200は、キャッシュ領域210と、データ記憶領域220とを備える。キャッシュ領域210は、データ記憶領域220に対するキャッシュ領域として使用される。キャッシュ領域210は、例えば、RAM上に設定される。データ記憶領域220は、レコードを不揮発に保持する。
クライアント300は、データベース管理装置100にデータの読み書き、削除等を行わせるためのコマンドを出力する。クライアント300は、例えばPC(Personal Computer)やタブレット端末、携帯電話等の情報処理装置である。クライアント300は、データベース管理装置100のユーザによって使用される情報処理装置であってもよく、さらに別の装置から受信したコマンド等に基づいて、データベース管理装置100に各種コマンドを送信する装置であってもよい。また、クライアント300は、内部において情報処理した結果に基づいて、各種コマンドを生成してデータベース管理装置100に送信する装置であってもよい。
例えば、クライアント300は、データベース管理装置100に対して、所定の処理を実行させるために、データの書き込みを指示するライトコマンド、データの読み出しを指示するリードコマンド、データの削除を指示する削除コマンド等を送信する。以下、リードコマンドによって、あるレコードの読み出しが要求されることを、「アクセス要求」と称する。また、クライアント300は、データベース管理装置100から指示した内容に対する処理結果を取得する。
図1に示すデータベース管理システム1において、記憶装置200およびクライアント300の一方または双方は、データベース管理装置100と統合されてもよい。また、図1の例では、データベース管理装置100を使用する装置として1つのクライアント300が示されているが、複数のクライアント300が1つのデータベース管理装置100を使用してもよい。
次に、データベース管理装置100におけるデータベース管理の各種動作について、図を用いて説明する。図2は、データベース管理装置100における登録動作を説明するための図である。図2の例では、クライアント300からのライトコマンド(上書きでないもの)に基づき、対象のデータが含まれるレコードを生成し、生成したレコードを記憶装置200に登録する例を示している。また、図3は、データベース管理装置100におけるデータ登録処理の一例を示すフローチャートである。
図3の例において、データベース管理装置100は、クライアント300からレコードの登録要求を受け付ける(ステップS100、図2に示す(1))。次に、レコード登録部112は、対象レコードを記憶装置200のキャッシュ領域210に登録する(ステップS102、図2に示す(2))。なお、ステップS102の処理では、レコードに対し、必要に応じてTTL値を設定する。設定されるTTL値は、レコードの所定のデータ項目に記憶され、データに関連付けられて登録される。
次に、レコード登録部112は、登録が成功したか否かを判定する(ステップS104)。登録に成功した場合、レコード登録部112は、登録したレコードにTTLが設定されているか否かを判定する(ステップS106)。TTL値が設定されている場合、レコード登録部112は、登録したレコードに割り当てたレコードIDと、TTL値とを無効レコード削除部120に通知する(ステップS108、図2に示す(3))。通知を受けた無効レコード削除部120は、記憶部140に記憶された有効期限付きレコードリスト(有効期限付きリスト)140Aに、通知されたレコードIDを持つエントリ(登録データ)を作成する(ステップS110)。
なお、ステップS108の処理では、登録したレコードに割り当てるレコードIDを、ハッシュを用いて生成してもよい。ハッシュ値を用いることで、例えば文字列検索のように個々のデータが大きい場合、データ全体を比較しながら検索するよりも比較にかかるコストを節約でき、高速に検索することができる。
ステップS106の処理において、TTL値が設定されていない場合、またはステップS108の処理後、レコード管理部110は、レコードの登録が成功したことを示す情報をクライアント300に出力する(ステップS112、図2に示す(4))。また、上述したステップS104の処理において、登録が成功しなかった場合、レコード管理部110は、登録が失敗した原因に対応するエラー情報をクライアント300に出力する(ステップS114、図2に示す(4))。登録が失敗した原因としては、例えば記憶装置200の空き容量不足や排他制御中による書き込みエラー等があるが、これに限定されるものではない。
ここで、上述した有効期限付きレコードリスト140Aについて図を用いて説明する。図4は、有効期限付きレコードリスト140Aの一例を示す図である。図4に示す有効期限付きレコードリスト140Aの項目(エントリ構成)としては、例えば「レコードID」、「TTL値」等がある。レコードIDは、レコードを識別するための識別情報であり、IDの内容は、図4の例に示すように文字や数値を用いることができるが、これに限定されるものではない。TTL値は、例えば時刻型の値である。TTL値は、例えば「2016/6/14 10:00」等のように、登録した時点より先の時刻が設定されるが、これに限定されるものではなく、上述した有効期間(例えば、24時間)等の情報であってもよい。例えば、期限徒過判定部114は、現在時刻がTTL値の時刻を超えた場合に、対象のレコードを無効レコードと判定する。
なお、レコード管理部110は、クライアント300からアクセス要求されたレコードが記憶装置200に存在するとともに、そのレコードが有効期限を徒過していない場合、そのレコードをクライアント300に出力する。ここで、「記憶装置200に存在する」とは、キャッシュ領域210とデータ記憶領域220との双方に存在する場合と、キャッシュ領域210のみ、データ記憶領域220のみに存在する場合とがある。
また、アクセス要求されたレコードが記憶装置200に存在しない場合には、すでに削除されたレコードであるため、レコード管理部110は、その旨をクライアント300に通知する。
次に、クライアント300からのレコードアクセス要求に基づくレコードアクセス(読み出し)時の動作について、図を用いて説明する。図5は、データベース管理装置100におけるレコードアクセス時の動作を説明するための図である。また、図6は、データベース管理装置100におけるレコードアクセス処理の一例を示すフローチャートである。
図6の例において、データベース管理装置100は、クライアント300からのレコードアクセスコマンド(リードコマンド)を受け付ける(ステップS200、図5に示す(1))。次に、レコード管理部110は、記憶装置200から受け付けたコマンドに対するレコードを取得する処理を行う(ステップS202、図5に示す(2))。
次に、レコード管理部110は、記憶装置200からレコードを取得できたか否かを判定する(ステップS204、図5に示す(3))。レコードを取得できた場合、レコード管理部110の期限徒過判定部114は、レコードに対応するTTL値を取得し(ステップS206)、現在時刻がTTL値を超えているか否かを判定する(ステップS208)。
現在時刻がTTL値を超えている場合、そのレコードは、有効期限を徒過しているため、期限徒過判定部114は、レコードIDを含む情報を、無効レコード削除部120に通知する(ステップS210、図5に(4))。無効レコード削除部120は、無効レコードエントリ処理を行う(ステップS212、図5に示す(5)、(6))。なお、無効レコードエントリ処理については、後述する。
次に、レコード管理部110は、対象のレコードが存在しない旨のエラー情報をクライアント300に出力する(ステップS216、図5に示す(7))。また、ステップS208の処理において、現在時刻がTTL値以下である場合、そのレコードは有効期限内であるため、取得したレコードを、クライアント300に出力する(ステップS218、図5に示す(7))。また、ステップS204の処理において、レコードの取得に成功しなかった場合、失敗した原因に基づくエラー情報をクライアント300に出力する(ステップS220、図5に示す(7))。
図7は、無効レコードエントリ処理の一例を示すフローチャートである。図7の例において、無効レコード削除部120は、レコード管理部110からアクセスのあった無効レコードのレコードIDを取得し(ステップS300)、取得したレコードIDが、記憶部140に記憶された優先削除レコードリスト(優先削除リスト)140Bに存在するか否かを判定する(ステップS302)。レコードIDが優先削除レコードリスト140Bに存在する場合、コスト計算部122は、レコードIDの該当エントリのコストを計算する(ステップS304)。このタイミングでコスト値を計算することで、無効レコードへのアクセス回数に対応した最新のコスト値を取得することができる。
次に、無効レコード削除部120は、優先削除レコードリスト140Bの各レコードをコスト順(例えば、降順)に並び替える(ステップS306)。これにより、優先削除レコードリスト140Bの各レコードは、例えば優先度順(降順)に整列される。
また、取得したレコードIDを持つエントリが優先削除レコードリスト140Bに存在しない場合、有効期限付きレコードリスト140Aから、取得したレコードIDを持つエントリを削除し(ステップS308、図5に示す(5))、優先削除レコードリスト140Bに該当れレコードIDを持つエントリを作成する(ステップS310、図5に示す(6))。ステップS308およびステップS310の処理により、無効レコードのレコードID等の情報を有効期限付きレコードリスト140Aから優先削除レコードリスト140Bに移動させることができる。
ここで、上述した優先削除レコードリスト140Bの一例について、図を用いて説明する。図8は、優先削除レコードリスト140Bの一例を示す図である。優先削除レコードリスト140Bの項目(エントリ構成)としては、例えば「レコードID」、「無効アクセス回数」、「TTL値」、「コスト値」等がある。レコードIDおよびTTL値は、いずれも有効期限付きレコードリスト140Aから取得される情報である。また、無効アクセス回数は、有効期限を徒過した後(現在時刻がTTL値を超えた後)に、クライアント300等から、そのレコードにアクセスのあった回数である。
例えば、無効レコード削除部120は、期限徒過判定部114から無効アクセスのあったレコードIDの通知があった場合に、そのレコードIDに基づいて優先削除レコードリスト140Bを参照し、抽出されたレコードの無効アクセス回数の値に1を増加する。また、無効レコード削除部120は、そのレコードIDが優先削除レコードリスト140Bに存在しなかった場合、有効期限付きレコードリスト140Aから該当レコードを抽出し、優先削除レコードリスト140Bにエントリする。この場合、無効アクセス回数には、1が設定される。コスト計算部122は、このように更新された優先削除レコードリスト140Bを用いて、優先削除レコードリスト140Bにエントリされたレコードごとに、所定の計算手法でコスト値を計算し、計算結果を優先削除レコードリスト140Bの「コスト値」に格納する。これにより、最新の情報でコスト値を計算することができる。なお、コスト計算部122におけるコスト値の計算手法の具体例については、後述する。
なお、上述した有効期限付きレコードリスト140Aと、優先削除レコードリスト140Bとは、別リストとして示しているが、一体に構成されていてもよい。また、上述した有効期限付きレコードリスト140Aおよび優先削除レコードリスト140Bは、上述したデータ構造を規定するものではない。例えば、上述した各リストの実現のために、例えば配列、キュー、ヒープ、二分木等を用いたデータ構造でもよい。
次に、優先削除実行時の動作例について、図を用いて説明する。図9は、データベース管理装置100における優先削除動作の一例を説明するための図である。また、図10は、データベース管理装置100における優先削除処理の一例を示すフローチャートである。なお、優先削除処理は、例えば、所定の周期、無効レコードへのアクセス回数が所定数以上となった場合、データベース管理装置100のユーザ(管理者)が指示したタイミングで実行される。
図10の例において、無効レコード削除部120は、優先削除レコードリスト140Bにエントリがあるか否かを判定する(ステップS400)。優先削除レコードリスト140Bにエントリがある場合、削除実行部124は、優先削除レコードリスト140Bの先頭のレコードIDを取得する(ステップS402、図9に示す(1))。ここで、先頭のレコードIDとは、上述したステップS306の処理で、優先削除レコードリスト140Bの各レコードIDをコスト値に基づき降順に並び替えている場合、各レコードIDのうち、最も優先度の高いレコードIDである。次に、削除実行部124は、レコードIDに対応するレコードを記憶装置200のキャッシュ領域210から抽出し、抽出されたレコードを削除し(ステップS404、図9に示す(2))、優先削除レコードリスト140Bのエントリを削除する(ステップS406、図9に示す(3))。なお、レコードを削除する場合に、削除実行部124は、キャッシュ領域210に存在するレコードIDに対応するレコードを削除してもよく、データ記憶領域220に記憶されたレコードIDに対応するレコードを削除してもよい。
次に、削除実行部124は、最大削除数に達したか否かを判定する(ステップS408)。最大削除数とは、1回のレコード削除処理において、削除が可能な無効レコードの最大数である。最大削除数を設定しておくことで、無効レコードの削除処理に要する時間または負荷を管理することができる。最大削除数に達していない場合、削除実行部124は、ステップS400の処理に戻る。また、最大削除数に達した場合、または、優先削除レコードリスト140Bにエントリがない場合、本フローチャートを終了する。
次に、データベース管理装置100における定周期削除動作について、図を用いて説明する。図11は、データベース管理装置100における定周期削除動作の一例を示す図である。また、図12は、データベース管理装置100における定周期削除処理の一例を示すフローチャートである。定周期削除処理は、例えば上述した優先削除処理において削除しきれなかった無効レコードを削除するための処理であり、例えば優先削除処理が実行される周期やタイミングよりも長い周期で定期的に実行される。
図12の例において、無効レコード削除部120は、優先削除レコードリスト140Bにエントリがあるか否かを判定する(ステップS500)。優先削除レコードリスト140Bにエントリがある場合、削除実行部124は、優先削除レコードリスト140Bの先頭のエントリを取得する(ステップS502)。
また、優先削除レコードリスト140Bにエントリがない場合、無効レコード削除部120は、有効期限付きレコードリスト140Aにエントリがあるか否かを判定する(ステップS504)。有効期限付きレコードリスト140Aにエントリがある場合、削除実行部124は、有効期限付きレコードリスト140Aの中で、TTL値が最小のエントリを取得する(ステップS506)。
次に、削除実行部124は、エントリ内のレコードのTTL値と、現在時刻とを比較し、エントリ内のレコードがすでに無効か否かを判定する(ステップS508)。なお、ステップS508の処理では、例えば現在時刻がTTL値を超えている場合に、そのレコードが無効であると判定することができる。エントリ内のレコードがすでに無効である場合、またステップS502の処理後、取得したレコードIDに対応するレコードを削除し(ステップS510)、優先削除レコードリスト140Bのエントリを削除する(ステップS512)。
次に、無効レコード削除部120は、最大削除数に達したか否かを判定する(ステップS514)。最大削除数に達している場合、無効レコード削除部120は、有効期限付きレコードリスト140Aにある削除されていないレコードID等を優先削除レコードリスト140Bに移動(エントリ)し(ステップS516)、本フローチャートの処理を終了する。なお、削除されていないレコードID等がすでに優先削除レコードリスト140Bにある場合には、ステップS516の処理を行わなくてもよい。
また、エントリ内のレコードが無効でない場合、または、最大削除数に達していない場合、無効レコード削除部120は、全てのエントリに対して削除判定を行ったか否かを判定する(ステップS518)。全てのエントリに対して削除判定を行った場合、本フローチャートの処理を終了する。また、全てのエントリに対して削除判定を行っていない場合、ステップS500の処理に戻り、他のエントリに対する処理を行う。
次に、コスト計算部122におけるコスト計算の具体例について説明する。
(第1の実施例)
コスト計算の第1の実施例では、評価の対象となる無効レコードの無効アクセス回数と、TTL値からの経過時間とに基づいて、コスト値を計算する。第1の実施例では、上述した図8に示す優先削除レコードリスト140Bを用いる。
(第1の実施例)
コスト計算の第1の実施例では、評価の対象となる無効レコードの無効アクセス回数と、TTL値からの経過時間とに基づいて、コスト値を計算する。第1の実施例では、上述した図8に示す優先削除レコードリスト140Bを用いる。
例えば、第1の実施例として、100件の有効レコード、10000件の無効レコードがある状況からスタートし、データベース管理装置100は、毎秒100件の無効レコードを削除する処理を想定する。また、クライアント300は、10秒後、最近の1000件のレコードを2回スキャンする。なお、2回のスキャンの間は10秒間の間隔を空けるものとする。
また、計算の便宜上、10秒間で有効レコードの有効期限は切れないものとする。また、1件のレコードアクセスは200μsとし、1件のレコード存在確認には100μs、1件のレコード削除には1msの時間がかかるものとする。
上述の条件において、コスト計算部122は、例えば「コスト値=レコードの無効アクセス回数×100−(現在時刻−レコードのTTL値)」としてコスト値を計算する。例えば、無効アクセスが1回あった場合、10秒前に有効期限切れになったレコードのコスト値は、1×100−10=90となる。なお、コスト値には、経過時間について負の相関、無効アクセス回数について正の相関を持たせてもよい。また、第1の実施例では、コスト値が大きいほど、削除する優先度が高くなるが、これに限定されるものではなく、例えばコスト値が小さいほど、優先度が高くなるようなコストの評価を行ってもよい。
また、無効アクセスが発生した最近有効期限切れになったレコードは、またアクセスされる可能性が高いため、できる限り即座に削除することが好ましい。したがって、第1の実施例では、同じ無効アクセス回数のレコードがあった場合に、経過時間が少ないものほど優先度が高くなる計算式となっている。また、第1の実施例では、無効アクセス回数がコスト値を大きく引き上げるように計算式を定めている。なお、無効アクセスが0回の場合、対象レコードは、有効期限付きレコードリスト140Aから優先削除レコードリスト140Bに移動されないため、コスト値が設定されない。
上述したように、第1の実施例によれば、削除実行部124は、優先削除レコードリスト140Bにある無効アクセス回数の多い無効レコードを優先して削除しておくことで無効レコードへのアクセスや削除処理等の処理負荷を抑制することができる。なお、第1の実施例のコスト計算に基づく優先削除処理において、1回に削除可能なレコードの数(最大削除数)を超え、削除されない無効レコードが残った場合でも、上述した定周期削除処理により、残りのレコードを削除することができる。
(第2の実施例)
次に、コスト計算部122におけるコスト計算手法の第2の実施例について説明する。第2の実施例において、コスト計算部122は、評価の対象となる無効レコードの容量(レコードサイズ)に基づいて、コスト計算を行う。レコードサイズは、例えば無効レコードアクセス時にレコード管理部110により通知される。第2の実施例によれば、レコードサイズの大きい無効レコードを先に削除することで、効率的に記憶装置200の空き容量を増やすことができる。
次に、コスト計算部122におけるコスト計算手法の第2の実施例について説明する。第2の実施例において、コスト計算部122は、評価の対象となる無効レコードの容量(レコードサイズ)に基づいて、コスト計算を行う。レコードサイズは、例えば無効レコードアクセス時にレコード管理部110により通知される。第2の実施例によれば、レコードサイズの大きい無効レコードを先に削除することで、効率的に記憶装置200の空き容量を増やすことができる。
第2の実施例において、コスト計算部122は、例えば「コスト値=レコードの大きさ(KB単位)−(現在時刻−レコードのTTL値)/2」としてコスト値を計算する。また、上述したコスト値の計算結果から、コスト値が大きいレコードほど、削除する優先度が高くなる。この計算式によれば、例えば10秒前に有効期限切れになった10KBの大きさのレコードのコスト値が5、10秒前に有効期限切れになった100KBの大きさのレコードのコスト値が95、および100秒前に有効期限切れになった100KBの大きさのレコードのコスト値が50と計算できる。
また、第2の実施例においてコスト値等を計算する場合には、「無効アクセス回数」は、優先削除レコードリスト140Bに格納しなくてもよい。ここで、図13は、第2の実施例における優先削除レコードリスト140Bの一例を示す図である。図13に示すように、第2の実施例における優先削除レコードリスト140Bの項目(エントリ構成)としては、例えば「レコードID」、「TTL値」、「コスト値」等がある。レコードIDは、削除する無効レコードのIDである。TTL値は、有効期限の判定のために用いられる。コスト値は、TTL値およびレコードサイズから計算したコストである。なお、第2の実施例において、優先削除レコードリスト140Bにレコードサイズを格納してもよく、またレコードサイズが固定値である場合には省略してもよい。
上述したように、第2の実施例によれば、削除実行部124は、新しく有効期限切れになったものを優先して削除するとともに、その中でもレコードサイズが大きい無効レコードを優先的に削除することができる。なお、レコードサイズの小さいレコードは、優先度が低くなるため、優先削除レコードリスト140B内に残る可能性があるが、上述した定周期削除処理で削除される。
(第3の実施例)
次に、コスト計算部122におけるコスト計算手法の第3の実施例について説明する。第3の実施例では、評価の対象となるレコードの所属する所定領域(例えば、ブロック)の空き容量(例えば、残りレコード数等の使用容量でもよい)等を用いてコスト値を計算する。例えば、記憶装置200におけるデータベースは、I/O効率を高めるために、複数のレコードをまとめてブロック単位で管理していることが多い場合がある。また、同じブロックには同じようなTTL値を有するレコードが集まりやすい場合がある。したがって、第3の実施例では、レコードが所属するブロックの情報を基準にコスト値を計算することで、例えばブロック内のレコードが全て無効レコードになった場合に、そのレコードを優先的に削除して、そのブロックを早期に空にすることができ、そのブロックを再利用することができる。
次に、コスト計算部122におけるコスト計算手法の第3の実施例について説明する。第3の実施例では、評価の対象となるレコードの所属する所定領域(例えば、ブロック)の空き容量(例えば、残りレコード数等の使用容量でもよい)等を用いてコスト値を計算する。例えば、記憶装置200におけるデータベースは、I/O効率を高めるために、複数のレコードをまとめてブロック単位で管理していることが多い場合がある。また、同じブロックには同じようなTTL値を有するレコードが集まりやすい場合がある。したがって、第3の実施例では、レコードが所属するブロックの情報を基準にコスト値を計算することで、例えばブロック内のレコードが全て無効レコードになった場合に、そのレコードを優先的に削除して、そのブロックを早期に空にすることができ、そのブロックを再利用することができる。
第3の実施例において、コスト計算部122は、例えば「コスト値=レコードが所属するブロックにおける残りのレコード数」としてコスト値を計算する。所属するブロックの残りのレコード数は、例えば無効レコードアクセス時にレコード管理部110により通知される。また、レコードを削除する優先度とコスト値との関係は、「優先度=1/コスト値」となる。つまり、コスト値が大きくなるほど、優先度は低くなる。例えば、ある有効期限切れになったレコードが所属するブロックに、他に10レコードがある場合、コスト値=10となり、優先度は、0.1となる。
ここで、第3の実施例における優先削除レコードリスト140Bのエントリ構成は、上述した図13と同じ構成を用いることができる。なお、第3の実施例の場合、「レコードID」および「TTL値」は、上述した第2の実施例と同様であるが、「コスト値」には、所属ブロックの残りレコード数から計算したコストが格納される。
上述したように、第3の実施例によれば、残りレコード数が少ないブロックに所属する無効レコードが優先的に削除される。したがって、従来手法よりブロックが空になるのが早くなるため、ブロック単位での再利用を効率的に行うことができる。
(第4の実施例)
次に、コスト計算部122におけるコスト計算手法の第4の実施例について説明する。第4の実施例では、評価の対象となるレコードが所属する記憶装置200の種類に応じてコストを設定する。例えば、データベース管理装置100が、記憶装置200に記憶されるレコードを複数のストレージに分割して保持している場合、より高速な記憶装置200をなるべく空けておきたい場合がある。そのため、第4の実施例では、例えばHDDとSSD(Solid State Drive)とを備える記憶装置200において、SSDに記憶されたレコードが、HDDに記憶されたレコードよりも優先して削除されるようにする。この場合、コスト計算部122は、例えば「コスト値=レコードの大きさ(KB)×ストレージ係数」としてコストを計算する。ここで、ストレージ係数とは、レコードが記憶された記憶装置(ストレージ)200の種類に基づいて設定される値であり、例えばHDDである場合にストレージ係数を1とし、SSDであるの場合にストレージ係数を10とする。無効レコードが記憶された記憶装置200の種類は、その無効レコードがアクセスされた時に、レコード管理部110により通知される。例えば、100KBのレコードがHDDにある場合、コスト値=100×1=100となり、100KBのレコードがSSDにある場合、コスト値=100×10=1000となる。第4の実施例の場合、コスト値が大きいほど、優先度は高くなる。
次に、コスト計算部122におけるコスト計算手法の第4の実施例について説明する。第4の実施例では、評価の対象となるレコードが所属する記憶装置200の種類に応じてコストを設定する。例えば、データベース管理装置100が、記憶装置200に記憶されるレコードを複数のストレージに分割して保持している場合、より高速な記憶装置200をなるべく空けておきたい場合がある。そのため、第4の実施例では、例えばHDDとSSD(Solid State Drive)とを備える記憶装置200において、SSDに記憶されたレコードが、HDDに記憶されたレコードよりも優先して削除されるようにする。この場合、コスト計算部122は、例えば「コスト値=レコードの大きさ(KB)×ストレージ係数」としてコストを計算する。ここで、ストレージ係数とは、レコードが記憶された記憶装置(ストレージ)200の種類に基づいて設定される値であり、例えばHDDである場合にストレージ係数を1とし、SSDであるの場合にストレージ係数を10とする。無効レコードが記憶された記憶装置200の種類は、その無効レコードがアクセスされた時に、レコード管理部110により通知される。例えば、100KBのレコードがHDDにある場合、コスト値=100×1=100となり、100KBのレコードがSSDにある場合、コスト値=100×10=1000となる。第4の実施例の場合、コスト値が大きいほど、優先度は高くなる。
ここで、図14は、第4の実施例における優先削除レコードリスト140Bの一例を示す図である。図14に示すように、第4の実施例における優先削除レコードリスト140Bの項目(エントリ構成)としては、「レコードID」および「コスト値」等がある。レコードIDは、削除するレコードのIDである。TTL値は、有効期限の判定のために用いられる。コスト値は、レコードの大きさおよびストレージ係数から計算したコストである。第4の実施例において、優先削除レコードリスト140Bのエントリ構成は、無効レコードの所属ストレージが変わることは想定しにくい。そのため、コスト計算部122は、コスト計算を一度行えばよい。
上述したように、第4の実施例によれば、より高速なストレージにある無効レコードを優先的に削除することができる。これにより、高速ストレージの領域を早期に再利用することができる。
(第5の実施例)
次に、コスト計算部122におけるコスト計算手法の第5の実施例について説明する。第5の実施例では、例えば記憶装置200に記憶される各レコードが複数のSSD等に分割して保持されている場合に、劣化しているSSDに対する無効レコードの削除処理を減らして、なるべく上書き処理を行うようにする。無効レコードは、上述した削除処理により記憶領域から削除するだけでなく、そのレコードを他のレコードで上書きすることで削除してもよい。
次に、コスト計算部122におけるコスト計算手法の第5の実施例について説明する。第5の実施例では、例えば記憶装置200に記憶される各レコードが複数のSSD等に分割して保持されている場合に、劣化しているSSDに対する無効レコードの削除処理を減らして、なるべく上書き処理を行うようにする。無効レコードは、上述した削除処理により記憶領域から削除するだけでなく、そのレコードを他のレコードで上書きすることで削除してもよい。
第5の実施例において、コスト計算部122は、例えば「コスト値=レコードの所属するストレージの劣化係数(劣化度合)」としてコスト値を計算する。また、レコードを削除する優先度とコスト値との関係は、逆相関の関係となる。つまり、第5の実施例では、コスト値が大きいほど、優先度は低くなる。
なお、上述した劣化係数は、例えばS.M.A.R.T.(Self-Monitoring, Analysis and Reporting Technology)情報より取得することができる。S.M.A.R.T.情報とは、記憶装置200の内部で管理することができるモニタリング情報等である。S.M.A.R.T.情報は、データベース管理装置100で管理されていてもよく、記憶装置200で管理されていてもよい。S.M.A.R.T.情報としては、例えば、使用済み予備ブロック数、不良ブロック数、および消去失敗回数等がある。これらの情報が得られた場合、コスト計算部122は、例えば「劣化係数=使用済み予備ブロック数+不良ブロック数+消去失敗回数」として劣化係数を計算する。なお、計算手法については、これに限定されるものではない。例えば、第5の実施例において、使用済み予備ブロック数を10とし、不良ブロック数を100とし、消去失敗回数を0とした場合のSSDに所属するレコードのコスト値は110となる。したがって、優先度は、−110となる。
ここで、図15は、第5の実施例における優先削除レコードリスト140Bの一例を示す図である。図15に示すように、第5の実施例における優先削除レコードリスト140Bの項目(エントリ構成)としては、「レコードID」、「所属ストレージ」、「最終コスト更新時間」、「コスト値」等がある。レコードIDは、削除する無効レコードのIDである。所属ストレージは、所属する記憶装置(ストレージ)200のIDである。最終コスト更新時間は、最後にコスト値を更新した時刻である。この時刻は、S.M.A.R.T.情報の新しさを示すものである。また、コスト値は、ストレージの劣化係数から計算したコストである。
また、第5の実施例において、優先削除レコードリスト140Bのエントリ構成において、コスト値はS.M.A.R.T.情報を取得するごとに更新される可能性がある。そのため、コスト計算部122は、S.M.A.R.T.情報を取得した後に、無効レコードのアクセスがあった場合に、コスト値を再計算する。
上述したように、第5の実施例によれば、劣化したSSDの有効期限切れレコードの削除を抑制することができる。なお、コスト計算部122におけるコスト計算は、上述した第1〜第5の各実施例の一部または全部を組み合わせてもよい。
次に、記憶装置200内の無効レコードの削除に関する処理結果の一例について、図を用いて説明する。図16は、無効レコード削除に関する処理結果の一例を示す図である。図16の例では、横軸に無効レコード削除のための記憶装置200のスキャン回数を示し、縦軸に上記スキャンの所要時間を示す。また、図16の例では、従来手法と本実施形態とにおける処理結果を比較している。従来手法としては、ガベージコレクションを用いてレコードを削除する手法(ガベージコレクション方式)と、インライン削除においてレコードを削除する手法(インライン削除方式)を用いる。ガベージコレクション方式は、定期的(例えば、1日に1回)の周期で記憶装置200内の全レコードをスキャンし、TTL値が現在時刻を超えているレコードを削除する。また、インライン削除方式は、レコードアクセス時にそのレコードを削除する。
また、図16の例では、便宜的に、1件のレコードアクセスを200μsとし、1件のレコード存在確認時間を100μsとし、1件のレコード削除時間1msとする。また、クライアント300から送信されるレコードを記憶装置200内のテーブルで管理するものとする。また、テーブルには、毎秒100件のレコードを、TTL値を1日として登録するものとする。また、テーブルには、常に864万件の有効レコードがある状態とする。
図16に示す例では、(A)がガベージコレクション方式による処理結果を示し、(B)がインライン削除方式による処理結果を示し、(C)が本実施形態における処理結果を示している。図16に示すように、本実施形態は、従来手法と比較して、スキャンの所要時間を短縮することができ、無効レコードの削除処理における処理負荷を抑制することができる。
以上説明した少なくとも一つの実施形態によれば、複数のデータベース管理装置100と、複数のデータベース管理装置100により共有される記憶装置200とを備え、複数のデータベース管理装置100のそれぞれは、クライアントから登録要求のあったデータを記憶装置200に書き込むデータ管理部(レコード管理部110)と、データ管理部により、記憶装置200に書き込まれたデータに関連付けられる情報に基づいて、記憶装置200に記憶されたデータのうち、有効期限を徒過したデータを削除する削除部(無効レコード削除部120)と、を持つことにより、複数の分散化されたデータベース管理装置において、無効レコードに関連する処理負荷を抑制することができる。
具体的には、少なくとも一つの実施形態によれば、例えば多数のクライアント300がデータベース管理装置100を用いて記憶装置200へデータの書き込みを行い、そのデータの分析を行うためのアクセス(読み出し)を行う場合であっても、無効レコードへのアクセスを低く抑えることができるため、無効レコードによるスループットやレイテンシの低下を抑制することができる。また、無効レコードを優先的に削除するため、記憶装置200内の全てのデータをスキャンする時間を減らすことができ、処理時間の短縮および処理の効率化を図ることができる。
なお、上述したデータベース管理システム1は、複数の分散化されたデータベース管理装置100を備えているが、単体のデータベース管理装置100で構成されていたとしても、上述した各種処理と同様の処理を行うことができる。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
1…データベース管理システム、100…データベース管理装置、110…レコード管理部(データ管理部)、112…レコード登録部、114…期限徒過判定部、120…無効レコード削除部(削除部)、122…コスト計算部(評価部)、124…削除実行部、130…通信部、140…記憶部、200…記憶装置、300…クライアント
例えば、コスト計算部122は、例えば、徒過後の経過時間が長くなるほどコスト値が高くなるようにコストを計算する。無効レコードに対するアクセス回数が多いほどコスト値が高くなるようにコストを計算する。また、コスト計算部122は、レコードのサイズが大きいほどコスト値が高くなるようにコストを計算してもよい。また、コスト計算部122は、レコードが登録された所定領域(ブロック)における空き領域が多いほど、コスト値が低くなるようにコストを計算してもよい。また、コスト計算部122は、レコードの登録先の記憶装置の種類に基づいて決定される係数が高い記憶装置200に登録されるレコードほど、コスト値が高くなるようにコストを計算してもよい。
Claims (11)
- 複数のデータベース管理装置と、
前記複数のデータベース管理装置により共有される記憶装置と、を備え、
前記複数のデータベース管理装置のそれぞれは、
クライアントから登録要求のあったデータを前記記憶装置に書き込むデータ管理部と、
前記データ管理部により前記記憶装置に書き込まれたデータの有効期限を認識可能な第1情報に基づいて、前記記憶装置に記憶されたデータのうち、有効期限を徒過したデータを削除する削除部と、
を備えるデータベース管理装置。 - 前記削除部は、
前記記憶装置により記憶されたデータの保持コストを評価するための第2情報に基づいて、前記データごとに保持コストを評価する評価部と、
前記評価部により前記保持コストが高いと評価されたデータを優先して、前記記憶装置から削除する削除実行部とを備える、
請求項1に記載のデータベース管理装置。 - 前記第2情報は、前記データの有効期限を徒過した後のアクセス回数を含み、
前記評価部は、前記アクセス回数が多いほど、前記保持コストを高くする、
請求項2に記載のデータベース管理装置。 - 前記第2情報は、前記データのサイズを含み、
前記評価部は、前記データのサイズが大きいほど、前記保持コストを高くする、
請求項2または3に記載のデータベース管理装置。 - 前記第2情報は、前記保持コストの評価の対象となるデータが格納された所定領域における空き領域を含み、
前記評価部は、前記空き領域が多いほど、前記保持コストを低くする、
請求項2から4のうち、いずれか1項に記載のデータベース管理装置。 - 前記第2情報は、前記データの登録先の記憶装置の種類に基づいて決定される係数を含み、
前記評価部は、前記係数が高い記憶装置に登録されるデータほど、前記保持コストを高くする、
前記請求項2から5のうち、いずれか1項に記載のデータベース管理装置。 - 前記第2情報は、前記データの登録先の記憶装置ごとに決定される劣化度合を含み、
前記評価部は、前記劣化度合が高い記憶装置に登録されるデータほど、前記保持コストを低くする、
前記請求項2から6のうち、いずれか1項に記載のデータベース管理装置。 - 前記削除部は、前記評価部により得られる保持コストに対応した優先度順に、削除するデータが整列された優先削除リストを生成し、生成した優先削除リストに基づいて、前記データを削除する、
請求項2から7のうち、いずれか1項に記載のデータベース管理装置。 - 前記データ管理部は、前記記憶装置にデータを記憶する場合に、有効期限が設定されたデータを有効期限付きリストに登録し、
前記評価部は、前記有効期限付きリストに登録されたデータごとに前記保持コストを評価し、評価したデータを評価結果とともに、前記優先削除リストに移動する、
請求項8に記載のデータベース管理装置。 - 複数のデータベース管理装置と、前記複数のデータベース管理装置により共有される記憶装置と、を備えたデータベース管理システムにおける前記複数のデータベース管理装置のそれぞれのコンピュータが、
クライアントから登録要求のあったデータを前記記憶装置に書き込み、
前記記憶装置に書き込まれたデータの有効期限を認識可能な第1情報に基づいて、前記記憶装置に記憶されたデータのうち、有効期限を徒過したデータを削除する、
データベース管理方法。 - 複数のデータベース管理装置と、前記複数のデータベース管理装置により共有される記憶装置と、を備えたデータベース管理システムにおける前記複数のデータベース管理装置のそれぞれのコンピュータに、
クライアントから登録要求のあったデータを前記記憶装置に書き込ませ、
前記記憶装置に書き込まれたデータの有効期限を認識可能な第1情報に基づいて、前記記憶装置に記憶されたデータのうち、有効期限を徒過したデータを削除させる、
データベース管理プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016126978A JP6215401B1 (ja) | 2016-06-27 | 2016-06-27 | データベース管理装置、データベース管理方法、およびデータベース管理プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016126978A JP6215401B1 (ja) | 2016-06-27 | 2016-06-27 | データベース管理装置、データベース管理方法、およびデータベース管理プログラム |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017152711A Division JP6325728B2 (ja) | 2017-08-07 | 2017-08-07 | データベース管理装置、データベース管理方法、およびデータベース管理プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP6215401B1 JP6215401B1 (ja) | 2017-10-18 |
JP2018005300A true JP2018005300A (ja) | 2018-01-11 |
Family
ID=60107339
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016126978A Active JP6215401B1 (ja) | 2016-06-27 | 2016-06-27 | データベース管理装置、データベース管理方法、およびデータベース管理プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6215401B1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021061858A (ja) * | 2021-01-18 | 2021-04-22 | 株式会社東亜産業 | カートリッジ |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6761002B2 (ja) * | 2018-07-23 | 2020-09-23 | ファナック株式会社 | データ管理装置、データ管理プログラム及びデータ管理方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11120138A (ja) * | 1997-10-13 | 1999-04-30 | Meidensha Corp | データ管理方式 |
JP2010049522A (ja) * | 2008-08-22 | 2010-03-04 | Hitachi Ltd | 計算機システムおよび論理ボリューム管理方法 |
JP2010267028A (ja) * | 2009-05-13 | 2010-11-25 | Brother Ind Ltd | 管理装置、管理処理プログラム、ノード装置、ノード処理プログラム、及び有効期限切れレコード判定方法 |
JP2012168815A (ja) * | 2011-02-15 | 2012-09-06 | Fujitsu Ltd | 管理装置、管理プログラムおよび管理方法 |
JP2013214201A (ja) * | 2012-04-02 | 2013-10-17 | Nippon Telegr & Teleph Corp <Ntt> | ガベージコレクション実行装置、ガベージコレクション実行方法及びガベージコレクション実行プログラム |
US20150113206A1 (en) * | 2013-10-18 | 2015-04-23 | Sandisk Enterprise Ip Llc | Biasing for Wear Leveling in Storage Systems |
-
2016
- 2016-06-27 JP JP2016126978A patent/JP6215401B1/ja active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11120138A (ja) * | 1997-10-13 | 1999-04-30 | Meidensha Corp | データ管理方式 |
JP2010049522A (ja) * | 2008-08-22 | 2010-03-04 | Hitachi Ltd | 計算機システムおよび論理ボリューム管理方法 |
JP2010267028A (ja) * | 2009-05-13 | 2010-11-25 | Brother Ind Ltd | 管理装置、管理処理プログラム、ノード装置、ノード処理プログラム、及び有効期限切れレコード判定方法 |
JP2012168815A (ja) * | 2011-02-15 | 2012-09-06 | Fujitsu Ltd | 管理装置、管理プログラムおよび管理方法 |
JP2013214201A (ja) * | 2012-04-02 | 2013-10-17 | Nippon Telegr & Teleph Corp <Ntt> | ガベージコレクション実行装置、ガベージコレクション実行方法及びガベージコレクション実行プログラム |
US20150113206A1 (en) * | 2013-10-18 | 2015-04-23 | Sandisk Enterprise Ip Llc | Biasing for Wear Leveling in Storage Systems |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021061858A (ja) * | 2021-01-18 | 2021-04-22 | 株式会社東亜産業 | カートリッジ |
Also Published As
Publication number | Publication date |
---|---|
JP6215401B1 (ja) | 2017-10-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2016382908B2 (en) | Short link processing method, device and server | |
US9122717B2 (en) | System and method of detecting cache inconsistencies | |
US10423902B2 (en) | Parallel processing apparatus and method of estimating power consumption of jobs | |
CN106021445A (zh) | 一种加载缓存数据的方法及装置 | |
US9665612B2 (en) | Run-time decision of bulk insert for massive data loading | |
JP6189488B1 (ja) | データベース管理装置、データベース管理方法、およびデータベース管理プログラム | |
US20140351628A1 (en) | Information processing device, control circuit, computer-readable recording medium for control program, and control method | |
US10255325B2 (en) | Extreme value computation | |
JP6215401B1 (ja) | データベース管理装置、データベース管理方法、およびデータベース管理プログラム | |
CN110910249B (zh) | 一种数据处理方法、装置、节点设备及存储介质 | |
EP3859536B1 (en) | Method and device for buffering data blocks, computer device, and computer-readable storage medium | |
US11080239B2 (en) | Key value store using generation markers | |
JP7192645B2 (ja) | 情報処理装置、分散処理システム及び分散処理プログラム | |
JP6325728B2 (ja) | データベース管理装置、データベース管理方法、およびデータベース管理プログラム | |
US20140320498A1 (en) | Terminal device, information processing method, and computer program product | |
US9851925B2 (en) | Data allocation control apparatus and data allocation control method | |
JP5956064B2 (ja) | 計算機システム、データ管理方法、及び計算機 | |
JP2018511131A (ja) | オンライン媒体のための階層的なコストベースのキャッシング | |
KR101744017B1 (ko) | 실시간 검색을 위한 데이터 인덱싱 방법 및 장치 | |
US20210334678A1 (en) | Framework for measuring telemetry data variability for confidence evaluation of a machine learning estimator | |
CN110083509B (zh) | 一种日志数据的规整方法及装置 | |
CN110968267A (zh) | 数据管理方法、装置、服务器及系统 | |
JP6508202B2 (ja) | 情報処理装置、情報処理方法、及び、プログラム | |
US11663275B2 (en) | Method for dynamic data blocking in a database system | |
US20240152487A1 (en) | Systems and/or methods for dynamic adaptation of data retention policies for iot platforms |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170807 |
|
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: 20170822 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170920 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 6215401 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |