図解でなっとく!トラブル知らずのシステム設計 エラー制御・排他制御編 [Kindle]

  • 日経BP
3.25
  • (1)
  • (1)
  • (0)
  • (2)
  • (0)
本棚登録 : 32
感想 : 3
本ページはアフィリエイトプログラムによる収益を得ています
  • Amazon.co.jp ・電子書籍 (330ページ)

感想・レビュー・書評

並び替え
表示形式
表示件数
絞り込み
  • システム開発の失敗談と対応策について漫画と図でまとめた本。
    ありそうでなかった本でなかなか面白い。こういうのは現場を経験してきた人の知恵でしかないから、意外とこういうのをまとめた本ってなかった気がする。
    人物紹介で口竹先輩が「口だけ先輩」なんて書かれてるけど、普通にいい先輩だなと思った。ちゃんと技能もありそうだし。
    エラーチェックやその後の遷移についての処理は、なんとなくでやってきたから、うまくまとまっていてよかった。自分も作ることあるけど、なかなか難しいからね。ちゃんと仕様が書かれてなかったりするから、後回しにしちゃったりするし。
    クライアントでのエラーチェックは改ざんの恐れがあるから、サーバでもチェックが必要と書かれてあるのはよかった。自分も昔、クライアントだけチェックしとけばいいかと思う事もあったりと、新人はよく分かってなかったりするから。
    エラーチェックのタイミングもなかなか難しいよなぁ。個人的には、背景色が変わるぐらいならフォーカスアウトでいいけど、登録ボタンみたいなボタン押下時のチェックはポップアップのイメージ。
    そういえば、データベーステーブルにバージョン項目を増やしておいて、更新前と同じバージョンであれば更新するという手法を楽観ロックというらしい。
    逆に、登録処理に入る時に他の人がすでに登録処理に入っていたら入れなくするためのロックを悲観ロックというのだとか。どっちも経験あるけど、そんな名前がついてるなんて知らなかった。
    どちらにしろ、ロックの手法としてはSELECT FOR UPDATEを使うのがいいとのこと。データベースアクセス時のロック形式まで意識したことなかった。select for updateってよく分かってないので、このへんも意識して開発できるようになっていきたい。
    悲観ロックのロック解放についてはいろいろ書いてあったけど、自分が今関わってるのは、定期的に(例えば30秒ごとに)ロックテーブルを更新して、2分以上更新されていなければ他の人が入れるというようにしてる。それなら、強制シャットダウンされてロック解放処理が行われなくても、2分たてば他の人が使えるようになるし。
    正直、最後のほうに書いてある排他制御については難しくてよく分からなかった。このへん、ちゃんと理解できるようになっていかなきゃいけないのだろうな。バッチ処理と排他制御とか頭がこんがらがりそう。今関わってるプロジェクトは基本的に夜中に使われることはないシステムなので、本当によかったと思う。24時間ずっと動いてなきゃいけないシステム作ってるとこって、本当にすごいなと思う。

  • KindleUnlimitedにあったので何気なく読んだが
    ものすごくわかりやすい。

    IT企業の全研修で必読書にしてもいいくらいだと思った



    ・・・・・・・・
    DB本来の排他だけだと不十分
    →トランザクションの範囲は画面ごとに異なるため

    ■楽観ロック
    ロックキーを持って、セレクトフォーアップデートで待たせる
    →楽観とは、滅多に他の人と競合が起きないだろうという前提の上にある
    →→頻繁に競合する業務には向かない
    →→デメリットは業務終了時にしか排他エラーだと分からない

    ■悲観ロック

    業務のトランザクションと
    DBのトランザクションは違う
    →一般的には業務のトランザクションでは楽観ロック、DBのトランザクションでは悲観ロックを使うことが多い"

  • まずテーブル設計を見直そう。排他制御が複雑なのはテーブル設計が原因だよ。

全3件中 1 - 3件を表示

著者プロフィール

サステナビリティ事業コンサルティング部カーボンニュートラル戦略グループマネージャーの稲垣彰徳氏を中心に執筆。

「2022年 『カーボンニュートラル』 で使われていた紹介文から引用しています。」

野村総合研究所の作品

  • 話題の本に出会えて、蔵書管理を手軽にできる!ブクログのアプリ AppStoreからダウンロード GooglePlayで手に入れよう
ツイートする
×