【DP-900】ACID特性って何(データベース)


Microsoft Azure Data Fundamentals(DP-900)を勉強していると、ACID、という言葉が出てきます

これは具体例を入れると覚えやすかったので、試験では多く問題が出ましたが、すべて理解して正解を出せたと思います。

ただしい理解はMicrosoft公式にお任せするとして、ざっくり概要と具体例について、私は以下のように理解してました。


原子性(Atomicity)

一連の処理はすべて成功するか、すべて失敗するかどちらか一方であること

・買い物レジで支払いをする際に、途中で問題が起きたら買い物自体すべてなかったことにされる
・購入手続きの際、座席を選択したが、支払いを失敗した場合、その座席のロックは解除される
・失敗した場合はロールバック(前の状態にデータベースを戻す)する


一貫性(Consistency)

データの状態に矛盾が出ないこと

・AさんがBさんに1万円送金すると、Aさんの残高は1万円分減少し、Bさんの残高は1万円分増加する


独立性(Isolation)

複数の処理がお互いに影響しないこと

・ATMでお金を引き出している最中に、別の人が同じATMで別の取引を始めても、お互いの取引に影響を与えない
・オンラインショッピングのサイトで、在庫1つしかない商品に対し2人の顧客が購入操作を行った場合、最初の顧客の処理が完了するまで、次の顧客の処理がブロックされる


永続性/耐久性(Durability)

処理が完了したら、その状態を保持すること

・データベースの電源の喪失やシステムクラッシュが発生した場合でも、データは保持される


日本語と内容が、大体一致するので、理解しやすいと思います。
試験直前に、再度頭に入れ込んでいただけると、良いかと思います。

読んでいただきまして、ありがとうございます。

この記事が気に入ったらサポートをしてみませんか?