MongoDB Json データベースを使用してアプリケーションからのログ ファイルを保存することは良い考えだと思いますか?またその理由は?
私にとって唯一の利点はスキーマの抽象化ですが、ログ ファイルの整合性を確保できないという弱点もあると思います。
明らかに私は偏っていますが (私は MongoDB で作業しています)、ログには非常にうまく機能すると思います。
理由:
「ログ ファイルの整合性を確保する」という意味がよくわかりません... 引き出しているドキュメントにどのフィールドがあるかわからないことを心配しているということですか? もしそうなら、リレーショナル データベースで null フィールドを扱うのは難しくなく、はるかに柔軟であることがわかると思います。
私は MongoDB を使用して多くのアプリケーションからのログを保存していますが、これまでのところ非常にうまく機能しています。
Mongo SV と前回の MongoDB SF Meetup で私が行った Logging Application Behavior to MongoDB に関するプレゼンテーションのスライドを参照して、ログ記録に適していると考える理由の背景と情報を確認してください。 MongoDB へのロギングをサポートする Java、Python、Ruby、PHP、C# のライブラリ。
私は現在、MongoDB 用の Log4J アペンダーである log4mongo-java のメイン コミッターです。だから、それが私が使っているものであることは、おそらくそれほど驚くべきことではありません.
ログの完全性に関しては、書かれた後に変更されていないという自信を意味していると思います。少なくとも log4mongo-java では、認証が必要なデータベースにログ記録イベントを保存するオプションがあります。これにより、イベントを追加、削除、または更新できるユーザーの数がある程度制限されます。
さらに、厳密にロックダウンされたレプリケーション スレーブを設定できます。スレーブの頻繁なバックアップは、ログに記録された一連のイベントを変更できる時間を少なくとも制限します。