人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

「フォト蔵」のように、不特定多数の人がファイルをアップロードするサイトを構築したいと考えております。しかし、巨大なディスク容量を必要とするサーバーの構築方法がわかりません。

サーバー1台では、HD容量が1TBあったとしても、多数の人がファイルをUPすれば、すぐにHDが一杯になってしまいます。よって、サーバーのHD容量を随時増やしていける構成が必要です。

サーバー自体の構成は、WEBサーバーとDBサーバーを分けておいて、DBサーバーを随時増やしていけばよいということは何となくわかるのですが、プログラムをどのように組めばよいのかが全くわかりません(プログラムはosCommerceを使用します)。

そこで質問ですが、このようなDBサーバーを随時増やしていける構成のサーバーを構築したい場合、
・どのようにプログラムを組めばよいのか
・PHPレベルで対応できるのかそれともApacheで何かするのか
・○○という技術が必要となる
・どこどこのサイトをみればよい
・どこどこの業者にいえばよい
などの情報をいただけないでしょうか?

どうぞよろしくお願いいたします。


●質問者: rhsmyct
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:Apache dB HD osCommerce PHP
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● pahoo
●35ポイント

あくまで一般論ですが、ファイル名とファイル本体は別々に管理します。

アップロードされたファイルにユニークな名前(例:ユーザーIDと年月日時分秒の組み合わせ)を付し、空いているドライブに格納します。DB側には、ファイル名と格納したパス名などを登録します。

ファイル本体を格納するドライブ容量が不足したら、ドライブを追加し、格納するパス名を次々に変えていけばよいのです。これであれば、PHPで簡単に実装できます。

もちろんDBを格納する容量が不足したらアウトですが、ファイル名を格納するだけですので、DBに割り当てたパーティションが余程小さくない限り、限り容量不足に陥ることはないでしょう。


なお、アレイ装置を使って複数のHDDを仮想化することで、あたかも1つのパーティションであるかのように見せかけることができます。ホットプラグ対応のストレージであれば、システムを停止することなく、HDD増設していくことができます。

ただし、それなりの規模のシステムになりますので、ハードウェアメーカーやSI企業に委託する必要があります。

例:HP StorageWorks ディスクアレイ XPファミリ


参考サイト


2 ● esecua
●35ポイント

ん〜名前を忘れてしまったのですが、米フォトサイト(flickrではないです)では1日に膨大な写真がアップされているそうなのですが、その保存先としてAmazon EC2/S3を利用しているとのことでした。

私の記憶が正しければDropBoxも同様だったはずです。

大量のデータを貯めるようなシステムを構築するのであれば、あえて自前でサーバを構えるよりもEC2のようなサービスを使用する方が安く仕上がるのではないでしょうか?

*かなり大規模なサービスのような感じなので、もちろん安定的な収益源(広告以外で)はお考えいただいていると思うのですが、どの方法(自前/外部)を利用しても必ずコストとはかかりますので、そこら辺をしっかりと念頭に置きましょう。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ