ICDロゴ

パーシステンス (persistence)

別名
永続性 (persistence) 【エイゾクセイ】

最終更新日: 2003/03/31

 オブジェクトやシステムの状態などを、プロセスやセッション、マシンなどの物理的、時間的境界を越えて維持、保存する機能のこと。persistenceとは、「持続、永続、保持」などという意味。

 プログラムがメモリ上に保持している変数やデータなどは、プログラムが終了すると失われ、再度起動しても同じ状態に戻ることはない。だがこれでは、例えばユーザーが入力したデータや設定などが失われてしまい、後で作業を継続することができない。そこで、再度起動しても以前と同じ状態を回復できると便利である。これを実現する機能のことを永続性(パーシステンス)という。

 永続性を実現するにはいろいろな方法があるが、プログラムの終了時に「状態を保存」しておいて、次回の起動時に「状態をロード」するという方法が一般的である。このような機能は非常に基本的なものなので、ライブラリにおいて実装されていることが多い。また、データの格納やアクセスをデータベースに対して行い、データベースを使って永続性を実現するという方法もある。

 このほかにも永続性は、Webサイトにおけるセッションの同一性管理などでも利用されている。一般にWebサイトには複数のWebサーバ・マシンが存在し、それぞれのサーバの内部には多くのプロセスやスレッドが存在している。ユーザーがWebサイトに接続するときに使われるHTTPプロトコルでは、どのサーバのどのスレッドにするかは、HTTPのGET要求ごとに毎回動的に変わる可能性がある。だが同じユーザーからの一連の接続要求であることを認識していないと、例えば買い物バスケットの内容が消えてしまったり、他のユーザーのものと混同してしまったりする。このような事態を防ぐには、URLやHTTP Cookie、IPアドレス、GETコマンドのパラメータなどから同一のセッションであることを判断し、処理する必要がある。このように、HTTPセッションの同一性を保証することを永続性処理(パーシステンス処理)などという。

Copyright (C) 2000-2007 Digital Advantage Corp.

アイティメディアの提供サービス

キャリアアップ