SQLとデータベースに関する質問です。

あるデータを蓄積して、統計できるようにしたいと考えています。

1レコードあたり内容は30語ほどのテキストが10個ほどです。
それが、毎週3万件ずつ増えます。これを3年分貯めます。

そこで質問です。
・MySQLでも対応できますか?
・データベース容量はどの程度必要になるのでしょうか?
・一般のレンタルサーバ付属のDBで大丈夫なんでしょうか?

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2008/07/30 16:19:38
  • 終了:2008/08/06 16:20:02

回答(2件)

id:b-wind No.1

b-wind回答回数3344ベストアンサー獲得回数4402008/07/30 16:37:16

ポイント35pt

1レコードあたり内容は30語ほどのテキストが10個ほどです。

それが、毎週3万件ずつ増えます。これを3年分貯めます

30語というのを30文字としてエンコードを EUC_JP 前提にすればだいたい 60Byte。

正確な計算自体はリファレンスを見てもらうとして、

MySQL :: MySQL 4.1 リファレンスマニュアル :: 6.2.3 文字列型

あとは普通に計算して年50週とすると

60 * 30 * 300000 * 50 * 3 = 81,000,000,000byte ≒ 80GByte

まぁ MySQL でも扱えない量ではない。

ただ、「MySQLでも対応できますか?」という問いにはこれだけでは答えられない。

高スペックなサーバー用意したりシンプルな処理しかしないのなら、問題は無いだろう。

ただ、「統計できるようにしたい」って事だからうまく設計からやらないと統計処理だけで何時間もかかってしまうことになる。

とはいえ、これは他のDBMSでも条件的に大差ないから別に MySQL だからダメということでもない。



上記の計算はは純粋なデータ量だから、管理領域やバックアップなんかを考えるとざっと 200GByte ぐらいのディスクスペースは欲しいね。


「一般のレンタルサーバ」ってのがいわゆる共用サーバーにおまけで付いてくる物を指しているのなら、絶対無理。

それだけのディスク容量を用意していることも珍しいし、共用サーバーでそれだけのデータ量と処理を扱わせることはありえない。

専用サーバーならスペックとディスク容量だけあればまぁ何とかなるでしょう。そこは別にレンタルだからとか自前サーバーだからとか関係ないし。

id:panda007

参考になりました。ご丁寧に大変ありがとうございます。

頂いたお話をヒントにもう少し自分で調べてみようと思います。

2008/07/30 17:16:04
id:marisanp No.2

marisanp回答回数7ベストアンサー獲得回数02008/08/01 10:45:22

ポイント35pt

設計次第といったところです。

データそのものをどのように扱うのかわからないので、回答が難しいですが、例えば重複するデータをまとめればそれだけで大幅に容量が節約できるかと思います(重複が多い場合)。

また重複でなくても類似するデータが多い場合も、条件をつけてデータをまとめることで節約もできます。

あとは統計をどのように取るかはわからないので何とも言えませんが、例えば月単位でデータを参照するケースが多いのでしたら、月ごとにテーブルを分けるなど分散することによって参照スピードを上げることも可能です。

http://q.hatena.ne.jp/answer

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません