• ベストアンサー

データベース使用時のサーバー移転について

WEBサイトにて会員登録をしてもらい、それをデータベースに蓄積するサイトを使っているのですが、サーバースペックの問題から移転を考えています。 サーバー移転中、新旧どちらのサーバーにもアクセスできる期間があると思うのですが、その際、新しいデーターベースにのみ、登録情報を蓄積していきたい考えています。 何か良い方法はないのでしょうか。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

>データーベースの稼動を止めて移行させることは難しいので、それ以外の方法がございましたら、お教えいただければと思います。 一時的にレプリケーションでも導入すれば可能かもしれませんが、それとて設定変更時には再起動が必要ですし、移行の為だけに行うにはリスクが高すぎます。 うちでは上場企業の大規模サイト移行なども行いますが、DBの完全な同期移行のためにはやはりサービス停止を敢行します。 それがもっとも安全で確実、サービス停止を考えても総合的にみてメリットがあるからです。

その他の回答 (2)

回答No.3

#1さんの説明にかぶりますが サーバの設定をある程度柔軟に設定できる ものに限るけど 古いサーバを「A_S」 新しいサーバを「B_S」 古いサーバDBを「A_D」 新しいサーバDBを「B_D」 と表記するとして A_S→B_Sにプログラムをコピーして データベースはA_D→B_Dにコピー でB_SにコピーしたプログラムをB_Sのサーバで 動くように設定変更する。 その時にA_Sのプログラムからは A_DのDBを見に行っている設定になっているはずなので そこを一時的にB_DのDBを見に行くように設定する。 っていう事でしょうね。 ただし上記の方法の場合書いた処理の間にDBにアクセスあると 困るのでその間はどっちにしてもサービスを停止しないとだめですね。 この方法で移管期間をやり遂げれるのはDNSの移管期間くらいですね。

回答No.1

データベースと一口に言っても、CSVのようなテキスト型式もあればMySQLやオラクルのようなRDBMSもありますので一概には言えません。 テキスト型式だとほぼ不可能と考えてよいでしょう。 RDBMSなら接続先のDBを変更すればできる場合もありますが、普通は外部から接続できないネットワークにおいてあるとかFirewallや設定で外から接続できないようになっていたりするので難しいかも。 比較的お勧めなのは、 ○データ移行が済む間はどちらもメンテ表示で完全停止。 ○データ移行したら新サーバで稼動開始。 ○旧サーバは新サーバへ「IPアドレスで」リダイレクトするように設定(httpdの設定または.htaccessでリライトするか、index.htmlのMETAタグで飛ばす) この際、旧サーバのスクリプトがブックマークから直接呼ばれるとまずいので、全スクリプトは無効化(消去など)をすること。

shiba07
質問者

お礼

ご回答ありがとうございます。 言葉足らずで申し訳ないです。 データベースの種類は、PostgreSQLです。スクリプトは、PHPを使用しています。 データーベースの稼動を止めて移行させることは難しいので、それ以外の方法がございましたら、お教えいただければと思います。

関連するQ&A

専門家に質問してみよう