2017-08-06 16 views
0

少数のキー(1日のカウンタサイトヒット、1日のカウンタ購入)を毎日表示する基本的な分析サービスを構築しようとしています。私はおそらくより多くを持っているつもりです。キーストアとmysqlデータベースを使用した分析用の集約を実装する

私の考えは、毎日のカウンタを収集するredisを使用し、このデータを日付付きのmysqlにフラッシュする数時間に1回でした。この方法でRedisのメモリ内機能を利用できるようになり、後で分析クエリにmysqlを使用することができます。

あなたはそれがうまくいくと思いますか?それを違った考え方で使う?

ありがとうございます。

+0

この場合、redisを使用できます。そして、キーを格納するためにYYYYMMDDHHのような接頭辞を使用してください。その後、1時間ごとにcronジョブを実行して、過去1時間の間にすべてのキーを取得し(プレフィックスマッチを使用して)、データをSQLデータベースにプッシュすることができます。あなたが詳しい説明を知っていれば教えてください。 – sourabh1024

答えて

0

確かにこれは動作します。 Redisの中間段階を経ずにMySQLにレコードを書き込むだけです。簡単な実装では追いついてこないほどのトラフィックがなくなるまで、プロジェクトを単純化することを検討する必要があります。

MySQLのMariaDB 10.2フォークの使用を検討する必要があります。そのフォークにはウィンドウ機能とランク付け機能があり、分析作業に非常に便利です。

+0

だから、すべてをそのままmysql ..に書き出すことをお勧めします。しかし、Iamはすべての生データに対して3つの操作を行う必要があります。つまり、選択(現在のデータを取得する)、増加、レコードの更新を行います。あなたはそれが非常に短時間で行き止まりになると思いませんか?ありがとう。 – rayman

+0

'UPDATEテーブルSET col = col +? WHERE id =? 'はMySQLまたはSQLシステムのレコードを1回の操作でインクリメントします。 Redisは同様の設定をしています。 –

+0

毎日の集計はどうですか?どのようにそれらを手配するつもりですか? – rayman

関連する問題