2万件のアクセスログ、MYSQLとCSVではどちら?

このQ&Aのポイント
  • ログの保存方法は、MYSQLで1つのテーブルに全データを記録する方法と、MYSQLでログ対象ごとにテーブルを分けて記録する方法、そしてログ対象ごとにCSVファイルを作成して記録する方法が考えられます。
  • ログの保存方法は、MYSQLの1つのテーブルに全データを記録する方法や、ログ対象ごとにテーブルを分けて記録する方法、ログ対象ごとにCSVファイルを作成して記録する方法があります。
  • アクセスログの保存方法として、MYSQLで1つのテーブルに全データを記録する方法や、MYSQLでログ対象ごとにテーブルを分けて記録する方法、ログ対象ごとにCSVファイルを作成して記録する方法が考えられます。
回答を見る
  • ベストアンサー

2万件のアクセスログ、MYSQLとCSVではどちら?

こんにちは、質問させていただきます!よろしくお願いいたします。 ページごとに、アクセス解析したいのですが、そのログの保存方法で、迷っています。 条件は、ログ対象が2万件、ログ対象あたりのログ保管数が、7千件です。 (1)MYSQLで、全データ1億4千万件をひとつのテーブルに記録。 (2)MYSQLで、ログ対象ごとに、テーブルを分け記録する。 (3)ログ対象語とにCSVファイルを作成して、記録する。 いま、悩んでいるのは、以上の点ですが、 ログを取得した後、ログ解析の時も、考慮に入れて、どの方法が、よいでしょうか? また、上記以外にいい方法が、ございましたら、お教えください! よろしくお願いいたします。

  • 7wind
  • お礼率50% (3/6)

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

  • ベストアンサー
  • violet430
  • ベストアンサー率36% (27472/75001)
回答No.1

使い方次第では? 私なら迷わずCSVにしますが。

7wind
質問者

お礼

明瞭簡潔!! ありがとうございます!

関連するQ&A

  • MySQLでページ毎にログを取りたい

    MySQLでページ毎にログを取りたい ex) +----+------+ | id | name | +----+------+ | 01 | aaa | | 02 | bbb | | 03 | ccc | +----+------+ のようなテーブルがあったとして、id を使って動的ページを生成しています。 id は数万件あります。 そこで各 id ごと(各ページ毎)にアクセスログを取りたいのですが、 例えば1つの id につき最新10000件までのログを取るとします。 この場合、以下のように id 毎にテーブルを作成すると、当然ながらテーブル数が膨大になってしまいます。 ex) id XX のテーブル +------+----------------------------+----------+ | date | addr        | ref | +------+----------------------------+----------+ | 0000 | XXX.XXX.XXX.XXX | http://~ | | 0000 | XXX.XXX.XXX.XXX | http://~ | | 0000 | XXX.XXX.XXX.XXX | http://~ | +------+----------------------------+----------+ (10000レコードまで) テーブル数が数万というのは MySQL では珍しくないものなのでしょうか? それとももっと他に良い設計方法などあるのでしょうか? (またはこういうデータを取るのにMySQLは向いていない?) なおアクセスログとはいえ、その集めたデータを元に、利用者にアウトプットを同期して行いたいので、頻繁に参照・書込があることを想定しています。

    • ベストアンサー
    • MySQL
  • MySQLをアクセスログとして使う場合について

    宜しくお願い致します。 MySQLのDBでアクセスログを取りたいと思っております。が、MySQLのDBに一度にアクセスできる人数と記録できるレコード数に限界ってあるんでしょうか?一日に数万アクセスあった場合、無条件に全て記録したら、一日で数万レコードになってしまうし、一度にアクセスが重複する数もかなりの数になると思います。かなり心配になってしまいました。。。

    • ベストアンサー
    • MySQL
  • アクセスログの取得

    自分のHPのアクセス解析についてです。 「忍者」や「CGIBOY」といった、解析専門のサイトに 登録してやってもらう方法の他に、自分でアクセスログ を取得して、解析するソフトにそのログをドロップして 見るというやり方もあることがわかったんですが、 アクセスログを取得するのは難しいのでしょうか。 プロバイダはニフティで、CGIに関してはサポート外 ということで教えてもらえませんでした。   ホームページビルダーのFTPでアクセスログなるファイル を探してみたのですが、見つかりませんでした。 ファイルを作るプログラムを仕込まないといけない のでしょうか。 ログ取得の方法、または参考になるサイトなど 教えてください。よろしくお願いします。

  • MySQLの効率の良い使い方

    お世話になっております。 これまで、テキストファイルにログを保存する形で、SNSの簡易版などを作成していたのですが、 インデックス用のログが頻繁に破損してしまうため、速度向上の目的も合わせてMySQLに移行したいと考えております。 Apache2+PHP+MySQLでの構築を考えているのですが、データベースを利用するのは初めてでして、 基本的な使い方は理解したのですが、効率的なデータベースの利用法が良く分かりません。 これまでのファイルに保存していく方式では、以下のような構造でした。 user.log - 全ユーザーのIDやパスワード、名前などの簡単な情報をまとめて記録した検索用インデックスログファイル user/[ID].log - ユーザーの性別や自己紹介などの登録情報をID別に保管 item/[ID].log - SNS内で利用できるミニゲームの所持アイテムをID別に保管 mail/[ID].log - SNS内でのメールのようなものをID別に保管 ... これらをMySQLで実装する場合には、どのようにテーブルを作成すれば良いのでしょうか? ユーザー1人ひとりに対し、1つずつ所持アイテム用のテーブルであるとか、 メール用のテーブルを作成していけば良いのでしょうか? 例)「item_[ID]」という名前のテーブルをユーザーごとに作成。 そうすると、ユーザーは数千人を想定しているので、 テーブルを数万個作ることになりますが、高負荷などの問題はないでしょうか? それと、これまで同時アクセスによるファイルの破損のトラブルが多かったのですが、 MySQLを用いれば改善されるでしょうか?(これまでも排他処理は色々講じていました) カウンタなど頻繁に更新され、かつデータが非常に軽いものについては、 ファイルにログを保存した方が良いのでしょうか? ご教授頂ければ幸いです。 ローカル:WinXP、Apache2.2.3、PHP5.2.0、MySQLServer5.0 実装サーバー:Linux、Apache1.3.37、PHP4.4.4、MySQL3.23.58

    • ベストアンサー
    • MySQL
  • アクセスログテーブルの構造について

    このジャンルでお願いします。 よくアクセスログの解析を無料で(リンクを貼ったりして)行ってくれるサービスがありますが、 そのデータベースの構造というかテーブルの構造はどのようになっているのでしょうか? 例えば、膨大なレコード数になると思うので それを利用するユーザー毎にテーブルを分けるとかするのでしょうか? あるいはユーザー毎、年毎、月毎、日毎、に分けるとか? 本来ならテーブルを分割したりするのは違うんじゃないかなぁと思ったりするのですが、 なので次のように、 CREATE TABLE `accesslog` ( `id` int NOT NULL auto_increment, `user_id` varchar(16), `created` datetime, `ip` varchar(64), FOREIGN KEY(`user_id`) REFERENCES `user`(`id`) ); ユーザーも全ての期間のデータも1つのテーブルで管理するのが普通だとは思うのですが、 アクセスログだけは利用するユーザー数にもよりますがやはり膨大になりますよね? そうすると1つのテーブルだと無理があると思うのです。 あるいは単にテキストファイルとして保存する方法もあるのかな?と思うのですが、 やはりなにかとSQLで操作したいのでMySQLなどのテーブルの設計が知りたいです。

  • アクセス解析のアクセスログについて

    アクセス解析のアクセスログについて こんにちは。 アクセス解析のアクセスログについて質問です。 つい最近、運営を始めたサイト(独自ドメイン、専用サーバ)に アクセス解析を設置しました。 ※ サイトの内容は日本向けでアダルトではありません。 まだほとんど宣伝していないサイトですが 現在1日に1000ぐらいのペースでアクセスがあります。 アクセス解析の内容を見ると、 ほとんどのログが HOSTは外国(*.com、*.net、*.ca、*.edu 等)のもので、ほとんど重複がなく UserAgentは98%以上が「Mozilla/4.0 (compatible; MSIE 5.5; Windows 98)」、 また参照元の内容は、ほとんど取得できていません。 ちなみに自分や知人のアクセスを見ている限り アクセス解析のシステムがおかしいわけではないようです。 現在の状況では本当のアクセス結果?が得られていないみたいで困っています。 どうしてこういうことが起こっているのでしょうか? 考えられることを教えてください。 よろしくお願いします。

  • csvファイルをAccessに取り込むとデータ数が増える

    項目をカンマで区切っただけの単純なcsvファイルをAccessでインポートしてテーブルを作成したら、データ数が増えてしまいました。 (csvファイルをテキストで開いたときの行数と、Accessの行数が異なる) 5000件ぐらいなら、csvもAccessもデータ数は同じなのですが、データ数が大きくなると、csvとAccessのテーブルで6万件とかの差分が出てしまいます。 csvファイルとAccessで、データ数を同じにするにはどうしたら良いでしょうか。 参考になるURLでも良いので、教えて頂ければと思います。 よろしくお願いします!

  • csvファイルを使ってMySQLのテーブルを更新し

    約2万件ある15個のカラムで構成されるMySQLのテーブルがあります。 このテーブルをcsvファイルを使って更新しようと考えています。 csvファイルにはレコードIDとあるカラムの変更する値の2つのセルで 構成されています。 行数は毎回異なりますが、だいたい300行前後です。 csvファイルの具体的イメージはこんな感じです。 id order ============ 2,  200 4,  10 7,  460 11,  35 MySQLのテーブルの方にも「id」と「order」というカラムが存在します。 java や PHP を使ってやる方法はわかるんですが、プログラムを作成しないで SQLだけで行いたいと考えています。 LOAD DATA LOCAL INFILE などがあることがわかったのですが、レコードを REPLACE  するのではなく、一部のカラムをアップデートしたい、ということです。 どなたか、教えて頂けると助かります。 よろしくお願い致します。

  • ログ解析でDBを使うのは適切かどうか。

    アクセスログ保存でSQLサーバを使おうとと思っているのですが、件数が多くDBかテキスト保存か迷っております。 状況 ・毎月10種類くらいログ取得対象が存在する。 ・1つの画像には、大体34万/月のアクセスがある。 ・画像は毎月変わる。 これのログを取得したいのですが、 1つのテーブルで管理しようとすると、月に34万x10=340万レコード増えていく事になります。 また画像ごとにテーブルを作成するとテーブルがどんどん増えていってしまいます。 こういった場合はDBを使うのは適切なのでしょうか? テキストログなどで、1つの画像ごとにログを追加していった方がよいでしょうか? ・1つのテーブルで情報を管理 ・1つの画像ごとにテーブルを作成して管理 ・1つのファイルごとに管理 のどれがよいと思われますでしょうか? これほど大きいレコード数を扱った事がないのですが、どなたかアドバイスいただけたらと思っております。 よろしくお願いいたします。

  • アクセスログ解析

    6月からレンタルサーバー(L.H.S)をかりてネットショップを始めています。今までホームページを閲覧するだけの人間がショップを開いたため、いろいろな壁にぶち当たってきました。そのつど勉強しながらなんとかオープンしたのですが、今回アクセスログ解析のことで苦しんでいます。そこで何点か質問お願いします。 1) 現在レンタルサーバーオプションのログ解析ソフトを使っています。他のアクセスログ解析を導入したいのですが、お薦めを教えてください。 重視する点は、どこから来たのか、どの検索エンジンで検索語はなにか、当ホームページの中をどう動いたか、滞在時間、ロボットの訪問、出来れば日本語、これだけそろっていれば最高です。値段は多少頑張ります。 2)今のものと、これからつけるアクセスログ解析を二つ共存させることは出来るのでしょうか。(馬鹿らしい質問だったらごめんなさい) ちなみにホームページ作成ソフトはDreamweaverを使っています。よろしくお願いします。

専門家に質問してみよう