• 締切済み

データベースのデータ容量管理

ミッションクリティカルなサイトでアクセス、エラーログをMySQLなどのDBで保存した場合、 どんどんデータが蓄積されていくかと思います。 古いDBデータを削除、あるいは退避(できるなら)したいと考えておりますが 一般的にどのように対応するものなのでしょうか? ご存知の方、宜しくお願いします。

みんなの回答

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

設計時に想定するデータ量にもよりますが 通例であれば、生データをプールしておくアクティブなテーブルを用意しておき 一定期間後過去データは別の過去ログテーブルに移動してしまうでしょうね 削除するかどうかはポリシーによります。 なお過去ログはよく使う集計データを月次で粗くとっておけば 素早く統計をとることができます。 (たとえば特定のカラムに紐づく数量やデータ数などを月次で保存していく)

  • t_ohta
  • ベストアンサー率38% (5061/13226)
回答No.1

cron等を使って定期的に作成日付を基に古いデータを削除するか、ダンプを取った上で削除ですね。

関連するQ&A

  • csvデータをデータベース化

    現在あるcsvデータを保存しているんですがそれをLinuxサーバでデータベース化させたいです・・・ どのような方法をとればいいでしょうか? OSはとりあえずRedhat,DataBaseのほうは使ったことはないですがPostageSQL・MySQLはもちろん使用でき、もしかしたらOracleも使用可能かと・・・ ちなみに新しく構築するLinuxServerは、csvのデータを保存してあるサーバーと隔離するためにメール受信になると思います。(SMTPなら問題が少ないと思うので・・・) このような状況でデータを蓄積させたいのですが・・・ アドバイスよろしくお願いします<m(__)m>

  • データの持ち方について

    一般的に、DB(MySQL)へは、何を入れるのでしょうか? PHPで計算可能なものは、なるべく入れない方がいいのでしょうか? 例:年齢を表示させたい場合、DBへ入れておく値 1.誕生日(から計算) 2.年齢 3.何も入れない(別データからPHPで計算可能な場合) なるべくDBへデータを保持しない方がいいのかな? と思い、今回、3でやってみました。 具体的には、mysql_fetch_arrayとかで、データを取り出し、 そこから色々計算して年齢を割り出し、表示させてみたのですが、 DBとPHPを使って色々やるんだったら、 初めから素直にDBへデータを入れといて、 そこから、取り出した方が、 いいのかな? とも思いました。 一般的に、DBへ入れなくても、 (計算等によって)取得できる値については、 やはり、DBへ入れない方がいいのでしょうか? また、ちょっと別件なのですが、 例えば、DBからデータを取り出して、 ソートして表示させたい際、 3つぐらい方法を思いつくのですが、 一般的には、どんな感じで実装するのでしょうか? 1.SQL文でソートをかけて取り出す 2.SQL文で取り出した後、ソート部分はPHPで行う 3.SQL文で取り出した後、ソートはJavaScriptで行なう 特にパフォーマンスを気にしているわけではないのですが、 普通、一般的に、どういう風に実装するのか分からず、質問してみました。 MySQLとPHPを使っている限りは、 余程大規模なサイトでなければ、この辺はあまり気にしなくてもよい感じでしょうか?

    • ベストアンサー
    • PHP
  • プログラムで使えるデータベースは?

    最近、友人に私が個人的に作った自作ソフトを欲しいと言われました。 プログラムに長けている方々にはとっても簡単なWindowsアプリ(C#,ADO.NETにて作成)です。 入力フォームからMS-Accessにデータを蓄積し、特定出力で印刷する機能しか持ち合わせていません。 これを友人に譲るのは、問題がないのですが、 友人のPCにはAccessが入っていないとのことで、 このMS-Accessに該当するDBが無いかと探しているところです。 MS-Accessを使っているとは言っても、4つのテーブルを使っている程度です。 ちなみにOfficeは開発バージョン(?)ではありません。 候補として、MSDEやMySQLやPostgreSQL(Oracleは金額の問題で却下)などを考えたのですが、 友人いわく、それらのインストールに失敗したとのこと。 私もそれほどこれらのDBに詳しいわけでもありませんし、 友人宅に出向く機会もありません。 そこで・・・ 1.C#で使うフリー(配布可能)データベースとして、どういう手段があるのでしょうか? 2.よくフリーソフトでデータベース的なものを作っている方がいますが、あれはexeの外部にテキストデータなどのファイルにして保存しているのでしょうか? 検索の仕方が悪いのか、なかなかこの辺の情報に行き当たりません。 どなたかご回答をつけていただけると助かります。

  • Fortran77でデータベース処理って可能?

    Fortran素人です。 そのままなのですけど、Fortran77のプログラムからデータベースにアクセスしたり、書き込んだりというデータベース処理は可能でしょうか? もしくは外部にシェルなどを用意しておく形でDBへFortran77で処理した結果などを登録したり、必要なデータをDBから呼び出すことは可能でしょうか? 特にDBについてはPostgreSQLやMySQLといったものを想定しております。 ご存知の方、よろしくご教示願います。

  • データの許容量について

    環境 Linux Fedoracore 4/MySQL 4.1/Apache 2.0/PHP 5 いつもお世話になっております。 DB初心者です。 業務で管理しているDBについてですが、1つのテーブルあたり50万行を超えたあたりからパフォーマンス(SQL実行速度)が低下しているのが体感できるようになりました。Slowlogでも確認すみ。 テーブル自体は、アクセスログを保存するため、1アクセス1レコードのように追加しています。(構築すみで仕様の変更はできません。) そこで、下記の質問に対してご意見をいただければと思います。 1)MySQLのレコード数が、パフォーマンスに影響のある一定の桁数(僕のサーバでは50万行以上)に達した場合、レコードを消す以外に対処方はありますか? 2)現在のシステムは別として、数10万行にもデータを蓄積する場合、テーブルを分ける、マシンのスペックをあげるなどの具体的な設計思想や対策があれば教えてください。

  • DBの管理について

    たびたびお世話になります。 WEBで顧客情報を登録してもらいDBで管理する場合ACCESSなどのPCソフトで管理するのと、MYSQLなどと、PHP等でフォームを作成して管理するのではどちらがスムーズに管理できるのでしょうか?管理したい内容は 1・登録情報の追加、削除等 2・登録情報から条件を指定して抽出 3・抽出した所へメール送信 4・登録情報の一括登録(数千件) などを主に考えています。基本的に、データーはMYSQLのDBに登録されている内容を管理したいと思っています。宜しくお願いします

  • phpMyAdminで、データベースを設置する流れについて

    phpMyAdminを、使用してMySQLの操作をし、 サイト上のデータベースとリンクさせたいです。 しかしながら、phpMyAdminの利用方法が、いまいち、 分かりません。 1) http://○○○/phpmyadmin/にアクセスをして、 「新しいDBを作成します。」から 新規DBを作成。(例:個人情報という名前を付与。 フィールド欄には、”5”と記入。) 2)テキストフィールド欄に、 ・名前 ・住所 ・メール ・電話 ・性別 と記入して、完了後、「保存する。」で、データ保存 3)ここから、先が、まったく分かりませんので、 教えて下さい。 画面には、「PHPコードの作成」欄があります。 おそらく、ソースを、○○○.php などの ファイルへ添付して、アップすると思うのですが・・・

    • ベストアンサー
    • MySQL
  • メールデータの管理方法

    メーラー(サーバーにメールを残す)やWEBMailだとメールサーバーにデータが蓄積していくかと思いますが、いつかは削除しなければならないと思います。 1年前以前のメールを削除するやり方などを考えておりますが、どのような管理をするのが一般的というかベストでしょうか? また、1年前以前のメールを削除するにはどのようなコマンドが必要でしょうか。 宜しくお願いします。

  • データを一元化するとして

    素人質問になります。現在、複数の営業所でACCESSによりデータを管理しているのですが、これをデータを一元化し管理することになりました。ACCESSのままにする利点、他のデータベースに変更したほうがいい場合の利点を教えていただけますか?自分自身が使用したことがあるDBはMySQLです。

  • DBの容量について

    mysqlに大量のデータを毎日、取り込んでいるのですが、昨日から処理が遅くなり、今日はmysqlに入ることもできなくなりました。ODBCでテーブルをリンクして、データをある程度、削除したら入れるようになったのですが、1つのデータベースに対して、最大容量が決まっているのでしょうか? (PC自体の容量に空きはあります) もし、DBを作成する際に容量を指定できたり、広げたり、こうするとよい などの対処方法がありましたら、教えてください。