読者です 読者をやめる 読者になる 読者になる

yohjizzz's Blog

I'm a Programmer.

システムで扱う日付

今日 DB の時間を使いたいという意見を聞いた。
理由はアプリケーションサーバが複数台ある場合に、各サーバの時間のずれが怖いということだった。
確かにDBサーバに比べるとアプリケーションサーバの方は複数台用意する可能性は高い。
私は時間がずれないように NTP サーバと同期して、
そんなに気になるならさらに許容範囲を超えて時間がずれないように監視すれば良いと思ったが、
みんなはどうしているんだろう?current_timestamp 使ってるのかな?

2007-08-10 - sugimotokazuyaの日記

「日付」はアプリで生成ってのが自然なんじゃないかな。(楽だしね。)
アプリから見たDBはやっぱ「データを管理する」であって、それ以上でも以下でもなくて。
アプリがデータを生成して、操作して、DBへ入ってく。「日付」もデータな訳だから。
id:sugimotokazuya さんの言うとおり、、APサーバーの複数台あったって NTP で同期とりゃいいし。
id:JUNDU さんの言うとおり、、DB と関係ないところで日付扱うこともある訳で。


例えばページに現在時刻を表示したいからってだけで
SELECT SYSDATE FROM dual; とか SELECT CURRENT_TIMESTAMP; なんて死んでもやりたくない訳で。


でもね・・・  でもさっ、、、


「再構築するWebシステム」に連携してる既存の膨大なバッチシステムが PL/SQL だったりして、、
ストアドの中で当たり前のように SYSDATE つかってテーブルにINSERT、UPDATEなんてやってたりすると…溜め息が出ちゃう。
そんなときはみんなどーしてるんだろうか?


S2Dao 使うと、より SYSDATE や CURRENT_TIMESTAMP の存在が邪魔。