0

開発を支援しているRoRアプリの場合、後で分析できるように、すべての検索クエリをデータベースに保存する必要があります。

今の私の計画は、結果モデルとテーブルを作成し、各検索クエリのテキストをユーザーのID、時間などとともにそのテーブルに保存することです。

ただし、このアプリには約15,000人のユーザーがいるため、そのデータを解析するときは、単一​​テーブルのアプローチはあまり効率的ではないのではないかと思います。(データベースは、MySQLを介してセットアップされます(それが考慮されている場合)。)

私はただ妄想的ですか?この種のことを処理するRubygem、または私が取ることができるより良いアプローチはありますか?

任意の入力をいただければ幸いです。

4

2 に答える 2

1

試すことができるアプローチがいくつかあります。1。mysqlクエリログを有効にして、これらのログを分析します http://dev.mysql.com/doc/refman/5.1/en/query-log.html 2. key=>valueを使用しますあなたが説明したのと同様の方法で検索クエリをログに記録するためにstore(redisが頭に浮かぶ)

2番目のアプローチを使用する場合は、追跡するモデルに非同期オブザーバーを作成します

于 2012-12-11T23:01:56.583 に答える
0

答えは、データで何をしたいかによって異なります。

ユーザーがこれにアクセスする必要がなく、リアルタイム分析を行っていない場合は、アプリからそれらをダンプし、別のデータベースに移動して、心ゆくまで分析を実行してください。

アプリに何かを統合したい場合は、単一の mysql テーブルを試してください。

サーバーが小さいか、ユーザーが非常にアクティブな検索者でない限り、ピーチで動作するはずです。ある時点で、おそらく古いレコードを消去して別の場所に保存したくなるでしょう。

于 2012-12-12T00:44:24.230 に答える