図解でなっとく! トラブル知らずのシステム設計 エラー制御・排他制御編
- 日経BP (2018年3月23日発売)
- Amazon.co.jp ・本 (272ページ)
- / ISBN・EAN: 9784822257194
作品紹介・あらすじ
マンガと図解を駆使したシステム方式設計の入門書
誰もが悩む「エラー制御」「排他制御」を徹底解説
本書の最大の特徴は、マンガと図解を駆使していることです。
システム設計は抽象的でなかなか理解しづらく、教えるほうも「どのように教えればいいのかわからない」と頭を抱えることが少なくありません。だからこそ、図解が有効です。
本書は前著『トラブル知らずのシステム設計』の第2弾に当たり、システム設計で誰もが頭を悩ます「エラー制御」と「排他制御」に絞って解説しています。
エラー制御では、「いつ」「どこで」「どのように」エラーチェックするか、エラーが発生した後、利用者にどのように案内すればいいのかを、一つひとつ丁寧に解説しています。
排他制御では、「DBの行ロック」「楽観ロック」「悲観ロック」を解説するほか、オンライン処理とバッチ処理の共存で起こる問題にも踏み込んでいます。
エラー制御/排他制御をスマートに設計できれば一人前。ぜひ、本書でマスターしてください。
感想・レビュー・書評
-
2021-05-02
詳細をみるコメント0件をすべて表示 -
エラー制御はどのようなエラーがあるかや、エラー発生時のエラーメッセージ、画面でのユーザーの誘導方法を体系的に押さえられた。
また、排他制御についても、体系的に抑えられた。OLとBTがぶつかるケースが現状あまりないが、要件として今後あがることは想定されるので、押さえられてよかった。
【エラー】
◆エラー制御
・単項目
・複数項目間
・業務チェック(DBや、外部システムとの整合性)
・その他(認証、タイムアウトなど)
◆エラーメッセージ内容
・何が起こったかだけではなく、何をすべきか(解決策)をメッセージに簡潔に詰める。
◆エラーメッセージ箇所
・ポップアップ(エラーを見ながら入力不可なのに注意)
・メッセージエリア(エラー箇所がわからないことや、メッセージが見えなくなることに注意)
・項目の横(項目が見えなくなる、レイアウト崩れに注意)
◆エラー後の誘導
・再入力させる(単項目とかはこれ)
・ある画面からやり直しさせる(タイムアウトとかはこれ)
・システムエラー画面を表示して問合せさせる(OOMとかはこれ)
【排他】
◆楽観ロック
・バージョン列やタイムスタンプ列の値の違いがあった場合に更新不可とする
・バージョン列を設けるのがおすすめ
・更新実行時に検知するので、あまり更新が発生しない場合に使用する
◆悲観ロック
・ロック状態列やロックテーブルを設けて、ロック中の場合に更新不可とする
・更新実行前に検知するので、更新が多発する場合に使用する
◆DBの行ロック
・SELECT FOR UPDATEのこと
ロックのときは必ず使う
・楽観ロック、悲観ロックどちらでも使う
※楽観ロックでは、バージョンの突き合わせ時
※悲観ロックでは、ロック状態確認時
◆ロックで気をつけること
・1テーブルにロックの種類が混在すると、整合性を取れなくなるケースが出るので、テーブルごとに使用するロックの種類は1つにする。(そういう論理テーブル設計をする)
・排他の期間は短ければ短いほどよい。
※楽観ロックだと、期間が長いほど更新失敗のケースが増える
※悲観ロックだと、期間が長いほどはなから更新できないケースが増える -
若い頃、こういう本少なかった。