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

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

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

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

●質問者: panda007
●カテゴリ:インターネット ウェブ制作
✍キーワード:dB MySQL SQL テキスト データ
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● b-wind
●35ポイント

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 ぐらいのディスクスペースは欲しいね。


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

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

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

◎質問者からの返答

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

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


2 ● marisanp
●35ポイント

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

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

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

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

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

関連質問


●質問をもっと探す●



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