コアDB:ロールオーバー

Document created by RSA Information Design and Development on Feb 15, 2017
Version 1Show Document
  • View in full screen mode
  

このトピックでは、2つのロールオーバー メカニズムについて説明します。データベースは、FIFO(先入れ先出し方式)のキューとして機能します。新しいデータは必ずデータベースに追加され、最も古いデータは必要に応じて自動的に削除されます。データベースの中間にあるデータは不変、つまり変更されません。

ロールオーバーには、同期と非同期の2つのメカニズムがあります。

同期ロールオーバー

同期ロールオーバーは、データベースへの書き込み処理に応じて適用されるロールオーバー設定を指します。つまり、新しいデータを書き込むとデータベースから古いデータが削除されます。同期ロールオーバーは、packet.dir、meta.dir、session.dir、index.dirの構成でサイズの値を設定することによって構成されます。

packet、meta、sessionのデータベースでの同期ロールオーバーは、どの書き込み処理でも生じます。indexの同期ロールオーバーは、indexが保存されるときに生じます。

非同期ロールオーバー

非同期ロールオーバーは、データベースに対して明示的なロールオーバー コマンドが実行されたときに生じるデータベース ファイルの削除を指します。一般に、このタイプのロールオーバーは、コア サービスのビルトインのスケジューラを使って定期的に実行されるようにスケジュール設定されます。ユーザーは明示的にロールオーバーをリクエストすることもできます。

非同期ロールオーバー コマンドは、sizeRollメッセージで、構成ツリーの/indexおよび/databaseノードで実行できます。/databaseノードのメッセージは、packet、meta、sessionのデータベースのみでサイズ ロールオーバーを行いますが、/indexノードのメッセージは、indexとpacket、meta、sessionのデータベースの両方で同時にロールオーバーを行うことができます。

sizeRollコマンドには、次のパラメータ構文があります。

 size-roll-params = {type-param, space}, (max-size-param | min-free-param | max-percent-param), {max-size-warm-param, space} type-param = "type=", {type-flag} , { ",", type-flag } ; type-flag = "packet" | "meta" | "session" ; max-size-param = "maxSize=", number, {space}, unit ; max-percent-param = "maxPercent=", number, {space}, unit ; min-free-param = "minFree=", number, {space}, unit ; max-size-warm-param = "maxSizeWarm=", number, {space}, unit ; unit = "t" | "TB" | "g" | "GB" | "m" | "MB" ; number = ? decimal number ? ; percentage = ? number between 0 and 100 ? ; 

typeパラメータではデータベースを指定し、残りの合計サイズまたは合計スペースに基づいて最も古いデータの削除を検討します。/indexsizeRollでtypeが指定されない場合、ロールオーバー処理でindexのみが対象となります。

maxSizeパラメータは、データベースまたはインデックスの最大サイズを設定します。データベースがこのサイズよりも大きい場合、合計サイズがmaxSizeを下回るまで最も古いデータが先に削除(または、構成に応じてWarmまたはCold階層に移動)されます。sizeRollの処理は、セッションIDに基づいて、すべてのデータベースとインデックスの中から最も古いデータを決定します。最も低いセッションIDのセッションまたはインデックス エントリーが最初に削除されます。これには、sessionデータベースからエントリーを削除することによって孤立したmetaおよびpacketデータベースの削除が含まれる場合があります。参照先のsessionが削除された場合、indexデータはロールアウトされます。

maxSizeWarmパラメータは、現在のWarm階層に対する最大サイズを設定します。それ以外は、maxSizeパラメータと同様に動作します。Warm階層でデータがロールアウトされると、Cold階層(構成済みの場合)に移動されるか、削除されます。

maxPercentパラメータは、typeパラメータで渡されたすべてのデータベースのボリュームを合わせたサイズの最大の割合(パーセンテージ)を設定します。これを上回った場合、合計サイズがすべてのボリュームのmaxPercentを下回るまで、最も古いデータが先に削除されます。

minFreeパラメータは、ボリュームに確保される最小の空きスペースを設定します。これを下回ると、最も古いデータから削除が開始します。

sizeRoll処理の各呼び出しでは、削除するファイルとしてデータベースの単一のパスを指定します。処理が完了すると、データベースの最新のサイズ使用率が、maxSizemaxPercentminFreeパラメータのいずれか、およびオプションのmaxSizeWarmパラメータが指定する条件を満たすことになります。データベースを停止せずに継続して運用できるよう、これらのコマンドをスケジュール設定して定期的に実行できます。

次の例は、Archiverの典型的なsizeRollスケジューラ エントリーを示しています。

 pathname=/index minutes=5 msg=sizeRoll params="type=meta,session,packet maxSize=25TB maxSizeWarm=150TB" 

このスケジューラ エントリーは、meta、session、packet、indexの最大サイズがHot階層で25テラバイトを超えないようにし、Warm階層では150テラバイトを超えないようにデータベースを5分おきに確認するよう指定しています。

Previous Topic:スケジューラ
Next Topic:クエリー
You are here
Table of Contents > 詳細なデータベース構成 > ロールオーバー

Attachments

    Outcomes