「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

Consistency(一貫性【ACID特性】)

pointこの用語のポイント

pointトランザクション処理が持つべき特性だよ

point「データの状態に矛盾が出ないようにしてね!」だよ

point「ACID特性」と呼ばれるやつのひとつだよ

スポンサーリンク

簡単に書くよ

Consistency(一貫性【ACID特性】)(読:イッカンセイ)とは

「ここから ここまでワンセット」な処理(トランザクション処理)が持つべき4つの特性のひとつ
であり

「データの状態に矛盾が出ないようにしてね!」のこと
です。


image piyo

詳しく書くよ

順番に見ていきましょう。
まずは予備知識として

データベース
トランザクション
ACID特性


について説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。

データベースは「データを入れておく箱」です。
突っ込んで考えると混乱するかもしれません。
何となくのフィーリングで理解してください。

一貫性(Consistency)

トランザクションは「ここから ここまでワンセット」な処理単位です。

例えば、そうですね。
ピヨ太君がピヨピヨカンパニーに出社するとしましょう。

一貫性(Consistency)2

ピヨ太君はピヨピヨカンパニービルに到着すると

1.私服からスーツに着替える
2.タイムカードを押す
3.コーヒーを飲みながらケーキを食べる


の3つの行動をします。
この3つが、ピヨ太君が出社した状態になるためにやる作業です。
いわば、ピヨ太君の「出社作業」ですね。

一貫性(Consistency)3

出社作業が終わったら、ピヨ太君はピヨ太ママに「ピヨ太です。出社しました」と連絡を入れます。
これでピヨ太君は出社した状態になります。

一貫性(Consistency)4

繰り返しになりますが、ピヨ太君の出社作業は

1.私服からスーツに着替える
2.タイムカードを押す
3.コーヒーを飲みながらケーキを食べる


の3つです。

この3つの行動は、どれか1つでも欠けてはダメです。
すべての行動を一連の流れでやる必要があります。

一貫性(Consistency)5

このような

「ここから ここまでワンセット」な処理単位

がトランザクションです。
小難しい言い方をすると「分割不可な一連の処理」です。

一貫性(Consistency)6

ACID特性は、トランザクション処理が持っているべき4つの特性「Atomicity(原子性)」「Consistency(一貫性)」「Isolation(独立性)」「Durability(永続性)」の頭文字をくっつけた用語です。

一貫性(Consistency)7

詳細は、用語「ACID特性」の説明を ご覧ください。

一貫性(Consistency)8

……って、ACID特性の説明を読むと一貫性(Consistency)についても分かっちゃうのですけどね。
ACID特性の説明を ご覧いただいた方は、ここから先を読む必要ありません。
ACID特性の説明で書いた内容と同じことが書いてあります。
ACID特性の説明に移動するのが面倒くさい人は、このまま読み進めてください。

以上を踏まえて

ACID特性のひとつで「データの状態に矛盾が出ないようにしてね!」な特性

(ACID特性の話で出てくる)「一貫性(Consistency)」です。

例えば、そうですね。

ピヨ太君がピヨ子さんに100円あげました。

一貫性(Consistency)9

そうすると、ピヨ太君の所持金は100円減ります。

一貫性(Consistency)10

ピヨ子さんの所持金は100円増えます。

一貫性(Consistency)11

これを処理と捉えてみましょう。

1.ピヨ太君の所持金が100円減る
2.ピヨ子さんの所持金が100円増える


の2つの処理はワンセットです。

一貫性(Consistency)12

「ピヨ太君がピヨ子さんに100円あげる」処理はトランザクション処理と言えます。

一貫性(Consistency)13

さて、ここで ちょっと考えてみてください。

ピヨ太君がピヨ子さんに100円あげました。

一貫性(Consistency)14

ここで重大な事実が発覚しました。
実はピヨ太君は元々10円しか持っていなかったのです。
10円しか持っていないのにピヨ子さんに100円あげました。

一貫性(Consistency)15

そんなことは、ありえませんよね。
無い袖は振れません。
元々10円しか持っていないのであれば、ピヨ子さんにあげられるのは10円までです。
100円あげられるのは、おかしいです。

一貫性(Consistency)16

あるいは、そうですね。
ピヨ太君がピヨ子さんにピヨ太円あげました。

一貫性(Consistency)17

これも、ありえないですよね。
金額は数字で表現します。
ピヨ太円分のお金」のような表現は、ありえません。

一貫性(Consistency)18

これが「一貫性(Consistency)」です。
一貫性(Consistency)

データの状態に矛盾が出ないようにしてね!

な特性です。

一貫性(Consistency)19

データベースに詳しい人は「一意制約」とか「NOT NULL制約」とかを知っていますよね。
あれが一貫性(Consistency)を保持するための仕組みのひとつです。
他にも「数字以外入れちゃダメだよ」とか、いろいろ あります。

ちなみに、ACID特性には一貫性(Consistency)以外に

原子性(Atomicity)
独立性(Isolation)
永続性(Durability)


があります。
気が向いたら、全部まとめて覚えてあげてください。


image piyo2

一言でまとめるよ

まぁ「一貫性(Consistency)」って単語が出てきたら「トランザクション処理(「ここから ここまでワンセット」になっている処理)が持つべき『データの状態に矛盾が出ないようにしてね!』な特性なんだな~」と お考えください。

一番上に戻るよ
スポンサーリンク
書籍画像050
書籍画像004


書籍画像
わわわ説明術コラム
宣伝だよ
「分かった!」と思わせる説明の技術 知識ゼロの相手にも伝わるようになる本【Audible】
クイズで学ぶUIデザイン ユーザビリティの基本が身につく50問
AI用語図鑑 ビジネス・開発・試験対策に使える厳選キーワード256