見出し画像

ACID特性とは

データベース(DB)が 「データを正しく、安全に管理するための4つのルール」 のこと

たとえば、銀行の取引やネットショッピングの購入履歴など、大切なデータが 「途中で消えたり」「おかしくなったり」 しないようにするためのしくみ

トランザクションが「正しく、安全に実行される」ために、ACID特性が必要になる

ACIDの4つの特性

A(Atomicity:一貫性)

「お金のやりとりは、途中で止まったらダメ!」
たとえば、ATMで 「1万円を引き出す」 とき、もし途中でエラーが起きたらどうなる?

  • 銀行の口座からは1万円が減っているのに、お札が出てこなかったら困る

  • お札は出てきたのに、口座のお金が減っていなかったら銀行が損する

なので、「ぜんぶ成功するか、ぜんぶやらないか」 を守ることで、こういうミスを防いでいる

C(Consistency:整合性 )

「お金の計算が正しくなるように!」
もし、銀行のシステムがバグって 「口座に1万円入れたら2万円増えた!」 みたいなことが起こったら大変!

銀行には「お金の合計は正しくなければいけない」というルールがある
どんなときでも、このルールが守られるようにしている

I(Isolation:アイソレーション / 独立性)

「ほかの取引と混ざらないように!」
たとえば、

  • Aさんが「1万円をおろす」

  • Bさんが「同じ口座に1万円を入れる」

この2つの取引がほぼ同時に行われたとき、もし処理がぐちゃぐちゃになったら、お金の計算がめちゃくちゃになってしまう

コンピューターは「1つの取引が終わるまで、他の取引と混ざらないようにする」

 D(Durability:デュラビリティ / 永続性)

「データは消えちゃダメ!」
もし、お店でクレジットカードで支払ったあと、急にシステムが落ちて、データが消えてしまったら大変!

  • お店は「支払いがなかったことになった!」と困る

  • でもお客さんの口座からはお金が引かれていたら、お客さんも困る

いったん記録された取引は、停電やエラーがあっても消えないように守られている

いいなと思ったら応援しよう!

企業研修・MS-Office・オンラインスクールプログラミング講師が楽しく教えるスキルアップブログ♪
ありがとうございます!人間あきらめなければ何でも出来ます!一緒に頑張りましょう!