私は現在、大量のログデータを生成する大規模なWebアプリケーションに取り組んでいます。すべてのイベントをデータベースに記録するインフラストラクチャがないため、それらをファイルに書き込んでいます。残念ながら、これにより特定のイベントのログを検索することが非常に困難になり、頻度に関するレポートを生成できなくなります。
より良いデータベースロギングを実装する方法を見つけようとしているときに、Amazonのサービスを見つけました。具体的には、 SimpleDBとDynamoDBです。SimpleDBのユースケースの1つはロギングでしたが、後でそれは次のように述べています
Amazon SimpleDBは、比較的少量のデータを保存するように設計されています...
これは矛盾しているようです。これが私の質問です:
- これらのデータベースサービスは、アプリケーションイベントのログ記録に適していますか?
- ログデータからレポートを生成するのに適していますか?
- 主キーとしてタイムスタンプを使用しますか?
- この種のサービスまたは私が考慮すべき他の何かに欠点はありますか?
アップデート2018-06-13:それ以来、SimpleDBを使用して大規模なアプリケーションのアプリケーションデータをログに記録しています。重要なのは、ログが生成された期間(たとえば毎日)に対応するドメインにログを分割して、ログが制限を超えないようにすることでした。次に、古いドメインを定期的に削除するようにCRONジョブを設定します。このソリューションはうまく機能し、簡単に検索できます。