Skip to main content

ジャーナリングに関する特別な考慮事項

ここでは、InterSystems IRIS® データ・プラットフォームでジャーナリングを使用する方法に影響する可能性がある、特別な考慮事項について説明します。

パフォーマンス

データベースの整合性を確保するうえでジャーナリングは重要ですが、ジャーナルの対象となるグローバルの更新数によっては、ディスク領域が消費され、性能が低下します。

変更がデータベースとジャーナル・ファイルの両方に記録されるため、更新処理は二重に行われます。この結果、ジャーナリングは性能に影響を与えます。InterSystems IRIS はフラット・ファイルでのジャーナリングを使用しているので、性能の低下が最小限になります。

UNIX® ファイル・システムの推奨事項

"サポートされているファイル・システム" では、UNIX®/Linux プラットフォームでインターシステムズが推奨しサポートしているファイル・システムの概要を示していますが、ここには、最適なジャーナル・パフォーマンスを実現するためのマウント・オプションに関する注意事項も記載されています。

Note:

推奨されるマウント・オプションが存在しないファイル・システムでプライマリまたは代替のジャーナル・ディレクトリを構成すると、以下のようなメッセージがメッセージ・ログに入力されます。

The device for the new journal file was not mounted with a recommended option (cio).

システム時計の推奨事項

InterSystems IRIS でサポートされるオペレーティング・システムのすべてに Network Time Protocol (NTP) クライアントがあり、システム時計と参照システムの同期が保持され、サマータイムと標準時間との間でシステム時計を自動調整する機能があります。

システム時計の同期の保持および管理には、システム時計を手動で調整するのではなく、オペレーティング・システムの自動クロック管理機能を利用することをお勧めします。

テスト作業などで手動で時間を調整する必要がある場合は、実稼働環境ではなく、必ずテスト環境を使用してその作業を実行してください。また、時計を進めたり、戻したりする調整などの非時系列的イベントは一部のユーティリティで障害発生の原因になる可能性があるため、手動の調整は慎重に行う必要があります。

ファイリング操作に対するジャーナリングの無効化

オブジェクトの保存や削除などのファイリング操作に対するジャーナリングを無効にすることが効果的な場合や必要な場合があります。共有するには、以下の 2 つの方法があります。

  • オブジェクトを開く (通常は %OpenIdOpens in a new tab または %OpenOpens in a new tab を使用します) ときに、並行処理の値として 0 を指定します。0 より大きい並行処理の値を指定してそのオブジェクトを既に開いている場合は、並行処理の値に 0 を指定しても効果はありません。

  • 現在のプロセスに対するオブジェクト・ファイラ・トランザクション処理を中断します。これを行うには、$system.OBJ.SetTransactionMode(0) を呼び出します (これは %SYSTEM.OBJOpens in a new tab クラスの SetTransactionModeOpens in a new tab メソッドなので、専用の $system オブジェクトを介して呼び出すことができます)。SetTransactionMode メソッドは 0 または 1 の値をとり、オブジェクト・ファイラ・トランザクションは 0 で無効、1 で有効になります。この設定は現在のファイリング操作だけでなく、プロセス全体に影響します。

Important:

ジャーナリングの無効化が求められることもありますが、実際にその必然性があるかどうかを確認してください。この確認を怠ると、必要なデータが部分的に欠損したジャーナルが生成され、そのデータは永久に失われる可能性があります。

関連項目

FeedbackOpens in a new tab