みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

ネットショップのデータ保存方法

ネットショップの日々の売り上げを記録しているデータベースについての疑問なのですが、ネットショップのデータベースやテーブルは、ひと月ごとや一定の取引件数毎に分かれているのでしょうか?
それともネットショップ開設から10年でも20年でもデータベースの制限に達するまで(極端にはサーバの利用上限まで)増え続けるよう設計されているのでしょうか。

ネットショップ(EC-CUBE)をオープンしてから1年ほどになり、1日平均で約30件の取引があり120商品が出荷されていきます。

ふと疑問に思ったのですが、過去の売り上げや注文を引っ張り出すと、在庫の入荷日から注文・出荷・入金・やり取りのフリーテキストメモまで、もちろんなのですが全て見ることができます。その保存領域について疑問と同時に不安を覚えたので質問させてもらいました。

どなたかシステムにお詳しい方、ご教授頂ければぞ存じます。
宜しくお願いします。

投稿日時 - 2015-06-19 22:03:59

QNo.8997272

困ってます

質問者が選んだベストアンサー

1日30件ですか。だとすると年1万件程度。取引が激増して100倍になっても100万件。
割と小規模のシステムのようですのであまり気にしなくてもいいと思います。10年たったら新しい別システムを作っている可能性も高いと思いますし。

大規模システムの場合はきちんと予測し拡張計画を立てたりします。で、一定期間経過後に古いデータを別テーブルや別DBに移動して保存し、過去データも検索したい場合には結合するとかします。

めったに使わないデータの場合はテープに保存なんてケースもあります。特に昔は多かったです。でも不便ですし、大容量のストレージがどんどん安くそして高容量化しているので、テープはお勧めしません。


>ひと月ごとや一定の取引件数毎に分かれているのでしょうか?

ひと月ごととかはありません。通常は、「1年以上経過したデータをoldテーブルに移動」とかそういう感じです。

投稿日時 - 2015-06-20 04:09:05

お礼

ご教授いただきありがとうございます。
ネットで調べると保存容量に準じる的な回答が多く、理論上は売上が10倍になっても100年以上大丈夫なのですが、表示速度や安定性にどれくらい影響が出るのかも気になってまして、きっとどこかのタイミングで急激にパフォーマンスが落ちるのはではと覚悟しているのですが、その場合はどんな対処法がありますでしょうか。

別件の質問を続けざまに申し訳ございません、お分かりになる範囲で結構ですのでご教授いただけると非常にありがたいのですが、宜しくお願いします。

投稿日時 - 2015-06-22 13:59:33

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.3

>きっとどこかのタイミングで急激にパフォーマンスが落ちるのはでは
>と覚悟しているのですが、その場合はどんな対処法がありますでしょうか。

だからすでに書いていますけど。
繰り返します。

# 一定期間経過後に古いデータを別テーブルや別DBに移動して保存し、
# 過去データも検索したい場合には結合するとかします。
#
# 「1年以上経過したデータをoldテーブルに移動」とかそういう感じです。

投稿日時 - 2015-06-22 15:22:47

お礼

重複質問申し訳ないです、ありがとうございます。

投稿日時 - 2015-06-22 17:38:24

普通はデータベースの設計時に、取引量(データ増加量)の予測を立てて『何年分のデータを入れるようにするのか』『古いデータはどのように退避(または削除)するのか』を決めます。それによってデータベースの容量や運用のルールを決めるわけですね。

逆からいえば、このような設計もせずにシステムを稼働させるなど、無計画にもほどがあります。容量オーバー以前に性能問題が心配ですね。(データ量が増えるとシステムがどんどん遅くなるのは、良くある (そして直しにくい) 障害です)

投稿日時 - 2015-06-19 22:44:32

補足

ご教授ありがとうございます。
町の中小企業ですのでどれくらいが「何年分のデータ」ということもわからず制作会社任せでスタートし、特に説明も受けていませんでした。
後手ですがデータの扱いを決めたいと思っているのですが、レンサバXserver(X10)を利用しているとのことでMySQLの取引量のスケールアップもできないような場合は何かお勧めの方法で遅くなるのを防いだりデータを保存しておく方法はあるのでしょうか。
追記で申し訳ないですが、宜しくご教授お願いします。

投稿日時 - 2015-06-22 13:46:05

あなたにオススメの質問