skillup

技術ブログ

Database

アンチパターン 連鎖倒産+エラー監視+データのバックアップ

投稿日:

本日は主にインフラの設計的なことに関して。

連鎖倒産

いい言い方が思いつかなかったんでこんな感じにしました(汗)要はあるサーバーのレスポンスが悪いことが原因で他の業務が遅延し、影響を受けることです。

デメリット

  • 重要でないちょっとしたサービスの停止で他のシステムが止まる、などということが起こる
  • あるシステムがハングし、適切なエラーを返さないため、いつまでも応答を待ってしまう

対策

  • エラー時の対策、障害テスト。基本正常系を前提としないこと
  • 受け取るだけ受け取って、そのトランザクションは一旦終わりにし、その後の処理は別のトランザクションで行う(キューイング)
  • 同期と非同期を分けること
  • 基本マイナス思考(どこかしらでシステムが落ちる、失敗する)で考えること(汗)
  • 他のAPIなどを使っている場合も要注意。

エラー監視

正常に稼働しているかどうかの確認。

デメリット

  • 異常時の検知(サーバーの死活だけでなく、ユーザー権限なども注意)が遅れる
  • バッチ時の処理などすぐにはわからないもの

対策

  • 人間の注意力を過信しすぎないこと
  • 監視ツールでのテンプレートを参考にする
  • DB構築の中のプロセスの1つに入れる

データのバックアップ体制

バックアップをしていない。障害への対策が弱い

デメリット

  • いざというときに欲しいときにデータが得られない

対策

  • リカバリについてフルバックアップ(いわゆる全データのバックアップ)以外にも差分バックアップなどの方法に熟知しておく
  • DB構築時の手順書の中などにバックアップの考えを入れておく
  • やや別件だが障害対策時はてんぱっていることが多いので、処理をその場で考えずフローを書いておき頭から実行するのが良い

-Database
-

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

データベースアンチパターン・グレーパターンまとめ

本で勉強したものと自分で個人的に経験したことのまとめ Contents1 値渡しと参照渡しの混同2 型の制約が弱い3 変更していいデータ、していけないデータ4 参照系と履歴系のデータを区別する5 リレ …

no image

MySQL小ネタ テーブル単位のリストア・SQLの小ネタ(バックスラッシュの検索)

MySQLのちょい小ネタ。 Contents1 テーブル単位でバックアップ&リストア2 バックスラッシュの入ったSQLについて テーブル単位でバックアップ&リストア 1 通常のdump(データベース単 …

no image

SQLで数列を扱う

今回はSQLで数列を扱ってみましょう。 例えば下記のような0から9までの数字が書かれている数列があったとして、 これにより連番を作成してみましょう。 digit ——- 0 1 …

no image

MYSQL group_concat,cast等

実務でいろいろとトラブルがあり、データベースから在庫データを見てくれ~なんて依頼がありましたんでSQLをごりごり書いていたんですが、普段使わないようなSQLの構文を使ったのでここでちょっと紹介します。 …

no image

SQL 集計関数の利用

先日同様、ある程度複雑な問題のSQLに関して。出典はSQL実践入門。 問題 下記のようなテーブル(テーブル名)で より古い年のデータが存在しない場合 NULL 直近の年のデータより売り上げが伸びた場合 …