クラッシュ の検索結果:
…ンの整合性を確保し、クラッシュリカバリを効率的に行うための技術です。本記事では、WALの基本概念から仕組み、実際の運用までを初心者向けに解説します。 1. WALとは何か? WAL(Write-Ahead Logging)とは、データベース管理システム(DBMS)がデータの変更を行う前に、その変更内容をログファイルに書き込む仕組みです。これにより、予期しない障害が発生した場合でも、ログを元にデータの一貫性を保ちながら復旧することが可能になります。 1.1 WALの基本概念 W…
…ースの整合性を保ち、クラッシュリカバリ(障害回復)を可能にするための仕組みです。以下にその概要と具体的な役割を説明します。 トランザクションの追跡 Redoログは、データベース内で行われたすべての変更操作(INSERT、UPDATE、DELETEなど)を記録します。トランザクションがコミットされる前に行われた変更も含まれます。 耐久性の確保 Redoログは、データベースがクラッシュした場合でも、最新のトランザクションを再現できるようにするために使用されます。ディスクに書き込ま…
カーネルパニックに関するパラメータ /proc/sys/debug/panic_on_rcu_stall 値: 1 説明: RCU (Read Copy Update) のストールが発生した際にカーネルパニックを引き起こします。 /proc/sys/vm/panic_on_oom 値: 1 または 2 説明: 1の場合、OOM (Out Of Memory) 発生時かつ物理メモリが枯渇している場合にカーネルパニック。 2の場合、OOM 発生時に強制的にカーネルパニック。 /p…
…であり、特にシステムクラッシュやハードウェア障害が発生した場合に役立ちます。 機能の概要 データ整合性の確保: InnoDBはデータページを書き込む際に、まずそのデータを「ダブルライトバッファ」という特別な領域に書き込みます。このバッファはデータファイルとは別の場所に存在します。 ダブルライトバッファへの書き込み: データページがダブルライトバッファに書き込まれた後、そのデータはディスク上の実際のデータファイルに書き込まれます。 障害時の回復: 書き込み途中にクラッシュが発生…
…ックじゃなかったのでクラッシュした際にまあ大変なことになるのは容易である(一部の変更が完全には反映されず、データベースの状態が不整合に陥る可能性があった)。それがatomicになることでクラッシュしても問題がないようになった。ただクラッシュセーフになるだけでトランザクショナルではないのでrollbackができたりするわけではないようだ。つまり成功した場合はその内容が反映されるということになる。 ポスグレだと MySQLではできないロールバックまで実行可能。 everythin…
…あります。(ちなみにクラッシュ後に自動的に再起動されるように設定する方法は、使用しているオペレーティングシステムとその管理システムに依存します。systemdとかでも自動起動とかは可能です) www.percona.com innodb_force_recoveryをつけて再起動することで壊れ方次第ですが復旧することができます(クラッシュリカバリは過去に色々書いてるのでみていただければと) dev.mysql.com innodbのチェックサムアルゴリズムは指定できる ディス…
…んだ後にMySQLがクラッシュしたとしたらbinlogとの内容が一致しないということが起こり得ます。処理としては以下のようになります。 prepare状態にしredo logへ書き込む binlogへ書き込む redo logをcommitへ変更する リカバリ 最後のbinlogをスキャンして xid を抽出します (binlog内のイベントを特定します) xid は redo logにも書き込まれます。redo logのprepareの xid と最後のbinlogの xi…
dev.mysql.com 本番で使うのは想定されていないようだがレプリカラグがひどくて〜とかの場合に一部ケースで使えるかもしれない?クラッシュリカバリできなくなるというが少しでも早く本番投入したいレプリカサーバとかで使うとIOが減ってサービスインまでの時間が短くなるみたいなケースでは使えるのではないだろうか。 参考 atsuizo.hatenadiary.jp
…ySQLのレプリカはクラッシュセーフじゃなかったらしい。IOスレッドとSQLスレッドはそれぞれどこまで適用したかを管理ファイルに書き込んでいたためSQLスレッドがトランザクションを実行してコミットした後にサーバがクラッシュするとSQLスレッドはどこまでbinlogを適用したかを管理ファイルに書き込むこと無く終了してしまう。サーバの再起動時にトランザクションが2回実行されて不整合が起きてしまうという。これを解決するのがrelay_log_info_repositoryをTABL…
MySQLのクラッシュリカバリでUndoフェーズ必要なのなんでだろ— Ryuichi@Gurasan:|| (@ryuichi_1208) 2022年11月6日 散歩中に疑問に思ったので調べた。クラッシュ時のシナリオとリカバリの時の脳内のダンプを書いておく TxA, begin レコードAをUpdate buffer poolの書き換え undoログへ書き込み(2->1へする) redo log bufferへ書き込み 未コミット サーバクラッシュ 再起動 redoフェーズ …
… (2) アプリ側のクラッシュも考慮するならDB側でも対処が必要 参考リンク TCP再送タイムアウト時間の規格と実装 - co1row’s diary TCPの再送時間について – くじらぴーまん LinuxのTCP SYNの再送間隔の初期値が3秒から1秒に変更されていた - 元RX-7乗りの適当な日々 sockets - How to hack into the Unix Kernel to remove the Exponential Backoff from TCP? …
… (2) アプリ側のクラッシュも考慮するならDB側でも対処が必要 参考リンク TCP再送タイムアウト時間の規格と実装 - co1row’s diary TCPの再送時間について – くじらぴーまん LinuxのTCP SYNの再送間隔の初期値が3秒から1秒に変更されていた - 元RX-7乗りの適当な日々 sockets - How to hack into the Unix Kernel to remove the Exponential Backoff from TCP? …