2012-02-23 2 views
5

質問には2つの側面があります。PHP経由で送信された統計情報の追跡とアーカイブに使用するデータベース

  1. 私たちはパブリックダウンロードのために多くの静的ファイルをホストしています。 PDF、Zip、画像、毎日何千もの人々がダウンロードします。 MySQLデータベースのカウンタを追跡します。詳細はMongoDBで追跡されます(詳細は、どこからダウンロードされたかなどの詳細)。

  2. 私たちは多くの電子メールをPHP経由で送信します。私たちのアプリケーションは毎月数十万の電子メールを送信する傾向があり、その多くはニュースレター、通知、プロジェクトの招待状です。これらの送信された電子メールは、彼らの重要なデータをシリアル化してMySQLデータベースに保存されている(決して身体または実際の電子メールの内容、ヘッダーだけ、受信者などの送信の時間)

MySQLは、このために[OK]を選択か?モンゴーですか?私たちは他の何かを使うべきでしょうか?現在、電子メールアーカイブテーブルとダウンロード統計テーブルの両方が急速に2GBに近づいています。

注:私たちが保管するデータは定期的にアクセスされるため、保管して忘れてしまうことは疑問です。ダウンロード統計を使用して、ダウンロード数がXに達したことをコンテンツの作成者に通知し、電子メールアーカイブを使用して配信ステータスなどを確認し、これを定期的に追跡する従業員に表示します。 (我々は配信メトリクスのためにSendgridを使用しています)

+0

+1通常、私はどの技術がより良い質問であるかを明確にすることに投票しますが、明確に定義された問題があります。うまくいけば、あなたは答えを得るでしょう。 – cspray

+0

ありがとう、私はぼんやりと主観を避けるために慎重だった、これは私にとって非常に重要で、私は他にどのようにそれを求めるのか分かりません。 – Swader

答えて

1

私はmysqlがあなたの目的を十分に果たすことができると思います。それはあなたのログを追跡するために、Web用により柔軟です。mysql ARCHIVE db engineを使用することができます。 mysqlは異なる目的のためにいくつかの異なるdbエンジンを持っています。アーカイブはあなたの構造に最も適していると思います。

最近、私は60GBのmysqlデータベースを管理しています。高階データベースであり、パフォーマンスは良好です。

+0

アーカイブエンジンはこの目的を十分に果たしています。ありがとうございました。私は他の所見があれば返信しますが、今のところこれができます。あなたが60GBを持っていることを聞いていることはとても動機づけです。 – Swader

1

私の2セント:

MySQLがテーブルの行数を非常にうまくスケール、およびPostgresはパフォーマンスの面で、はるかに優れた大きなテーブルを管理することをしないことを回って、この噂があります。私は間違いなく巨大なテーブルを持つアプリケーションのためにポストグルを使用することを好むでしょう。 (しかし、this articleは、どのようなシステムを選択し、どのように使用してデータベースを定義し、使用するかが重要であると言います)。

冒険的な気持ちがあり、もっと現代的で分散したいことがあれば、同じ時間は大きなファイルストレージの問題を解決することもできますが、いくつかの新しいことを学ぶ必要があります。

+0

ありがとうございます、しかし、私はその記事がこれらの時代に多く当てはまるとは思わない。 6歳で、MySQLとPostgreの両方が大幅に成長しました。私たちは100万を超えるレコードを持つテーブルをいくつか持っていますが、それらはうまく機能しますが、メールアーカイブよりもフィールドあたりのデータ量がはるかに少なくなります。 – Swader

1

私はMongoDBの作品と少し話をします。私はMongoDBストアを使ってデータにすばやくアクセスし、データを消したり忘れたりする可能性があると考えていますが、レポートを実行するときには便利です。効率的で効率的なインデックスと適切なクエリのほかに、MongoDBインスタンスを高速で実行するための鍵は、作業データセットがRAMに収まるようにすることです。

全体的なデータサイズはパフォーマンスの面で問題にはなりませんが、問題が発生することなく作業セットのサイズの何倍にもなります。常駐メモリのサイズ(MMSはあなたの友人です)に注目し、ハードウェアの上限に向かう傾向にある場合は、断片化するように準備してください。

2GBは、実際にはMongoデータセット、または作業用データセットではそれほど大きくありません。私は、データサイズがマルチテラバイトの範囲にあることを見てきました。あなたが提供した情報に基づいて、私はあなたのMongoDBの選択が近い将来可能であると思います。

関連する問題