[Database] サーバーログファイルをデータベースに書き込むのは良い考えですか?



Answers

サーバーエラーのかなりの割合がデータベースとの通信に問題があることを考えると、私はいいえと言います。 データベースが別のマシン上にある場合、ネットワーク接続はログに記録できない別のエラーの原因になります。

サーバーエラーをデータベースに記録する場合、データベースに到達できない場合に備えて、ローカル(イベントログやファイルなど)に書き込むバックアップロガーを用意することが重要です。

Question

O'Reillyのテーマに関する記事を読んだ後、私はその問題に関する彼らの考えのためにに尋ねたかった。




読み取りと書き込みにRAMを利用する適切なセットアップデータベースについて考えてみましょう。 これは、ディスクに書き込むよりもはるかに高速であり、使用可能なすべてのIOを使用している現在実行中のスレッドで待機するようにOSによってロックが開始されるときに発生する多数のクライアントにサービスを提供するときに見られるディスクIOのボトルネックは表示されませんハンドル。

私はこのデータを証明するためのベンチマークを持っていませんが、私の最新のアプリケーションではデータベースのロギングが行われています。 これらの応答の1つで述べたように、これはフェイルセーフを持ちます。 データベース接続を作成できない場合は、ローカルデータベースを作成し(h2かもしれません)、それに書き込みます。 次に、接続を再確立し、ローカルデータベースをダンプし、リモートデータベースにプッシュするデータベース接続の定期的なチェックを行うことができます。

これは、あなたがHAサイトを持っていない場合、時間外に行うことができます。

将来私は、私の主旨を示すベンチマークを開発したいと考えています。

がんばろう!




データベースが本番データベースの場合、これは恐ろしい考えです。 バックアップ、複製、復旧に関する問題が発生します。 DB自体、レプリカがあればそれ以上のストレージ、バックアップなど レプリケーションをセットアップして復元する時間が長くなり、バックアップを確認する時間が長くなり、バックアップからDBを回復する時間が長くなります。






Links