5

私は多くの検索を行うサイトを作成しており、後で分析するために行われたすべての検索に関するデータをログに記録する必要があります。

最終的には複数のサーバーに負荷が分散されると予想します。その後、毎月、分析のためにすべてのログをダウンロードして単一のmysqlデータベースにインポートします。

現時点では、すべてのサーバーをmysqlの「マスター」として設定することを検討しています。このマスターは、スレーブ分析サーバーをライブ更新し、基本的にバックアップとしても機能します。

しかし、私は効率を目指しています。明らかに、mysqlレプリケーションの利点は、ログを常に一元的に利用できることと、各サーバーでログファイルを毎月インポートおよびリセットする必要がないことです。

プレーンテキストファイルにログインし、このログファイルを毎月ダンプしてmysqlに一元的にインポートする方が、どれほど効率的でしょうか。平文ダンプは、もしあれば、mysqlよりもはるかに効率的/高速ですか?

あなたの考えをありがとう!

4

1 に答える 1

3

データベースは、挿入以上のことを行うのに強力です。それらは、ロックメカニズム、トランザクション管理、高速検索、接続プーリングに強力であり、リストは続きます。

一方、一般的に行う必要があるのがデータのチャンクをディスクに書き込むことだけである場合、データベースは大きなオーバーヘッドになります。

上記のことを考えると、1か月間だけ書き込みたいので、ログを使用することをお勧めします。月に1回、ログを取得し、それらをマージして分析します。次に、それらすべてをデータベースにマージするか(意味があり、付加価値が得られる場合)、テキストをマージするかを決定できます。

ところで、INSERTステートメントをこのログに保存し、それをスクリプトとして使用して、すべてをデータベースにロードすることをお勧めします。考えてみてください:-)

于 2010-11-12T15:25:54.450 に答える