More Related Content Similar to 人類は如何にして大切な データベースを守るべきか
Similar to 人類は如何にして大切な データベースを守るべきか (20) More from Mikiya Okuno (9) 人類は如何にして大切な データベースを守るべきか3. 自己紹介
●
MySQL サポートエンジニア
– 日々のしごと
● トラブルシューティング全般
●
Q&A 回答
● パフォーマンスチューニング
など
●
ライフワーク
– 自由なソフトウェアの普及
● オープンソースではない
●
ブログ
– 漢のコンピュータ道
– http://nippondanji.blogspot.com/
今日は個人として
参加しています。
4. 自己紹介 その2
●
サポート一筋 14 年半
● 幾多のトラブルを経験
– ハードウェア故障
●
ディスク(ドライブ、アレイ装置)、 CPU 、メモリ ...
– ソフトウェアのバグ
– ファームウェアのバグ
– データ破壊
etc etc
13. ベンチマークは超重要
● 性能にまつわる問題はとても多い
– よくある要因
● データサイズが増えた
● アクセスが増えた
● クエリがクソだった
– サービスに悪影響を与えるが HA では解決できない問題
●
実際の測定結果無しに性能問題を語るのは不毛!!
– 想定と測定結果が異なるのは日常茶飯事
– 実装には様々なオーバーヘッドやボトルネックがある
– 実際の性能はどの程度かを知るにはベンチマークが必須
●
本番環境で測定するのはリスクがある
– ならばテスト環境でベンチマーク!!
14. テスト環境
● テストは超重要!!
– プログラムのテストケースに限らない
● システムテスト
● ベンチマークテスト
●
テストする環境が無かったら、どこでテストすればいいん
だ!!
– 大事なのに、存在しないか十分でない場合が多い
● テスト環境だけスペックがショボイ
●
本番は実マシンだがテスト環境は仮想マシン
– 本番環境で起きうる問題をテストする
● 本番環境を使うのはリスクやオーバーヘッドがある
● 本番環境と同じものが必要
18. 最終的には運用と保守でカバー
●
例外処理も HA も、想定した事象しか対応できない
– 想定外の事象をどうするべきか
– 事前にポリシーを決めておく
● 想定外の対応を決めておくことで物事がスムーズに
●
高可用性の限界を超えた障害
– 通常の HA
●
地震でデータセンターごと使用不能に
● うまく切り替わらない(データ破壊、ピンポン等)
● 問題の調査
– 問題は起きるという前提でどうするか決めておくべき
– 手順を作ったりオーバーヘッドを我慢するか、調査を諦め
るか
●
性能の劣化
– いくらスケールアウトしてもクエリがクソでは・・・
25. 宣伝:新書籍の紹介
●
理論から学ぶ データベース実践入門
– 副題:リレーショナルモデルによる効率的な SQL ・ DB 設計
– どうやってリレーショナルデータベースを使いこなすか!
●
リレーショナルモデル基礎編
– SQL とリレーショナルモデル
– 述語論理とリレーショナルモデル
– 正規化 1: 関数従属性
– 正規化 2: 結合従属性
– 直交性
– ドメインの設計
etc
●
アプリケーション開発実践編
– 履歴
– グラフ
– インデックスの設計
– ウェブアプリケーションのためのデータ構造
etc
基礎の基礎から
よくある間違いを
指摘しつつ
応用まで