2011-04-16 4 views
0

私はいくつかのGoogle検索を行って、私が欲しいものを見つけることができないようです。 MYSQL、PHP Webサーバーを使用するように私のWebサイトを設計しています。ロードバランサを備えた複数のWebサーバとスケーリングのためのMySql Custerが計画されています。しかし、その後、私は画像/動画/ mp3に行きます。複数のサーバーがファイルを読み書きできるファイルシステムが必要です。したがって、1つのWebサーバーでMySQL、ネットワークファイルシステム、およびWebサーバーを実行できますが、サイトの規模に応じてサイトを複数のサーバーに切り替えることができます。誰かがこれについて私を助けるための例、チュートリアル、またはリソースを持っていますか?このサイトはUbuntuサーバー上で動作します。私のオリジナルのアイデアはMySQLにイメージを保存することでした(私はこれを行う方法を知っており、実際の例を持っています)ので、すべてのサーバーが読み書きできるようになりましたが、私は大規模なサイトのためのサンスケールとは思わないので、ローカルのものを使用したくない)。phpを使ったネットワークファイルシステムのimages/videos/mp3s

答えて

0

まずMySQLはのmax_allowed_pa​​cketよりも大きくなっている任意のデータを扱うことができないChoosing data type for MySQL?

この回答を引用するので、最大サイズの制限のMySQLのには本当に不可能です

画像/大容量ファイルを保存します(デフォルト:1M)を使用してください。これにより、TEXT/BLOBのような型で何ができるかがさらに制限され、通常、LARGETEXT/LARGEBLOB型はデフォルト設定では役に立たなくなります。

ここで、ストレージとアップグレードの互換性については、NASまたはRAIDシステムに保存するだけでドライブを引き付けることはできません。その後、あなたのDBにファイルへのパスを保存するだけです。 db集中的でなく、適切なスケーラビリティが得られます。

+0

ネットワーク接続ストレージを探すことについて考えていませんでした。私はこの質問をする前に "Network File System PHP"を探していました。 – Keverw

1

気になるシステムは、MogilefsMongodb GridFS、クラウドベースのストレージソリューションです。

MogileFS(OMG Files!)は、Livejournal用に開発され、メタデータをMysqlに格納します。それを使用して、適切なファイルを持つ実際のディスクを見つけ出し、ストリームを流します。

MongoDB GridFSの方がずっと新しいですし、おそらくもっと簡単なシステムになるでしょう。新しい「NoSql」データベースを使用して、データベース全体にファイルの一部を保存し、必要に応じて組み立てます。情報を検索すると、豊富な情報が得られます。

最後に、問題を回避して、画像をAmazon's S3またはRackspace Cloudfilesにアップロードするだけで問題は解決します。私は後者を前にしましたが(サイトはすでにRackspaceのシステム内で動作していましたが)、それほど難しいことではありません。

S3には、コマンドラインツールs3cmdがあります。これは、ファイルがいっぱいになっているディレクトリをS3バケットに同期(または、より良い)アップロードしてから削除するように設定できます。

関連する問題