Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
データベースと応用システム:障害回復
Search
自然言語処理研究室
June 27, 2014
Education
1
2.5k
データベースと応用システム:障害回復
自然言語処理研究室
June 27, 2014
Tweet
Share
More Decks by 自然言語処理研究室
See All by 自然言語処理研究室
データサイエンス14_システム.pdf
jnlp
0
350
データサイエンス13_解析.pdf
jnlp
0
410
データサイエンス12_分類.pdf
jnlp
0
310
データサイエンス11_前処理.pdf
jnlp
0
430
Recurrent neural network based language model
jnlp
0
110
自然言語処理研究室 研究概要(2012年)
jnlp
0
110
自然言語処理研究室 研究概要(2013年)
jnlp
0
76
自然言語処理研究室 研究概要(2014年)
jnlp
0
89
自然言語処理研究室 研究概要(2015年)
jnlp
0
140
Other Decks in Education
See All in Education
Chapitre_1_-__L_atmosphère_et_la_vie_-_Partie_1.pdf
bernhardsvt
0
220
Adobe Analytics入門講座【株式会社ニジボックス】
nbkouhou
0
19k
Blogit opetuksessa
matleenalaakso
0
1.6k
Web Application Frameworks - Lecture 4 - Web Technologies (1019888BNR)
signer
PRO
0
2.6k
脳卒中になってしまった さあ、どうする
japanstrokeassociation
0
670
小・中・高等学校における情報教育の体系的な学習を目指したカリキュラムモデル案/curriculum model
codeforeveryone
2
2.3k
20241002_Copilotって何?+Power_AutomateのCopilot
ponponmikankan
1
160
Beispiel einer Fortbildung für "Soziales Lernen"
gsgoethe
0
120
LLMs for Social Simulation: Progress, Opportunities and Challenges
wingnus
1
100
Kaggle 班ができるまで
abap34
1
190
寺沢拓敬 2024. 09. 「言語政策研究と教育政策研究の狭間で英語教育政策を考える」
terasawat
0
200
HP用_松尾研紹介資料.pdf
matsuolab
0
170
Featured
See All Featured
VelocityConf: Rendering Performance Case Studies
addyosmani
325
24k
Keith and Marios Guide to Fast Websites
keithpitt
409
22k
The Cost Of JavaScript in 2023
addyosmani
45
6.8k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.1k
Statistics for Hackers
jakevdp
796
220k
Designing the Hi-DPI Web
ddemaree
280
34k
The Power of CSS Pseudo Elements
geoffreycrofte
73
5.3k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
44
2.2k
Into the Great Unknown - MozCon
thekraken
32
1.5k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
169
50k
Embracing the Ebb and Flow
colly
84
4.5k
The Art of Programming - Codeland 2020
erikaheidi
52
13k
Transcript
(c)長岡技術科学大学 電気系 1 データベースと応用システム 障害回復 山本和英 長岡技術科学大学 電気系
(c)長岡技術科学大学 電気系 2 障害の種類と復旧 • トランザクション障害 – データの不備、デッドロック、資源不足、通信障害等 – ロールバックしてやり直し
• システム障害 – ソフトウェアや(データ部以外の)ハードウェアのトラブル – DBの一貫性が保証されるまでロールバック – +コミットしたトランザクションはロールフォワード • メディア(媒体)障害 – データベースの損傷 – バックアップを使って復活
(c)長岡技術科学大学 電気系 3 障害を回復する機能 • ログファイル – すべての操作の履歴記録 • チェックポイント
– メモリとディスクの内容を一致させるタイミング • バックアップ
(c)長岡技術科学大学 電気系 4 ログファイル
(c)長岡技術科学大学 電気系 5 ログファイル(log file) • トランザクションが行った更新などの操作履歴 は、障害に備えてログファイルに記録される – ジャーナルファイル(journal
file)とも呼ぶ • 後退復帰と前進復帰の両者に備える – 更新前ログと更新後ログがある • データベースとログファイルは別のディスクに書き込 む – データベース本体よりも信頼性の高い装置に保存、ある いはログを二重化する
(c)長岡技術科学大学 電気系 6 ログに書きこむ情報 • トランザクション開始・終了ログ • データ挿入 – 更新後データログ
• データ削除 – 更新前データログ • データ更新 – 更新前・更新後データログ • コミット・ロールバックログ
(c)長岡技術科学大学 電気系 7 WALプロトコル (Write Ahead Logging) • データベースの更新よりもログファイルへの記録を 先にする手順
– トランザクション障害が発生してもいいように • 更新処理手順 1.ログファイルへbegin transactionレコードを記録 2.ログファイルへ更新前レコードの記録 3.ログファイルへ更新後レコードの記録 4.データベースの更新 5.commitレコードを記録 6.end transactionレコードを記録
(c)長岡技術科学大学 電気系 8 ロールバックとロールフォワード ロールバック(後退復帰, undo) • トランザクション中で実行したすべての更新を取り 消して、障害回復を行うこと ロールフォワード(前進復帰,
redo) • (バックアップ復旧などの際に)コミット済のトラン ザクションを再実行すること
(c)長岡技術科学大学 電気系 9 障害と処理の関係 • トランザクション障害 – ロールバックしてトランザクション開始時に戻す • システム障害
– コミットされていればロールフォワード – コミットされていなければロールバック • メディア障害 – 交換やバックアップ復元したあとロールフォワード
(c)長岡技術科学大学 電気系 10 チェックポイント
(c)長岡技術科学大学 電気系 11 チェックポイント • データベースの内容は常にディスクに読み書きして いる訳ではなく、一部はメモリ上で更新している。 • よって、メモリとディスクの内容は一致しているとは 限らない。
• DBMSはあるタイミングでチェックポイントを設定し てメモリ上の内容を書き込んでいる。 – 一定時間ごと – 一定のトランザクション実行数ごと – 一定のログ量ごと
(c)長岡技術科学大学 電気系 12 チェックポイントと回復処理の関係 • チェックポイント前にコミット – 回復処理は不要 • チェックポイント後にコミットし、障害発生前
– チェックポイント後の操作をロールフォワード • チェックポイント前に開始し、障害時も実行中 – ロールバック • チェックポイント後に開始し、障害時も実行中 – ロールバック
(c)長岡技術科学大学 電気系 13 チェック ポイント システム 障害 データベース への書き出し が完了
データベース への書き出し が完了か どうか不明 チェック ポイント 時刻
(c)長岡技術科学大学 電気系 14 チェック ポイント システム 障害 すべて書き出されており、 障害時に対処不要 時刻
(c)長岡技術科学大学 電気系 15 チェック ポイント システム 障害 チェックポイント後のみ 前進復帰 時刻
(c)長岡技術科学大学 電気系 16 チェック ポイント システム 障害 すべての更新を 前進復帰 時刻
(c)長岡技術科学大学 電気系 17 時刻 チェック ポイント システム 障害 まだコミットされていないので 全更新を後退復帰
(c)長岡技術科学大学 電気系 18 時刻 チェック ポイント システム 障害 まだコミットされていないので 全更新を後退復帰
(c)長岡技術科学大学 電気系 19 バックアップ
(c)長岡技術科学大学 電気系 20 バックアップ • ある時点でのデータベースのコピーを磁気テープな どに保存すること • システムの障害復旧の他、操作ミスなどに対処する ことが目的
• バックアップ間隔の長さに比例して、ログファイル からの復旧処理時間が長くなる。
(c)長岡技術科学大学 電気系 21 バックアップの種類 • フルバックアップ • 差分バックアップ:フルバックアップからの差分のみ保存 • 増分バックアップ:前回の増分バックアップからの差分の
み保存 • 通常はフルバックアップを定期的(例:週1回)に行い、さ らに細かく差分・増分バックアップを行う(例:毎日)とい う使い分けをする。 • 差分バックアップはバックアップ時間は短く、復旧時間は 長くなる。増分バックアップはさらにこの傾向が顕著。
(c)長岡技術科学大学 電気系 22 メディア障害からの回復 バックアップしてあることが大前提 1.装置の交換 2.バックアップ状態の復元 3.ログファイルを使ってコミットされたすべてのトラン ザクションを前進復帰
(c)長岡技術科学大学 電気系 23 RAID
(c)長岡技術科学大学 電気系 24 RAID • Redundant Array of Inexpensive Disks
• データを複数のHDDに冗長に記録する仕組み • 1987年UCB(University of California, Berkeley)のDavid A. Pattersonらの論文 • 当初は RAID1~RAID5で、その後 RAID0とRAID6が 追加された
(c)長岡技術科学大学 電気系 25 RAID0(ストライピング) • 複数のディスクを見かけ上連結させて、ひとつの ディスクに見せる • ディスク容量の効率的な利用が可能 •
複数ディスクのどれかが故障するとすべて損失 – 信頼性の向上には無関係
(c)長岡技術科学大学 電気系 26 RAID1(ミラーイング) • ディスクの二重化 • どちらかのディスクが故障してもデータは保持され る。
(c)長岡技術科学大学 電気系 27 RAID5 • RAID0と同様にデータを複数のディスクに分散して書き込 むが、この際に(今データを書いたディスクとは別の)ディ スクにパリティ(誤り訂正符号)も書き込む。 – パリティを書き込むディスクは毎回変える
• これによって、例えば4ディスクで3ディスク分の容量を書 き込みできる。 • どれか1ディスクが故障してもデータは保持される – 2ディスク以上が故障したら終わり • ディスクが分散されているので、読み込み速度は速い – パリティを計算するため書き込み速度は比較的遅い
(c)長岡技術科学大学 電気系 28 その他のRAID • RAID2、3、4、6 – 定義されているが、実用上はあまり使われない • RAID10
(RAID1+0) – RAID1と0の組み合わせ。最低4ディスク必要 • RAID50 (RAID5+0) – RAID5と0の組み合わせ。最低6ディスク必要
(c)長岡技術科学大学 電気系 29 RAID関連技術 ホットスワップ(hot swap) • システムを停止させることなく(=通電したままで) ディスクを交換することができる処理・技術 –
自動でアクセス停止して電気信号を切り離す等 ホットスペア(hot spare)/ホットスタンバイ • ディスクの故障に備えて、予備のディスクを通電状 態で待機させておく技術 • 故障した機器は自動で切り離し、予備のディスクの 動作を自動で開始する