Webサイトを作成できるCMSのようなWebサービスを作ろうと思っています。
Wordpressのようにユーザーが自分のサーバーにインストールするのではなく、Webサービス上でサイトを作って生成したhtmlをユーザーがダウンロードしたり自分のサーバーにFTP転送できるというサービスです。
すでにPHP+MySQLで作っているのですが、いろいろ悩んでいるのでアドバイス頂けたらと思います。
仕組みは単純で、ユーザーがWebサービス上で作ったサイトの内容をデータベースに格納します。
格納するデータは「文章」「css」です。画像はファイルとしてサーバーに別途保存しようと思っています。
質問1.
サイトを作成する場合、ユーザーによって文章の長さが全然違います。本当に長い文章を書く人はかなり長いですし、thmlタグを多用すると一気に文字数が増えます。例えば、「今日は晴れですね」(8文字)でもタグ入りだと「今日は<span style='font-size:15px;color:#f00;font-weight:bold'>晴れ</span>ですね」(73文字)というように文字数が膨大になります。
この場合、テーブルの行のデータ型をvarcharで最大長の65,535を指定すべきでしょうか?それとも何か工夫が必要になるのでしょうか?
質問2.
ユーザーが作る一つのサイト(最大20ページまで作れるとします)でもそれなりに膨大なデータ量になる気がします。
質問1で書いたようにとにかく文字数が多くなるのが予想されます。そうするとテーブルサイズが一気に増えると思うのですが、このような場合はユーザー数毎にテーブルを別けるような設計が必要でしょうか?例えば100人ユーザー
がいたとして1~20までのユーザーはtb_data_1, 21~40までのユーザーはtb_data_2, ...のような感じです。
ユーザーxデータ量が膨大な場合はテーブル別けかパーティション設定を検討すべきでしょうか?
質問3.
Webサービス上で作ったサイトをhtmlに生成し、ユーザー自身のサーバーにこちらのサーバーからFTPで転送します。
ここでネックになるのが画像も一緒に転送するので、多くのユーザーが多くのサイトを自身のサーバーに転送しまくるとこちらが借りたサーバーの転送量制限にひっかかるのではないか、という懸念があります。
もちろんWebサービスとして転送回数などの制限を入れればいいとは思うのですが、ユーザーが増えていったときにどう対処すればいいのか何か良いアイデアなどがあればお教えください。
どうぞよろしくお願い致します。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2015/12/12 02:19