- PR -

WEBサーバクラスタリングの際のデータ同期

投稿者投稿内容
おばけ
ぬし
会議室デビュー日: 2002/11/14
投稿数: 609
お住まい・勤務地: 東京都江東区
投稿日時: 2005-02-04 13:03
ファイルを生成する元データはDBで、一度APサーバからデータを読み込んだら
それをメモリ上にキャッシュしておけば良いと思います。キャッシュとDB上の
データの整合性を担保する仕組みが必要になりますけれど、最終更新日時の
比較などを行えば良いでしょう。データ全体をDBから引き出すよりはよっぽど
速くなると思いますよ。


[ メッセージ編集済み 編集者: おばけ 編集日時 2005-02-04 13:05 ]
ぽんす
ぬし
会議室デビュー日: 2003/05/21
投稿数: 1023
投稿日時: 2005-02-04 20:30
引用:

おばけさんの書き込み (2005-02-04 13:03) より:
ファイルを生成する元データはDBで、一度APサーバからデータを読み込んだら
それをメモリ上にキャッシュしておけば良いと思います。キャッシュとDB上の
データの整合性を担保する仕組みが必要になりますけれど、最終更新日時の
比較などを行えば良いでしょう。


ファイルのサイズにもよりますが数KBとかの小さなファイルだと
ファイル全体を取得するのもタイムスタンプを取るのもあまり時間は
変わらなそうな気がします。タイムスタンプを見て更新されていると
分かった場合は再度アクセスするので遅くなりますし。
・・・あ、これは「DBアクセスを減らすため」なのかな?

あと、タイムスタンプが秒単位だとすれば1秒未満の範囲では同期が
取れないなとか、サーバ間の時計が同期していることを保証しなきゃ
ならないな(NTPを使ってれば同期を保証できるというものでも
ないし)、とか気になりました。
時間についての精度をそれほど要求されないならばどうでもいいこと
なんですが。

[ メッセージ編集済み 編集者: ぽんす 編集日時 2005-02-04 20:32 ]
tzk
常連さん
会議室デビュー日: 2002/05/17
投稿数: 35
投稿日時: 2005-02-04 21:23
私が以前関わっていたプロジェクトでも、負荷分散されているAPサーバから同じファイルを見たいという要望がありました。

その際はDBサーバ上にRMIサーバを立ち上げて、APサーバからそこを突付くようにしていました。DBサーバにお金をかけていたのでスペック的な余裕があったことから、そのような構成にしていました。

ただ、パフォーマンスはそれほど良くなかったように記憶しています。

スキルアップ/キャリアアップ(JOB@IT)